diff --git a/go.mod b/go.mod index d636bb2e..e0ac1c13 100644 --- a/go.mod +++ b/go.mod @@ -1,11 +1,9 @@ module github.com/conductorone/baton-gitlab -go 1.23.4 - -toolchain go1.24.1 +go 1.25.2 require ( - github.com/conductorone/baton-sdk v0.3.35 + github.com/conductorone/baton-sdk v0.5.4 github.com/ennyjfrick/ruleguard-logfatal v0.0.2 github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 github.com/quasilyte/go-ruleguard/dsl v0.3.22 @@ -17,6 +15,7 @@ require ( require ( filippo.io/age v1.2.1 // indirect filippo.io/edwards25519 v1.1.0 // indirect + github.com/Masterminds/semver/v3 v3.4.0 // indirect github.com/aws/aws-lambda-go v1.47.0 // indirect github.com/aws/aws-sdk-go-v2 v1.36.3 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.10 // indirect @@ -47,6 +46,7 @@ require ( github.com/dolthub/maphash v0.1.0 // indirect github.com/doug-martin/goqu/v9 v9.19.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect + github.com/ebitengine/purego v0.8.4 // indirect github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect github.com/fsnotify/fsnotify v1.8.0 // indirect github.com/gammazero/deque v1.0.0 // indirect @@ -61,7 +61,7 @@ require ( github.com/hashicorp/hcl v1.0.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jellydator/ttlcache/v3 v3.3.0 // indirect - github.com/klauspost/compress v1.17.11 // indirect + github.com/klauspost/compress v1.18.0 // indirect github.com/lufia/plan9stats v0.0.0-20240909124753-873cd0166683 // indirect github.com/magiconair/properties v1.8.9 // indirect github.com/mattn/go-isatty v0.0.20 // indirect @@ -77,8 +77,7 @@ require ( github.com/sagikazarmark/locafero v0.7.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/segmentio/ksuid v1.0.4 // indirect - github.com/shirou/gopsutil/v3 v3.24.5 // indirect - github.com/shoenig/go-m1cpu v0.1.6 // indirect + github.com/shirou/gopsutil/v4 v4.25.8 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.12.0 // indirect github.com/spf13/cast v1.7.1 // indirect @@ -87,8 +86,8 @@ require ( github.com/spf13/viper v1.19.0 // indirect github.com/stretchr/objx v0.5.2 // indirect github.com/subosito/gotenv v1.6.0 // indirect - github.com/tklauser/go-sysconf v0.3.14 // indirect - github.com/tklauser/numcpus v0.9.0 // indirect + github.com/tklauser/go-sysconf v0.3.15 // indirect + github.com/tklauser/numcpus v0.10.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/contrib/bridges/otelzap v0.10.0 // indirect @@ -110,7 +109,7 @@ require ( golang.org/x/net v0.36.0 // indirect golang.org/x/oauth2 v0.28.0 // indirect golang.org/x/sync v0.12.0 // indirect - golang.org/x/sys v0.31.0 // indirect + golang.org/x/sys v0.35.0 // indirect golang.org/x/term v0.30.0 // indirect golang.org/x/text v0.23.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a // indirect diff --git a/go.sum b/go.sum index c5e6bd46..c8b36651 100644 --- a/go.sum +++ b/go.sum @@ -8,6 +8,8 @@ filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60= github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= +github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0= +github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= github.com/aws/aws-lambda-go v1.47.0 h1:0H8s0vumYx/YKs4sE7YM0ktwL2eWse+kfopsRI1sXVI= github.com/aws/aws-lambda-go v1.47.0/go.mod h1:dpMpZgvWx5vuQJfBt0zqBha60q7Dd7RfgJv23DymV8A= github.com/aws/aws-sdk-go-v2 v1.36.3 h1:mJoei2CxPutQVxaATCzDUjcZEjVRdpsiiXi2o38yqWM= @@ -58,8 +60,8 @@ github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyY github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/conductorone/baton-sdk v0.3.35 h1:8yzc1e/Dsmw5/a7zZcJklMeetjA7hRfD33zdD7WMHAs= -github.com/conductorone/baton-sdk v0.3.35/go.mod h1:L55WO3ERMx1mfpjDgwK3jWNRGRF2E76WrQHmW6ev8VY= +github.com/conductorone/baton-sdk v0.5.4 h1:4NU7/ysc1J/cZXpWmJJ5YpNmTG6OiAyT44Y0exEzgRA= +github.com/conductorone/baton-sdk v0.5.4/go.mod h1:UYJ9rgXowKzlHFSyDwh3NISWrDHZhf+yR4LNJLWMHUg= github.com/conductorone/dpop v0.2.3 h1:s91U3845GHQ6P6FWrdNr2SEOy1ES/jcFs1JtKSl2S+o= github.com/conductorone/dpop v0.2.3/go.mod h1:gyo8TtzB9SCFCsjsICH4IaLZ7y64CcrDXMOPBwfq/3s= github.com/conductorone/dpop/integrations/dpop_grpc v0.2.3 h1:kLMCNIh0Mo2vbvvkCmJ3ixsPbXEJ6HPcW53Ku9yje3s= @@ -80,6 +82,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/ebitengine/purego v0.8.4 h1:CF7LEKg5FFOsASUj0+QwaXf8Ht6TlFxg09+S9wz0omw= +github.com/ebitengine/purego v0.8.4/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= 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= @@ -144,8 +148,8 @@ github.com/jellydator/ttlcache/v3 v3.3.0 h1:BdoC9cE81qXfrxeb9eoJi9dWrdhSuwXMAnHT github.com/jellydator/ttlcache/v3 v3.3.0/go.mod h1:bj2/e0l4jRnQdrnSTaGTsh4GSXvMjQcy41i7th0GVGw= 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/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= @@ -206,12 +210,8 @@ github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6g github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/segmentio/ksuid v1.0.4 h1:sBo2BdShXjmcugAMwjugoGUdUV0pcxY5mW4xKRn3v4c= github.com/segmentio/ksuid v1.0.4/go.mod h1:/XUiZBD3kVx5SmUOl55voK5yeAbBNNIed+2O73XgrPE= -github.com/shirou/gopsutil/v3 v3.24.5 h1:i0t8kL+kQTvpAYToeuiVk3TgDeKOFioZO3Ztz/iZ9pI= -github.com/shirou/gopsutil/v3 v3.24.5/go.mod h1:bsoOS1aStSs9ErQ1WWfxllSeS1K5D+U30r2NfcubMVk= -github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= -github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/shirou/gopsutil/v4 v4.25.8 h1:NnAsw9lN7587WHxjJA9ryDnqhJpFH6A+wagYWTOH970= +github.com/shirou/gopsutil/v4 v4.25.8/go.mod h1:q9QdMmfAOVIw7a+eF86P7ISEU6ka+NLgkUxlopV4RwI= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= @@ -235,14 +235,14 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= -github.com/tklauser/go-sysconf v0.3.14 h1:g5vzr9iPFFz24v2KZXs/pvpvh8/V9Fw6vQK5ZZb78yU= -github.com/tklauser/go-sysconf v0.3.14/go.mod h1:1ym4lWMLUOhuBOPGtRcJm7tEGX4SCYNEEEtghGG/8uY= -github.com/tklauser/numcpus v0.9.0 h1:lmyCHtANi8aRUgkckBgoDk1nHCux3n2cgkJLXdQGPDo= -github.com/tklauser/numcpus v0.9.0/go.mod h1:SN6Nq1O3VychhC1npsWostA+oW+VOQTxZrS604NSRyI= +github.com/tklauser/go-sysconf v0.3.15 h1:VE89k0criAymJ/Os65CSn1IXaol+1wrsFHEB8Ol49K4= +github.com/tklauser/go-sysconf v0.3.15/go.mod h1:Dmjwr6tYFIseJw7a3dRLJfsHAMXZ3nEnL/aZY+0IuI4= +github.com/tklauser/numcpus v0.10.0 h1:18njr6LDBk1zuna922MgdjQuJFjrdppsZG60sHGfjso= +github.com/tklauser/numcpus v0.10.0/go.mod h1:BiTKazU708GQTYF4mB+cmlpT2Is1gLk7XVuEeem8LsQ= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= @@ -341,8 +341,8 @@ golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/vendor/github.com/Masterminds/semver/v3/.gitignore b/vendor/github.com/Masterminds/semver/v3/.gitignore new file mode 100644 index 00000000..6b061e61 --- /dev/null +++ b/vendor/github.com/Masterminds/semver/v3/.gitignore @@ -0,0 +1 @@ +_fuzz/ \ No newline at end of file diff --git a/vendor/github.com/Masterminds/semver/v3/.golangci.yml b/vendor/github.com/Masterminds/semver/v3/.golangci.yml new file mode 100644 index 00000000..fbc63325 --- /dev/null +++ b/vendor/github.com/Masterminds/semver/v3/.golangci.yml @@ -0,0 +1,27 @@ +run: + deadline: 2m + +linters: + disable-all: true + enable: + - misspell + - govet + - staticcheck + - errcheck + - unparam + - ineffassign + - nakedret + - gocyclo + - dupl + - goimports + - revive + - gosec + - gosimple + - typecheck + - unused + +linters-settings: + gofmt: + simplify: true + dupl: + threshold: 600 diff --git a/vendor/github.com/Masterminds/semver/v3/CHANGELOG.md b/vendor/github.com/Masterminds/semver/v3/CHANGELOG.md new file mode 100644 index 00000000..fabe5e43 --- /dev/null +++ b/vendor/github.com/Masterminds/semver/v3/CHANGELOG.md @@ -0,0 +1,268 @@ +# Changelog + +## 3.4.0 (2025-06-27) + +### Added + +- #268: Added property to Constraints to include prereleases for Check and Validate + +### Changed + +- #263: Updated Go testing for 1.24, 1.23, and 1.22 +- #269: Updated the error message handling for message case and wrapping errors +- #266: Restore the ability to have leading 0's when parsing with NewVersion. + Opt-out of this by setting CoerceNewVersion to false. + +### Fixed + +- #257: Fixed the CodeQL link (thanks @dmitris) +- #262: Restored detailed errors when failed to parse with NewVersion. Opt-out + of this by setting DetailedNewVersionErrors to false for faster performance. +- #267: Handle pre-releases for an "and" group if one constraint includes them + +## 3.3.1 (2024-11-19) + +### Fixed + +- #253: Fix for allowing some version that were invalid + +## 3.3.0 (2024-08-27) + +### Added + +- #238: Add LessThanEqual and GreaterThanEqual functions (thanks @grosser) +- #213: nil version equality checking (thanks @KnutZuidema) + +### Changed + +- #241: Simplify StrictNewVersion parsing (thanks @grosser) +- Testing support up through Go 1.23 +- Minimum version set to 1.21 as this is what's tested now +- Fuzz testing now supports caching + +## 3.2.1 (2023-04-10) + +### Changed + +- #198: Improved testing around pre-release names +- #200: Improved code scanning with addition of CodeQL +- #201: Testing now includes Go 1.20. Go 1.17 has been dropped +- #202: Migrated Fuzz testing to Go built-in Fuzzing. CI runs daily +- #203: Docs updated for security details + +### Fixed + +- #199: Fixed issue with range transformations + +## 3.2.0 (2022-11-28) + +### Added + +- #190: Added text marshaling and unmarshaling +- #167: Added JSON marshalling for constraints (thanks @SimonTheLeg) +- #173: Implement encoding.TextMarshaler and encoding.TextUnmarshaler on Version (thanks @MarkRosemaker) +- #179: Added New() version constructor (thanks @kazhuravlev) + +### Changed + +- #182/#183: Updated CI testing setup + +### Fixed + +- #186: Fixing issue where validation of constraint section gave false positives +- #176: Fix constraints check with *-0 (thanks @mtt0) +- #181: Fixed Caret operator (^) gives unexpected results when the minor version in constraint is 0 (thanks @arshchimni) +- #161: Fixed godoc (thanks @afirth) + +## 3.1.1 (2020-11-23) + +### Fixed + +- #158: Fixed issue with generated regex operation order that could cause problem + +## 3.1.0 (2020-04-15) + +### Added + +- #131: Add support for serializing/deserializing SQL (thanks @ryancurrah) + +### Changed + +- #148: More accurate validation messages on constraints + +## 3.0.3 (2019-12-13) + +### Fixed + +- #141: Fixed issue with <= comparison + +## 3.0.2 (2019-11-14) + +### Fixed + +- #134: Fixed broken constraint checking with ^0.0 (thanks @krmichelos) + +## 3.0.1 (2019-09-13) + +### Fixed + +- #125: Fixes issue with module path for v3 + +## 3.0.0 (2019-09-12) + +This is a major release of the semver package which includes API changes. The Go +API is compatible with ^1. The Go API was not changed because many people are using +`go get` without Go modules for their applications and API breaking changes cause +errors which we have or would need to support. + +The changes in this release are the handling based on the data passed into the +functions. These are described in the added and changed sections below. + +### Added + +- StrictNewVersion function. This is similar to NewVersion but will return an + error if the version passed in is not a strict semantic version. For example, + 1.2.3 would pass but v1.2.3 or 1.2 would fail because they are not strictly + speaking semantic versions. This function is faster, performs fewer operations, + and uses fewer allocations than NewVersion. +- Fuzzing has been performed on NewVersion, StrictNewVersion, and NewConstraint. + The Makefile contains the operations used. For more information on you can start + on Wikipedia at https://en.wikipedia.org/wiki/Fuzzing +- Now using Go modules + +### Changed + +- NewVersion has proper prerelease and metadata validation with error messages + to signal an issue with either of them +- ^ now operates using a similar set of rules to npm/js and Rust/Cargo. If the + version is >=1 the ^ ranges works the same as v1. For major versions of 0 the + rules have changed. The minor version is treated as the stable version unless + a patch is specified and then it is equivalent to =. One difference from npm/js + is that prereleases there are only to a specific version (e.g. 1.2.3). + Prereleases here look over multiple versions and follow semantic version + ordering rules. This pattern now follows along with the expected and requested + handling of this packaged by numerous users. + +## 1.5.0 (2019-09-11) + +### Added + +- #103: Add basic fuzzing for `NewVersion()` (thanks @jesse-c) + +### Changed + +- #82: Clarify wildcard meaning in range constraints and update tests for it (thanks @greysteil) +- #83: Clarify caret operator range for pre-1.0.0 dependencies (thanks @greysteil) +- #72: Adding docs comment pointing to vert for a cli +- #71: Update the docs on pre-release comparator handling +- #89: Test with new go versions (thanks @thedevsaddam) +- #87: Added $ to ValidPrerelease for better validation (thanks @jeremycarroll) + +### Fixed + +- #78: Fix unchecked error in example code (thanks @ravron) +- #70: Fix the handling of pre-releases and the 0.0.0 release edge case +- #97: Fixed copyright file for proper display on GitHub +- #107: Fix handling prerelease when sorting alphanum and num +- #109: Fixed where Validate sometimes returns wrong message on error + +## 1.4.2 (2018-04-10) + +### Changed + +- #72: Updated the docs to point to vert for a console appliaction +- #71: Update the docs on pre-release comparator handling + +### Fixed + +- #70: Fix the handling of pre-releases and the 0.0.0 release edge case + +## 1.4.1 (2018-04-02) + +### Fixed + +- Fixed #64: Fix pre-release precedence issue (thanks @uudashr) + +## 1.4.0 (2017-10-04) + +### Changed + +- #61: Update NewVersion to parse ints with a 64bit int size (thanks @zknill) + +## 1.3.1 (2017-07-10) + +### Fixed + +- Fixed #57: number comparisons in prerelease sometimes inaccurate + +## 1.3.0 (2017-05-02) + +### Added + +- #45: Added json (un)marshaling support (thanks @mh-cbon) +- Stability marker. See https://masterminds.github.io/stability/ + +### Fixed + +- #51: Fix handling of single digit tilde constraint (thanks @dgodd) + +### Changed + +- #55: The godoc icon moved from png to svg + +## 1.2.3 (2017-04-03) + +### Fixed + +- #46: Fixed 0.x.x and 0.0.x in constraints being treated as * + +## Release 1.2.2 (2016-12-13) + +### Fixed + +- #34: Fixed issue where hyphen range was not working with pre-release parsing. + +## Release 1.2.1 (2016-11-28) + +### Fixed + +- #24: Fixed edge case issue where constraint "> 0" does not handle "0.0.1-alpha" + properly. + +## Release 1.2.0 (2016-11-04) + +### Added + +- #20: Added MustParse function for versions (thanks @adamreese) +- #15: Added increment methods on versions (thanks @mh-cbon) + +### Fixed + +- Issue #21: Per the SemVer spec (section 9) a pre-release is unstable and + might not satisfy the intended compatibility. The change here ignores pre-releases + on constraint checks (e.g., ~ or ^) when a pre-release is not part of the + constraint. For example, `^1.2.3` will ignore pre-releases while + `^1.2.3-alpha` will include them. + +## Release 1.1.1 (2016-06-30) + +### Changed + +- Issue #9: Speed up version comparison performance (thanks @sdboyer) +- Issue #8: Added benchmarks (thanks @sdboyer) +- Updated Go Report Card URL to new location +- Updated Readme to add code snippet formatting (thanks @mh-cbon) +- Updating tagging to v[SemVer] structure for compatibility with other tools. + +## Release 1.1.0 (2016-03-11) + +- Issue #2: Implemented validation to provide reasons a versions failed a + constraint. + +## Release 1.0.1 (2015-12-31) + +- Fixed #1: * constraint failing on valid versions. + +## Release 1.0.0 (2015-10-20) + +- Initial release diff --git a/vendor/github.com/Masterminds/semver/v3/LICENSE.txt b/vendor/github.com/Masterminds/semver/v3/LICENSE.txt new file mode 100644 index 00000000..9ff7da9c --- /dev/null +++ b/vendor/github.com/Masterminds/semver/v3/LICENSE.txt @@ -0,0 +1,19 @@ +Copyright (C) 2014-2019, Matt Butcher and Matt Farina + +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/Masterminds/semver/v3/Makefile b/vendor/github.com/Masterminds/semver/v3/Makefile new file mode 100644 index 00000000..9ca87a2c --- /dev/null +++ b/vendor/github.com/Masterminds/semver/v3/Makefile @@ -0,0 +1,31 @@ +GOPATH=$(shell go env GOPATH) +GOLANGCI_LINT=$(GOPATH)/bin/golangci-lint + +.PHONY: lint +lint: $(GOLANGCI_LINT) + @echo "==> Linting codebase" + @$(GOLANGCI_LINT) run + +.PHONY: test +test: + @echo "==> Running tests" + GO111MODULE=on go test -v + +.PHONY: test-cover +test-cover: + @echo "==> Running Tests with coverage" + GO111MODULE=on go test -cover . + +.PHONY: fuzz +fuzz: + @echo "==> Running Fuzz Tests" + go env GOCACHE + go test -fuzz=FuzzNewVersion -fuzztime=15s . + go test -fuzz=FuzzStrictNewVersion -fuzztime=15s . + go test -fuzz=FuzzNewConstraint -fuzztime=15s . + +$(GOLANGCI_LINT): + # Install golangci-lint. The configuration for it is in the .golangci.yml + # file in the root of the repository + echo ${GOPATH} + curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(GOPATH)/bin v1.56.2 diff --git a/vendor/github.com/Masterminds/semver/v3/README.md b/vendor/github.com/Masterminds/semver/v3/README.md new file mode 100644 index 00000000..2f56c676 --- /dev/null +++ b/vendor/github.com/Masterminds/semver/v3/README.md @@ -0,0 +1,274 @@ +# SemVer + +The `semver` package provides the ability to work with [Semantic Versions](http://semver.org) in Go. Specifically it provides the ability to: + +* Parse semantic versions +* Sort semantic versions +* Check if a semantic version fits within a set of constraints +* Optionally work with a `v` prefix + +[![Stability: +Active](https://masterminds.github.io/stability/active.svg)](https://masterminds.github.io/stability/active.html) +[![](https://github.com/Masterminds/semver/workflows/Tests/badge.svg)](https://github.com/Masterminds/semver/actions) +[![GoDoc](https://img.shields.io/static/v1?label=godoc&message=reference&color=blue)](https://pkg.go.dev/github.com/Masterminds/semver/v3) +[![Go Report Card](https://goreportcard.com/badge/github.com/Masterminds/semver)](https://goreportcard.com/report/github.com/Masterminds/semver) + +## Package Versions + +Note, import `github.com/Masterminds/semver/v3` to use the latest version. + +There are three major versions fo the `semver` package. + +* 3.x.x is the stable and active version. This version is focused on constraint + compatibility for range handling in other tools from other languages. It has + a similar API to the v1 releases. The development of this version is on the master + branch. The documentation for this version is below. +* 2.x was developed primarily for [dep](https://github.com/golang/dep). There are + no tagged releases and the development was performed by [@sdboyer](https://github.com/sdboyer). + There are API breaking changes from v1. This version lives on the [2.x branch](https://github.com/Masterminds/semver/tree/2.x). +* 1.x.x is the original release. It is no longer maintained. You should use the + v3 release instead. You can read the documentation for the 1.x.x release + [here](https://github.com/Masterminds/semver/blob/release-1/README.md). + +## Parsing Semantic Versions + +There are two functions that can parse semantic versions. The `StrictNewVersion` +function only parses valid version 2 semantic versions as outlined in the +specification. The `NewVersion` function attempts to coerce a version into a +semantic version and parse it. For example, if there is a leading v or a version +listed without all 3 parts (e.g. `v1.2`) it will attempt to coerce it into a valid +semantic version (e.g., 1.2.0). In both cases a `Version` object is returned +that can be sorted, compared, and used in constraints. + +When parsing a version an error is returned if there is an issue parsing the +version. For example, + + v, err := semver.NewVersion("1.2.3-beta.1+build345") + +The version object has methods to get the parts of the version, compare it to +other versions, convert the version back into a string, and get the original +string. Getting the original string is useful if the semantic version was coerced +into a valid form. + +There are package level variables that affect how `NewVersion` handles parsing. + +- `CoerceNewVersion` is `true` by default. When set to `true` it coerces non-compliant + versions into SemVer. For example, allowing a leading 0 in a major, minor, or patch + part. This enables the use of CalVer in versions even when not compliant with SemVer. + When set to `false` less coercion work is done. +- `DetailedNewVersionErrors` provides more detailed errors. It only has an affect when + `CoerceNewVersion` is set to `false`. When `DetailedNewVersionErrors` is set to `true` + it can provide some more insight into why a version is invalid. Setting + `DetailedNewVersionErrors` to `false` is faster on performance but provides less + detailed error messages if a version fails to parse. + +## Sorting Semantic Versions + +A set of versions can be sorted using the `sort` package from the standard library. +For example, + +```go +raw := []string{"1.2.3", "1.0", "1.3", "2", "0.4.2",} +vs := make([]*semver.Version, len(raw)) +for i, r := range raw { + v, err := semver.NewVersion(r) + if err != nil { + t.Errorf("Error parsing version: %s", err) + } + + vs[i] = v +} + +sort.Sort(semver.Collection(vs)) +``` + +## Checking Version Constraints + +There are two methods for comparing versions. One uses comparison methods on +`Version` instances and the other uses `Constraints`. There are some important +differences to notes between these two methods of comparison. + +1. When two versions are compared using functions such as `Compare`, `LessThan`, + and others it will follow the specification and always include pre-releases + within the comparison. It will provide an answer that is valid with the + comparison section of the spec at https://semver.org/#spec-item-11 +2. When constraint checking is used for checks or validation it will follow a + different set of rules that are common for ranges with tools like npm/js + and Rust/Cargo. This includes considering pre-releases to be invalid if the + ranges does not include one. If you want to have it include pre-releases a + simple solution is to include `-0` in your range. +3. Constraint ranges can have some complex rules including the shorthand use of + ~ and ^. For more details on those see the options below. + +There are differences between the two methods or checking versions because the +comparison methods on `Version` follow the specification while comparison ranges +are not part of the specification. Different packages and tools have taken it +upon themselves to come up with range rules. This has resulted in differences. +For example, npm/js and Cargo/Rust follow similar patterns while PHP has a +different pattern for ^. The comparison features in this package follow the +npm/js and Cargo/Rust lead because applications using it have followed similar +patters with their versions. + +Checking a version against version constraints is one of the most featureful +parts of the package. + +```go +c, err := semver.NewConstraint(">= 1.2.3") +if err != nil { + // Handle constraint not being parsable. +} + +v, err := semver.NewVersion("1.3") +if err != nil { + // Handle version not being parsable. +} +// Check if the version meets the constraints. The variable a will be true. +a := c.Check(v) +``` + +### Basic Comparisons + +There are two elements to the comparisons. First, a comparison string is a list +of space or comma separated AND comparisons. These are then separated by || (OR) +comparisons. For example, `">= 1.2 < 3.0.0 || >= 4.2.3"` is looking for a +comparison that's greater than or equal to 1.2 and less than 3.0.0 or is +greater than or equal to 4.2.3. + +The basic comparisons are: + +* `=`: equal (aliased to no operator) +* `!=`: not equal +* `>`: greater than +* `<`: less than +* `>=`: greater than or equal to +* `<=`: less than or equal to + +### Working With Prerelease Versions + +Pre-releases, for those not familiar with them, are used for software releases +prior to stable or generally available releases. Examples of pre-releases include +development, alpha, beta, and release candidate releases. A pre-release may be +a version such as `1.2.3-beta.1` while the stable release would be `1.2.3`. In the +order of precedence, pre-releases come before their associated releases. In this +example `1.2.3-beta.1 < 1.2.3`. + +According to the Semantic Version specification, pre-releases may not be +API compliant with their release counterpart. It says, + +> A pre-release version indicates that the version is unstable and might not satisfy the intended compatibility requirements as denoted by its associated normal version. + +SemVer's comparisons using constraints without a pre-release comparator will skip +pre-release versions. For example, `>=1.2.3` will skip pre-releases when looking +at a list of releases while `>=1.2.3-0` will evaluate and find pre-releases. + +The reason for the `0` as a pre-release version in the example comparison is +because pre-releases can only contain ASCII alphanumerics and hyphens (along with +`.` separators), per the spec. Sorting happens in ASCII sort order, again per the +spec. The lowest character is a `0` in ASCII sort order +(see an [ASCII Table](http://www.asciitable.com/)) + +Understanding ASCII sort ordering is important because A-Z comes before a-z. That +means `>=1.2.3-BETA` will return `1.2.3-alpha`. What you might expect from case +sensitivity doesn't apply here. This is due to ASCII sort ordering which is what +the spec specifies. + +The `Constraints` instance returned from `semver.NewConstraint()` has a property +`IncludePrerelease` that, when set to true, will return prerelease versions when calls +to `Check()` and `Validate()` are made. + +### Hyphen Range Comparisons + +There are multiple methods to handle ranges and the first is hyphens ranges. +These look like: + +* `1.2 - 1.4.5` which is equivalent to `>= 1.2 <= 1.4.5` +* `2.3.4 - 4.5` which is equivalent to `>= 2.3.4 <= 4.5` + +Note that `1.2-1.4.5` without whitespace is parsed completely differently; it's +parsed as a single constraint `1.2.0` with _prerelease_ `1.4.5`. + +### Wildcards In Comparisons + +The `x`, `X`, and `*` characters can be used as a wildcard character. This works +for all comparison operators. When used on the `=` operator it falls +back to the patch level comparison (see tilde below). For example, + +* `1.2.x` is equivalent to `>= 1.2.0, < 1.3.0` +* `>= 1.2.x` is equivalent to `>= 1.2.0` +* `<= 2.x` is equivalent to `< 3` +* `*` is equivalent to `>= 0.0.0` + +### Tilde Range Comparisons (Patch) + +The tilde (`~`) comparison operator is for patch level ranges when a minor +version is specified and major level changes when the minor number is missing. +For example, + +* `~1.2.3` is equivalent to `>= 1.2.3, < 1.3.0` +* `~1` is equivalent to `>= 1, < 2` +* `~2.3` is equivalent to `>= 2.3, < 2.4` +* `~1.2.x` is equivalent to `>= 1.2.0, < 1.3.0` +* `~1.x` is equivalent to `>= 1, < 2` + +### Caret Range Comparisons (Major) + +The caret (`^`) comparison operator is for major level changes once a stable +(1.0.0) release has occurred. Prior to a 1.0.0 release the minor versions acts +as the API stability level. This is useful when comparisons of API versions as a +major change is API breaking. For example, + +* `^1.2.3` is equivalent to `>= 1.2.3, < 2.0.0` +* `^1.2.x` is equivalent to `>= 1.2.0, < 2.0.0` +* `^2.3` is equivalent to `>= 2.3, < 3` +* `^2.x` is equivalent to `>= 2.0.0, < 3` +* `^0.2.3` is equivalent to `>=0.2.3 <0.3.0` +* `^0.2` is equivalent to `>=0.2.0 <0.3.0` +* `^0.0.3` is equivalent to `>=0.0.3 <0.0.4` +* `^0.0` is equivalent to `>=0.0.0 <0.1.0` +* `^0` is equivalent to `>=0.0.0 <1.0.0` + +## Validation + +In addition to testing a version against a constraint, a version can be validated +against a constraint. When validation fails a slice of errors containing why a +version didn't meet the constraint is returned. For example, + +```go +c, err := semver.NewConstraint("<= 1.2.3, >= 1.4") +if err != nil { + // Handle constraint not being parseable. +} + +v, err := semver.NewVersion("1.3") +if err != nil { + // Handle version not being parseable. +} + +// Validate a version against a constraint. +a, msgs := c.Validate(v) +// a is false +for _, m := range msgs { + fmt.Println(m) + + // Loops over the errors which would read + // "1.3 is greater than 1.2.3" + // "1.3 is less than 1.4" +} +``` + +## Contribute + +If you find an issue or want to contribute please file an [issue](https://github.com/Masterminds/semver/issues) +or [create a pull request](https://github.com/Masterminds/semver/pulls). + +## Security + +Security is an important consideration for this project. The project currently +uses the following tools to help discover security issues: + +* [CodeQL](https://codeql.github.com) +* [gosec](https://github.com/securego/gosec) +* Daily Fuzz testing + +If you believe you have found a security vulnerability you can privately disclose +it through the [GitHub security page](https://github.com/Masterminds/semver/security). diff --git a/vendor/github.com/Masterminds/semver/v3/SECURITY.md b/vendor/github.com/Masterminds/semver/v3/SECURITY.md new file mode 100644 index 00000000..a30a66b1 --- /dev/null +++ b/vendor/github.com/Masterminds/semver/v3/SECURITY.md @@ -0,0 +1,19 @@ +# Security Policy + +## Supported Versions + +The following versions of semver are currently supported: + +| Version | Supported | +| ------- | ------------------ | +| 3.x | :white_check_mark: | +| 2.x | :x: | +| 1.x | :x: | + +Fixes are only released for the latest minor version in the form of a patch release. + +## Reporting a Vulnerability + +You can privately disclose a vulnerability through GitHubs +[private vulnerability reporting](https://github.com/Masterminds/semver/security/advisories) +mechanism. diff --git a/vendor/github.com/Masterminds/semver/v3/collection.go b/vendor/github.com/Masterminds/semver/v3/collection.go new file mode 100644 index 00000000..a7823589 --- /dev/null +++ b/vendor/github.com/Masterminds/semver/v3/collection.go @@ -0,0 +1,24 @@ +package semver + +// Collection is a collection of Version instances and implements the sort +// interface. See the sort package for more details. +// https://golang.org/pkg/sort/ +type Collection []*Version + +// Len returns the length of a collection. The number of Version instances +// on the slice. +func (c Collection) Len() int { + return len(c) +} + +// Less is needed for the sort interface to compare two Version objects on the +// slice. If checks if one is less than the other. +func (c Collection) Less(i, j int) bool { + return c[i].LessThan(c[j]) +} + +// Swap is needed for the sort interface to replace the Version objects +// at two different positions in the slice. +func (c Collection) Swap(i, j int) { + c[i], c[j] = c[j], c[i] +} diff --git a/vendor/github.com/Masterminds/semver/v3/constraints.go b/vendor/github.com/Masterminds/semver/v3/constraints.go new file mode 100644 index 00000000..8b7a10f8 --- /dev/null +++ b/vendor/github.com/Masterminds/semver/v3/constraints.go @@ -0,0 +1,601 @@ +package semver + +import ( + "bytes" + "errors" + "fmt" + "regexp" + "strings" +) + +// Constraints is one or more constraint that a semantic version can be +// checked against. +type Constraints struct { + constraints [][]*constraint + containsPre []bool + + // IncludePrerelease specifies if pre-releases should be included in + // the results. Note, if a constraint range has a prerelease than + // prereleases will be included for that AND group even if this is + // set to false. + IncludePrerelease bool +} + +// NewConstraint returns a Constraints instance that a Version instance can +// be checked against. If there is a parse error it will be returned. +func NewConstraint(c string) (*Constraints, error) { + + // Rewrite - ranges into a comparison operation. + c = rewriteRange(c) + + ors := strings.Split(c, "||") + lenors := len(ors) + or := make([][]*constraint, lenors) + hasPre := make([]bool, lenors) + for k, v := range ors { + // Validate the segment + if !validConstraintRegex.MatchString(v) { + return nil, fmt.Errorf("improper constraint: %s", v) + } + + cs := findConstraintRegex.FindAllString(v, -1) + if cs == nil { + cs = append(cs, v) + } + result := make([]*constraint, len(cs)) + for i, s := range cs { + pc, err := parseConstraint(s) + if err != nil { + return nil, err + } + + // If one of the constraints has a prerelease record this. + // This information is used when checking all in an "and" + // group to ensure they all check for prereleases. + if pc.con.pre != "" { + hasPre[k] = true + } + + result[i] = pc + } + or[k] = result + } + + o := &Constraints{ + constraints: or, + containsPre: hasPre, + } + return o, nil +} + +// Check tests if a version satisfies the constraints. +func (cs Constraints) Check(v *Version) bool { + // TODO(mattfarina): For v4 of this library consolidate the Check and Validate + // functions as the underlying functions make that possible now. + // loop over the ORs and check the inner ANDs + for i, o := range cs.constraints { + joy := true + for _, c := range o { + if check, _ := c.check(v, (cs.IncludePrerelease || cs.containsPre[i])); !check { + joy = false + break + } + } + + if joy { + return true + } + } + + return false +} + +// Validate checks if a version satisfies a constraint. If not a slice of +// reasons for the failure are returned in addition to a bool. +func (cs Constraints) Validate(v *Version) (bool, []error) { + // loop over the ORs and check the inner ANDs + var e []error + + // Capture the prerelease message only once. When it happens the first time + // this var is marked + var prerelesase bool + for i, o := range cs.constraints { + joy := true + for _, c := range o { + // Before running the check handle the case there the version is + // a prerelease and the check is not searching for prereleases. + if !(cs.IncludePrerelease || cs.containsPre[i]) && v.pre != "" { + if !prerelesase { + em := fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v) + e = append(e, em) + prerelesase = true + } + joy = false + + } else { + + if _, err := c.check(v, (cs.IncludePrerelease || cs.containsPre[i])); err != nil { + e = append(e, err) + joy = false + } + } + } + + if joy { + return true, []error{} + } + } + + return false, e +} + +func (cs Constraints) String() string { + buf := make([]string, len(cs.constraints)) + var tmp bytes.Buffer + + for k, v := range cs.constraints { + tmp.Reset() + vlen := len(v) + for kk, c := range v { + tmp.WriteString(c.string()) + + // Space separate the AND conditions + if vlen > 1 && kk < vlen-1 { + tmp.WriteString(" ") + } + } + buf[k] = tmp.String() + } + + return strings.Join(buf, " || ") +} + +// UnmarshalText implements the encoding.TextUnmarshaler interface. +func (cs *Constraints) UnmarshalText(text []byte) error { + temp, err := NewConstraint(string(text)) + if err != nil { + return err + } + + *cs = *temp + + return nil +} + +// MarshalText implements the encoding.TextMarshaler interface. +func (cs Constraints) MarshalText() ([]byte, error) { + return []byte(cs.String()), nil +} + +var constraintOps map[string]cfunc +var constraintRegex *regexp.Regexp +var constraintRangeRegex *regexp.Regexp + +// Used to find individual constraints within a multi-constraint string +var findConstraintRegex *regexp.Regexp + +// Used to validate an segment of ANDs is valid +var validConstraintRegex *regexp.Regexp + +const cvRegex string = `v?([0-9|x|X|\*]+)(\.[0-9|x|X|\*]+)?(\.[0-9|x|X|\*]+)?` + + `(-([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?` + + `(\+([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?` + +func init() { + constraintOps = map[string]cfunc{ + "": constraintTildeOrEqual, + "=": constraintTildeOrEqual, + "!=": constraintNotEqual, + ">": constraintGreaterThan, + "<": constraintLessThan, + ">=": constraintGreaterThanEqual, + "=>": constraintGreaterThanEqual, + "<=": constraintLessThanEqual, + "=<": constraintLessThanEqual, + "~": constraintTilde, + "~>": constraintTilde, + "^": constraintCaret, + } + + ops := `=||!=|>|<|>=|=>|<=|=<|~|~>|\^` + + constraintRegex = regexp.MustCompile(fmt.Sprintf( + `^\s*(%s)\s*(%s)\s*$`, + ops, + cvRegex)) + + constraintRangeRegex = regexp.MustCompile(fmt.Sprintf( + `\s*(%s)\s+-\s+(%s)\s*`, + cvRegex, cvRegex)) + + findConstraintRegex = regexp.MustCompile(fmt.Sprintf( + `(%s)\s*(%s)`, + ops, + cvRegex)) + + // The first time a constraint shows up will look slightly different from + // future times it shows up due to a leading space or comma in a given + // string. + validConstraintRegex = regexp.MustCompile(fmt.Sprintf( + `^(\s*(%s)\s*(%s)\s*)((?:\s+|,\s*)(%s)\s*(%s)\s*)*$`, + ops, + cvRegex, + ops, + cvRegex)) +} + +// An individual constraint +type constraint struct { + // The version used in the constraint check. For example, if a constraint + // is '<= 2.0.0' the con a version instance representing 2.0.0. + con *Version + + // The original parsed version (e.g., 4.x from != 4.x) + orig string + + // The original operator for the constraint + origfunc string + + // When an x is used as part of the version (e.g., 1.x) + minorDirty bool + dirty bool + patchDirty bool +} + +// Check if a version meets the constraint +func (c *constraint) check(v *Version, includePre bool) (bool, error) { + return constraintOps[c.origfunc](v, c, includePre) +} + +// String prints an individual constraint into a string +func (c *constraint) string() string { + return c.origfunc + c.orig +} + +type cfunc func(v *Version, c *constraint, includePre bool) (bool, error) + +func parseConstraint(c string) (*constraint, error) { + if len(c) > 0 { + m := constraintRegex.FindStringSubmatch(c) + if m == nil { + return nil, fmt.Errorf("improper constraint: %s", c) + } + + cs := &constraint{ + orig: m[2], + origfunc: m[1], + } + + ver := m[2] + minorDirty := false + patchDirty := false + dirty := false + if isX(m[3]) || m[3] == "" { + ver = fmt.Sprintf("0.0.0%s", m[6]) + dirty = true + } else if isX(strings.TrimPrefix(m[4], ".")) || m[4] == "" { + minorDirty = true + dirty = true + ver = fmt.Sprintf("%s.0.0%s", m[3], m[6]) + } else if isX(strings.TrimPrefix(m[5], ".")) || m[5] == "" { + dirty = true + patchDirty = true + ver = fmt.Sprintf("%s%s.0%s", m[3], m[4], m[6]) + } + + con, err := NewVersion(ver) + if err != nil { + + // The constraintRegex should catch any regex parsing errors. So, + // we should never get here. + return nil, errors.New("constraint parser error") + } + + cs.con = con + cs.minorDirty = minorDirty + cs.patchDirty = patchDirty + cs.dirty = dirty + + return cs, nil + } + + // The rest is the special case where an empty string was passed in which + // is equivalent to * or >=0.0.0 + con, err := StrictNewVersion("0.0.0") + if err != nil { + + // The constraintRegex should catch any regex parsing errors. So, + // we should never get here. + return nil, errors.New("constraint parser error") + } + + cs := &constraint{ + con: con, + orig: c, + origfunc: "", + minorDirty: false, + patchDirty: false, + dirty: true, + } + return cs, nil +} + +// Constraint functions +func constraintNotEqual(v *Version, c *constraint, includePre bool) (bool, error) { + // The existence of prereleases is checked at the group level and passed in. + // Exit early if the version has a prerelease but those are to be ignored. + if v.Prerelease() != "" && !includePre { + return false, fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v) + } + + if c.dirty { + if c.con.Major() != v.Major() { + return true, nil + } + if c.con.Minor() != v.Minor() && !c.minorDirty { + return true, nil + } else if c.minorDirty { + return false, fmt.Errorf("%s is equal to %s", v, c.orig) + } else if c.con.Patch() != v.Patch() && !c.patchDirty { + return true, nil + } else if c.patchDirty { + // Need to handle prereleases if present + if v.Prerelease() != "" || c.con.Prerelease() != "" { + eq := comparePrerelease(v.Prerelease(), c.con.Prerelease()) != 0 + if eq { + return true, nil + } + return false, fmt.Errorf("%s is equal to %s", v, c.orig) + } + return false, fmt.Errorf("%s is equal to %s", v, c.orig) + } + } + + eq := v.Equal(c.con) + if eq { + return false, fmt.Errorf("%s is equal to %s", v, c.orig) + } + + return true, nil +} + +func constraintGreaterThan(v *Version, c *constraint, includePre bool) (bool, error) { + + // The existence of prereleases is checked at the group level and passed in. + // Exit early if the version has a prerelease but those are to be ignored. + if v.Prerelease() != "" && !includePre { + return false, fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v) + } + + var eq bool + + if !c.dirty { + eq = v.Compare(c.con) == 1 + if eq { + return true, nil + } + return false, fmt.Errorf("%s is less than or equal to %s", v, c.orig) + } + + if v.Major() > c.con.Major() { + return true, nil + } else if v.Major() < c.con.Major() { + return false, fmt.Errorf("%s is less than or equal to %s", v, c.orig) + } else if c.minorDirty { + // This is a range case such as >11. When the version is something like + // 11.1.0 is it not > 11. For that we would need 12 or higher + return false, fmt.Errorf("%s is less than or equal to %s", v, c.orig) + } else if c.patchDirty { + // This is for ranges such as >11.1. A version of 11.1.1 is not greater + // which one of 11.2.1 is greater + eq = v.Minor() > c.con.Minor() + if eq { + return true, nil + } + return false, fmt.Errorf("%s is less than or equal to %s", v, c.orig) + } + + // If we have gotten here we are not comparing pre-preleases and can use the + // Compare function to accomplish that. + eq = v.Compare(c.con) == 1 + if eq { + return true, nil + } + return false, fmt.Errorf("%s is less than or equal to %s", v, c.orig) +} + +func constraintLessThan(v *Version, c *constraint, includePre bool) (bool, error) { + // The existence of prereleases is checked at the group level and passed in. + // Exit early if the version has a prerelease but those are to be ignored. + if v.Prerelease() != "" && !includePre { + return false, fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v) + } + + eq := v.Compare(c.con) < 0 + if eq { + return true, nil + } + return false, fmt.Errorf("%s is greater than or equal to %s", v, c.orig) +} + +func constraintGreaterThanEqual(v *Version, c *constraint, includePre bool) (bool, error) { + + // The existence of prereleases is checked at the group level and passed in. + // Exit early if the version has a prerelease but those are to be ignored. + if v.Prerelease() != "" && !includePre { + return false, fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v) + } + + eq := v.Compare(c.con) >= 0 + if eq { + return true, nil + } + return false, fmt.Errorf("%s is less than %s", v, c.orig) +} + +func constraintLessThanEqual(v *Version, c *constraint, includePre bool) (bool, error) { + // The existence of prereleases is checked at the group level and passed in. + // Exit early if the version has a prerelease but those are to be ignored. + if v.Prerelease() != "" && !includePre { + return false, fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v) + } + + var eq bool + + if !c.dirty { + eq = v.Compare(c.con) <= 0 + if eq { + return true, nil + } + return false, fmt.Errorf("%s is greater than %s", v, c.orig) + } + + if v.Major() > c.con.Major() { + return false, fmt.Errorf("%s is greater than %s", v, c.orig) + } else if v.Major() == c.con.Major() && v.Minor() > c.con.Minor() && !c.minorDirty { + return false, fmt.Errorf("%s is greater than %s", v, c.orig) + } + + return true, nil +} + +// ~*, ~>* --> >= 0.0.0 (any) +// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0, <3.0.0 +// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0, <2.1.0 +// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0, <1.3.0 +// ~1.2.3, ~>1.2.3 --> >=1.2.3, <1.3.0 +// ~1.2.0, ~>1.2.0 --> >=1.2.0, <1.3.0 +func constraintTilde(v *Version, c *constraint, includePre bool) (bool, error) { + // The existence of prereleases is checked at the group level and passed in. + // Exit early if the version has a prerelease but those are to be ignored. + if v.Prerelease() != "" && !includePre { + return false, fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v) + } + + if v.LessThan(c.con) { + return false, fmt.Errorf("%s is less than %s", v, c.orig) + } + + // ~0.0.0 is a special case where all constraints are accepted. It's + // equivalent to >= 0.0.0. + if c.con.Major() == 0 && c.con.Minor() == 0 && c.con.Patch() == 0 && + !c.minorDirty && !c.patchDirty { + return true, nil + } + + if v.Major() != c.con.Major() { + return false, fmt.Errorf("%s does not have same major version as %s", v, c.orig) + } + + if v.Minor() != c.con.Minor() && !c.minorDirty { + return false, fmt.Errorf("%s does not have same major and minor version as %s", v, c.orig) + } + + return true, nil +} + +// When there is a .x (dirty) status it automatically opts in to ~. Otherwise +// it's a straight = +func constraintTildeOrEqual(v *Version, c *constraint, includePre bool) (bool, error) { + // The existence of prereleases is checked at the group level and passed in. + // Exit early if the version has a prerelease but those are to be ignored. + if v.Prerelease() != "" && !includePre { + return false, fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v) + } + + if c.dirty { + return constraintTilde(v, c, includePre) + } + + eq := v.Equal(c.con) + if eq { + return true, nil + } + + return false, fmt.Errorf("%s is not equal to %s", v, c.orig) +} + +// ^* --> (any) +// ^1.2.3 --> >=1.2.3 <2.0.0 +// ^1.2 --> >=1.2.0 <2.0.0 +// ^1 --> >=1.0.0 <2.0.0 +// ^0.2.3 --> >=0.2.3 <0.3.0 +// ^0.2 --> >=0.2.0 <0.3.0 +// ^0.0.3 --> >=0.0.3 <0.0.4 +// ^0.0 --> >=0.0.0 <0.1.0 +// ^0 --> >=0.0.0 <1.0.0 +func constraintCaret(v *Version, c *constraint, includePre bool) (bool, error) { + // The existence of prereleases is checked at the group level and passed in. + // Exit early if the version has a prerelease but those are to be ignored. + if v.Prerelease() != "" && !includePre { + return false, fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v) + } + + // This less than handles prereleases + if v.LessThan(c.con) { + return false, fmt.Errorf("%s is less than %s", v, c.orig) + } + + var eq bool + + // ^ when the major > 0 is >=x.y.z < x+1 + if c.con.Major() > 0 || c.minorDirty { + + // ^ has to be within a major range for > 0. Everything less than was + // filtered out with the LessThan call above. This filters out those + // that greater but not within the same major range. + eq = v.Major() == c.con.Major() + if eq { + return true, nil + } + return false, fmt.Errorf("%s does not have same major version as %s", v, c.orig) + } + + // ^ when the major is 0 and minor > 0 is >=0.y.z < 0.y+1 + if c.con.Major() == 0 && v.Major() > 0 { + return false, fmt.Errorf("%s does not have same major version as %s", v, c.orig) + } + // If the con Minor is > 0 it is not dirty + if c.con.Minor() > 0 || c.patchDirty { + eq = v.Minor() == c.con.Minor() + if eq { + return true, nil + } + return false, fmt.Errorf("%s does not have same minor version as %s. Expected minor versions to match when constraint major version is 0", v, c.orig) + } + // ^ when the minor is 0 and minor > 0 is =0.0.z + if c.con.Minor() == 0 && v.Minor() > 0 { + return false, fmt.Errorf("%s does not have same minor version as %s", v, c.orig) + } + + // At this point the major is 0 and the minor is 0 and not dirty. The patch + // is not dirty so we need to check if they are equal. If they are not equal + eq = c.con.Patch() == v.Patch() + if eq { + return true, nil + } + return false, fmt.Errorf("%s does not equal %s. Expect version and constraint to equal when major and minor versions are 0", v, c.orig) +} + +func isX(x string) bool { + switch x { + case "x", "*", "X": + return true + default: + return false + } +} + +func rewriteRange(i string) string { + m := constraintRangeRegex.FindAllStringSubmatch(i, -1) + if m == nil { + return i + } + o := i + for _, v := range m { + t := fmt.Sprintf(">= %s, <= %s ", v[1], v[11]) + o = strings.Replace(o, v[0], t, 1) + } + + return o +} diff --git a/vendor/github.com/Masterminds/semver/v3/doc.go b/vendor/github.com/Masterminds/semver/v3/doc.go new file mode 100644 index 00000000..74f97caa --- /dev/null +++ b/vendor/github.com/Masterminds/semver/v3/doc.go @@ -0,0 +1,184 @@ +/* +Package semver provides the ability to work with Semantic Versions (http://semver.org) in Go. + +Specifically it provides the ability to: + + - Parse semantic versions + - Sort semantic versions + - Check if a semantic version fits within a set of constraints + - Optionally work with a `v` prefix + +# Parsing Semantic Versions + +There are two functions that can parse semantic versions. The `StrictNewVersion` +function only parses valid version 2 semantic versions as outlined in the +specification. The `NewVersion` function attempts to coerce a version into a +semantic version and parse it. For example, if there is a leading v or a version +listed without all 3 parts (e.g. 1.2) it will attempt to coerce it into a valid +semantic version (e.g., 1.2.0). In both cases a `Version` object is returned +that can be sorted, compared, and used in constraints. + +When parsing a version an optional error can be returned if there is an issue +parsing the version. For example, + + v, err := semver.NewVersion("1.2.3-beta.1+b345") + +The version object has methods to get the parts of the version, compare it to +other versions, convert the version back into a string, and get the original +string. For more details please see the documentation +at https://godoc.org/github.com/Masterminds/semver. + +# Sorting Semantic Versions + +A set of versions can be sorted using the `sort` package from the standard library. +For example, + + raw := []string{"1.2.3", "1.0", "1.3", "2", "0.4.2",} + vs := make([]*semver.Version, len(raw)) + for i, r := range raw { + v, err := semver.NewVersion(r) + if err != nil { + t.Errorf("Error parsing version: %s", err) + } + + vs[i] = v + } + + sort.Sort(semver.Collection(vs)) + +# Checking Version Constraints and Comparing Versions + +There are two methods for comparing versions. One uses comparison methods on +`Version` instances and the other is using Constraints. There are some important +differences to notes between these two methods of comparison. + + 1. When two versions are compared using functions such as `Compare`, `LessThan`, + and others it will follow the specification and always include prereleases + within the comparison. It will provide an answer valid with the comparison + spec section at https://semver.org/#spec-item-11 + 2. When constraint checking is used for checks or validation it will follow a + different set of rules that are common for ranges with tools like npm/js + and Rust/Cargo. This includes considering prereleases to be invalid if the + ranges does not include on. If you want to have it include pre-releases a + simple solution is to include `-0` in your range. + 3. Constraint ranges can have some complex rules including the shorthard use of + ~ and ^. For more details on those see the options below. + +There are differences between the two methods or checking versions because the +comparison methods on `Version` follow the specification while comparison ranges +are not part of the specification. Different packages and tools have taken it +upon themselves to come up with range rules. This has resulted in differences. +For example, npm/js and Cargo/Rust follow similar patterns which PHP has a +different pattern for ^. The comparison features in this package follow the +npm/js and Cargo/Rust lead because applications using it have followed similar +patters with their versions. + +Checking a version against version constraints is one of the most featureful +parts of the package. + + c, err := semver.NewConstraint(">= 1.2.3") + if err != nil { + // Handle constraint not being parsable. + } + + v, err := semver.NewVersion("1.3") + if err != nil { + // Handle version not being parsable. + } + // Check if the version meets the constraints. The a variable will be true. + a := c.Check(v) + +# Basic Comparisons + +There are two elements to the comparisons. First, a comparison string is a list +of comma or space separated AND comparisons. These are then separated by || (OR) +comparisons. For example, `">= 1.2 < 3.0.0 || >= 4.2.3"` is looking for a +comparison that's greater than or equal to 1.2 and less than 3.0.0 or is +greater than or equal to 4.2.3. This can also be written as +`">= 1.2, < 3.0.0 || >= 4.2.3"` + +The basic comparisons are: + + - `=`: equal (aliased to no operator) + - `!=`: not equal + - `>`: greater than + - `<`: less than + - `>=`: greater than or equal to + - `<=`: less than or equal to + +# Hyphen Range Comparisons + +There are multiple methods to handle ranges and the first is hyphens ranges. +These look like: + + - `1.2 - 1.4.5` which is equivalent to `>= 1.2, <= 1.4.5` + - `2.3.4 - 4.5` which is equivalent to `>= 2.3.4 <= 4.5` + +# Wildcards In Comparisons + +The `x`, `X`, and `*` characters can be used as a wildcard character. This works +for all comparison operators. When used on the `=` operator it falls +back to the tilde operation. For example, + + - `1.2.x` is equivalent to `>= 1.2.0 < 1.3.0` + - `>= 1.2.x` is equivalent to `>= 1.2.0` + - `<= 2.x` is equivalent to `<= 3` + - `*` is equivalent to `>= 0.0.0` + +Tilde Range Comparisons (Patch) + +The tilde (`~`) comparison operator is for patch level ranges when a minor +version is specified and major level changes when the minor number is missing. +For example, + + - `~1.2.3` is equivalent to `>= 1.2.3 < 1.3.0` + - `~1` is equivalent to `>= 1, < 2` + - `~2.3` is equivalent to `>= 2.3 < 2.4` + - `~1.2.x` is equivalent to `>= 1.2.0 < 1.3.0` + - `~1.x` is equivalent to `>= 1 < 2` + +Caret Range Comparisons (Major) + +The caret (`^`) comparison operator is for major level changes once a stable +(1.0.0) release has occurred. Prior to a 1.0.0 release the minor versions acts +as the API stability level. This is useful when comparisons of API versions as a +major change is API breaking. For example, + + - `^1.2.3` is equivalent to `>= 1.2.3, < 2.0.0` + - `^1.2.x` is equivalent to `>= 1.2.0, < 2.0.0` + - `^2.3` is equivalent to `>= 2.3, < 3` + - `^2.x` is equivalent to `>= 2.0.0, < 3` + - `^0.2.3` is equivalent to `>=0.2.3 <0.3.0` + - `^0.2` is equivalent to `>=0.2.0 <0.3.0` + - `^0.0.3` is equivalent to `>=0.0.3 <0.0.4` + - `^0.0` is equivalent to `>=0.0.0 <0.1.0` + - `^0` is equivalent to `>=0.0.0 <1.0.0` + +# Validation + +In addition to testing a version against a constraint, a version can be validated +against a constraint. When validation fails a slice of errors containing why a +version didn't meet the constraint is returned. For example, + + c, err := semver.NewConstraint("<= 1.2.3, >= 1.4") + if err != nil { + // Handle constraint not being parseable. + } + + v, _ := semver.NewVersion("1.3") + if err != nil { + // Handle version not being parseable. + } + + // Validate a version against a constraint. + a, msgs := c.Validate(v) + // a is false + for _, m := range msgs { + fmt.Println(m) + + // Loops over the errors which would read + // "1.3 is greater than 1.2.3" + // "1.3 is less than 1.4" + } +*/ +package semver diff --git a/vendor/github.com/Masterminds/semver/v3/version.go b/vendor/github.com/Masterminds/semver/v3/version.go new file mode 100644 index 00000000..7a3ba738 --- /dev/null +++ b/vendor/github.com/Masterminds/semver/v3/version.go @@ -0,0 +1,788 @@ +package semver + +import ( + "bytes" + "database/sql/driver" + "encoding/json" + "errors" + "fmt" + "regexp" + "strconv" + "strings" +) + +// The compiled version of the regex created at init() is cached here so it +// only needs to be created once. +var versionRegex *regexp.Regexp +var looseVersionRegex *regexp.Regexp + +// CoerceNewVersion sets if leading 0's are allowd in the version part. Leading 0's are +// not allowed in a valid semantic version. When set to true, NewVersion will coerce +// leading 0's into a valid version. +var CoerceNewVersion = true + +// DetailedNewVersionErrors specifies if detailed errors are returned from the NewVersion +// function. This is used when CoerceNewVersion is set to false. If set to false +// ErrInvalidSemVer is returned for an invalid version. This does not apply to +// StrictNewVersion. Setting this function to false returns errors more quickly. +var DetailedNewVersionErrors = true + +var ( + // ErrInvalidSemVer is returned a version is found to be invalid when + // being parsed. + ErrInvalidSemVer = errors.New("invalid semantic version") + + // ErrEmptyString is returned when an empty string is passed in for parsing. + ErrEmptyString = errors.New("version string empty") + + // ErrInvalidCharacters is returned when invalid characters are found as + // part of a version + ErrInvalidCharacters = errors.New("invalid characters in version") + + // ErrSegmentStartsZero is returned when a version segment starts with 0. + // This is invalid in SemVer. + ErrSegmentStartsZero = errors.New("version segment starts with 0") + + // ErrInvalidMetadata is returned when the metadata is an invalid format + ErrInvalidMetadata = errors.New("invalid metadata string") + + // ErrInvalidPrerelease is returned when the pre-release is an invalid format + ErrInvalidPrerelease = errors.New("invalid prerelease string") +) + +// semVerRegex is the regular expression used to parse a semantic version. +// This is not the official regex from the semver spec. It has been modified to allow for loose handling +// where versions like 2.1 are detected. +const semVerRegex string = `v?(0|[1-9]\d*)(?:\.(0|[1-9]\d*))?(?:\.(0|[1-9]\d*))?` + + `(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?` + + `(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?` + +// looseSemVerRegex is a regular expression that lets invalid semver expressions through +// with enough detail that certain errors can be checked for. +const looseSemVerRegex string = `v?([0-9]+)(\.[0-9]+)?(\.[0-9]+)?` + + `(-([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?` + + `(\+([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?` + +// Version represents a single semantic version. +type Version struct { + major, minor, patch uint64 + pre string + metadata string + original string +} + +func init() { + versionRegex = regexp.MustCompile("^" + semVerRegex + "$") + looseVersionRegex = regexp.MustCompile("^" + looseSemVerRegex + "$") +} + +const ( + num string = "0123456789" + allowed string = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-" + num +) + +// StrictNewVersion parses a given version and returns an instance of Version or +// an error if unable to parse the version. Only parses valid semantic versions. +// Performs checking that can find errors within the version. +// If you want to coerce a version such as 1 or 1.2 and parse it as the 1.x +// releases of semver did, use the NewVersion() function. +func StrictNewVersion(v string) (*Version, error) { + // Parsing here does not use RegEx in order to increase performance and reduce + // allocations. + + if len(v) == 0 { + return nil, ErrEmptyString + } + + // Split the parts into [0]major, [1]minor, and [2]patch,prerelease,build + parts := strings.SplitN(v, ".", 3) + if len(parts) != 3 { + return nil, ErrInvalidSemVer + } + + sv := &Version{ + original: v, + } + + // Extract build metadata + if strings.Contains(parts[2], "+") { + extra := strings.SplitN(parts[2], "+", 2) + sv.metadata = extra[1] + parts[2] = extra[0] + if err := validateMetadata(sv.metadata); err != nil { + return nil, err + } + } + + // Extract build prerelease + if strings.Contains(parts[2], "-") { + extra := strings.SplitN(parts[2], "-", 2) + sv.pre = extra[1] + parts[2] = extra[0] + if err := validatePrerelease(sv.pre); err != nil { + return nil, err + } + } + + // Validate the number segments are valid. This includes only having positive + // numbers and no leading 0's. + for _, p := range parts { + if !containsOnly(p, num) { + return nil, ErrInvalidCharacters + } + + if len(p) > 1 && p[0] == '0' { + return nil, ErrSegmentStartsZero + } + } + + // Extract major, minor, and patch + var err error + sv.major, err = strconv.ParseUint(parts[0], 10, 64) + if err != nil { + return nil, err + } + + sv.minor, err = strconv.ParseUint(parts[1], 10, 64) + if err != nil { + return nil, err + } + + sv.patch, err = strconv.ParseUint(parts[2], 10, 64) + if err != nil { + return nil, err + } + + return sv, nil +} + +// NewVersion parses a given version and returns an instance of Version or +// an error if unable to parse the version. If the version is SemVer-ish it +// attempts to convert it to SemVer. If you want to validate it was a strict +// semantic version at parse time see StrictNewVersion(). +func NewVersion(v string) (*Version, error) { + if CoerceNewVersion { + return coerceNewVersion(v) + } + m := versionRegex.FindStringSubmatch(v) + if m == nil { + + // Disabling detailed errors is first so that it is in the fast path. + if !DetailedNewVersionErrors { + return nil, ErrInvalidSemVer + } + + // Check for specific errors with the semver string and return a more detailed + // error. + m = looseVersionRegex.FindStringSubmatch(v) + if m == nil { + return nil, ErrInvalidSemVer + } + err := validateVersion(m) + if err != nil { + return nil, err + } + return nil, ErrInvalidSemVer + } + + sv := &Version{ + metadata: m[5], + pre: m[4], + original: v, + } + + var err error + sv.major, err = strconv.ParseUint(m[1], 10, 64) + if err != nil { + return nil, fmt.Errorf("error parsing version segment: %w", err) + } + + if m[2] != "" { + sv.minor, err = strconv.ParseUint(m[2], 10, 64) + if err != nil { + return nil, fmt.Errorf("error parsing version segment: %w", err) + } + } else { + sv.minor = 0 + } + + if m[3] != "" { + sv.patch, err = strconv.ParseUint(m[3], 10, 64) + if err != nil { + return nil, fmt.Errorf("error parsing version segment: %w", err) + } + } else { + sv.patch = 0 + } + + // Perform some basic due diligence on the extra parts to ensure they are + // valid. + + if sv.pre != "" { + if err = validatePrerelease(sv.pre); err != nil { + return nil, err + } + } + + if sv.metadata != "" { + if err = validateMetadata(sv.metadata); err != nil { + return nil, err + } + } + + return sv, nil +} + +func coerceNewVersion(v string) (*Version, error) { + m := looseVersionRegex.FindStringSubmatch(v) + if m == nil { + return nil, ErrInvalidSemVer + } + + sv := &Version{ + metadata: m[8], + pre: m[5], + original: v, + } + + var err error + sv.major, err = strconv.ParseUint(m[1], 10, 64) + if err != nil { + return nil, fmt.Errorf("error parsing version segment: %w", err) + } + + if m[2] != "" { + sv.minor, err = strconv.ParseUint(strings.TrimPrefix(m[2], "."), 10, 64) + if err != nil { + return nil, fmt.Errorf("error parsing version segment: %w", err) + } + } else { + sv.minor = 0 + } + + if m[3] != "" { + sv.patch, err = strconv.ParseUint(strings.TrimPrefix(m[3], "."), 10, 64) + if err != nil { + return nil, fmt.Errorf("error parsing version segment: %w", err) + } + } else { + sv.patch = 0 + } + + // Perform some basic due diligence on the extra parts to ensure they are + // valid. + + if sv.pre != "" { + if err = validatePrerelease(sv.pre); err != nil { + return nil, err + } + } + + if sv.metadata != "" { + if err = validateMetadata(sv.metadata); err != nil { + return nil, err + } + } + + return sv, nil +} + +// New creates a new instance of Version with each of the parts passed in as +// arguments instead of parsing a version string. +func New(major, minor, patch uint64, pre, metadata string) *Version { + v := Version{ + major: major, + minor: minor, + patch: patch, + pre: pre, + metadata: metadata, + original: "", + } + + v.original = v.String() + + return &v +} + +// MustParse parses a given version and panics on error. +func MustParse(v string) *Version { + sv, err := NewVersion(v) + if err != nil { + panic(err) + } + return sv +} + +// String converts a Version object to a string. +// Note, if the original version contained a leading v this version will not. +// See the Original() method to retrieve the original value. Semantic Versions +// don't contain a leading v per the spec. Instead it's optional on +// implementation. +func (v Version) String() string { + var buf bytes.Buffer + + fmt.Fprintf(&buf, "%d.%d.%d", v.major, v.minor, v.patch) + if v.pre != "" { + fmt.Fprintf(&buf, "-%s", v.pre) + } + if v.metadata != "" { + fmt.Fprintf(&buf, "+%s", v.metadata) + } + + return buf.String() +} + +// Original returns the original value passed in to be parsed. +func (v *Version) Original() string { + return v.original +} + +// Major returns the major version. +func (v Version) Major() uint64 { + return v.major +} + +// Minor returns the minor version. +func (v Version) Minor() uint64 { + return v.minor +} + +// Patch returns the patch version. +func (v Version) Patch() uint64 { + return v.patch +} + +// Prerelease returns the pre-release version. +func (v Version) Prerelease() string { + return v.pre +} + +// Metadata returns the metadata on the version. +func (v Version) Metadata() string { + return v.metadata +} + +// originalVPrefix returns the original 'v' prefix if any. +func (v Version) originalVPrefix() string { + // Note, only lowercase v is supported as a prefix by the parser. + if v.original != "" && v.original[:1] == "v" { + return v.original[:1] + } + return "" +} + +// IncPatch produces the next patch version. +// If the current version does not have prerelease/metadata information, +// it unsets metadata and prerelease values, increments patch number. +// If the current version has any of prerelease or metadata information, +// it unsets both values and keeps current patch value +func (v Version) IncPatch() Version { + vNext := v + // according to http://semver.org/#spec-item-9 + // Pre-release versions have a lower precedence than the associated normal version. + // according to http://semver.org/#spec-item-10 + // Build metadata SHOULD be ignored when determining version precedence. + if v.pre != "" { + vNext.metadata = "" + vNext.pre = "" + } else { + vNext.metadata = "" + vNext.pre = "" + vNext.patch = v.patch + 1 + } + vNext.original = v.originalVPrefix() + "" + vNext.String() + return vNext +} + +// IncMinor produces the next minor version. +// Sets patch to 0. +// Increments minor number. +// Unsets metadata. +// Unsets prerelease status. +func (v Version) IncMinor() Version { + vNext := v + vNext.metadata = "" + vNext.pre = "" + vNext.patch = 0 + vNext.minor = v.minor + 1 + vNext.original = v.originalVPrefix() + "" + vNext.String() + return vNext +} + +// IncMajor produces the next major version. +// Sets patch to 0. +// Sets minor to 0. +// Increments major number. +// Unsets metadata. +// Unsets prerelease status. +func (v Version) IncMajor() Version { + vNext := v + vNext.metadata = "" + vNext.pre = "" + vNext.patch = 0 + vNext.minor = 0 + vNext.major = v.major + 1 + vNext.original = v.originalVPrefix() + "" + vNext.String() + return vNext +} + +// SetPrerelease defines the prerelease value. +// Value must not include the required 'hyphen' prefix. +func (v Version) SetPrerelease(prerelease string) (Version, error) { + vNext := v + if len(prerelease) > 0 { + if err := validatePrerelease(prerelease); err != nil { + return vNext, err + } + } + vNext.pre = prerelease + vNext.original = v.originalVPrefix() + "" + vNext.String() + return vNext, nil +} + +// SetMetadata defines metadata value. +// Value must not include the required 'plus' prefix. +func (v Version) SetMetadata(metadata string) (Version, error) { + vNext := v + if len(metadata) > 0 { + if err := validateMetadata(metadata); err != nil { + return vNext, err + } + } + vNext.metadata = metadata + vNext.original = v.originalVPrefix() + "" + vNext.String() + return vNext, nil +} + +// LessThan tests if one version is less than another one. +func (v *Version) LessThan(o *Version) bool { + return v.Compare(o) < 0 +} + +// LessThanEqual tests if one version is less or equal than another one. +func (v *Version) LessThanEqual(o *Version) bool { + return v.Compare(o) <= 0 +} + +// GreaterThan tests if one version is greater than another one. +func (v *Version) GreaterThan(o *Version) bool { + return v.Compare(o) > 0 +} + +// GreaterThanEqual tests if one version is greater or equal than another one. +func (v *Version) GreaterThanEqual(o *Version) bool { + return v.Compare(o) >= 0 +} + +// Equal tests if two versions are equal to each other. +// Note, versions can be equal with different metadata since metadata +// is not considered part of the comparable version. +func (v *Version) Equal(o *Version) bool { + if v == o { + return true + } + if v == nil || o == nil { + return false + } + return v.Compare(o) == 0 +} + +// Compare compares this version to another one. It returns -1, 0, or 1 if +// the version smaller, equal, or larger than the other version. +// +// Versions are compared by X.Y.Z. Build metadata is ignored. Prerelease is +// lower than the version without a prerelease. Compare always takes into account +// prereleases. If you want to work with ranges using typical range syntaxes that +// skip prereleases if the range is not looking for them use constraints. +func (v *Version) Compare(o *Version) int { + // Compare the major, minor, and patch version for differences. If a + // difference is found return the comparison. + if d := compareSegment(v.Major(), o.Major()); d != 0 { + return d + } + if d := compareSegment(v.Minor(), o.Minor()); d != 0 { + return d + } + if d := compareSegment(v.Patch(), o.Patch()); d != 0 { + return d + } + + // At this point the major, minor, and patch versions are the same. + ps := v.pre + po := o.Prerelease() + + if ps == "" && po == "" { + return 0 + } + if ps == "" { + return 1 + } + if po == "" { + return -1 + } + + return comparePrerelease(ps, po) +} + +// UnmarshalJSON implements JSON.Unmarshaler interface. +func (v *Version) UnmarshalJSON(b []byte) error { + var s string + if err := json.Unmarshal(b, &s); err != nil { + return err + } + temp, err := NewVersion(s) + if err != nil { + return err + } + v.major = temp.major + v.minor = temp.minor + v.patch = temp.patch + v.pre = temp.pre + v.metadata = temp.metadata + v.original = temp.original + return nil +} + +// MarshalJSON implements JSON.Marshaler interface. +func (v Version) MarshalJSON() ([]byte, error) { + return json.Marshal(v.String()) +} + +// UnmarshalText implements the encoding.TextUnmarshaler interface. +func (v *Version) UnmarshalText(text []byte) error { + temp, err := NewVersion(string(text)) + if err != nil { + return err + } + + *v = *temp + + return nil +} + +// MarshalText implements the encoding.TextMarshaler interface. +func (v Version) MarshalText() ([]byte, error) { + return []byte(v.String()), nil +} + +// Scan implements the SQL.Scanner interface. +func (v *Version) Scan(value interface{}) error { + var s string + s, _ = value.(string) + temp, err := NewVersion(s) + if err != nil { + return err + } + v.major = temp.major + v.minor = temp.minor + v.patch = temp.patch + v.pre = temp.pre + v.metadata = temp.metadata + v.original = temp.original + return nil +} + +// Value implements the Driver.Valuer interface. +func (v Version) Value() (driver.Value, error) { + return v.String(), nil +} + +func compareSegment(v, o uint64) int { + if v < o { + return -1 + } + if v > o { + return 1 + } + + return 0 +} + +func comparePrerelease(v, o string) int { + // split the prelease versions by their part. The separator, per the spec, + // is a . + sparts := strings.Split(v, ".") + oparts := strings.Split(o, ".") + + // Find the longer length of the parts to know how many loop iterations to + // go through. + slen := len(sparts) + olen := len(oparts) + + l := slen + if olen > slen { + l = olen + } + + // Iterate over each part of the prereleases to compare the differences. + for i := 0; i < l; i++ { + // Since the lentgh of the parts can be different we need to create + // a placeholder. This is to avoid out of bounds issues. + stemp := "" + if i < slen { + stemp = sparts[i] + } + + otemp := "" + if i < olen { + otemp = oparts[i] + } + + d := comparePrePart(stemp, otemp) + if d != 0 { + return d + } + } + + // Reaching here means two versions are of equal value but have different + // metadata (the part following a +). They are not identical in string form + // but the version comparison finds them to be equal. + return 0 +} + +func comparePrePart(s, o string) int { + // Fastpath if they are equal + if s == o { + return 0 + } + + // When s or o are empty we can use the other in an attempt to determine + // the response. + if s == "" { + if o != "" { + return -1 + } + return 1 + } + + if o == "" { + if s != "" { + return 1 + } + return -1 + } + + // When comparing strings "99" is greater than "103". To handle + // cases like this we need to detect numbers and compare them. According + // to the semver spec, numbers are always positive. If there is a - at the + // start like -99 this is to be evaluated as an alphanum. numbers always + // have precedence over alphanum. Parsing as Uints because negative numbers + // are ignored. + + oi, n1 := strconv.ParseUint(o, 10, 64) + si, n2 := strconv.ParseUint(s, 10, 64) + + // The case where both are strings compare the strings + if n1 != nil && n2 != nil { + if s > o { + return 1 + } + return -1 + } else if n1 != nil { + // o is a string and s is a number + return -1 + } else if n2 != nil { + // s is a string and o is a number + return 1 + } + // Both are numbers + if si > oi { + return 1 + } + return -1 +} + +// Like strings.ContainsAny but does an only instead of any. +func containsOnly(s string, comp string) bool { + return strings.IndexFunc(s, func(r rune) bool { + return !strings.ContainsRune(comp, r) + }) == -1 +} + +// From the spec, "Identifiers MUST comprise only +// ASCII alphanumerics and hyphen [0-9A-Za-z-]. Identifiers MUST NOT be empty. +// Numeric identifiers MUST NOT include leading zeroes.". These segments can +// be dot separated. +func validatePrerelease(p string) error { + eparts := strings.Split(p, ".") + for _, p := range eparts { + if p == "" { + return ErrInvalidPrerelease + } else if containsOnly(p, num) { + if len(p) > 1 && p[0] == '0' { + return ErrSegmentStartsZero + } + } else if !containsOnly(p, allowed) { + return ErrInvalidPrerelease + } + } + + return nil +} + +// From the spec, "Build metadata MAY be denoted by +// appending a plus sign and a series of dot separated identifiers immediately +// following the patch or pre-release version. Identifiers MUST comprise only +// ASCII alphanumerics and hyphen [0-9A-Za-z-]. Identifiers MUST NOT be empty." +func validateMetadata(m string) error { + eparts := strings.Split(m, ".") + for _, p := range eparts { + if p == "" { + return ErrInvalidMetadata + } else if !containsOnly(p, allowed) { + return ErrInvalidMetadata + } + } + return nil +} + +// validateVersion checks for common validation issues but may not catch all errors +func validateVersion(m []string) error { + var err error + var v string + if m[1] != "" { + if len(m[1]) > 1 && m[1][0] == '0' { + return ErrSegmentStartsZero + } + _, err = strconv.ParseUint(m[1], 10, 64) + if err != nil { + return fmt.Errorf("error parsing version segment: %w", err) + } + } + + if m[2] != "" { + v = strings.TrimPrefix(m[2], ".") + if len(v) > 1 && v[0] == '0' { + return ErrSegmentStartsZero + } + _, err = strconv.ParseUint(v, 10, 64) + if err != nil { + return fmt.Errorf("error parsing version segment: %w", err) + } + } + + if m[3] != "" { + v = strings.TrimPrefix(m[3], ".") + if len(v) > 1 && v[0] == '0' { + return ErrSegmentStartsZero + } + _, err = strconv.ParseUint(v, 10, 64) + if err != nil { + return fmt.Errorf("error parsing version segment: %w", err) + } + } + + if m[5] != "" { + if err = validatePrerelease(m[5]); err != nil { + return err + } + } + + if m[8] != "" { + if err = validateMetadata(m[8]); err != nil { + return err + } + } + + return nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/internal/connector/connector.go b/vendor/github.com/conductorone/baton-sdk/internal/connector/connector.go index 45642ad3..6c6e07d5 100644 --- a/vendor/github.com/conductorone/baton-sdk/internal/connector/connector.go +++ b/vendor/github.com/conductorone/baton-sdk/internal/connector/connector.go @@ -6,6 +6,7 @@ import ( "errors" "fmt" "io" + "net" "os" "os/exec" "sync" @@ -25,7 +26,9 @@ import ( ratelimitV1 "github.com/conductorone/baton-sdk/pb/c1/ratelimit/v1" tlsV1 "github.com/conductorone/baton-sdk/pb/c1/utls/v1" ratelimit2 "github.com/conductorone/baton-sdk/pkg/ratelimit" + "github.com/conductorone/baton-sdk/pkg/session" "github.com/conductorone/baton-sdk/pkg/types" + "github.com/conductorone/baton-sdk/pkg/types/sessions" "github.com/conductorone/baton-sdk/pkg/ugrpc" utls2 "github.com/conductorone/baton-sdk/pkg/utls" ) @@ -49,6 +52,28 @@ type connectorClient struct { connectorV2.EventServiceClient connectorV2.TicketsServiceClient connectorV2.ActionServiceClient + + sessionStoreSetter sessions.SetSessionStore // this is the session store server +} + +var _ sessions.SetSessionStore = (*connectorClient)(nil) +var _ SetSessionStoreSetter = (*connectorClient)(nil) + +type SetSessionStoreSetter interface { + SetSessionStoreSetter(setsessionStoreSetter sessions.SetSessionStore) +} + +func (c *connectorClient) SetSessionStoreSetter(sessionStoreSetter sessions.SetSessionStore) { + c.sessionStoreSetter = sessionStoreSetter +} + +func (c *connectorClient) SetSessionStore(ctx context.Context, store sessions.SessionStore) { + if c.sessionStoreSetter == nil { + l := ctxzap.Extract(ctx) + l.Warn("connectorClient's session store is nil") + return + } + c.sessionStoreSetter.SetSessionStore(ctx, store) } var ErrConnectorNotImplemented = errors.New("client does not implement connector connectorV2") @@ -64,16 +89,27 @@ type wrapper struct { ticketingEnabled bool fullSyncDisabled bool targetedSyncResourceIDs []string + sessionStoreEnabled bool + syncResourceTypeIDs []string rateLimiter ratelimitV1.RateLimiterServiceServer rlCfg *ratelimitV1.RateLimiterConfig rlDescriptors []*ratelimitV1.RateLimitDescriptors_Entry now func() time.Time + + SessionServer sessions.SetSessionStore } type Option func(ctx context.Context, w *wrapper) error +func WithSessionStoreEnabled() Option { + return func(ctx context.Context, w *wrapper) error { + w.sessionStoreEnabled = true + return nil + } +} + func WithRateLimiterConfig(cfg *ratelimitV1.RateLimiterConfig) Option { return func(ctx context.Context, w *wrapper) error { if cfg != nil { @@ -124,6 +160,13 @@ func WithTargetedSyncResourceIDs(resourceIDs []string) Option { } } +func WithSyncResourceTypeIDs(resourceTypeIDs []string) Option { + return func(ctx context.Context, w *wrapper) error { + w.syncResourceTypeIDs = resourceTypeIDs + return nil + } +} + // NewConnectorWrapper returns a connector wrapper for running connector services locally. func NewWrapper(ctx context.Context, server interface{}, opts ...Option) (*wrapper, error) { connectorServer, isServer := server.(types.ConnectorServer) @@ -154,7 +197,7 @@ func (cw *wrapper) Run(ctx context.Context, serverCfg *connectorwrapperV1.Server return err } - tlsConfig, err := utls2.ListenerConfig(ctx, serverCfg.Credential) + tlsConfig, err := utls2.ListenerConfig(ctx, serverCfg.GetCredential()) if err != nil { return err } @@ -175,7 +218,7 @@ func (cw *wrapper) Run(ctx context.Context, serverCfg *connectorwrapperV1.Server )), ) - rl, err := ratelimit2.NewLimiter(ctx, cw.now, serverCfg.RateLimiterConfig) + rl, err := ratelimit2.NewLimiter(ctx, cw.now, serverCfg.GetRateLimiterConfig()) if err != nil { return err } @@ -198,14 +241,52 @@ func (cw *wrapper) runServer(ctx context.Context, serverCred *tlsV1.Credential) listenPort, listener, err := cw.setupListener(ctx) if err != nil { - return 0, err + return 0, fmt.Errorf("failed to setup listener: %w", err) } + var sessionListenerPort uint32 + if cw.sessionStoreEnabled { + var sessionListenerFile *os.File + sessionListenerPort, sessionListenerFile, err = cw.setupListener(ctx) + if err != nil { + return 0, fmt.Errorf("failed to setup session listener: %w", err) + } + + if sessionListenerFile == nil { + return 0, fmt.Errorf("session listener file is nil") + } - serverCfg, err := proto.Marshal(&connectorwrapperV1.ServerConfig{ - Credential: serverCred, - RateLimiterConfig: cw.rlCfg, - ListenPort: listenPort, - }) + // Start the session cache server on the cache listener + sessionListener, err := net.FileListener(sessionListenerFile) + if err != nil { + _ = sessionListenerFile.Close() + return 0, fmt.Errorf("failed to create session listener: %w", err) + } + tlsConfig, err := utls2.ListenerConfig(ctx, serverCred) + if err != nil { + _ = sessionListenerFile.Close() + return 0, fmt.Errorf("failed to create session listener config: %w", err) + } + + // TODO(kans): block until we send a request or something/error handling in general. + l.Info("starting session store server") + server := session.NewGRPCSessionServer() + cw.SessionServer = server + go func() { + defer sessionListenerFile.Close() + serverErr := session.StartGRPCSessionServerWithOptions(ctx, sessionListener, server, grpc.Creds(credentials.NewTLS(tlsConfig))) + if serverErr != nil { + l.Error("failed to create session store server", zap.Error(serverErr)) + return + } + }() + } + + serverCfg, err := proto.Marshal(connectorwrapperV1.ServerConfig_builder{ + Credential: serverCred, + RateLimiterConfig: cw.rlCfg, + ListenPort: listenPort, + SessionStoreListenPort: sessionListenerPort, + }.Build()) if err != nil { return 0, err } @@ -303,11 +384,11 @@ func (cw *wrapper) C(ctx context.Context) (types.ConnectorClient, error) { var dialErr error var conn *grpc.ClientConn for { - conn, err = grpc.DialContext( //nolint:staticcheck // grpc.DialContext is deprecated but we are using it still. + conn, err = grpc.DialContext( //nolint:staticcheck // grpc.DialContext is deprecated but we are using it still for compatibility ctx, fmt.Sprintf("127.0.0.1:%d", listenPort), grpc.WithTransportCredentials(credentials.NewTLS(clientTLSConfig)), - grpc.WithBlock(), //nolint:staticcheck // grpc.WithBlock is deprecated but we are using it still. + grpc.WithBlock(), //nolint:staticcheck // grpc.WithBlock is deprecated but we are using it still for compatibility grpc.WithChainUnaryInterceptor(ratelimit2.UnaryInterceptor(cw.now, cw.rlDescriptors...)), grpc.WithStatsHandler(otelgrpc.NewClientHandler( otelgrpc.WithPropagators( @@ -331,8 +412,11 @@ func (cw *wrapper) C(ctx context.Context) (types.ConnectorClient, error) { } cw.conn = conn - cw.client = NewConnectorClient(ctx, cw.conn) - return cw.client, nil + client := NewConnectorClient(ctx, cw.conn) + client.SetSessionStoreSetter(cw.SessionServer) + cw.client = client + + return client, nil } // Close shuts down the grpc server and closes the connection. @@ -414,7 +498,7 @@ func Register(ctx context.Context, s grpc.ServiceRegistrar, srv types.ConnectorS // NewConnectorClient takes a grpc.ClientConnInterface and returns an implementation of the ConnectorClient interface. // It does not check that the connection actually supports the services. -func NewConnectorClient(ctx context.Context, cc grpc.ClientConnInterface) types.ConnectorClient { +func NewConnectorClient(_ context.Context, cc grpc.ClientConnInterface) *connectorClient { return &connectorClient{ ResourceTypesServiceClient: connectorV2.NewResourceTypesServiceClient(cc), ResourcesServiceClient: connectorV2.NewResourcesServiceClient(cc), diff --git a/vendor/github.com/conductorone/baton-sdk/internal/connector/connector_server_unix.go b/vendor/github.com/conductorone/baton-sdk/internal/connector/connector_server_unix.go index ab7f1214..bac831a5 100644 --- a/vendor/github.com/conductorone/baton-sdk/internal/connector/connector_server_unix.go +++ b/vendor/github.com/conductorone/baton-sdk/internal/connector/connector_server_unix.go @@ -44,7 +44,7 @@ func (cw *wrapper) setupListener(ctx context.Context) (uint32, *os.File, error) func (cw *wrapper) getListener(ctx context.Context, serverCfg *connectorwrapperV1.ServerConfig) (net.Listener, error) { l := ctxzap.Extract(ctx) - l.Debug("starting listener with fd", zap.Uint32("expected_listen_port", serverCfg.ListenPort)) + l.Debug("starting listener with fd", zap.Uint32("expected_listen_port", serverCfg.GetListenPort())) listenerFd := os.Getenv(listenerFdEnv) if listenerFd == "" { @@ -64,8 +64,8 @@ func (cw *wrapper) getListener(ctx context.Context, serverCfg *connectorwrapperV } listenPort := getPort(listener) - if listenPort != serverCfg.ListenPort { - return nil, fmt.Errorf("listen port mismatch: %d != %d", listenPort, serverCfg.ListenPort) + if listenPort != serverCfg.GetListenPort() { + return nil, fmt.Errorf("listen port mismatch: %d != %d", listenPort, serverCfg.GetListenPort()) } l.Debug("listener started", zap.Uint32("listen_port", listenPort)) diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/c1z/v1/annotation_sync_details.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/c1z/v1/annotation_sync_details.pb.go index 71b4ddb2..35212c03 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/c1z/v1/annotation_sync_details.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/c1z/v1/annotation_sync_details.pb.go @@ -1,16 +1,17 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/c1z/v1/annotation_sync_details.proto +//go:build !protoopaque + package v1 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -22,7 +23,7 @@ const ( ) type SyncDetails struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -53,11 +54,6 @@ func (x *SyncDetails) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SyncDetails.ProtoReflect.Descriptor instead. -func (*SyncDetails) Descriptor() ([]byte, []int) { - return file_c1_c1z_v1_annotation_sync_details_proto_rawDescGZIP(), []int{0} -} - func (x *SyncDetails) GetId() string { if x != nil { return x.Id @@ -65,32 +61,32 @@ func (x *SyncDetails) GetId() string { return "" } -var File_c1_c1z_v1_annotation_sync_details_proto protoreflect.FileDescriptor +func (x *SyncDetails) SetId(v string) { + x.Id = v +} -var file_c1_c1z_v1_annotation_sync_details_proto_rawDesc = string([]byte{ - 0x0a, 0x27, 0x63, 0x31, 0x2f, 0x63, 0x31, 0x7a, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x64, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x63, 0x31, 0x2e, 0x63, 0x31, - 0x7a, 0x2e, 0x76, 0x31, 0x22, 0x1d, 0x0a, 0x0b, 0x53, 0x79, 0x6e, 0x63, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x42, 0x30, 0x5a, 0x2e, 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, - 0x31, 0x7a, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) - -var ( - file_c1_c1z_v1_annotation_sync_details_proto_rawDescOnce sync.Once - file_c1_c1z_v1_annotation_sync_details_proto_rawDescData []byte -) +type SyncDetails_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. -func file_c1_c1z_v1_annotation_sync_details_proto_rawDescGZIP() []byte { - file_c1_c1z_v1_annotation_sync_details_proto_rawDescOnce.Do(func() { - file_c1_c1z_v1_annotation_sync_details_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_c1z_v1_annotation_sync_details_proto_rawDesc), len(file_c1_c1z_v1_annotation_sync_details_proto_rawDesc))) - }) - return file_c1_c1z_v1_annotation_sync_details_proto_rawDescData + Id string } +func (b0 SyncDetails_builder) Build() *SyncDetails { + m0 := &SyncDetails{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + return m0 +} + +var File_c1_c1z_v1_annotation_sync_details_proto protoreflect.FileDescriptor + +const file_c1_c1z_v1_annotation_sync_details_proto_rawDesc = "" + + "\n" + + "'c1/c1z/v1/annotation_sync_details.proto\x12\tc1.c1z.v1\"\x1d\n" + + "\vSyncDetails\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02idB0Z.github.com/conductorone/baton-sdk/pb/c1/c1z/v1b\x06proto3" + var file_c1_c1z_v1_annotation_sync_details_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_c1_c1z_v1_annotation_sync_details_proto_goTypes = []any{ (*SyncDetails)(nil), // 0: c1.c1z.v1.SyncDetails diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/c1z/v1/annotation_sync_details_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/c1z/v1/annotation_sync_details_protoopaque.pb.go new file mode 100644 index 00000000..13a7e990 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/c1z/v1/annotation_sync_details_protoopaque.pb.go @@ -0,0 +1,124 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/c1z/v1/annotation_sync_details.proto + +//go:build protoopaque + +package v1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + 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) +) + +type SyncDetails struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SyncDetails) Reset() { + *x = SyncDetails{} + mi := &file_c1_c1z_v1_annotation_sync_details_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SyncDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncDetails) ProtoMessage() {} + +func (x *SyncDetails) ProtoReflect() protoreflect.Message { + mi := &file_c1_c1z_v1_annotation_sync_details_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) +} + +func (x *SyncDetails) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *SyncDetails) SetId(v string) { + x.xxx_hidden_Id = v +} + +type SyncDetails_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string +} + +func (b0 SyncDetails_builder) Build() *SyncDetails { + m0 := &SyncDetails{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + return m0 +} + +var File_c1_c1z_v1_annotation_sync_details_proto protoreflect.FileDescriptor + +const file_c1_c1z_v1_annotation_sync_details_proto_rawDesc = "" + + "\n" + + "'c1/c1z/v1/annotation_sync_details.proto\x12\tc1.c1z.v1\"\x1d\n" + + "\vSyncDetails\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02idB0Z.github.com/conductorone/baton-sdk/pb/c1/c1z/v1b\x06proto3" + +var file_c1_c1z_v1_annotation_sync_details_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_c1_c1z_v1_annotation_sync_details_proto_goTypes = []any{ + (*SyncDetails)(nil), // 0: c1.c1z.v1.SyncDetails +} +var file_c1_c1z_v1_annotation_sync_details_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_c1z_v1_annotation_sync_details_proto_init() } +func file_c1_c1z_v1_annotation_sync_details_proto_init() { + if File_c1_c1z_v1_annotation_sync_details_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_c1z_v1_annotation_sync_details_proto_rawDesc), len(file_c1_c1z_v1_annotation_sync_details_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_c1z_v1_annotation_sync_details_proto_goTypes, + DependencyIndexes: file_c1_c1z_v1_annotation_sync_details_proto_depIdxs, + MessageInfos: file_c1_c1z_v1_annotation_sync_details_proto_msgTypes, + }.Build() + File_c1_c1z_v1_annotation_sync_details_proto = out.File + file_c1_c1z_v1_annotation_sync_details_proto_goTypes = nil + file_c1_c1z_v1_annotation_sync_details_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/c1z/v1/diff.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/c1z/v1/diff.pb.go index ac849400..1f319756 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/c1z/v1/diff.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/c1z/v1/diff.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/c1z/v1/diff.proto +//go:build !protoopaque + package v1 import ( @@ -11,7 +13,6 @@ import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -23,7 +24,7 @@ const ( ) type ResourceDiff struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Created []*v2.Resource `protobuf:"bytes,1,rep,name=created,proto3" json:"created,omitempty"` Deleted []*v2.Resource `protobuf:"bytes,2,rep,name=deleted,proto3" json:"deleted,omitempty"` Modified []*v2.Resource `protobuf:"bytes,3,rep,name=modified,proto3" json:"modified,omitempty"` @@ -56,11 +57,6 @@ func (x *ResourceDiff) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ResourceDiff.ProtoReflect.Descriptor instead. -func (*ResourceDiff) Descriptor() ([]byte, []int) { - return file_c1_c1z_v1_diff_proto_rawDescGZIP(), []int{0} -} - func (x *ResourceDiff) GetCreated() []*v2.Resource { if x != nil { return x.Created @@ -82,8 +78,38 @@ func (x *ResourceDiff) GetModified() []*v2.Resource { return nil } +func (x *ResourceDiff) SetCreated(v []*v2.Resource) { + x.Created = v +} + +func (x *ResourceDiff) SetDeleted(v []*v2.Resource) { + x.Deleted = v +} + +func (x *ResourceDiff) SetModified(v []*v2.Resource) { + x.Modified = v +} + +type ResourceDiff_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Created []*v2.Resource + Deleted []*v2.Resource + Modified []*v2.Resource +} + +func (b0 ResourceDiff_builder) Build() *ResourceDiff { + m0 := &ResourceDiff{} + b, x := &b0, m0 + _, _ = b, x + x.Created = b.Created + x.Deleted = b.Deleted + x.Modified = b.Modified + return m0 +} + type EntitlementDiff struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Created []*v2.Entitlement `protobuf:"bytes,1,rep,name=created,proto3" json:"created,omitempty"` Deleted []*v2.Entitlement `protobuf:"bytes,2,rep,name=deleted,proto3" json:"deleted,omitempty"` Modified []*v2.Entitlement `protobuf:"bytes,3,rep,name=modified,proto3" json:"modified,omitempty"` @@ -116,11 +142,6 @@ func (x *EntitlementDiff) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use EntitlementDiff.ProtoReflect.Descriptor instead. -func (*EntitlementDiff) Descriptor() ([]byte, []int) { - return file_c1_c1z_v1_diff_proto_rawDescGZIP(), []int{1} -} - func (x *EntitlementDiff) GetCreated() []*v2.Entitlement { if x != nil { return x.Created @@ -142,8 +163,38 @@ func (x *EntitlementDiff) GetModified() []*v2.Entitlement { return nil } +func (x *EntitlementDiff) SetCreated(v []*v2.Entitlement) { + x.Created = v +} + +func (x *EntitlementDiff) SetDeleted(v []*v2.Entitlement) { + x.Deleted = v +} + +func (x *EntitlementDiff) SetModified(v []*v2.Entitlement) { + x.Modified = v +} + +type EntitlementDiff_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Created []*v2.Entitlement + Deleted []*v2.Entitlement + Modified []*v2.Entitlement +} + +func (b0 EntitlementDiff_builder) Build() *EntitlementDiff { + m0 := &EntitlementDiff{} + b, x := &b0, m0 + _, _ = b, x + x.Created = b.Created + x.Deleted = b.Deleted + x.Modified = b.Modified + return m0 +} + type GrantDiff struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Created []*v2.Grant `protobuf:"bytes,1,rep,name=created,proto3" json:"created,omitempty"` Deleted []*v2.Grant `protobuf:"bytes,2,rep,name=deleted,proto3" json:"deleted,omitempty"` Modified []*v2.Grant `protobuf:"bytes,3,rep,name=modified,proto3" json:"modified,omitempty"` @@ -176,11 +227,6 @@ func (x *GrantDiff) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrantDiff.ProtoReflect.Descriptor instead. -func (*GrantDiff) Descriptor() ([]byte, []int) { - return file_c1_c1z_v1_diff_proto_rawDescGZIP(), []int{2} -} - func (x *GrantDiff) GetCreated() []*v2.Grant { if x != nil { return x.Created @@ -202,8 +248,38 @@ func (x *GrantDiff) GetModified() []*v2.Grant { return nil } +func (x *GrantDiff) SetCreated(v []*v2.Grant) { + x.Created = v +} + +func (x *GrantDiff) SetDeleted(v []*v2.Grant) { + x.Deleted = v +} + +func (x *GrantDiff) SetModified(v []*v2.Grant) { + x.Modified = v +} + +type GrantDiff_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Created []*v2.Grant + Deleted []*v2.Grant + Modified []*v2.Grant +} + +func (b0 GrantDiff_builder) Build() *GrantDiff { + m0 := &GrantDiff{} + b, x := &b0, m0 + _, _ = b, x + x.Created = b.Created + x.Deleted = b.Deleted + x.Modified = b.Modified + return m0 +} + type C1ZDiffOutput struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Resources *ResourceDiff `protobuf:"bytes,1,opt,name=resources,proto3" json:"resources,omitempty"` Entitlements *EntitlementDiff `protobuf:"bytes,2,opt,name=entitlements,proto3" json:"entitlements,omitempty"` Grants *GrantDiff `protobuf:"bytes,3,opt,name=grants,proto3" json:"grants,omitempty"` @@ -236,11 +312,6 @@ func (x *C1ZDiffOutput) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use C1ZDiffOutput.ProtoReflect.Descriptor instead. -func (*C1ZDiffOutput) Descriptor() ([]byte, []int) { - return file_c1_c1z_v1_diff_proto_rawDescGZIP(), []int{3} -} - func (x *C1ZDiffOutput) GetResources() *ResourceDiff { if x != nil { return x.Resources @@ -262,80 +333,91 @@ func (x *C1ZDiffOutput) GetGrants() *GrantDiff { return nil } -var File_c1_c1z_v1_diff_proto protoreflect.FileDescriptor +func (x *C1ZDiffOutput) SetResources(v *ResourceDiff) { + x.Resources = v +} -var file_c1_c1z_v1_diff_proto_rawDesc = string([]byte{ - 0x0a, 0x14, 0x63, 0x31, 0x2f, 0x63, 0x31, 0x7a, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x69, 0x66, 0x66, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x63, 0x31, 0x2e, 0x63, 0x31, 0x7a, 0x2e, 0x76, - 0x31, 0x1a, 0x21, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, - 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x1e, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, - 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0xaf, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, - 0x66, 0x66, 0x12, 0x33, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 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, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x64, 0x18, 0x02, 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, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x08, - 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x03, 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, 0x08, 0x6d, 0x6f, 0x64, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x0f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x44, 0x69, 0x66, 0x66, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x18, 0x01, 0x20, 0x03, 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, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, - 0x36, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 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, 0x07, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 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, 0x08, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x09, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x44, 0x69, 0x66, 0x66, 0x12, - 0x30, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 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, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x12, 0x30, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, - 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, 0x07, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, - 0x03, 0x20, 0x03, 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, 0x08, 0x6d, - 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0xb4, 0x01, 0x0a, 0x0d, 0x43, 0x31, 0x5a, 0x44, - 0x69, 0x66, 0x66, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, - 0x31, 0x2e, 0x63, 0x31, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x44, 0x69, 0x66, 0x66, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x12, 0x3e, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x31, 0x7a, 0x2e, - 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69, - 0x66, 0x66, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x12, 0x2c, 0x0a, 0x06, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x31, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x61, - 0x6e, 0x74, 0x44, 0x69, 0x66, 0x66, 0x52, 0x06, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x42, 0x30, - 0x5a, 0x2e, 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, 0x31, 0x7a, 0x2f, 0x76, 0x31, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) - -var ( - file_c1_c1z_v1_diff_proto_rawDescOnce sync.Once - file_c1_c1z_v1_diff_proto_rawDescData []byte -) +func (x *C1ZDiffOutput) SetEntitlements(v *EntitlementDiff) { + x.Entitlements = v +} + +func (x *C1ZDiffOutput) SetGrants(v *GrantDiff) { + x.Grants = v +} + +func (x *C1ZDiffOutput) HasResources() bool { + if x == nil { + return false + } + return x.Resources != nil +} + +func (x *C1ZDiffOutput) HasEntitlements() bool { + if x == nil { + return false + } + return x.Entitlements != nil +} + +func (x *C1ZDiffOutput) HasGrants() bool { + if x == nil { + return false + } + return x.Grants != nil +} + +func (x *C1ZDiffOutput) ClearResources() { + x.Resources = nil +} + +func (x *C1ZDiffOutput) ClearEntitlements() { + x.Entitlements = nil +} -func file_c1_c1z_v1_diff_proto_rawDescGZIP() []byte { - file_c1_c1z_v1_diff_proto_rawDescOnce.Do(func() { - file_c1_c1z_v1_diff_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_c1z_v1_diff_proto_rawDesc), len(file_c1_c1z_v1_diff_proto_rawDesc))) - }) - return file_c1_c1z_v1_diff_proto_rawDescData +func (x *C1ZDiffOutput) ClearGrants() { + x.Grants = nil } +type C1ZDiffOutput_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resources *ResourceDiff + Entitlements *EntitlementDiff + Grants *GrantDiff +} + +func (b0 C1ZDiffOutput_builder) Build() *C1ZDiffOutput { + m0 := &C1ZDiffOutput{} + b, x := &b0, m0 + _, _ = b, x + x.Resources = b.Resources + x.Entitlements = b.Entitlements + x.Grants = b.Grants + return m0 +} + +var File_c1_c1z_v1_diff_proto protoreflect.FileDescriptor + +const file_c1_c1z_v1_diff_proto_rawDesc = "" + + "\n" + + "\x14c1/c1z/v1/diff.proto\x12\tc1.c1z.v1\x1a!c1/connector/v2/entitlement.proto\x1a\x1bc1/connector/v2/grant.proto\x1a\x1ec1/connector/v2/resource.proto\"\xaf\x01\n" + + "\fResourceDiff\x123\n" + + "\acreated\x18\x01 \x03(\v2\x19.c1.connector.v2.ResourceR\acreated\x123\n" + + "\adeleted\x18\x02 \x03(\v2\x19.c1.connector.v2.ResourceR\adeleted\x125\n" + + "\bmodified\x18\x03 \x03(\v2\x19.c1.connector.v2.ResourceR\bmodified\"\xbb\x01\n" + + "\x0fEntitlementDiff\x126\n" + + "\acreated\x18\x01 \x03(\v2\x1c.c1.connector.v2.EntitlementR\acreated\x126\n" + + "\adeleted\x18\x02 \x03(\v2\x1c.c1.connector.v2.EntitlementR\adeleted\x128\n" + + "\bmodified\x18\x03 \x03(\v2\x1c.c1.connector.v2.EntitlementR\bmodified\"\xa3\x01\n" + + "\tGrantDiff\x120\n" + + "\acreated\x18\x01 \x03(\v2\x16.c1.connector.v2.GrantR\acreated\x120\n" + + "\adeleted\x18\x02 \x03(\v2\x16.c1.connector.v2.GrantR\adeleted\x122\n" + + "\bmodified\x18\x03 \x03(\v2\x16.c1.connector.v2.GrantR\bmodified\"\xb4\x01\n" + + "\rC1ZDiffOutput\x125\n" + + "\tresources\x18\x01 \x01(\v2\x17.c1.c1z.v1.ResourceDiffR\tresources\x12>\n" + + "\fentitlements\x18\x02 \x01(\v2\x1a.c1.c1z.v1.EntitlementDiffR\fentitlements\x12,\n" + + "\x06grants\x18\x03 \x01(\v2\x14.c1.c1z.v1.GrantDiffR\x06grantsB0Z.github.com/conductorone/baton-sdk/pb/c1/c1z/v1b\x06proto3" + var file_c1_c1z_v1_diff_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_c1_c1z_v1_diff_proto_goTypes = []any{ (*ResourceDiff)(nil), // 0: c1.c1z.v1.ResourceDiff diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/c1z/v1/diff_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/c1z/v1/diff_protoopaque.pb.go new file mode 100644 index 00000000..f0ae6188 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/c1z/v1/diff_protoopaque.pb.go @@ -0,0 +1,491 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/c1z/v1/diff.proto + +//go:build protoopaque + +package v1 + +import ( + v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + 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) +) + +type ResourceDiff struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Created *[]*v2.Resource `protobuf:"bytes,1,rep,name=created,proto3"` + xxx_hidden_Deleted *[]*v2.Resource `protobuf:"bytes,2,rep,name=deleted,proto3"` + xxx_hidden_Modified *[]*v2.Resource `protobuf:"bytes,3,rep,name=modified,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceDiff) Reset() { + *x = ResourceDiff{} + mi := &file_c1_c1z_v1_diff_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceDiff) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceDiff) ProtoMessage() {} + +func (x *ResourceDiff) ProtoReflect() protoreflect.Message { + mi := &file_c1_c1z_v1_diff_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) +} + +func (x *ResourceDiff) GetCreated() []*v2.Resource { + if x != nil { + if x.xxx_hidden_Created != nil { + return *x.xxx_hidden_Created + } + } + return nil +} + +func (x *ResourceDiff) GetDeleted() []*v2.Resource { + if x != nil { + if x.xxx_hidden_Deleted != nil { + return *x.xxx_hidden_Deleted + } + } + return nil +} + +func (x *ResourceDiff) GetModified() []*v2.Resource { + if x != nil { + if x.xxx_hidden_Modified != nil { + return *x.xxx_hidden_Modified + } + } + return nil +} + +func (x *ResourceDiff) SetCreated(v []*v2.Resource) { + x.xxx_hidden_Created = &v +} + +func (x *ResourceDiff) SetDeleted(v []*v2.Resource) { + x.xxx_hidden_Deleted = &v +} + +func (x *ResourceDiff) SetModified(v []*v2.Resource) { + x.xxx_hidden_Modified = &v +} + +type ResourceDiff_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Created []*v2.Resource + Deleted []*v2.Resource + Modified []*v2.Resource +} + +func (b0 ResourceDiff_builder) Build() *ResourceDiff { + m0 := &ResourceDiff{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Created = &b.Created + x.xxx_hidden_Deleted = &b.Deleted + x.xxx_hidden_Modified = &b.Modified + return m0 +} + +type EntitlementDiff struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Created *[]*v2.Entitlement `protobuf:"bytes,1,rep,name=created,proto3"` + xxx_hidden_Deleted *[]*v2.Entitlement `protobuf:"bytes,2,rep,name=deleted,proto3"` + xxx_hidden_Modified *[]*v2.Entitlement `protobuf:"bytes,3,rep,name=modified,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EntitlementDiff) Reset() { + *x = EntitlementDiff{} + mi := &file_c1_c1z_v1_diff_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EntitlementDiff) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EntitlementDiff) ProtoMessage() {} + +func (x *EntitlementDiff) ProtoReflect() protoreflect.Message { + mi := &file_c1_c1z_v1_diff_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) +} + +func (x *EntitlementDiff) GetCreated() []*v2.Entitlement { + if x != nil { + if x.xxx_hidden_Created != nil { + return *x.xxx_hidden_Created + } + } + return nil +} + +func (x *EntitlementDiff) GetDeleted() []*v2.Entitlement { + if x != nil { + if x.xxx_hidden_Deleted != nil { + return *x.xxx_hidden_Deleted + } + } + return nil +} + +func (x *EntitlementDiff) GetModified() []*v2.Entitlement { + if x != nil { + if x.xxx_hidden_Modified != nil { + return *x.xxx_hidden_Modified + } + } + return nil +} + +func (x *EntitlementDiff) SetCreated(v []*v2.Entitlement) { + x.xxx_hidden_Created = &v +} + +func (x *EntitlementDiff) SetDeleted(v []*v2.Entitlement) { + x.xxx_hidden_Deleted = &v +} + +func (x *EntitlementDiff) SetModified(v []*v2.Entitlement) { + x.xxx_hidden_Modified = &v +} + +type EntitlementDiff_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Created []*v2.Entitlement + Deleted []*v2.Entitlement + Modified []*v2.Entitlement +} + +func (b0 EntitlementDiff_builder) Build() *EntitlementDiff { + m0 := &EntitlementDiff{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Created = &b.Created + x.xxx_hidden_Deleted = &b.Deleted + x.xxx_hidden_Modified = &b.Modified + return m0 +} + +type GrantDiff struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Created *[]*v2.Grant `protobuf:"bytes,1,rep,name=created,proto3"` + xxx_hidden_Deleted *[]*v2.Grant `protobuf:"bytes,2,rep,name=deleted,proto3"` + xxx_hidden_Modified *[]*v2.Grant `protobuf:"bytes,3,rep,name=modified,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantDiff) Reset() { + *x = GrantDiff{} + mi := &file_c1_c1z_v1_diff_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantDiff) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantDiff) ProtoMessage() {} + +func (x *GrantDiff) ProtoReflect() protoreflect.Message { + mi := &file_c1_c1z_v1_diff_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) +} + +func (x *GrantDiff) GetCreated() []*v2.Grant { + if x != nil { + if x.xxx_hidden_Created != nil { + return *x.xxx_hidden_Created + } + } + return nil +} + +func (x *GrantDiff) GetDeleted() []*v2.Grant { + if x != nil { + if x.xxx_hidden_Deleted != nil { + return *x.xxx_hidden_Deleted + } + } + return nil +} + +func (x *GrantDiff) GetModified() []*v2.Grant { + if x != nil { + if x.xxx_hidden_Modified != nil { + return *x.xxx_hidden_Modified + } + } + return nil +} + +func (x *GrantDiff) SetCreated(v []*v2.Grant) { + x.xxx_hidden_Created = &v +} + +func (x *GrantDiff) SetDeleted(v []*v2.Grant) { + x.xxx_hidden_Deleted = &v +} + +func (x *GrantDiff) SetModified(v []*v2.Grant) { + x.xxx_hidden_Modified = &v +} + +type GrantDiff_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Created []*v2.Grant + Deleted []*v2.Grant + Modified []*v2.Grant +} + +func (b0 GrantDiff_builder) Build() *GrantDiff { + m0 := &GrantDiff{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Created = &b.Created + x.xxx_hidden_Deleted = &b.Deleted + x.xxx_hidden_Modified = &b.Modified + return m0 +} + +type C1ZDiffOutput struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Resources *ResourceDiff `protobuf:"bytes,1,opt,name=resources,proto3"` + xxx_hidden_Entitlements *EntitlementDiff `protobuf:"bytes,2,opt,name=entitlements,proto3"` + xxx_hidden_Grants *GrantDiff `protobuf:"bytes,3,opt,name=grants,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *C1ZDiffOutput) Reset() { + *x = C1ZDiffOutput{} + mi := &file_c1_c1z_v1_diff_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *C1ZDiffOutput) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*C1ZDiffOutput) ProtoMessage() {} + +func (x *C1ZDiffOutput) ProtoReflect() protoreflect.Message { + mi := &file_c1_c1z_v1_diff_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) +} + +func (x *C1ZDiffOutput) GetResources() *ResourceDiff { + if x != nil { + return x.xxx_hidden_Resources + } + return nil +} + +func (x *C1ZDiffOutput) GetEntitlements() *EntitlementDiff { + if x != nil { + return x.xxx_hidden_Entitlements + } + return nil +} + +func (x *C1ZDiffOutput) GetGrants() *GrantDiff { + if x != nil { + return x.xxx_hidden_Grants + } + return nil +} + +func (x *C1ZDiffOutput) SetResources(v *ResourceDiff) { + x.xxx_hidden_Resources = v +} + +func (x *C1ZDiffOutput) SetEntitlements(v *EntitlementDiff) { + x.xxx_hidden_Entitlements = v +} + +func (x *C1ZDiffOutput) SetGrants(v *GrantDiff) { + x.xxx_hidden_Grants = v +} + +func (x *C1ZDiffOutput) HasResources() bool { + if x == nil { + return false + } + return x.xxx_hidden_Resources != nil +} + +func (x *C1ZDiffOutput) HasEntitlements() bool { + if x == nil { + return false + } + return x.xxx_hidden_Entitlements != nil +} + +func (x *C1ZDiffOutput) HasGrants() bool { + if x == nil { + return false + } + return x.xxx_hidden_Grants != nil +} + +func (x *C1ZDiffOutput) ClearResources() { + x.xxx_hidden_Resources = nil +} + +func (x *C1ZDiffOutput) ClearEntitlements() { + x.xxx_hidden_Entitlements = nil +} + +func (x *C1ZDiffOutput) ClearGrants() { + x.xxx_hidden_Grants = nil +} + +type C1ZDiffOutput_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resources *ResourceDiff + Entitlements *EntitlementDiff + Grants *GrantDiff +} + +func (b0 C1ZDiffOutput_builder) Build() *C1ZDiffOutput { + m0 := &C1ZDiffOutput{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Resources = b.Resources + x.xxx_hidden_Entitlements = b.Entitlements + x.xxx_hidden_Grants = b.Grants + return m0 +} + +var File_c1_c1z_v1_diff_proto protoreflect.FileDescriptor + +const file_c1_c1z_v1_diff_proto_rawDesc = "" + + "\n" + + "\x14c1/c1z/v1/diff.proto\x12\tc1.c1z.v1\x1a!c1/connector/v2/entitlement.proto\x1a\x1bc1/connector/v2/grant.proto\x1a\x1ec1/connector/v2/resource.proto\"\xaf\x01\n" + + "\fResourceDiff\x123\n" + + "\acreated\x18\x01 \x03(\v2\x19.c1.connector.v2.ResourceR\acreated\x123\n" + + "\adeleted\x18\x02 \x03(\v2\x19.c1.connector.v2.ResourceR\adeleted\x125\n" + + "\bmodified\x18\x03 \x03(\v2\x19.c1.connector.v2.ResourceR\bmodified\"\xbb\x01\n" + + "\x0fEntitlementDiff\x126\n" + + "\acreated\x18\x01 \x03(\v2\x1c.c1.connector.v2.EntitlementR\acreated\x126\n" + + "\adeleted\x18\x02 \x03(\v2\x1c.c1.connector.v2.EntitlementR\adeleted\x128\n" + + "\bmodified\x18\x03 \x03(\v2\x1c.c1.connector.v2.EntitlementR\bmodified\"\xa3\x01\n" + + "\tGrantDiff\x120\n" + + "\acreated\x18\x01 \x03(\v2\x16.c1.connector.v2.GrantR\acreated\x120\n" + + "\adeleted\x18\x02 \x03(\v2\x16.c1.connector.v2.GrantR\adeleted\x122\n" + + "\bmodified\x18\x03 \x03(\v2\x16.c1.connector.v2.GrantR\bmodified\"\xb4\x01\n" + + "\rC1ZDiffOutput\x125\n" + + "\tresources\x18\x01 \x01(\v2\x17.c1.c1z.v1.ResourceDiffR\tresources\x12>\n" + + "\fentitlements\x18\x02 \x01(\v2\x1a.c1.c1z.v1.EntitlementDiffR\fentitlements\x12,\n" + + "\x06grants\x18\x03 \x01(\v2\x14.c1.c1z.v1.GrantDiffR\x06grantsB0Z.github.com/conductorone/baton-sdk/pb/c1/c1z/v1b\x06proto3" + +var file_c1_c1z_v1_diff_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_c1_c1z_v1_diff_proto_goTypes = []any{ + (*ResourceDiff)(nil), // 0: c1.c1z.v1.ResourceDiff + (*EntitlementDiff)(nil), // 1: c1.c1z.v1.EntitlementDiff + (*GrantDiff)(nil), // 2: c1.c1z.v1.GrantDiff + (*C1ZDiffOutput)(nil), // 3: c1.c1z.v1.C1ZDiffOutput + (*v2.Resource)(nil), // 4: c1.connector.v2.Resource + (*v2.Entitlement)(nil), // 5: c1.connector.v2.Entitlement + (*v2.Grant)(nil), // 6: c1.connector.v2.Grant +} +var file_c1_c1z_v1_diff_proto_depIdxs = []int32{ + 4, // 0: c1.c1z.v1.ResourceDiff.created:type_name -> c1.connector.v2.Resource + 4, // 1: c1.c1z.v1.ResourceDiff.deleted:type_name -> c1.connector.v2.Resource + 4, // 2: c1.c1z.v1.ResourceDiff.modified:type_name -> c1.connector.v2.Resource + 5, // 3: c1.c1z.v1.EntitlementDiff.created:type_name -> c1.connector.v2.Entitlement + 5, // 4: c1.c1z.v1.EntitlementDiff.deleted:type_name -> c1.connector.v2.Entitlement + 5, // 5: c1.c1z.v1.EntitlementDiff.modified:type_name -> c1.connector.v2.Entitlement + 6, // 6: c1.c1z.v1.GrantDiff.created:type_name -> c1.connector.v2.Grant + 6, // 7: c1.c1z.v1.GrantDiff.deleted:type_name -> c1.connector.v2.Grant + 6, // 8: c1.c1z.v1.GrantDiff.modified:type_name -> c1.connector.v2.Grant + 0, // 9: c1.c1z.v1.C1ZDiffOutput.resources:type_name -> c1.c1z.v1.ResourceDiff + 1, // 10: c1.c1z.v1.C1ZDiffOutput.entitlements:type_name -> c1.c1z.v1.EntitlementDiff + 2, // 11: c1.c1z.v1.C1ZDiffOutput.grants:type_name -> c1.c1z.v1.GrantDiff + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name +} + +func init() { file_c1_c1z_v1_diff_proto_init() } +func file_c1_c1z_v1_diff_proto_init() { + if File_c1_c1z_v1_diff_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_c1z_v1_diff_proto_rawDesc), len(file_c1_c1z_v1_diff_proto_rawDesc)), + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_c1z_v1_diff_proto_goTypes, + DependencyIndexes: file_c1_c1z_v1_diff_proto_depIdxs, + MessageInfos: file_c1_c1z_v1_diff_proto_msgTypes, + }.Build() + File_c1_c1z_v1_diff_proto = out.File + file_c1_c1z_v1_diff_proto_goTypes = nil + file_c1_c1z_v1_diff_proto_depIdxs = nil +} 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 ebbf484a..10482b57 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 @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/config/v1/config.proto +//go:build !protoopaque + package v1 import ( @@ -11,7 +13,6 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" anypb "google.golang.org/protobuf/types/known/anypb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -72,11 +73,6 @@ func (x ConstraintKind) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use ConstraintKind.Descriptor instead. -func (ConstraintKind) EnumDescriptor() ([]byte, []int) { - return file_c1_config_v1_config_proto_rawDescGZIP(), []int{0} -} - type StringFieldType int32 const ( @@ -127,13 +123,8 @@ func (x StringFieldType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use StringFieldType.Descriptor instead. -func (StringFieldType) EnumDescriptor() ([]byte, []int) { - return file_c1_config_v1_config_proto_rawDescGZIP(), []int{1} -} - type Configuration struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.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"` @@ -143,6 +134,7 @@ type Configuration struct { 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"` + FieldGroups []*FieldGroup `protobuf:"bytes,11,rep,name=field_groups,json=fieldGroups,proto3" json:"field_groups,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -172,11 +164,6 @@ func (x *Configuration) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Configuration.ProtoReflect.Descriptor instead. -func (*Configuration) Descriptor() ([]byte, []int) { - return file_c1_config_v1_config_proto_rawDescGZIP(), []int{0} -} - func (x *Configuration) GetFields() []*Field { if x != nil { return x.Fields @@ -240,8 +227,87 @@ func (x *Configuration) GetRequiresExternalConnector() bool { return false } +func (x *Configuration) GetFieldGroups() []*FieldGroup { + if x != nil { + return x.FieldGroups + } + return nil +} + +func (x *Configuration) SetFields(v []*Field) { + x.Fields = v +} + +func (x *Configuration) SetConstraints(v []*Constraint) { + x.Constraints = v +} + +func (x *Configuration) SetDisplayName(v string) { + x.DisplayName = v +} + +func (x *Configuration) SetHelpUrl(v string) { + x.HelpUrl = v +} + +func (x *Configuration) SetIconUrl(v string) { + x.IconUrl = v +} + +func (x *Configuration) SetIsDirectory(v bool) { + x.IsDirectory = v +} + +func (x *Configuration) SetCatalogId(v string) { + x.CatalogId = v +} + +func (x *Configuration) SetSupportsExternalResources(v bool) { + x.SupportsExternalResources = v +} + +func (x *Configuration) SetRequiresExternalConnector(v bool) { + x.RequiresExternalConnector = v +} + +func (x *Configuration) SetFieldGroups(v []*FieldGroup) { + x.FieldGroups = v +} + +type Configuration_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Fields []*Field + Constraints []*Constraint + DisplayName string + HelpUrl string + IconUrl string + IsDirectory bool + CatalogId string + SupportsExternalResources bool + RequiresExternalConnector bool + FieldGroups []*FieldGroup +} + +func (b0 Configuration_builder) Build() *Configuration { + m0 := &Configuration{} + b, x := &b0, m0 + _, _ = b, x + x.Fields = b.Fields + x.Constraints = b.Constraints + x.DisplayName = b.DisplayName + x.HelpUrl = b.HelpUrl + x.IconUrl = b.IconUrl + x.IsDirectory = b.IsDirectory + x.CatalogId = b.CatalogId + x.SupportsExternalResources = b.SupportsExternalResources + x.RequiresExternalConnector = b.RequiresExternalConnector + x.FieldGroups = b.FieldGroups + return m0 +} + type Constraint struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Kind ConstraintKind `protobuf:"varint,1,opt,name=kind,proto3,enum=c1.config.v1.ConstraintKind" json:"kind,omitempty"` FieldNames []string `protobuf:"bytes,2,rep,name=field_names,json=fieldNames,proto3" json:"field_names,omitempty"` SecondaryFieldNames []string `protobuf:"bytes,3,rep,name=secondary_field_names,json=secondaryFieldNames,proto3" json:"secondary_field_names,omitempty"` @@ -277,11 +343,6 @@ func (x *Constraint) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Constraint.ProtoReflect.Descriptor instead. -func (*Constraint) Descriptor() ([]byte, []int) { - return file_c1_config_v1_config_proto_rawDescGZIP(), []int{1} -} - func (x *Constraint) GetKind() ConstraintKind { if x != nil { return x.Kind @@ -324,8 +385,155 @@ func (x *Constraint) GetIsFieldGroup() bool { return false } +func (x *Constraint) SetKind(v ConstraintKind) { + x.Kind = v +} + +func (x *Constraint) SetFieldNames(v []string) { + x.FieldNames = v +} + +func (x *Constraint) SetSecondaryFieldNames(v []string) { + x.SecondaryFieldNames = v +} + +func (x *Constraint) SetName(v string) { + x.Name = v +} + +func (x *Constraint) SetHelpText(v string) { + x.HelpText = v +} + +func (x *Constraint) SetIsFieldGroup(v bool) { + x.IsFieldGroup = v +} + +type Constraint_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Kind ConstraintKind + FieldNames []string + SecondaryFieldNames []string + Name string + HelpText string + IsFieldGroup bool +} + +func (b0 Constraint_builder) Build() *Constraint { + m0 := &Constraint{} + b, x := &b0, m0 + _, _ = b, x + x.Kind = b.Kind + x.FieldNames = b.FieldNames + x.SecondaryFieldNames = b.SecondaryFieldNames + x.Name = b.Name + x.HelpText = b.HelpText + x.IsFieldGroup = b.IsFieldGroup + return m0 +} + +type FieldGroup struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Unique ID. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + HelpText string `protobuf:"bytes,3,opt,name=help_text,json=helpText,proto3" json:"help_text,omitempty"` + Fields []string `protobuf:"bytes,4,rep,name=fields,proto3" json:"fields,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FieldGroup) Reset() { + *x = FieldGroup{} + mi := &file_c1_config_v1_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FieldGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldGroup) ProtoMessage() {} + +func (x *FieldGroup) ProtoReflect() protoreflect.Message { + mi := &file_c1_config_v1_config_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) +} + +func (x *FieldGroup) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *FieldGroup) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *FieldGroup) GetHelpText() string { + if x != nil { + return x.HelpText + } + return "" +} + +func (x *FieldGroup) GetFields() []string { + if x != nil { + return x.Fields + } + return nil +} + +func (x *FieldGroup) SetName(v string) { + x.Name = v +} + +func (x *FieldGroup) SetDisplayName(v string) { + x.DisplayName = v +} + +func (x *FieldGroup) SetHelpText(v string) { + x.HelpText = v +} + +func (x *FieldGroup) SetFields(v []string) { + x.Fields = v +} + +type FieldGroup_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + DisplayName string + HelpText string + Fields []string +} + +func (b0 FieldGroup_builder) Build() *FieldGroup { + m0 := &FieldGroup{} + b, x := &b0, m0 + _, _ = b, x + x.Name = b.Name + x.DisplayName = b.DisplayName + x.HelpText = b.HelpText + x.Fields = b.Fields + return m0 +} + type Field struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // canonical name, typically in snake DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` @@ -347,7 +555,7 @@ type Field struct { func (x *Field) Reset() { *x = Field{} - mi := &file_c1_config_v1_config_proto_msgTypes[2] + mi := &file_c1_config_v1_config_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -359,7 +567,7 @@ func (x *Field) String() string { func (*Field) ProtoMessage() {} func (x *Field) ProtoReflect() protoreflect.Message { - mi := &file_c1_config_v1_config_proto_msgTypes[2] + mi := &file_c1_config_v1_config_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -370,11 +578,6 @@ func (x *Field) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Field.ProtoReflect.Descriptor instead. -func (*Field) Descriptor() ([]byte, []int) { - return file_c1_config_v1_config_proto_rawDescGZIP(), []int{2} -} - func (x *Field) GetName() string { if x != nil { return x.Name @@ -476,6 +679,240 @@ func (x *Field) GetStringMapField() *StringMapField { return nil } +func (x *Field) SetName(v string) { + x.Name = v +} + +func (x *Field) SetDisplayName(v string) { + x.DisplayName = v +} + +func (x *Field) SetDescription(v string) { + x.Description = v +} + +func (x *Field) SetPlaceholder(v string) { + x.Placeholder = v +} + +func (x *Field) SetIsRequired(v bool) { + x.IsRequired = v +} + +func (x *Field) SetIsOps(v bool) { + x.IsOps = v +} + +func (x *Field) SetIsSecret(v bool) { + x.IsSecret = v +} + +func (x *Field) SetStringField(v *StringField) { + if v == nil { + x.Field = nil + return + } + x.Field = &Field_StringField{v} +} + +func (x *Field) SetIntField(v *IntField) { + if v == nil { + x.Field = nil + return + } + x.Field = &Field_IntField{v} +} + +func (x *Field) SetBoolField(v *BoolField) { + if v == nil { + x.Field = nil + return + } + x.Field = &Field_BoolField{v} +} + +func (x *Field) SetStringSliceField(v *StringSliceField) { + if v == nil { + x.Field = nil + return + } + x.Field = &Field_StringSliceField{v} +} + +func (x *Field) SetStringMapField(v *StringMapField) { + if v == nil { + x.Field = nil + return + } + x.Field = &Field_StringMapField{v} +} + +func (x *Field) HasField() bool { + if x == nil { + return false + } + return x.Field != nil +} + +func (x *Field) HasStringField() bool { + if x == nil { + return false + } + _, ok := x.Field.(*Field_StringField) + return ok +} + +func (x *Field) HasIntField() bool { + if x == nil { + return false + } + _, ok := x.Field.(*Field_IntField) + return ok +} + +func (x *Field) HasBoolField() bool { + if x == nil { + return false + } + _, ok := x.Field.(*Field_BoolField) + return ok +} + +func (x *Field) HasStringSliceField() bool { + if x == nil { + return false + } + _, ok := x.Field.(*Field_StringSliceField) + return ok +} + +func (x *Field) HasStringMapField() bool { + if x == nil { + return false + } + _, ok := x.Field.(*Field_StringMapField) + return ok +} + +func (x *Field) ClearField() { + x.Field = nil +} + +func (x *Field) ClearStringField() { + if _, ok := x.Field.(*Field_StringField); ok { + x.Field = nil + } +} + +func (x *Field) ClearIntField() { + if _, ok := x.Field.(*Field_IntField); ok { + x.Field = nil + } +} + +func (x *Field) ClearBoolField() { + if _, ok := x.Field.(*Field_BoolField); ok { + x.Field = nil + } +} + +func (x *Field) ClearStringSliceField() { + if _, ok := x.Field.(*Field_StringSliceField); ok { + x.Field = nil + } +} + +func (x *Field) ClearStringMapField() { + if _, ok := x.Field.(*Field_StringMapField); ok { + x.Field = nil + } +} + +const Field_Field_not_set_case case_Field_Field = 0 +const Field_StringField_case case_Field_Field = 100 +const Field_IntField_case case_Field_Field = 101 +const Field_BoolField_case case_Field_Field = 102 +const Field_StringSliceField_case case_Field_Field = 103 +const Field_StringMapField_case case_Field_Field = 104 + +func (x *Field) WhichField() case_Field_Field { + if x == nil { + return Field_Field_not_set_case + } + switch x.Field.(type) { + case *Field_StringField: + return Field_StringField_case + case *Field_IntField: + return Field_IntField_case + case *Field_BoolField: + return Field_BoolField_case + case *Field_StringSliceField: + return Field_StringSliceField_case + case *Field_StringMapField: + return Field_StringMapField_case + default: + return Field_Field_not_set_case + } +} + +type Field_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + DisplayName string + Description string + Placeholder string + IsRequired bool + IsOps bool + IsSecret bool + // Fields of oneof Field: + StringField *StringField + IntField *IntField + BoolField *BoolField + StringSliceField *StringSliceField + StringMapField *StringMapField + // -- end of Field +} + +func (b0 Field_builder) Build() *Field { + m0 := &Field{} + b, x := &b0, m0 + _, _ = b, x + x.Name = b.Name + x.DisplayName = b.DisplayName + x.Description = b.Description + x.Placeholder = b.Placeholder + x.IsRequired = b.IsRequired + x.IsOps = b.IsOps + x.IsSecret = b.IsSecret + if b.StringField != nil { + x.Field = &Field_StringField{b.StringField} + } + if b.IntField != nil { + x.Field = &Field_IntField{b.IntField} + } + if b.BoolField != nil { + x.Field = &Field_BoolField{b.BoolField} + } + if b.StringSliceField != nil { + x.Field = &Field_StringSliceField{b.StringSliceField} + } + if b.StringMapField != nil { + x.Field = &Field_StringMapField{b.StringMapField} + } + return m0 +} + +type case_Field_Field protoreflect.FieldNumber + +func (x case_Field_Field) String() string { + md := file_c1_config_v1_config_proto_msgTypes[3].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + type isField_Field interface { isField_Field() } @@ -511,7 +948,7 @@ func (*Field_StringSliceField) isField_Field() {} func (*Field_StringMapField) isField_Field() {} type IntField struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` // rules DefaultValue int64 `protobuf:"varint,1,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` Rules *Int64Rules `protobuf:"bytes,2,opt,name=rules,proto3,oneof" json:"rules,omitempty"` @@ -521,7 +958,7 @@ type IntField struct { func (x *IntField) Reset() { *x = IntField{} - mi := &file_c1_config_v1_config_proto_msgTypes[3] + mi := &file_c1_config_v1_config_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -533,7 +970,7 @@ func (x *IntField) String() string { func (*IntField) ProtoMessage() {} func (x *IntField) ProtoReflect() protoreflect.Message { - mi := &file_c1_config_v1_config_proto_msgTypes[3] + mi := &file_c1_config_v1_config_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -544,11 +981,6 @@ func (x *IntField) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use IntField.ProtoReflect.Descriptor instead. -func (*IntField) Descriptor() ([]byte, []int) { - return file_c1_config_v1_config_proto_rawDescGZIP(), []int{3} -} - func (x *IntField) GetDefaultValue() int64 { if x != nil { return x.DefaultValue @@ -563,8 +995,44 @@ func (x *IntField) GetRules() *Int64Rules { return nil } +func (x *IntField) SetDefaultValue(v int64) { + x.DefaultValue = v +} + +func (x *IntField) SetRules(v *Int64Rules) { + x.Rules = v +} + +func (x *IntField) HasRules() bool { + if x == nil { + return false + } + return x.Rules != nil +} + +func (x *IntField) ClearRules() { + x.Rules = nil +} + +type IntField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // rules + DefaultValue int64 + Rules *Int64Rules +} + +func (b0 IntField_builder) Build() *IntField { + m0 := &IntField{} + b, x := &b0, m0 + _, _ = b, x + x.DefaultValue = b.DefaultValue + x.Rules = b.Rules + return m0 +} + type BoolField struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` DefaultValue bool `protobuf:"varint,1,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` Rules *BoolRules `protobuf:"bytes,2,opt,name=rules,proto3,oneof" json:"rules,omitempty"` unknownFields protoimpl.UnknownFields @@ -573,7 +1041,7 @@ type BoolField struct { func (x *BoolField) Reset() { *x = BoolField{} - mi := &file_c1_config_v1_config_proto_msgTypes[4] + mi := &file_c1_config_v1_config_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -585,7 +1053,7 @@ func (x *BoolField) String() string { func (*BoolField) ProtoMessage() {} func (x *BoolField) ProtoReflect() protoreflect.Message { - mi := &file_c1_config_v1_config_proto_msgTypes[4] + mi := &file_c1_config_v1_config_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -596,11 +1064,6 @@ func (x *BoolField) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BoolField.ProtoReflect.Descriptor instead. -func (*BoolField) Descriptor() ([]byte, []int) { - return file_c1_config_v1_config_proto_rawDescGZIP(), []int{4} -} - func (x *BoolField) GetDefaultValue() bool { if x != nil { return x.DefaultValue @@ -615,8 +1078,43 @@ func (x *BoolField) GetRules() *BoolRules { return nil } +func (x *BoolField) SetDefaultValue(v bool) { + x.DefaultValue = v +} + +func (x *BoolField) SetRules(v *BoolRules) { + x.Rules = v +} + +func (x *BoolField) HasRules() bool { + if x == nil { + return false + } + return x.Rules != nil +} + +func (x *BoolField) ClearRules() { + x.Rules = nil +} + +type BoolField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DefaultValue bool + Rules *BoolRules +} + +func (b0 BoolField_builder) Build() *BoolField { + m0 := &BoolField{} + b, x := &b0, m0 + _, _ = b, x + x.DefaultValue = b.DefaultValue + x.Rules = b.Rules + return m0 +} + type StringSliceField struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` DefaultValue []string `protobuf:"bytes,1,rep,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` Rules *RepeatedStringRules `protobuf:"bytes,2,opt,name=rules,proto3,oneof" json:"rules,omitempty"` unknownFields protoimpl.UnknownFields @@ -625,7 +1123,7 @@ type StringSliceField struct { func (x *StringSliceField) Reset() { *x = StringSliceField{} - mi := &file_c1_config_v1_config_proto_msgTypes[5] + mi := &file_c1_config_v1_config_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -637,7 +1135,7 @@ func (x *StringSliceField) String() string { func (*StringSliceField) ProtoMessage() {} func (x *StringSliceField) ProtoReflect() protoreflect.Message { - mi := &file_c1_config_v1_config_proto_msgTypes[5] + mi := &file_c1_config_v1_config_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -648,11 +1146,6 @@ func (x *StringSliceField) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringSliceField.ProtoReflect.Descriptor instead. -func (*StringSliceField) Descriptor() ([]byte, []int) { - return file_c1_config_v1_config_proto_rawDescGZIP(), []int{5} -} - func (x *StringSliceField) GetDefaultValue() []string { if x != nil { return x.DefaultValue @@ -667,8 +1160,43 @@ func (x *StringSliceField) GetRules() *RepeatedStringRules { return nil } +func (x *StringSliceField) SetDefaultValue(v []string) { + x.DefaultValue = v +} + +func (x *StringSliceField) SetRules(v *RepeatedStringRules) { + x.Rules = v +} + +func (x *StringSliceField) HasRules() bool { + if x == nil { + return false + } + return x.Rules != nil +} + +func (x *StringSliceField) ClearRules() { + x.Rules = nil +} + +type StringSliceField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DefaultValue []string + Rules *RepeatedStringRules +} + +func (b0 StringSliceField_builder) Build() *StringSliceField { + m0 := &StringSliceField{} + b, x := &b0, m0 + _, _ = b, x + x.DefaultValue = b.DefaultValue + x.Rules = b.Rules + return m0 +} + type StringMapField struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` DefaultValue map[string]*anypb.Any `protobuf:"bytes,1,rep,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` Rules *StringMapRules `protobuf:"bytes,2,opt,name=rules,proto3,oneof" json:"rules,omitempty"` unknownFields protoimpl.UnknownFields @@ -677,7 +1205,7 @@ type StringMapField struct { func (x *StringMapField) Reset() { *x = StringMapField{} - mi := &file_c1_config_v1_config_proto_msgTypes[6] + mi := &file_c1_config_v1_config_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -689,7 +1217,7 @@ func (x *StringMapField) String() string { func (*StringMapField) ProtoMessage() {} func (x *StringMapField) ProtoReflect() protoreflect.Message { - mi := &file_c1_config_v1_config_proto_msgTypes[6] + mi := &file_c1_config_v1_config_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -700,11 +1228,6 @@ func (x *StringMapField) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringMapField.ProtoReflect.Descriptor instead. -func (*StringMapField) Descriptor() ([]byte, []int) { - return file_c1_config_v1_config_proto_rawDescGZIP(), []int{6} -} - func (x *StringMapField) GetDefaultValue() map[string]*anypb.Any { if x != nil { return x.DefaultValue @@ -719,8 +1242,43 @@ func (x *StringMapField) GetRules() *StringMapRules { return nil } +func (x *StringMapField) SetDefaultValue(v map[string]*anypb.Any) { + x.DefaultValue = v +} + +func (x *StringMapField) SetRules(v *StringMapRules) { + x.Rules = v +} + +func (x *StringMapField) HasRules() bool { + if x == nil { + return false + } + return x.Rules != nil +} + +func (x *StringMapField) ClearRules() { + x.Rules = nil +} + +type StringMapField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DefaultValue map[string]*anypb.Any + Rules *StringMapRules +} + +func (b0 StringMapField_builder) Build() *StringMapField { + m0 := &StringMapField{} + b, x := &b0, m0 + _, _ = b, x + x.DefaultValue = b.DefaultValue + x.Rules = b.Rules + return m0 +} + type StringFieldOption struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -730,7 +1288,7 @@ type StringFieldOption struct { func (x *StringFieldOption) Reset() { *x = StringFieldOption{} - mi := &file_c1_config_v1_config_proto_msgTypes[7] + mi := &file_c1_config_v1_config_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -742,7 +1300,7 @@ func (x *StringFieldOption) String() string { func (*StringFieldOption) ProtoMessage() {} func (x *StringFieldOption) ProtoReflect() protoreflect.Message { - mi := &file_c1_config_v1_config_proto_msgTypes[7] + mi := &file_c1_config_v1_config_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -753,11 +1311,6 @@ func (x *StringFieldOption) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringFieldOption.ProtoReflect.Descriptor instead. -func (*StringFieldOption) Descriptor() ([]byte, []int) { - return file_c1_config_v1_config_proto_rawDescGZIP(), []int{7} -} - func (x *StringFieldOption) GetName() string { if x != nil { return x.Name @@ -779,8 +1332,38 @@ func (x *StringFieldOption) GetDisplayName() string { return "" } +func (x *StringFieldOption) SetName(v string) { + x.Name = v +} + +func (x *StringFieldOption) SetValue(v string) { + x.Value = v +} + +func (x *StringFieldOption) SetDisplayName(v string) { + x.DisplayName = v +} + +type StringFieldOption_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + Value string + DisplayName string +} + +func (b0 StringFieldOption_builder) Build() *StringFieldOption { + m0 := &StringFieldOption{} + b, x := &b0, m0 + _, _ = b, x + x.Name = b.Name + x.Value = b.Value + x.DisplayName = b.DisplayName + return m0 +} + type StringField struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` DefaultValue string `protobuf:"bytes,1,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` Rules *StringRules `protobuf:"bytes,2,opt,name=rules,proto3,oneof" json:"rules,omitempty"` Type StringFieldType `protobuf:"varint,3,opt,name=type,proto3,enum=c1.config.v1.StringFieldType" json:"type,omitempty"` @@ -793,7 +1376,7 @@ type StringField struct { func (x *StringField) Reset() { *x = StringField{} - mi := &file_c1_config_v1_config_proto_msgTypes[8] + mi := &file_c1_config_v1_config_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -805,7 +1388,7 @@ func (x *StringField) String() string { func (*StringField) ProtoMessage() {} func (x *StringField) ProtoReflect() protoreflect.Message { - mi := &file_c1_config_v1_config_proto_msgTypes[8] + mi := &file_c1_config_v1_config_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -816,11 +1399,6 @@ func (x *StringField) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringField.ProtoReflect.Descriptor instead. -func (*StringField) Descriptor() ([]byte, []int) { - return file_c1_config_v1_config_proto_rawDescGZIP(), []int{8} -} - func (x *StringField) GetDefaultValue() string { if x != nil { return x.DefaultValue @@ -856,240 +1434,199 @@ func (x *StringField) GetOptions() []*StringFieldOption { return nil } -var File_c1_config_v1_config_proto protoreflect.FileDescriptor +func (x *StringField) SetDefaultValue(v string) { + x.DefaultValue = v +} -var file_c1_config_v1_config_proto_rawDesc = string([]byte{ - 0x0a, 0x19, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x63, 0x31, 0x2e, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x1a, 0x18, 0x63, 0x31, 0x2f, 0x63, 0x6f, - 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, - 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, - 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x68, 0x65, 0x6c, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x68, 0x65, 0x6c, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x63, 0x6f, 0x6e, 0x5f, - 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x63, 0x6f, 0x6e, 0x55, - 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, - 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, 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, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x61, 0x72, 0x79, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, - 0x0a, 0x09, 0x68, 0x65, 0x6c, 0x70, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x68, 0x65, 0x6c, 0x70, 0x54, 0x65, 0x78, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, - 0x73, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x22, 0xab, 0x04, 0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, - 0x6d, 0x65, 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, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, - 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x63, 0x65, - 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x6f, 0x70, - 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x4f, 0x70, 0x73, 0x12, 0x1b, - 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x0c, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x48, 0x00, 0x52, 0x0b, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x35, 0x0a, 0x09, 0x69, - 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x12, 0x38, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x48, - 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x4e, 0x0a, 0x12, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x6c, - 0x69, 0x63, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x48, 0x00, 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x48, 0x0a, 0x10, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x18, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, - 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, - 0x6e, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x33, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, - 0x6e, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x32, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, - 0x7f, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x22, 0xff, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x12, 0x53, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x31, 0x2e, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x37, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x88, 0x01, - 0x01, 0x1a, 0x55, 0x0a, 0x11, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 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, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x22, 0x60, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x8f, 0x02, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x31, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, - 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x65, 0x78, - 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x08, 0x0a, 0x06, - 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2a, 0xc4, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x73, 0x74, - 0x72, 0x61, 0x69, 0x6e, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x4f, 0x4e, - 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x4f, - 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x52, 0x45, - 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x47, 0x45, 0x54, 0x48, 0x45, 0x52, 0x10, - 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x5f, - 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x41, 0x54, 0x5f, 0x4c, 0x45, 0x41, 0x53, 0x54, 0x5f, 0x4f, 0x4e, - 0x45, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, - 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x4d, 0x55, 0x54, 0x55, 0x41, 0x4c, 0x4c, 0x59, 0x5f, - 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x56, 0x45, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x43, - 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x44, - 0x45, 0x50, 0x45, 0x4e, 0x44, 0x45, 0x4e, 0x54, 0x5f, 0x4f, 0x4e, 0x10, 0x04, 0x2a, 0xc9, 0x01, - 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x49, 0x45, 0x4c, - 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x54, 0x52, - 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, - 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x54, 0x52, 0x49, 0x4e, - 0x47, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x41, 0x55, - 0x54, 0x48, 0x32, 0x10, 0x02, 0x12, 0x2f, 0x0a, 0x2b, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, - 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, - 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x44, 0x45, 0x52, 0x49, 0x56, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x54, - 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, - 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x45, - 0x5f, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x04, 0x42, 0x33, 0x5a, 0x31, 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, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) +func (x *StringField) SetRules(v *StringRules) { + x.Rules = v +} -var ( - file_c1_config_v1_config_proto_rawDescOnce sync.Once - file_c1_config_v1_config_proto_rawDescData []byte -) +func (x *StringField) SetType(v StringFieldType) { + x.Type = v +} + +func (x *StringField) SetAllowedExtensions(v []string) { + x.AllowedExtensions = v +} + +func (x *StringField) SetOptions(v []*StringFieldOption) { + x.Options = v +} + +func (x *StringField) HasRules() bool { + if x == nil { + return false + } + return x.Rules != nil +} + +func (x *StringField) ClearRules() { + x.Rules = nil +} + +type StringField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DefaultValue string + Rules *StringRules + Type StringFieldType + // only used for FileUpload atm, oneofs are evil + AllowedExtensions []string + Options []*StringFieldOption +} -func file_c1_config_v1_config_proto_rawDescGZIP() []byte { - file_c1_config_v1_config_proto_rawDescOnce.Do(func() { - file_c1_config_v1_config_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_config_v1_config_proto_rawDesc), len(file_c1_config_v1_config_proto_rawDesc))) - }) - return file_c1_config_v1_config_proto_rawDescData +func (b0 StringField_builder) Build() *StringField { + m0 := &StringField{} + b, x := &b0, m0 + _, _ = b, x + x.DefaultValue = b.DefaultValue + x.Rules = b.Rules + x.Type = b.Type + x.AllowedExtensions = b.AllowedExtensions + x.Options = b.Options + return m0 } +var File_c1_config_v1_config_proto protoreflect.FileDescriptor + +const file_c1_config_v1_config_proto_rawDesc = "" + + "\n" + + "\x19c1/config/v1/config.proto\x12\fc1.config.v1\x1a\x18c1/config/v1/rules.proto\x1a\x19google/protobuf/any.proto\"\xd0\x03\n" + + "\rConfiguration\x12+\n" + + "\x06fields\x18\x01 \x03(\v2\x13.c1.config.v1.FieldR\x06fields\x12:\n" + + "\vconstraints\x18\x02 \x03(\v2\x18.c1.config.v1.ConstraintR\vconstraints\x12!\n" + + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\x12\x19\n" + + "\bhelp_url\x18\x04 \x01(\tR\ahelpUrl\x12\x19\n" + + "\bicon_url\x18\x05 \x01(\tR\aiconUrl\x12!\n" + + "\fis_directory\x18\a \x01(\bR\visDirectory\x12\x1d\n" + + "\n" + + "catalog_id\x18\b \x01(\tR\tcatalogId\x12>\n" + + "\x1bsupports_external_resources\x18\t \x01(\bR\x19supportsExternalResources\x12>\n" + + "\x1brequires_external_connector\x18\n" + + " \x01(\bR\x19requiresExternalConnector\x12;\n" + + "\ffield_groups\x18\v \x03(\v2\x18.c1.config.v1.FieldGroupR\vfieldGroups\"\xea\x01\n" + + "\n" + + "Constraint\x120\n" + + "\x04kind\x18\x01 \x01(\x0e2\x1c.c1.config.v1.ConstraintKindR\x04kind\x12\x1f\n" + + "\vfield_names\x18\x02 \x03(\tR\n" + + "fieldNames\x122\n" + + "\x15secondary_field_names\x18\x03 \x03(\tR\x13secondaryFieldNames\x12\x12\n" + + "\x04name\x18\x04 \x01(\tR\x04name\x12\x1b\n" + + "\thelp_text\x18\x05 \x01(\tR\bhelpText\x12$\n" + + "\x0eis_field_group\x18\x06 \x01(\bR\fisFieldGroup\"x\n" + + "\n" + + "FieldGroup\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12\x1b\n" + + "\thelp_text\x18\x03 \x01(\tR\bhelpText\x12\x16\n" + + "\x06fields\x18\x04 \x03(\tR\x06fields\"\xab\x04\n" + + "\x05Field\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\x12 \n" + + "\vplaceholder\x18\x04 \x01(\tR\vplaceholder\x12\x1f\n" + + "\vis_required\x18\x05 \x01(\bR\n" + + "isRequired\x12\x15\n" + + "\x06is_ops\x18\x06 \x01(\bR\x05isOps\x12\x1b\n" + + "\tis_secret\x18\a \x01(\bR\bisSecret\x12>\n" + + "\fstring_field\x18d \x01(\v2\x19.c1.config.v1.StringFieldH\x00R\vstringField\x125\n" + + "\tint_field\x18e \x01(\v2\x16.c1.config.v1.IntFieldH\x00R\bintField\x128\n" + + "\n" + + "bool_field\x18f \x01(\v2\x17.c1.config.v1.BoolFieldH\x00R\tboolField\x12N\n" + + "\x12string_slice_field\x18g \x01(\v2\x1e.c1.config.v1.StringSliceFieldH\x00R\x10stringSliceField\x12H\n" + + "\x10string_map_field\x18h \x01(\v2\x1c.c1.config.v1.StringMapFieldH\x00R\x0estringMapFieldB\a\n" + + "\x05field\"n\n" + + "\bIntField\x12#\n" + + "\rdefault_value\x18\x01 \x01(\x03R\fdefaultValue\x123\n" + + "\x05rules\x18\x02 \x01(\v2\x18.c1.config.v1.Int64RulesH\x00R\x05rules\x88\x01\x01B\b\n" + + "\x06_rules\"n\n" + + "\tBoolField\x12#\n" + + "\rdefault_value\x18\x01 \x01(\bR\fdefaultValue\x122\n" + + "\x05rules\x18\x02 \x01(\v2\x17.c1.config.v1.BoolRulesH\x00R\x05rules\x88\x01\x01B\b\n" + + "\x06_rules\"\x7f\n" + + "\x10StringSliceField\x12#\n" + + "\rdefault_value\x18\x01 \x03(\tR\fdefaultValue\x12<\n" + + "\x05rules\x18\x02 \x01(\v2!.c1.config.v1.RepeatedStringRulesH\x00R\x05rules\x88\x01\x01B\b\n" + + "\x06_rules\"\xff\x01\n" + + "\x0eStringMapField\x12S\n" + + "\rdefault_value\x18\x01 \x03(\v2..c1.config.v1.StringMapField.DefaultValueEntryR\fdefaultValue\x127\n" + + "\x05rules\x18\x02 \x01(\v2\x1c.c1.config.v1.StringMapRulesH\x00R\x05rules\x88\x01\x01\x1aU\n" + + "\x11DefaultValueEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12*\n" + + "\x05value\x18\x02 \x01(\v2\x14.google.protobuf.AnyR\x05value:\x028\x01B\b\n" + + "\x06_rules\"`\n" + + "\x11StringFieldOption\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value\x12!\n" + + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\"\x8f\x02\n" + + "\vStringField\x12#\n" + + "\rdefault_value\x18\x01 \x01(\tR\fdefaultValue\x124\n" + + "\x05rules\x18\x02 \x01(\v2\x19.c1.config.v1.StringRulesH\x00R\x05rules\x88\x01\x01\x121\n" + + "\x04type\x18\x03 \x01(\x0e2\x1d.c1.config.v1.StringFieldTypeR\x04type\x12-\n" + + "\x12allowed_extensions\x18\x04 \x03(\tR\x11allowedExtensions\x129\n" + + "\aoptions\x18\x05 \x03(\v2\x1f.c1.config.v1.StringFieldOptionR\aoptionsB\b\n" + + "\x06_rules*\xc4\x01\n" + + "\x0eConstraintKind\x12\x1f\n" + + "\x1bCONSTRAINT_KIND_UNSPECIFIED\x10\x00\x12%\n" + + "!CONSTRAINT_KIND_REQUIRED_TOGETHER\x10\x01\x12 \n" + + "\x1cCONSTRAINT_KIND_AT_LEAST_ONE\x10\x02\x12&\n" + + "\"CONSTRAINT_KIND_MUTUALLY_EXCLUSIVE\x10\x03\x12 \n" + + "\x1cCONSTRAINT_KIND_DEPENDENT_ON\x10\x04*\xc9\x01\n" + + "\x0fStringFieldType\x12&\n" + + "\"STRING_FIELD_TYPE_TEXT_UNSPECIFIED\x10\x00\x12\x1c\n" + + "\x18STRING_FIELD_TYPE_RANDOM\x10\x01\x12\x1c\n" + + "\x18STRING_FIELD_TYPE_OAUTH2\x10\x02\x12/\n" + + "+STRING_FIELD_TYPE_CONNECTOR_DERIVED_OPTIONS\x10\x03\x12!\n" + + "\x1dSTRING_FIELD_TYPE_FILE_UPLOAD\x10\x04B3Z1github.com/conductorone/baton-sdk/pb/c1/config/v1b\x06proto3" + var file_c1_config_v1_config_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_c1_config_v1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_c1_config_v1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_c1_config_v1_config_proto_goTypes = []any{ (ConstraintKind)(0), // 0: c1.config.v1.ConstraintKind (StringFieldType)(0), // 1: c1.config.v1.StringFieldType (*Configuration)(nil), // 2: c1.config.v1.Configuration (*Constraint)(nil), // 3: c1.config.v1.Constraint - (*Field)(nil), // 4: c1.config.v1.Field - (*IntField)(nil), // 5: c1.config.v1.IntField - (*BoolField)(nil), // 6: c1.config.v1.BoolField - (*StringSliceField)(nil), // 7: c1.config.v1.StringSliceField - (*StringMapField)(nil), // 8: c1.config.v1.StringMapField - (*StringFieldOption)(nil), // 9: c1.config.v1.StringFieldOption - (*StringField)(nil), // 10: c1.config.v1.StringField - nil, // 11: c1.config.v1.StringMapField.DefaultValueEntry - (*Int64Rules)(nil), // 12: c1.config.v1.Int64Rules - (*BoolRules)(nil), // 13: c1.config.v1.BoolRules - (*RepeatedStringRules)(nil), // 14: c1.config.v1.RepeatedStringRules - (*StringMapRules)(nil), // 15: c1.config.v1.StringMapRules - (*StringRules)(nil), // 16: c1.config.v1.StringRules - (*anypb.Any)(nil), // 17: google.protobuf.Any + (*FieldGroup)(nil), // 4: c1.config.v1.FieldGroup + (*Field)(nil), // 5: c1.config.v1.Field + (*IntField)(nil), // 6: c1.config.v1.IntField + (*BoolField)(nil), // 7: c1.config.v1.BoolField + (*StringSliceField)(nil), // 8: c1.config.v1.StringSliceField + (*StringMapField)(nil), // 9: c1.config.v1.StringMapField + (*StringFieldOption)(nil), // 10: c1.config.v1.StringFieldOption + (*StringField)(nil), // 11: c1.config.v1.StringField + nil, // 12: c1.config.v1.StringMapField.DefaultValueEntry + (*Int64Rules)(nil), // 13: c1.config.v1.Int64Rules + (*BoolRules)(nil), // 14: c1.config.v1.BoolRules + (*RepeatedStringRules)(nil), // 15: c1.config.v1.RepeatedStringRules + (*StringMapRules)(nil), // 16: c1.config.v1.StringMapRules + (*StringRules)(nil), // 17: c1.config.v1.StringRules + (*anypb.Any)(nil), // 18: google.protobuf.Any } var file_c1_config_v1_config_proto_depIdxs = []int32{ - 4, // 0: c1.config.v1.Configuration.fields:type_name -> c1.config.v1.Field + 5, // 0: c1.config.v1.Configuration.fields:type_name -> c1.config.v1.Field 3, // 1: c1.config.v1.Configuration.constraints:type_name -> c1.config.v1.Constraint - 0, // 2: c1.config.v1.Constraint.kind:type_name -> c1.config.v1.ConstraintKind - 10, // 3: c1.config.v1.Field.string_field:type_name -> c1.config.v1.StringField - 5, // 4: c1.config.v1.Field.int_field:type_name -> c1.config.v1.IntField - 6, // 5: c1.config.v1.Field.bool_field:type_name -> c1.config.v1.BoolField - 7, // 6: c1.config.v1.Field.string_slice_field:type_name -> c1.config.v1.StringSliceField - 8, // 7: c1.config.v1.Field.string_map_field:type_name -> c1.config.v1.StringMapField - 12, // 8: c1.config.v1.IntField.rules:type_name -> c1.config.v1.Int64Rules - 13, // 9: c1.config.v1.BoolField.rules:type_name -> c1.config.v1.BoolRules - 14, // 10: c1.config.v1.StringSliceField.rules:type_name -> c1.config.v1.RepeatedStringRules - 11, // 11: c1.config.v1.StringMapField.default_value:type_name -> c1.config.v1.StringMapField.DefaultValueEntry - 15, // 12: c1.config.v1.StringMapField.rules:type_name -> c1.config.v1.StringMapRules - 16, // 13: c1.config.v1.StringField.rules:type_name -> c1.config.v1.StringRules - 1, // 14: c1.config.v1.StringField.type:type_name -> c1.config.v1.StringFieldType - 9, // 15: c1.config.v1.StringField.options:type_name -> c1.config.v1.StringFieldOption - 17, // 16: c1.config.v1.StringMapField.DefaultValueEntry.value:type_name -> google.protobuf.Any - 17, // [17:17] is the sub-list for method output_type - 17, // [17:17] 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 + 4, // 2: c1.config.v1.Configuration.field_groups:type_name -> c1.config.v1.FieldGroup + 0, // 3: c1.config.v1.Constraint.kind:type_name -> c1.config.v1.ConstraintKind + 11, // 4: c1.config.v1.Field.string_field:type_name -> c1.config.v1.StringField + 6, // 5: c1.config.v1.Field.int_field:type_name -> c1.config.v1.IntField + 7, // 6: c1.config.v1.Field.bool_field:type_name -> c1.config.v1.BoolField + 8, // 7: c1.config.v1.Field.string_slice_field:type_name -> c1.config.v1.StringSliceField + 9, // 8: c1.config.v1.Field.string_map_field:type_name -> c1.config.v1.StringMapField + 13, // 9: c1.config.v1.IntField.rules:type_name -> c1.config.v1.Int64Rules + 14, // 10: c1.config.v1.BoolField.rules:type_name -> c1.config.v1.BoolRules + 15, // 11: c1.config.v1.StringSliceField.rules:type_name -> c1.config.v1.RepeatedStringRules + 12, // 12: c1.config.v1.StringMapField.default_value:type_name -> c1.config.v1.StringMapField.DefaultValueEntry + 16, // 13: c1.config.v1.StringMapField.rules:type_name -> c1.config.v1.StringMapRules + 17, // 14: c1.config.v1.StringField.rules:type_name -> c1.config.v1.StringRules + 1, // 15: c1.config.v1.StringField.type:type_name -> c1.config.v1.StringFieldType + 10, // 16: c1.config.v1.StringField.options:type_name -> c1.config.v1.StringFieldOption + 18, // 17: c1.config.v1.StringMapField.DefaultValueEntry.value:type_name -> google.protobuf.Any + 18, // [18:18] is the sub-list for method output_type + 18, // [18:18] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name } func init() { file_c1_config_v1_config_proto_init() } @@ -1098,25 +1635,25 @@ func file_c1_config_v1_config_proto_init() { return } file_c1_config_v1_rules_proto_init() - file_c1_config_v1_config_proto_msgTypes[2].OneofWrappers = []any{ + file_c1_config_v1_config_proto_msgTypes[3].OneofWrappers = []any{ (*Field_StringField)(nil), (*Field_IntField)(nil), (*Field_BoolField)(nil), (*Field_StringSliceField)(nil), (*Field_StringMapField)(nil), } - file_c1_config_v1_config_proto_msgTypes[3].OneofWrappers = []any{} file_c1_config_v1_config_proto_msgTypes[4].OneofWrappers = []any{} file_c1_config_v1_config_proto_msgTypes[5].OneofWrappers = []any{} file_c1_config_v1_config_proto_msgTypes[6].OneofWrappers = []any{} - file_c1_config_v1_config_proto_msgTypes[8].OneofWrappers = []any{} + file_c1_config_v1_config_proto_msgTypes[7].OneofWrappers = []any{} + file_c1_config_v1_config_proto_msgTypes[9].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_config_v1_config_proto_rawDesc), len(file_c1_config_v1_config_proto_rawDesc)), NumEnums: 2, - NumMessages: 10, + NumMessages: 11, NumExtensions: 0, NumServices: 0, }, 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 e2114f8d..523c7c7b 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 @@ -139,6 +139,40 @@ func (m *Configuration) validate(all bool) error { // no validation rules for RequiresExternalConnector + for idx, item := range m.GetFieldGroups() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ConfigurationValidationError{ + field: fmt.Sprintf("FieldGroups[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ConfigurationValidationError{ + field: fmt.Sprintf("FieldGroups[%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 ConfigurationValidationError{ + field: fmt.Sprintf("FieldGroups[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + if len(errors) > 0 { return ConfigurationMultiError(errors) } @@ -324,6 +358,111 @@ var _ interface { ErrorName() string } = ConstraintValidationError{} +// Validate checks the field values on FieldGroup 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 *FieldGroup) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on FieldGroup 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 FieldGroupMultiError, or +// nil if none found. +func (m *FieldGroup) ValidateAll() error { + return m.validate(true) +} + +func (m *FieldGroup) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Name + + // no validation rules for DisplayName + + // no validation rules for HelpText + + if len(errors) > 0 { + return FieldGroupMultiError(errors) + } + + return nil +} + +// FieldGroupMultiError is an error wrapping multiple validation errors +// returned by FieldGroup.ValidateAll() if the designated constraints aren't met. +type FieldGroupMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m FieldGroupMultiError) 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 FieldGroupMultiError) AllErrors() []error { return m } + +// FieldGroupValidationError is the validation error returned by +// FieldGroup.Validate if the designated constraints aren't met. +type FieldGroupValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e FieldGroupValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e FieldGroupValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e FieldGroupValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e FieldGroupValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e FieldGroupValidationError) ErrorName() string { return "FieldGroupValidationError" } + +// Error satisfies the builtin error interface +func (e FieldGroupValidationError) 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 %sFieldGroup.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = FieldGroupValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = FieldGroupValidationError{} + // Validate checks the field values on Field 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. diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/config/v1/config_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/config/v1/config_protoopaque.pb.go new file mode 100644 index 00000000..763ebc8b --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/config/v1/config_protoopaque.pb.go @@ -0,0 +1,1660 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/config/v1/config.proto + +//go:build protoopaque + +package v1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + reflect "reflect" + 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) +) + +type ConstraintKind int32 + +const ( + ConstraintKind_CONSTRAINT_KIND_UNSPECIFIED ConstraintKind = 0 + ConstraintKind_CONSTRAINT_KIND_REQUIRED_TOGETHER ConstraintKind = 1 + ConstraintKind_CONSTRAINT_KIND_AT_LEAST_ONE ConstraintKind = 2 + ConstraintKind_CONSTRAINT_KIND_MUTUALLY_EXCLUSIVE ConstraintKind = 3 + ConstraintKind_CONSTRAINT_KIND_DEPENDENT_ON ConstraintKind = 4 +) + +// Enum value maps for ConstraintKind. +var ( + ConstraintKind_name = map[int32]string{ + 0: "CONSTRAINT_KIND_UNSPECIFIED", + 1: "CONSTRAINT_KIND_REQUIRED_TOGETHER", + 2: "CONSTRAINT_KIND_AT_LEAST_ONE", + 3: "CONSTRAINT_KIND_MUTUALLY_EXCLUSIVE", + 4: "CONSTRAINT_KIND_DEPENDENT_ON", + } + ConstraintKind_value = map[string]int32{ + "CONSTRAINT_KIND_UNSPECIFIED": 0, + "CONSTRAINT_KIND_REQUIRED_TOGETHER": 1, + "CONSTRAINT_KIND_AT_LEAST_ONE": 2, + "CONSTRAINT_KIND_MUTUALLY_EXCLUSIVE": 3, + "CONSTRAINT_KIND_DEPENDENT_ON": 4, + } +) + +func (x ConstraintKind) Enum() *ConstraintKind { + p := new(ConstraintKind) + *p = x + return p +} + +func (x ConstraintKind) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ConstraintKind) Descriptor() protoreflect.EnumDescriptor { + return file_c1_config_v1_config_proto_enumTypes[0].Descriptor() +} + +func (ConstraintKind) Type() protoreflect.EnumType { + return &file_c1_config_v1_config_proto_enumTypes[0] +} + +func (x ConstraintKind) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type StringFieldType int32 + +const ( + StringFieldType_STRING_FIELD_TYPE_TEXT_UNSPECIFIED StringFieldType = 0 // default/catch all. Its a text field. + StringFieldType_STRING_FIELD_TYPE_RANDOM StringFieldType = 1 + StringFieldType_STRING_FIELD_TYPE_OAUTH2 StringFieldType = 2 + StringFieldType_STRING_FIELD_TYPE_CONNECTOR_DERIVED_OPTIONS StringFieldType = 3 + StringFieldType_STRING_FIELD_TYPE_FILE_UPLOAD StringFieldType = 4 +) + +// Enum value maps for StringFieldType. +var ( + StringFieldType_name = map[int32]string{ + 0: "STRING_FIELD_TYPE_TEXT_UNSPECIFIED", + 1: "STRING_FIELD_TYPE_RANDOM", + 2: "STRING_FIELD_TYPE_OAUTH2", + 3: "STRING_FIELD_TYPE_CONNECTOR_DERIVED_OPTIONS", + 4: "STRING_FIELD_TYPE_FILE_UPLOAD", + } + StringFieldType_value = map[string]int32{ + "STRING_FIELD_TYPE_TEXT_UNSPECIFIED": 0, + "STRING_FIELD_TYPE_RANDOM": 1, + "STRING_FIELD_TYPE_OAUTH2": 2, + "STRING_FIELD_TYPE_CONNECTOR_DERIVED_OPTIONS": 3, + "STRING_FIELD_TYPE_FILE_UPLOAD": 4, + } +) + +func (x StringFieldType) Enum() *StringFieldType { + p := new(StringFieldType) + *p = x + return p +} + +func (x StringFieldType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StringFieldType) Descriptor() protoreflect.EnumDescriptor { + return file_c1_config_v1_config_proto_enumTypes[1].Descriptor() +} + +func (StringFieldType) Type() protoreflect.EnumType { + return &file_c1_config_v1_config_proto_enumTypes[1] +} + +func (x StringFieldType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type Configuration struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Fields *[]*Field `protobuf:"bytes,1,rep,name=fields,proto3"` + xxx_hidden_Constraints *[]*Constraint `protobuf:"bytes,2,rep,name=constraints,proto3"` + xxx_hidden_DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3"` + xxx_hidden_HelpUrl string `protobuf:"bytes,4,opt,name=help_url,json=helpUrl,proto3"` + xxx_hidden_IconUrl string `protobuf:"bytes,5,opt,name=icon_url,json=iconUrl,proto3"` + xxx_hidden_IsDirectory bool `protobuf:"varint,7,opt,name=is_directory,json=isDirectory,proto3"` + xxx_hidden_CatalogId string `protobuf:"bytes,8,opt,name=catalog_id,json=catalogId,proto3"` + xxx_hidden_SupportsExternalResources bool `protobuf:"varint,9,opt,name=supports_external_resources,json=supportsExternalResources,proto3"` + xxx_hidden_RequiresExternalConnector bool `protobuf:"varint,10,opt,name=requires_external_connector,json=requiresExternalConnector,proto3"` + xxx_hidden_FieldGroups *[]*FieldGroup `protobuf:"bytes,11,rep,name=field_groups,json=fieldGroups,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Configuration) Reset() { + *x = Configuration{} + mi := &file_c1_config_v1_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Configuration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Configuration) ProtoMessage() {} + +func (x *Configuration) ProtoReflect() protoreflect.Message { + mi := &file_c1_config_v1_config_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) +} + +func (x *Configuration) GetFields() []*Field { + if x != nil { + if x.xxx_hidden_Fields != nil { + return *x.xxx_hidden_Fields + } + } + return nil +} + +func (x *Configuration) GetConstraints() []*Constraint { + if x != nil { + if x.xxx_hidden_Constraints != nil { + return *x.xxx_hidden_Constraints + } + } + return nil +} + +func (x *Configuration) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *Configuration) GetHelpUrl() string { + if x != nil { + return x.xxx_hidden_HelpUrl + } + return "" +} + +func (x *Configuration) GetIconUrl() string { + if x != nil { + return x.xxx_hidden_IconUrl + } + return "" +} + +func (x *Configuration) GetIsDirectory() bool { + if x != nil { + return x.xxx_hidden_IsDirectory + } + return false +} + +func (x *Configuration) GetCatalogId() string { + if x != nil { + return x.xxx_hidden_CatalogId + } + return "" +} + +func (x *Configuration) GetSupportsExternalResources() bool { + if x != nil { + return x.xxx_hidden_SupportsExternalResources + } + return false +} + +func (x *Configuration) GetRequiresExternalConnector() bool { + if x != nil { + return x.xxx_hidden_RequiresExternalConnector + } + return false +} + +func (x *Configuration) GetFieldGroups() []*FieldGroup { + if x != nil { + if x.xxx_hidden_FieldGroups != nil { + return *x.xxx_hidden_FieldGroups + } + } + return nil +} + +func (x *Configuration) SetFields(v []*Field) { + x.xxx_hidden_Fields = &v +} + +func (x *Configuration) SetConstraints(v []*Constraint) { + x.xxx_hidden_Constraints = &v +} + +func (x *Configuration) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +func (x *Configuration) SetHelpUrl(v string) { + x.xxx_hidden_HelpUrl = v +} + +func (x *Configuration) SetIconUrl(v string) { + x.xxx_hidden_IconUrl = v +} + +func (x *Configuration) SetIsDirectory(v bool) { + x.xxx_hidden_IsDirectory = v +} + +func (x *Configuration) SetCatalogId(v string) { + x.xxx_hidden_CatalogId = v +} + +func (x *Configuration) SetSupportsExternalResources(v bool) { + x.xxx_hidden_SupportsExternalResources = v +} + +func (x *Configuration) SetRequiresExternalConnector(v bool) { + x.xxx_hidden_RequiresExternalConnector = v +} + +func (x *Configuration) SetFieldGroups(v []*FieldGroup) { + x.xxx_hidden_FieldGroups = &v +} + +type Configuration_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Fields []*Field + Constraints []*Constraint + DisplayName string + HelpUrl string + IconUrl string + IsDirectory bool + CatalogId string + SupportsExternalResources bool + RequiresExternalConnector bool + FieldGroups []*FieldGroup +} + +func (b0 Configuration_builder) Build() *Configuration { + m0 := &Configuration{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Fields = &b.Fields + x.xxx_hidden_Constraints = &b.Constraints + x.xxx_hidden_DisplayName = b.DisplayName + x.xxx_hidden_HelpUrl = b.HelpUrl + x.xxx_hidden_IconUrl = b.IconUrl + x.xxx_hidden_IsDirectory = b.IsDirectory + x.xxx_hidden_CatalogId = b.CatalogId + x.xxx_hidden_SupportsExternalResources = b.SupportsExternalResources + x.xxx_hidden_RequiresExternalConnector = b.RequiresExternalConnector + x.xxx_hidden_FieldGroups = &b.FieldGroups + return m0 +} + +type Constraint struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Kind ConstraintKind `protobuf:"varint,1,opt,name=kind,proto3,enum=c1.config.v1.ConstraintKind"` + xxx_hidden_FieldNames []string `protobuf:"bytes,2,rep,name=field_names,json=fieldNames,proto3"` + xxx_hidden_SecondaryFieldNames []string `protobuf:"bytes,3,rep,name=secondary_field_names,json=secondaryFieldNames,proto3"` + xxx_hidden_Name string `protobuf:"bytes,4,opt,name=name,proto3"` + xxx_hidden_HelpText string `protobuf:"bytes,5,opt,name=help_text,json=helpText,proto3"` + xxx_hidden_IsFieldGroup bool `protobuf:"varint,6,opt,name=is_field_group,json=isFieldGroup,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Constraint) Reset() { + *x = Constraint{} + mi := &file_c1_config_v1_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Constraint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Constraint) ProtoMessage() {} + +func (x *Constraint) ProtoReflect() protoreflect.Message { + mi := &file_c1_config_v1_config_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) +} + +func (x *Constraint) GetKind() ConstraintKind { + if x != nil { + return x.xxx_hidden_Kind + } + return ConstraintKind_CONSTRAINT_KIND_UNSPECIFIED +} + +func (x *Constraint) GetFieldNames() []string { + if x != nil { + return x.xxx_hidden_FieldNames + } + return nil +} + +func (x *Constraint) GetSecondaryFieldNames() []string { + if x != nil { + return x.xxx_hidden_SecondaryFieldNames + } + return nil +} + +func (x *Constraint) GetName() string { + if x != nil { + return x.xxx_hidden_Name + } + return "" +} + +func (x *Constraint) GetHelpText() string { + if x != nil { + return x.xxx_hidden_HelpText + } + return "" +} + +func (x *Constraint) GetIsFieldGroup() bool { + if x != nil { + return x.xxx_hidden_IsFieldGroup + } + return false +} + +func (x *Constraint) SetKind(v ConstraintKind) { + x.xxx_hidden_Kind = v +} + +func (x *Constraint) SetFieldNames(v []string) { + x.xxx_hidden_FieldNames = v +} + +func (x *Constraint) SetSecondaryFieldNames(v []string) { + x.xxx_hidden_SecondaryFieldNames = v +} + +func (x *Constraint) SetName(v string) { + x.xxx_hidden_Name = v +} + +func (x *Constraint) SetHelpText(v string) { + x.xxx_hidden_HelpText = v +} + +func (x *Constraint) SetIsFieldGroup(v bool) { + x.xxx_hidden_IsFieldGroup = v +} + +type Constraint_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Kind ConstraintKind + FieldNames []string + SecondaryFieldNames []string + Name string + HelpText string + IsFieldGroup bool +} + +func (b0 Constraint_builder) Build() *Constraint { + m0 := &Constraint{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Kind = b.Kind + x.xxx_hidden_FieldNames = b.FieldNames + x.xxx_hidden_SecondaryFieldNames = b.SecondaryFieldNames + x.xxx_hidden_Name = b.Name + x.xxx_hidden_HelpText = b.HelpText + x.xxx_hidden_IsFieldGroup = b.IsFieldGroup + return m0 +} + +type FieldGroup struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Name string `protobuf:"bytes,1,opt,name=name,proto3"` + xxx_hidden_DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3"` + xxx_hidden_HelpText string `protobuf:"bytes,3,opt,name=help_text,json=helpText,proto3"` + xxx_hidden_Fields []string `protobuf:"bytes,4,rep,name=fields,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FieldGroup) Reset() { + *x = FieldGroup{} + mi := &file_c1_config_v1_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FieldGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldGroup) ProtoMessage() {} + +func (x *FieldGroup) ProtoReflect() protoreflect.Message { + mi := &file_c1_config_v1_config_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) +} + +func (x *FieldGroup) GetName() string { + if x != nil { + return x.xxx_hidden_Name + } + return "" +} + +func (x *FieldGroup) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *FieldGroup) GetHelpText() string { + if x != nil { + return x.xxx_hidden_HelpText + } + return "" +} + +func (x *FieldGroup) GetFields() []string { + if x != nil { + return x.xxx_hidden_Fields + } + return nil +} + +func (x *FieldGroup) SetName(v string) { + x.xxx_hidden_Name = v +} + +func (x *FieldGroup) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +func (x *FieldGroup) SetHelpText(v string) { + x.xxx_hidden_HelpText = v +} + +func (x *FieldGroup) SetFields(v []string) { + x.xxx_hidden_Fields = v +} + +type FieldGroup_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + DisplayName string + HelpText string + Fields []string +} + +func (b0 FieldGroup_builder) Build() *FieldGroup { + m0 := &FieldGroup{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Name = b.Name + x.xxx_hidden_DisplayName = b.DisplayName + x.xxx_hidden_HelpText = b.HelpText + x.xxx_hidden_Fields = b.Fields + return m0 +} + +type Field struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Name string `protobuf:"bytes,1,opt,name=name,proto3"` + xxx_hidden_DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3"` + xxx_hidden_Description string `protobuf:"bytes,3,opt,name=description,proto3"` + xxx_hidden_Placeholder string `protobuf:"bytes,4,opt,name=placeholder,proto3"` + xxx_hidden_IsRequired bool `protobuf:"varint,5,opt,name=is_required,json=isRequired,proto3"` + xxx_hidden_IsOps bool `protobuf:"varint,6,opt,name=is_ops,json=isOps,proto3"` + xxx_hidden_IsSecret bool `protobuf:"varint,7,opt,name=is_secret,json=isSecret,proto3"` + xxx_hidden_Field isField_Field `protobuf_oneof:"field"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Field) Reset() { + *x = Field{} + mi := &file_c1_config_v1_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Field) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Field) ProtoMessage() {} + +func (x *Field) ProtoReflect() protoreflect.Message { + mi := &file_c1_config_v1_config_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) +} + +func (x *Field) GetName() string { + if x != nil { + return x.xxx_hidden_Name + } + return "" +} + +func (x *Field) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *Field) GetDescription() string { + if x != nil { + return x.xxx_hidden_Description + } + return "" +} + +func (x *Field) GetPlaceholder() string { + if x != nil { + return x.xxx_hidden_Placeholder + } + return "" +} + +func (x *Field) GetIsRequired() bool { + if x != nil { + return x.xxx_hidden_IsRequired + } + return false +} + +func (x *Field) GetIsOps() bool { + if x != nil { + return x.xxx_hidden_IsOps + } + return false +} + +func (x *Field) GetIsSecret() bool { + if x != nil { + return x.xxx_hidden_IsSecret + } + return false +} + +func (x *Field) GetStringField() *StringField { + if x != nil { + if x, ok := x.xxx_hidden_Field.(*field_StringField); ok { + return x.StringField + } + } + return nil +} + +func (x *Field) GetIntField() *IntField { + if x != nil { + if x, ok := x.xxx_hidden_Field.(*field_IntField); ok { + return x.IntField + } + } + return nil +} + +func (x *Field) GetBoolField() *BoolField { + if x != nil { + if x, ok := x.xxx_hidden_Field.(*field_BoolField); ok { + return x.BoolField + } + } + return nil +} + +func (x *Field) GetStringSliceField() *StringSliceField { + if x != nil { + if x, ok := x.xxx_hidden_Field.(*field_StringSliceField); ok { + return x.StringSliceField + } + } + return nil +} + +func (x *Field) GetStringMapField() *StringMapField { + if x != nil { + if x, ok := x.xxx_hidden_Field.(*field_StringMapField); ok { + return x.StringMapField + } + } + return nil +} + +func (x *Field) SetName(v string) { + x.xxx_hidden_Name = v +} + +func (x *Field) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +func (x *Field) SetDescription(v string) { + x.xxx_hidden_Description = v +} + +func (x *Field) SetPlaceholder(v string) { + x.xxx_hidden_Placeholder = v +} + +func (x *Field) SetIsRequired(v bool) { + x.xxx_hidden_IsRequired = v +} + +func (x *Field) SetIsOps(v bool) { + x.xxx_hidden_IsOps = v +} + +func (x *Field) SetIsSecret(v bool) { + x.xxx_hidden_IsSecret = v +} + +func (x *Field) SetStringField(v *StringField) { + if v == nil { + x.xxx_hidden_Field = nil + return + } + x.xxx_hidden_Field = &field_StringField{v} +} + +func (x *Field) SetIntField(v *IntField) { + if v == nil { + x.xxx_hidden_Field = nil + return + } + x.xxx_hidden_Field = &field_IntField{v} +} + +func (x *Field) SetBoolField(v *BoolField) { + if v == nil { + x.xxx_hidden_Field = nil + return + } + x.xxx_hidden_Field = &field_BoolField{v} +} + +func (x *Field) SetStringSliceField(v *StringSliceField) { + if v == nil { + x.xxx_hidden_Field = nil + return + } + x.xxx_hidden_Field = &field_StringSliceField{v} +} + +func (x *Field) SetStringMapField(v *StringMapField) { + if v == nil { + x.xxx_hidden_Field = nil + return + } + x.xxx_hidden_Field = &field_StringMapField{v} +} + +func (x *Field) HasField() bool { + if x == nil { + return false + } + return x.xxx_hidden_Field != nil +} + +func (x *Field) HasStringField() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Field.(*field_StringField) + return ok +} + +func (x *Field) HasIntField() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Field.(*field_IntField) + return ok +} + +func (x *Field) HasBoolField() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Field.(*field_BoolField) + return ok +} + +func (x *Field) HasStringSliceField() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Field.(*field_StringSliceField) + return ok +} + +func (x *Field) HasStringMapField() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Field.(*field_StringMapField) + return ok +} + +func (x *Field) ClearField() { + x.xxx_hidden_Field = nil +} + +func (x *Field) ClearStringField() { + if _, ok := x.xxx_hidden_Field.(*field_StringField); ok { + x.xxx_hidden_Field = nil + } +} + +func (x *Field) ClearIntField() { + if _, ok := x.xxx_hidden_Field.(*field_IntField); ok { + x.xxx_hidden_Field = nil + } +} + +func (x *Field) ClearBoolField() { + if _, ok := x.xxx_hidden_Field.(*field_BoolField); ok { + x.xxx_hidden_Field = nil + } +} + +func (x *Field) ClearStringSliceField() { + if _, ok := x.xxx_hidden_Field.(*field_StringSliceField); ok { + x.xxx_hidden_Field = nil + } +} + +func (x *Field) ClearStringMapField() { + if _, ok := x.xxx_hidden_Field.(*field_StringMapField); ok { + x.xxx_hidden_Field = nil + } +} + +const Field_Field_not_set_case case_Field_Field = 0 +const Field_StringField_case case_Field_Field = 100 +const Field_IntField_case case_Field_Field = 101 +const Field_BoolField_case case_Field_Field = 102 +const Field_StringSliceField_case case_Field_Field = 103 +const Field_StringMapField_case case_Field_Field = 104 + +func (x *Field) WhichField() case_Field_Field { + if x == nil { + return Field_Field_not_set_case + } + switch x.xxx_hidden_Field.(type) { + case *field_StringField: + return Field_StringField_case + case *field_IntField: + return Field_IntField_case + case *field_BoolField: + return Field_BoolField_case + case *field_StringSliceField: + return Field_StringSliceField_case + case *field_StringMapField: + return Field_StringMapField_case + default: + return Field_Field_not_set_case + } +} + +type Field_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + DisplayName string + Description string + Placeholder string + IsRequired bool + IsOps bool + IsSecret bool + // Fields of oneof xxx_hidden_Field: + StringField *StringField + IntField *IntField + BoolField *BoolField + StringSliceField *StringSliceField + StringMapField *StringMapField + // -- end of xxx_hidden_Field +} + +func (b0 Field_builder) Build() *Field { + m0 := &Field{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Name = b.Name + x.xxx_hidden_DisplayName = b.DisplayName + x.xxx_hidden_Description = b.Description + x.xxx_hidden_Placeholder = b.Placeholder + x.xxx_hidden_IsRequired = b.IsRequired + x.xxx_hidden_IsOps = b.IsOps + x.xxx_hidden_IsSecret = b.IsSecret + if b.StringField != nil { + x.xxx_hidden_Field = &field_StringField{b.StringField} + } + if b.IntField != nil { + x.xxx_hidden_Field = &field_IntField{b.IntField} + } + if b.BoolField != nil { + x.xxx_hidden_Field = &field_BoolField{b.BoolField} + } + if b.StringSliceField != nil { + x.xxx_hidden_Field = &field_StringSliceField{b.StringSliceField} + } + if b.StringMapField != nil { + x.xxx_hidden_Field = &field_StringMapField{b.StringMapField} + } + return m0 +} + +type case_Field_Field protoreflect.FieldNumber + +func (x case_Field_Field) String() string { + md := file_c1_config_v1_config_proto_msgTypes[3].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isField_Field interface { + isField_Field() +} + +type field_StringField struct { + StringField *StringField `protobuf:"bytes,100,opt,name=string_field,json=stringField,proto3,oneof"` +} + +type field_IntField struct { + IntField *IntField `protobuf:"bytes,101,opt,name=int_field,json=intField,proto3,oneof"` +} + +type field_BoolField struct { + BoolField *BoolField `protobuf:"bytes,102,opt,name=bool_field,json=boolField,proto3,oneof"` +} + +type field_StringSliceField struct { + StringSliceField *StringSliceField `protobuf:"bytes,103,opt,name=string_slice_field,json=stringSliceField,proto3,oneof"` +} + +type field_StringMapField struct { + StringMapField *StringMapField `protobuf:"bytes,104,opt,name=string_map_field,json=stringMapField,proto3,oneof"` +} + +func (*field_StringField) isField_Field() {} + +func (*field_IntField) isField_Field() {} + +func (*field_BoolField) isField_Field() {} + +func (*field_StringSliceField) isField_Field() {} + +func (*field_StringMapField) isField_Field() {} + +type IntField struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_DefaultValue int64 `protobuf:"varint,1,opt,name=default_value,json=defaultValue,proto3"` + xxx_hidden_Rules *Int64Rules `protobuf:"bytes,2,opt,name=rules,proto3,oneof"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *IntField) Reset() { + *x = IntField{} + mi := &file_c1_config_v1_config_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *IntField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IntField) ProtoMessage() {} + +func (x *IntField) ProtoReflect() protoreflect.Message { + mi := &file_c1_config_v1_config_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *IntField) GetDefaultValue() int64 { + if x != nil { + return x.xxx_hidden_DefaultValue + } + return 0 +} + +func (x *IntField) GetRules() *Int64Rules { + if x != nil { + return x.xxx_hidden_Rules + } + return nil +} + +func (x *IntField) SetDefaultValue(v int64) { + x.xxx_hidden_DefaultValue = v +} + +func (x *IntField) SetRules(v *Int64Rules) { + x.xxx_hidden_Rules = v +} + +func (x *IntField) HasRules() bool { + if x == nil { + return false + } + return x.xxx_hidden_Rules != nil +} + +func (x *IntField) ClearRules() { + x.xxx_hidden_Rules = nil +} + +type IntField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // rules + DefaultValue int64 + Rules *Int64Rules +} + +func (b0 IntField_builder) Build() *IntField { + m0 := &IntField{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_DefaultValue = b.DefaultValue + x.xxx_hidden_Rules = b.Rules + return m0 +} + +type BoolField struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_DefaultValue bool `protobuf:"varint,1,opt,name=default_value,json=defaultValue,proto3"` + xxx_hidden_Rules *BoolRules `protobuf:"bytes,2,opt,name=rules,proto3,oneof"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BoolField) Reset() { + *x = BoolField{} + mi := &file_c1_config_v1_config_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BoolField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoolField) ProtoMessage() {} + +func (x *BoolField) ProtoReflect() protoreflect.Message { + mi := &file_c1_config_v1_config_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *BoolField) GetDefaultValue() bool { + if x != nil { + return x.xxx_hidden_DefaultValue + } + return false +} + +func (x *BoolField) GetRules() *BoolRules { + if x != nil { + return x.xxx_hidden_Rules + } + return nil +} + +func (x *BoolField) SetDefaultValue(v bool) { + x.xxx_hidden_DefaultValue = v +} + +func (x *BoolField) SetRules(v *BoolRules) { + x.xxx_hidden_Rules = v +} + +func (x *BoolField) HasRules() bool { + if x == nil { + return false + } + return x.xxx_hidden_Rules != nil +} + +func (x *BoolField) ClearRules() { + x.xxx_hidden_Rules = nil +} + +type BoolField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DefaultValue bool + Rules *BoolRules +} + +func (b0 BoolField_builder) Build() *BoolField { + m0 := &BoolField{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_DefaultValue = b.DefaultValue + x.xxx_hidden_Rules = b.Rules + return m0 +} + +type StringSliceField struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_DefaultValue []string `protobuf:"bytes,1,rep,name=default_value,json=defaultValue,proto3"` + xxx_hidden_Rules *RepeatedStringRules `protobuf:"bytes,2,opt,name=rules,proto3,oneof"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StringSliceField) Reset() { + *x = StringSliceField{} + mi := &file_c1_config_v1_config_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StringSliceField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringSliceField) ProtoMessage() {} + +func (x *StringSliceField) ProtoReflect() protoreflect.Message { + mi := &file_c1_config_v1_config_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *StringSliceField) GetDefaultValue() []string { + if x != nil { + return x.xxx_hidden_DefaultValue + } + return nil +} + +func (x *StringSliceField) GetRules() *RepeatedStringRules { + if x != nil { + return x.xxx_hidden_Rules + } + return nil +} + +func (x *StringSliceField) SetDefaultValue(v []string) { + x.xxx_hidden_DefaultValue = v +} + +func (x *StringSliceField) SetRules(v *RepeatedStringRules) { + x.xxx_hidden_Rules = v +} + +func (x *StringSliceField) HasRules() bool { + if x == nil { + return false + } + return x.xxx_hidden_Rules != nil +} + +func (x *StringSliceField) ClearRules() { + x.xxx_hidden_Rules = nil +} + +type StringSliceField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DefaultValue []string + Rules *RepeatedStringRules +} + +func (b0 StringSliceField_builder) Build() *StringSliceField { + m0 := &StringSliceField{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_DefaultValue = b.DefaultValue + x.xxx_hidden_Rules = b.Rules + return m0 +} + +type StringMapField struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_DefaultValue map[string]*anypb.Any `protobuf:"bytes,1,rep,name=default_value,json=defaultValue,proto3" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + xxx_hidden_Rules *StringMapRules `protobuf:"bytes,2,opt,name=rules,proto3,oneof"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StringMapField) Reset() { + *x = StringMapField{} + mi := &file_c1_config_v1_config_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StringMapField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringMapField) ProtoMessage() {} + +func (x *StringMapField) ProtoReflect() protoreflect.Message { + mi := &file_c1_config_v1_config_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) +} + +func (x *StringMapField) GetDefaultValue() map[string]*anypb.Any { + if x != nil { + return x.xxx_hidden_DefaultValue + } + return nil +} + +func (x *StringMapField) GetRules() *StringMapRules { + if x != nil { + return x.xxx_hidden_Rules + } + return nil +} + +func (x *StringMapField) SetDefaultValue(v map[string]*anypb.Any) { + x.xxx_hidden_DefaultValue = v +} + +func (x *StringMapField) SetRules(v *StringMapRules) { + x.xxx_hidden_Rules = v +} + +func (x *StringMapField) HasRules() bool { + if x == nil { + return false + } + return x.xxx_hidden_Rules != nil +} + +func (x *StringMapField) ClearRules() { + x.xxx_hidden_Rules = nil +} + +type StringMapField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DefaultValue map[string]*anypb.Any + Rules *StringMapRules +} + +func (b0 StringMapField_builder) Build() *StringMapField { + m0 := &StringMapField{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_DefaultValue = b.DefaultValue + x.xxx_hidden_Rules = b.Rules + return m0 +} + +type StringFieldOption struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Name string `protobuf:"bytes,1,opt,name=name,proto3"` + xxx_hidden_Value string `protobuf:"bytes,2,opt,name=value,proto3"` + xxx_hidden_DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StringFieldOption) Reset() { + *x = StringFieldOption{} + mi := &file_c1_config_v1_config_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StringFieldOption) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringFieldOption) ProtoMessage() {} + +func (x *StringFieldOption) ProtoReflect() protoreflect.Message { + mi := &file_c1_config_v1_config_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) +} + +func (x *StringFieldOption) GetName() string { + if x != nil { + return x.xxx_hidden_Name + } + return "" +} + +func (x *StringFieldOption) GetValue() string { + if x != nil { + return x.xxx_hidden_Value + } + return "" +} + +func (x *StringFieldOption) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *StringFieldOption) SetName(v string) { + x.xxx_hidden_Name = v +} + +func (x *StringFieldOption) SetValue(v string) { + x.xxx_hidden_Value = v +} + +func (x *StringFieldOption) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +type StringFieldOption_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + Value string + DisplayName string +} + +func (b0 StringFieldOption_builder) Build() *StringFieldOption { + m0 := &StringFieldOption{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Name = b.Name + x.xxx_hidden_Value = b.Value + x.xxx_hidden_DisplayName = b.DisplayName + return m0 +} + +type StringField struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_DefaultValue string `protobuf:"bytes,1,opt,name=default_value,json=defaultValue,proto3"` + xxx_hidden_Rules *StringRules `protobuf:"bytes,2,opt,name=rules,proto3,oneof"` + xxx_hidden_Type StringFieldType `protobuf:"varint,3,opt,name=type,proto3,enum=c1.config.v1.StringFieldType"` + xxx_hidden_AllowedExtensions []string `protobuf:"bytes,4,rep,name=allowed_extensions,json=allowedExtensions,proto3"` + xxx_hidden_Options *[]*StringFieldOption `protobuf:"bytes,5,rep,name=options,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StringField) Reset() { + *x = StringField{} + mi := &file_c1_config_v1_config_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StringField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringField) ProtoMessage() {} + +func (x *StringField) ProtoReflect() protoreflect.Message { + mi := &file_c1_config_v1_config_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *StringField) GetDefaultValue() string { + if x != nil { + return x.xxx_hidden_DefaultValue + } + return "" +} + +func (x *StringField) GetRules() *StringRules { + if x != nil { + return x.xxx_hidden_Rules + } + return nil +} + +func (x *StringField) GetType() StringFieldType { + if x != nil { + return x.xxx_hidden_Type + } + return StringFieldType_STRING_FIELD_TYPE_TEXT_UNSPECIFIED +} + +func (x *StringField) GetAllowedExtensions() []string { + if x != nil { + return x.xxx_hidden_AllowedExtensions + } + return nil +} + +func (x *StringField) GetOptions() []*StringFieldOption { + if x != nil { + if x.xxx_hidden_Options != nil { + return *x.xxx_hidden_Options + } + } + return nil +} + +func (x *StringField) SetDefaultValue(v string) { + x.xxx_hidden_DefaultValue = v +} + +func (x *StringField) SetRules(v *StringRules) { + x.xxx_hidden_Rules = v +} + +func (x *StringField) SetType(v StringFieldType) { + x.xxx_hidden_Type = v +} + +func (x *StringField) SetAllowedExtensions(v []string) { + x.xxx_hidden_AllowedExtensions = v +} + +func (x *StringField) SetOptions(v []*StringFieldOption) { + x.xxx_hidden_Options = &v +} + +func (x *StringField) HasRules() bool { + if x == nil { + return false + } + return x.xxx_hidden_Rules != nil +} + +func (x *StringField) ClearRules() { + x.xxx_hidden_Rules = nil +} + +type StringField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DefaultValue string + Rules *StringRules + Type StringFieldType + // only used for FileUpload atm, oneofs are evil + AllowedExtensions []string + Options []*StringFieldOption +} + +func (b0 StringField_builder) Build() *StringField { + m0 := &StringField{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_DefaultValue = b.DefaultValue + x.xxx_hidden_Rules = b.Rules + x.xxx_hidden_Type = b.Type + x.xxx_hidden_AllowedExtensions = b.AllowedExtensions + x.xxx_hidden_Options = &b.Options + return m0 +} + +var File_c1_config_v1_config_proto protoreflect.FileDescriptor + +const file_c1_config_v1_config_proto_rawDesc = "" + + "\n" + + "\x19c1/config/v1/config.proto\x12\fc1.config.v1\x1a\x18c1/config/v1/rules.proto\x1a\x19google/protobuf/any.proto\"\xd0\x03\n" + + "\rConfiguration\x12+\n" + + "\x06fields\x18\x01 \x03(\v2\x13.c1.config.v1.FieldR\x06fields\x12:\n" + + "\vconstraints\x18\x02 \x03(\v2\x18.c1.config.v1.ConstraintR\vconstraints\x12!\n" + + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\x12\x19\n" + + "\bhelp_url\x18\x04 \x01(\tR\ahelpUrl\x12\x19\n" + + "\bicon_url\x18\x05 \x01(\tR\aiconUrl\x12!\n" + + "\fis_directory\x18\a \x01(\bR\visDirectory\x12\x1d\n" + + "\n" + + "catalog_id\x18\b \x01(\tR\tcatalogId\x12>\n" + + "\x1bsupports_external_resources\x18\t \x01(\bR\x19supportsExternalResources\x12>\n" + + "\x1brequires_external_connector\x18\n" + + " \x01(\bR\x19requiresExternalConnector\x12;\n" + + "\ffield_groups\x18\v \x03(\v2\x18.c1.config.v1.FieldGroupR\vfieldGroups\"\xea\x01\n" + + "\n" + + "Constraint\x120\n" + + "\x04kind\x18\x01 \x01(\x0e2\x1c.c1.config.v1.ConstraintKindR\x04kind\x12\x1f\n" + + "\vfield_names\x18\x02 \x03(\tR\n" + + "fieldNames\x122\n" + + "\x15secondary_field_names\x18\x03 \x03(\tR\x13secondaryFieldNames\x12\x12\n" + + "\x04name\x18\x04 \x01(\tR\x04name\x12\x1b\n" + + "\thelp_text\x18\x05 \x01(\tR\bhelpText\x12$\n" + + "\x0eis_field_group\x18\x06 \x01(\bR\fisFieldGroup\"x\n" + + "\n" + + "FieldGroup\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12\x1b\n" + + "\thelp_text\x18\x03 \x01(\tR\bhelpText\x12\x16\n" + + "\x06fields\x18\x04 \x03(\tR\x06fields\"\xab\x04\n" + + "\x05Field\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\x12 \n" + + "\vplaceholder\x18\x04 \x01(\tR\vplaceholder\x12\x1f\n" + + "\vis_required\x18\x05 \x01(\bR\n" + + "isRequired\x12\x15\n" + + "\x06is_ops\x18\x06 \x01(\bR\x05isOps\x12\x1b\n" + + "\tis_secret\x18\a \x01(\bR\bisSecret\x12>\n" + + "\fstring_field\x18d \x01(\v2\x19.c1.config.v1.StringFieldH\x00R\vstringField\x125\n" + + "\tint_field\x18e \x01(\v2\x16.c1.config.v1.IntFieldH\x00R\bintField\x128\n" + + "\n" + + "bool_field\x18f \x01(\v2\x17.c1.config.v1.BoolFieldH\x00R\tboolField\x12N\n" + + "\x12string_slice_field\x18g \x01(\v2\x1e.c1.config.v1.StringSliceFieldH\x00R\x10stringSliceField\x12H\n" + + "\x10string_map_field\x18h \x01(\v2\x1c.c1.config.v1.StringMapFieldH\x00R\x0estringMapFieldB\a\n" + + "\x05field\"n\n" + + "\bIntField\x12#\n" + + "\rdefault_value\x18\x01 \x01(\x03R\fdefaultValue\x123\n" + + "\x05rules\x18\x02 \x01(\v2\x18.c1.config.v1.Int64RulesH\x00R\x05rules\x88\x01\x01B\b\n" + + "\x06_rules\"n\n" + + "\tBoolField\x12#\n" + + "\rdefault_value\x18\x01 \x01(\bR\fdefaultValue\x122\n" + + "\x05rules\x18\x02 \x01(\v2\x17.c1.config.v1.BoolRulesH\x00R\x05rules\x88\x01\x01B\b\n" + + "\x06_rules\"\x7f\n" + + "\x10StringSliceField\x12#\n" + + "\rdefault_value\x18\x01 \x03(\tR\fdefaultValue\x12<\n" + + "\x05rules\x18\x02 \x01(\v2!.c1.config.v1.RepeatedStringRulesH\x00R\x05rules\x88\x01\x01B\b\n" + + "\x06_rules\"\xff\x01\n" + + "\x0eStringMapField\x12S\n" + + "\rdefault_value\x18\x01 \x03(\v2..c1.config.v1.StringMapField.DefaultValueEntryR\fdefaultValue\x127\n" + + "\x05rules\x18\x02 \x01(\v2\x1c.c1.config.v1.StringMapRulesH\x00R\x05rules\x88\x01\x01\x1aU\n" + + "\x11DefaultValueEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12*\n" + + "\x05value\x18\x02 \x01(\v2\x14.google.protobuf.AnyR\x05value:\x028\x01B\b\n" + + "\x06_rules\"`\n" + + "\x11StringFieldOption\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value\x12!\n" + + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\"\x8f\x02\n" + + "\vStringField\x12#\n" + + "\rdefault_value\x18\x01 \x01(\tR\fdefaultValue\x124\n" + + "\x05rules\x18\x02 \x01(\v2\x19.c1.config.v1.StringRulesH\x00R\x05rules\x88\x01\x01\x121\n" + + "\x04type\x18\x03 \x01(\x0e2\x1d.c1.config.v1.StringFieldTypeR\x04type\x12-\n" + + "\x12allowed_extensions\x18\x04 \x03(\tR\x11allowedExtensions\x129\n" + + "\aoptions\x18\x05 \x03(\v2\x1f.c1.config.v1.StringFieldOptionR\aoptionsB\b\n" + + "\x06_rules*\xc4\x01\n" + + "\x0eConstraintKind\x12\x1f\n" + + "\x1bCONSTRAINT_KIND_UNSPECIFIED\x10\x00\x12%\n" + + "!CONSTRAINT_KIND_REQUIRED_TOGETHER\x10\x01\x12 \n" + + "\x1cCONSTRAINT_KIND_AT_LEAST_ONE\x10\x02\x12&\n" + + "\"CONSTRAINT_KIND_MUTUALLY_EXCLUSIVE\x10\x03\x12 \n" + + "\x1cCONSTRAINT_KIND_DEPENDENT_ON\x10\x04*\xc9\x01\n" + + "\x0fStringFieldType\x12&\n" + + "\"STRING_FIELD_TYPE_TEXT_UNSPECIFIED\x10\x00\x12\x1c\n" + + "\x18STRING_FIELD_TYPE_RANDOM\x10\x01\x12\x1c\n" + + "\x18STRING_FIELD_TYPE_OAUTH2\x10\x02\x12/\n" + + "+STRING_FIELD_TYPE_CONNECTOR_DERIVED_OPTIONS\x10\x03\x12!\n" + + "\x1dSTRING_FIELD_TYPE_FILE_UPLOAD\x10\x04B3Z1github.com/conductorone/baton-sdk/pb/c1/config/v1b\x06proto3" + +var file_c1_config_v1_config_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_c1_config_v1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_c1_config_v1_config_proto_goTypes = []any{ + (ConstraintKind)(0), // 0: c1.config.v1.ConstraintKind + (StringFieldType)(0), // 1: c1.config.v1.StringFieldType + (*Configuration)(nil), // 2: c1.config.v1.Configuration + (*Constraint)(nil), // 3: c1.config.v1.Constraint + (*FieldGroup)(nil), // 4: c1.config.v1.FieldGroup + (*Field)(nil), // 5: c1.config.v1.Field + (*IntField)(nil), // 6: c1.config.v1.IntField + (*BoolField)(nil), // 7: c1.config.v1.BoolField + (*StringSliceField)(nil), // 8: c1.config.v1.StringSliceField + (*StringMapField)(nil), // 9: c1.config.v1.StringMapField + (*StringFieldOption)(nil), // 10: c1.config.v1.StringFieldOption + (*StringField)(nil), // 11: c1.config.v1.StringField + nil, // 12: c1.config.v1.StringMapField.DefaultValueEntry + (*Int64Rules)(nil), // 13: c1.config.v1.Int64Rules + (*BoolRules)(nil), // 14: c1.config.v1.BoolRules + (*RepeatedStringRules)(nil), // 15: c1.config.v1.RepeatedStringRules + (*StringMapRules)(nil), // 16: c1.config.v1.StringMapRules + (*StringRules)(nil), // 17: c1.config.v1.StringRules + (*anypb.Any)(nil), // 18: google.protobuf.Any +} +var file_c1_config_v1_config_proto_depIdxs = []int32{ + 5, // 0: c1.config.v1.Configuration.fields:type_name -> c1.config.v1.Field + 3, // 1: c1.config.v1.Configuration.constraints:type_name -> c1.config.v1.Constraint + 4, // 2: c1.config.v1.Configuration.field_groups:type_name -> c1.config.v1.FieldGroup + 0, // 3: c1.config.v1.Constraint.kind:type_name -> c1.config.v1.ConstraintKind + 11, // 4: c1.config.v1.Field.string_field:type_name -> c1.config.v1.StringField + 6, // 5: c1.config.v1.Field.int_field:type_name -> c1.config.v1.IntField + 7, // 6: c1.config.v1.Field.bool_field:type_name -> c1.config.v1.BoolField + 8, // 7: c1.config.v1.Field.string_slice_field:type_name -> c1.config.v1.StringSliceField + 9, // 8: c1.config.v1.Field.string_map_field:type_name -> c1.config.v1.StringMapField + 13, // 9: c1.config.v1.IntField.rules:type_name -> c1.config.v1.Int64Rules + 14, // 10: c1.config.v1.BoolField.rules:type_name -> c1.config.v1.BoolRules + 15, // 11: c1.config.v1.StringSliceField.rules:type_name -> c1.config.v1.RepeatedStringRules + 12, // 12: c1.config.v1.StringMapField.default_value:type_name -> c1.config.v1.StringMapField.DefaultValueEntry + 16, // 13: c1.config.v1.StringMapField.rules:type_name -> c1.config.v1.StringMapRules + 17, // 14: c1.config.v1.StringField.rules:type_name -> c1.config.v1.StringRules + 1, // 15: c1.config.v1.StringField.type:type_name -> c1.config.v1.StringFieldType + 10, // 16: c1.config.v1.StringField.options:type_name -> c1.config.v1.StringFieldOption + 18, // 17: c1.config.v1.StringMapField.DefaultValueEntry.value:type_name -> google.protobuf.Any + 18, // [18:18] is the sub-list for method output_type + 18, // [18:18] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name +} + +func init() { file_c1_config_v1_config_proto_init() } +func file_c1_config_v1_config_proto_init() { + if File_c1_config_v1_config_proto != nil { + return + } + file_c1_config_v1_rules_proto_init() + file_c1_config_v1_config_proto_msgTypes[3].OneofWrappers = []any{ + (*field_StringField)(nil), + (*field_IntField)(nil), + (*field_BoolField)(nil), + (*field_StringSliceField)(nil), + (*field_StringMapField)(nil), + } + file_c1_config_v1_config_proto_msgTypes[4].OneofWrappers = []any{} + file_c1_config_v1_config_proto_msgTypes[5].OneofWrappers = []any{} + file_c1_config_v1_config_proto_msgTypes[6].OneofWrappers = []any{} + file_c1_config_v1_config_proto_msgTypes[7].OneofWrappers = []any{} + file_c1_config_v1_config_proto_msgTypes[9].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_config_v1_config_proto_rawDesc), len(file_c1_config_v1_config_proto_rawDesc)), + NumEnums: 2, + NumMessages: 11, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_config_v1_config_proto_goTypes, + DependencyIndexes: file_c1_config_v1_config_proto_depIdxs, + EnumInfos: file_c1_config_v1_config_proto_enumTypes, + MessageInfos: file_c1_config_v1_config_proto_msgTypes, + }.Build() + File_c1_config_v1_config_proto = out.File + file_c1_config_v1_config_proto_goTypes = nil + file_c1_config_v1_config_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/config/v1/rules.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/config/v1/rules.pb.go index 0958f39c..616e289a 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/config/v1/rules.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/config/v1/rules.pb.go @@ -1,16 +1,17 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/config/v1/rules.proto +//go:build !protoopaque + package v1 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -98,14 +99,9 @@ func (x WellKnownString) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use WellKnownString.Descriptor instead. -func (WellKnownString) EnumDescriptor() ([]byte, []int) { - return file_c1_config_v1_rules_proto_rawDescGZIP(), []int{0} -} - // Int64Rules describes the constraints applied to `int64` values type Int64Rules struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` // Const specifies that this field must be exactly the specified value Eq *int64 `protobuf:"varint,1,opt,name=eq,proto3,oneof" json:"eq,omitempty"` // Lt specifies that this field must be less than the specified value, @@ -161,11 +157,6 @@ func (x *Int64Rules) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Int64Rules.ProtoReflect.Descriptor instead. -func (*Int64Rules) Descriptor() ([]byte, []int) { - return file_c1_config_v1_rules_proto_rawDescGZIP(), []int{0} -} - func (x *Int64Rules) GetEq() int64 { if x != nil && x.Eq != nil { return *x.Eq @@ -229,9 +220,147 @@ func (x *Int64Rules) GetIsRequired() bool { return false } +func (x *Int64Rules) SetEq(v int64) { + x.Eq = &v +} + +func (x *Int64Rules) SetLt(v int64) { + x.Lt = &v +} + +func (x *Int64Rules) SetLte(v int64) { + x.Lte = &v +} + +func (x *Int64Rules) SetGt(v int64) { + x.Gt = &v +} + +func (x *Int64Rules) SetGte(v int64) { + x.Gte = &v +} + +func (x *Int64Rules) SetIn(v []int64) { + x.In = v +} + +func (x *Int64Rules) SetNotIn(v []int64) { + x.NotIn = v +} + +func (x *Int64Rules) SetValidateEmpty(v bool) { + x.ValidateEmpty = v +} + +func (x *Int64Rules) SetIsRequired(v bool) { + x.IsRequired = v +} + +func (x *Int64Rules) HasEq() bool { + if x == nil { + return false + } + return x.Eq != nil +} + +func (x *Int64Rules) HasLt() bool { + if x == nil { + return false + } + return x.Lt != nil +} + +func (x *Int64Rules) HasLte() bool { + if x == nil { + return false + } + return x.Lte != nil +} + +func (x *Int64Rules) HasGt() bool { + if x == nil { + return false + } + return x.Gt != nil +} + +func (x *Int64Rules) HasGte() bool { + if x == nil { + return false + } + return x.Gte != nil +} + +func (x *Int64Rules) ClearEq() { + x.Eq = nil +} + +func (x *Int64Rules) ClearLt() { + x.Lt = nil +} + +func (x *Int64Rules) ClearLte() { + x.Lte = nil +} + +func (x *Int64Rules) ClearGt() { + x.Gt = nil +} + +func (x *Int64Rules) ClearGte() { + x.Gte = nil +} + +type Int64Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Const specifies that this field must be exactly the specified value + Eq *int64 + // Lt specifies that this field must be less than the specified value, + // exclusive + Lt *int64 + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + Lte *int64 + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + Gt *int64 + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + Gte *int64 + // In specifies that this field must be equal to one of the specified + // values + In []int64 + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []int64 + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + ValidateEmpty bool + IsRequired bool +} + +func (b0 Int64Rules_builder) Build() *Int64Rules { + m0 := &Int64Rules{} + b, x := &b0, m0 + _, _ = b, x + x.Eq = b.Eq + x.Lt = b.Lt + x.Lte = b.Lte + x.Gt = b.Gt + x.Gte = b.Gte + x.In = b.In + x.NotIn = b.NotIn + x.ValidateEmpty = b.ValidateEmpty + x.IsRequired = b.IsRequired + return m0 +} + // BoolRules describes the constraints applied to `bool` values type BoolRules struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` // Const specifies that this field must be exactly the specified value Eq *bool `protobuf:"varint,1,opt,name=eq,proto3,oneof" json:"eq,omitempty"` unknownFields protoimpl.UnknownFields @@ -263,11 +392,6 @@ func (x *BoolRules) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BoolRules.ProtoReflect.Descriptor instead. -func (*BoolRules) Descriptor() ([]byte, []int) { - return file_c1_config_v1_rules_proto_rawDescGZIP(), []int{1} -} - func (x *BoolRules) GetEq() bool { if x != nil && x.Eq != nil { return *x.Eq @@ -275,9 +399,39 @@ func (x *BoolRules) GetEq() bool { return false } +func (x *BoolRules) SetEq(v bool) { + x.Eq = &v +} + +func (x *BoolRules) HasEq() bool { + if x == nil { + return false + } + return x.Eq != nil +} + +func (x *BoolRules) ClearEq() { + x.Eq = nil +} + +type BoolRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Const specifies that this field must be exactly the specified value + Eq *bool +} + +func (b0 BoolRules_builder) Build() *BoolRules { + m0 := &BoolRules{} + b, x := &b0, m0 + _, _ = b, x + x.Eq = b.Eq + return m0 +} + // RepeatedRules describe the constraints applied to `repeated` values type RepeatedRules struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` // MinItems specifies that this field must have the specified number of // items at a minimum MinItems *uint64 `protobuf:"varint,1,opt,name=min_items,json=minItems,proto3,oneof" json:"min_items,omitempty"` @@ -331,11 +485,6 @@ func (x *RepeatedRules) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RepeatedRules.ProtoReflect.Descriptor instead. -func (*RepeatedRules) Descriptor() ([]byte, []int) { - return file_c1_config_v1_rules_proto_rawDescGZIP(), []int{2} -} - func (x *RepeatedRules) GetMinItems() uint64 { if x != nil && x.MinItems != nil { return *x.MinItems @@ -382,7 +531,7 @@ func (x *RepeatedRules) GetBool() *BoolRules { return nil } -func (x *RepeatedRules) GetString_() *StringRules { +func (x *RepeatedRules) GetString() *StringRules { if x != nil { if x, ok := x.ItemRules.(*RepeatedRules_String_); ok { return x.String_ @@ -391,6 +540,11 @@ func (x *RepeatedRules) GetString_() *StringRules { return nil } +// Deprecated: Use GetString instead. +func (x *RepeatedRules) GetString_() *StringRules { + return x.GetString() +} + func (x *RepeatedRules) GetValidateEmpty() bool { if x != nil { return x.ValidateEmpty @@ -405,6 +559,206 @@ func (x *RepeatedRules) GetIsRequired() bool { return false } +func (x *RepeatedRules) SetMinItems(v uint64) { + x.MinItems = &v +} + +func (x *RepeatedRules) SetMaxItems(v uint64) { + x.MaxItems = &v +} + +func (x *RepeatedRules) SetUnique(v bool) { + x.Unique = v +} + +func (x *RepeatedRules) SetInt64(v *Int64Rules) { + if v == nil { + x.ItemRules = nil + return + } + x.ItemRules = &RepeatedRules_Int64{v} +} + +func (x *RepeatedRules) SetBool(v *BoolRules) { + if v == nil { + x.ItemRules = nil + return + } + x.ItemRules = &RepeatedRules_Bool{v} +} + +func (x *RepeatedRules) SetString(v *StringRules) { + if v == nil { + x.ItemRules = nil + return + } + x.ItemRules = &RepeatedRules_String_{v} +} + +func (x *RepeatedRules) SetValidateEmpty(v bool) { + x.ValidateEmpty = v +} + +func (x *RepeatedRules) SetIsRequired(v bool) { + x.IsRequired = v +} + +func (x *RepeatedRules) HasMinItems() bool { + if x == nil { + return false + } + return x.MinItems != nil +} + +func (x *RepeatedRules) HasMaxItems() bool { + if x == nil { + return false + } + return x.MaxItems != nil +} + +func (x *RepeatedRules) HasItemRules() bool { + if x == nil { + return false + } + return x.ItemRules != nil +} + +func (x *RepeatedRules) HasInt64() bool { + if x == nil { + return false + } + _, ok := x.ItemRules.(*RepeatedRules_Int64) + return ok +} + +func (x *RepeatedRules) HasBool() bool { + if x == nil { + return false + } + _, ok := x.ItemRules.(*RepeatedRules_Bool) + return ok +} + +func (x *RepeatedRules) HasString() bool { + if x == nil { + return false + } + _, ok := x.ItemRules.(*RepeatedRules_String_) + return ok +} + +func (x *RepeatedRules) ClearMinItems() { + x.MinItems = nil +} + +func (x *RepeatedRules) ClearMaxItems() { + x.MaxItems = nil +} + +func (x *RepeatedRules) ClearItemRules() { + x.ItemRules = nil +} + +func (x *RepeatedRules) ClearInt64() { + if _, ok := x.ItemRules.(*RepeatedRules_Int64); ok { + x.ItemRules = nil + } +} + +func (x *RepeatedRules) ClearBool() { + if _, ok := x.ItemRules.(*RepeatedRules_Bool); ok { + x.ItemRules = nil + } +} + +func (x *RepeatedRules) ClearString() { + if _, ok := x.ItemRules.(*RepeatedRules_String_); ok { + x.ItemRules = nil + } +} + +const RepeatedRules_ItemRules_not_set_case case_RepeatedRules_ItemRules = 0 +const RepeatedRules_Int64_case case_RepeatedRules_ItemRules = 100 +const RepeatedRules_Bool_case case_RepeatedRules_ItemRules = 101 +const RepeatedRules_String__case case_RepeatedRules_ItemRules = 102 + +func (x *RepeatedRules) WhichItemRules() case_RepeatedRules_ItemRules { + if x == nil { + return RepeatedRules_ItemRules_not_set_case + } + switch x.ItemRules.(type) { + case *RepeatedRules_Int64: + return RepeatedRules_Int64_case + case *RepeatedRules_Bool: + return RepeatedRules_Bool_case + case *RepeatedRules_String_: + return RepeatedRules_String__case + default: + return RepeatedRules_ItemRules_not_set_case + } +} + +type RepeatedRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // MinItems specifies that this field must have the specified number of + // items at a minimum + MinItems *uint64 + // MaxItems specifies that this field must have the specified number of + // items at a maximum + MaxItems *uint64 + // Unique specifies that all elements in this field must be unique. This + // constraint is only applicable to scalar and enum types (messages are not + // supported). + Unique bool + // Items specifies the constraints to be applied to each item in the field. + // Repeated message fields will still execute validation against each item + // unless skip is specified here. + + // Fields of oneof ItemRules: + // Scalar Field Types + Int64 *Int64Rules + Bool *BoolRules + String *StringRules + // -- end of ItemRules + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + ValidateEmpty bool + IsRequired bool +} + +func (b0 RepeatedRules_builder) Build() *RepeatedRules { + m0 := &RepeatedRules{} + b, x := &b0, m0 + _, _ = b, x + x.MinItems = b.MinItems + x.MaxItems = b.MaxItems + x.Unique = b.Unique + if b.Int64 != nil { + x.ItemRules = &RepeatedRules_Int64{b.Int64} + } + if b.Bool != nil { + x.ItemRules = &RepeatedRules_Bool{b.Bool} + } + if b.String != nil { + x.ItemRules = &RepeatedRules_String_{b.String} + } + x.ValidateEmpty = b.ValidateEmpty + x.IsRequired = b.IsRequired + return m0 +} + +type case_RepeatedRules_ItemRules protoreflect.FieldNumber + +func (x case_RepeatedRules_ItemRules) String() string { + md := file_c1_config_v1_rules_proto_msgTypes[2].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + type isRepeatedRules_ItemRules interface { isRepeatedRules_ItemRules() } @@ -429,7 +783,7 @@ func (*RepeatedRules_Bool) isRepeatedRules_ItemRules() {} func (*RepeatedRules_String_) isRepeatedRules_ItemRules() {} type RepeatedStringRules struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` // MinItems specifies that this field must have the specified number of // items at a minimum MinItems *uint64 `protobuf:"varint,1,opt,name=min_items,json=minItems,proto3,oneof" json:"min_items,omitempty"` @@ -474,11 +828,6 @@ func (x *RepeatedStringRules) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RepeatedStringRules.ProtoReflect.Descriptor instead. -func (*RepeatedStringRules) Descriptor() ([]byte, []int) { - return file_c1_config_v1_rules_proto_rawDescGZIP(), []int{3} -} - func (x *RepeatedStringRules) GetMinItems() uint64 { if x != nil && x.MinItems != nil { return *x.MinItems @@ -521,8 +870,98 @@ func (x *RepeatedStringRules) GetIsRequired() bool { return false } +func (x *RepeatedStringRules) SetMinItems(v uint64) { + x.MinItems = &v +} + +func (x *RepeatedStringRules) SetMaxItems(v uint64) { + x.MaxItems = &v +} + +func (x *RepeatedStringRules) SetUnique(v bool) { + x.Unique = v +} + +func (x *RepeatedStringRules) SetItemRules(v *StringRules) { + x.ItemRules = v +} + +func (x *RepeatedStringRules) SetValidateEmpty(v bool) { + x.ValidateEmpty = v +} + +func (x *RepeatedStringRules) SetIsRequired(v bool) { + x.IsRequired = v +} + +func (x *RepeatedStringRules) HasMinItems() bool { + if x == nil { + return false + } + return x.MinItems != nil +} + +func (x *RepeatedStringRules) HasMaxItems() bool { + if x == nil { + return false + } + return x.MaxItems != nil +} + +func (x *RepeatedStringRules) HasItemRules() bool { + if x == nil { + return false + } + return x.ItemRules != nil +} + +func (x *RepeatedStringRules) ClearMinItems() { + x.MinItems = nil +} + +func (x *RepeatedStringRules) ClearMaxItems() { + x.MaxItems = nil +} + +func (x *RepeatedStringRules) ClearItemRules() { + x.ItemRules = nil +} + +type RepeatedStringRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // MinItems specifies that this field must have the specified number of + // items at a minimum + MinItems *uint64 + // MaxItems specifies that this field must have the specified number of + // items at a maximum + MaxItems *uint64 + // Unique specifies that all elements in this field must be unique. This + // constraint is only applicable to scalar and enum types (messages are not + // supported). + Unique bool + ItemRules *StringRules + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + ValidateEmpty bool + IsRequired bool +} + +func (b0 RepeatedStringRules_builder) Build() *RepeatedStringRules { + m0 := &RepeatedStringRules{} + b, x := &b0, m0 + _, _ = b, x + x.MinItems = b.MinItems + x.MaxItems = b.MaxItems + x.Unique = b.Unique + x.ItemRules = b.ItemRules + x.ValidateEmpty = b.ValidateEmpty + x.IsRequired = b.IsRequired + return m0 +} + type StringRules struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` // Const specifies that this field must be exactly the specified value Eq *string `protobuf:"bytes,1,opt,name=eq,proto3,oneof" json:"eq,omitempty"` // Len specifies that this field must be the specified number of @@ -593,11 +1032,6 @@ func (x *StringRules) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringRules.ProtoReflect.Descriptor instead. -func (*StringRules) Descriptor() ([]byte, []int) { - return file_c1_config_v1_rules_proto_rawDescGZIP(), []int{4} -} - func (x *StringRules) GetEq() string { if x != nil && x.Eq != nil { return *x.Eq @@ -696,8 +1130,230 @@ func (x *StringRules) GetIsRequired() bool { return false } +func (x *StringRules) SetEq(v string) { + x.Eq = &v +} + +func (x *StringRules) SetLen(v uint64) { + x.Len = &v +} + +func (x *StringRules) SetMinLen(v uint64) { + x.MinLen = &v +} + +func (x *StringRules) SetMaxLen(v uint64) { + x.MaxLen = &v +} + +func (x *StringRules) SetPattern(v string) { + x.Pattern = &v +} + +func (x *StringRules) SetPrefix(v string) { + x.Prefix = &v +} + +func (x *StringRules) SetSuffix(v string) { + x.Suffix = &v +} + +func (x *StringRules) SetContains(v string) { + x.Contains = &v +} + +func (x *StringRules) SetNotContains(v string) { + x.NotContains = &v +} + +func (x *StringRules) SetIn(v []string) { + x.In = v +} + +func (x *StringRules) SetNotIn(v []string) { + x.NotIn = v +} + +func (x *StringRules) SetWellKnown(v WellKnownString) { + x.WellKnown = v +} + +func (x *StringRules) SetValidateEmpty(v bool) { + x.ValidateEmpty = v +} + +func (x *StringRules) SetIsRequired(v bool) { + x.IsRequired = v +} + +func (x *StringRules) HasEq() bool { + if x == nil { + return false + } + return x.Eq != nil +} + +func (x *StringRules) HasLen() bool { + if x == nil { + return false + } + return x.Len != nil +} + +func (x *StringRules) HasMinLen() bool { + if x == nil { + return false + } + return x.MinLen != nil +} + +func (x *StringRules) HasMaxLen() bool { + if x == nil { + return false + } + return x.MaxLen != nil +} + +func (x *StringRules) HasPattern() bool { + if x == nil { + return false + } + return x.Pattern != nil +} + +func (x *StringRules) HasPrefix() bool { + if x == nil { + return false + } + return x.Prefix != nil +} + +func (x *StringRules) HasSuffix() bool { + if x == nil { + return false + } + return x.Suffix != nil +} + +func (x *StringRules) HasContains() bool { + if x == nil { + return false + } + return x.Contains != nil +} + +func (x *StringRules) HasNotContains() bool { + if x == nil { + return false + } + return x.NotContains != nil +} + +func (x *StringRules) ClearEq() { + x.Eq = nil +} + +func (x *StringRules) ClearLen() { + x.Len = nil +} + +func (x *StringRules) ClearMinLen() { + x.MinLen = nil +} + +func (x *StringRules) ClearMaxLen() { + x.MaxLen = nil +} + +func (x *StringRules) ClearPattern() { + x.Pattern = nil +} + +func (x *StringRules) ClearPrefix() { + x.Prefix = nil +} + +func (x *StringRules) ClearSuffix() { + x.Suffix = nil +} + +func (x *StringRules) ClearContains() { + x.Contains = nil +} + +func (x *StringRules) ClearNotContains() { + x.NotContains = nil +} + +type StringRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Const specifies that this field must be exactly the specified value + Eq *string + // Len specifies that this field must be the specified number of + // characters (Unicode code points). Note that the number of + // characters may differ from the number of bytes in the string. + Len *uint64 + // MinLen specifies that this field must be the specified number of + // characters (Unicode code points) at a minimum. Note that the number of + // characters may differ from the number of bytes in the string. + MinLen *uint64 + // MaxLen specifies that this field must be the specified number of + // characters (Unicode code points) at a maximum. Note that the number of + // characters may differ from the number of bytes in the string. + MaxLen *uint64 + // Pattern specifies that this field must match against the specified + // regular expression (RE2 syntax). The included expression should elide + // any delimiters. + Pattern *string + // Prefix specifies that this field must have the specified substring at + // the beginning of the string. + Prefix *string + // Suffix specifies that this field must have the specified substring at + // the end of the string. + Suffix *string + // Contains specifies that this field must have the specified substring + // anywhere in the string. + Contains *string + // NotContains specifies that this field cannot have the specified substring + // anywhere in the string. + NotContains *string + // In specifies that this field must be equal to one of the specified + // values + In []string + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []string + WellKnown WellKnownString + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + ValidateEmpty bool + IsRequired bool +} + +func (b0 StringRules_builder) Build() *StringRules { + m0 := &StringRules{} + b, x := &b0, m0 + _, _ = b, x + x.Eq = b.Eq + x.Len = b.Len + x.MinLen = b.MinLen + x.MaxLen = b.MaxLen + x.Pattern = b.Pattern + x.Prefix = b.Prefix + x.Suffix = b.Suffix + x.Contains = b.Contains + x.NotContains = b.NotContains + x.In = b.In + x.NotIn = b.NotIn + x.WellKnown = b.WellKnown + x.ValidateEmpty = b.ValidateEmpty + x.IsRequired = b.IsRequired + return m0 +} + type StringMapRules struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` // IgnoreEmpty specifies that the validation rules of this field should be // evaluated only if the field is not empty ValidateEmpty bool `protobuf:"varint,1,opt,name=validate_empty,json=validateEmpty,proto3" json:"validate_empty,omitempty"` @@ -731,11 +1387,6 @@ func (x *StringMapRules) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringMapRules.ProtoReflect.Descriptor instead. -func (*StringMapRules) Descriptor() ([]byte, []int) { - return file_c1_config_v1_rules_proto_rawDescGZIP(), []int{5} -} - func (x *StringMapRules) GetValidateEmpty() bool { if x != nil { return x.ValidateEmpty @@ -750,148 +1401,131 @@ func (x *StringMapRules) GetIsRequired() bool { return false } -var File_c1_config_v1_rules_proto protoreflect.FileDescriptor +func (x *StringMapRules) SetValidateEmpty(v bool) { + x.ValidateEmpty = v +} -var file_c1_config_v1_rules_proto_rawDesc = string([]byte{ - 0x0a, 0x18, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x63, 0x31, 0x2e, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x22, 0x8d, 0x02, 0x0a, 0x0a, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x13, 0x0a, 0x02, 0x65, 0x71, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x02, 0x65, 0x71, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, - 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x02, 0x6c, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x15, 0x0a, 0x03, 0x6c, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, - 0x52, 0x03, 0x6c, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x02, 0x67, 0x74, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, - 0x03, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x03, 0x67, 0x74, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x03, - 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, - 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x65, 0x71, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, - 0x74, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6c, 0x74, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x74, - 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x74, 0x65, 0x22, 0x27, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x6c, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x13, 0x0a, 0x02, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x00, 0x52, 0x02, 0x65, 0x71, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x65, - 0x71, 0x22, 0xf3, 0x02, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x49, - 0x74, 0x65, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, - 0x30, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x74, 0x36, - 0x34, 0x12, 0x2d, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x6f, 0x6f, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x6c, - 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, - 0x69, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x42, 0x0c, 0x0a, - 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x8f, 0x02, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, - 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x69, - 0x74, 0x65, 0x6d, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, - 0x69, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xab, 0x04, 0x0a, 0x0b, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x13, 0x0a, 0x02, 0x65, 0x71, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x65, 0x71, 0x88, 0x01, 0x01, 0x12, 0x15, - 0x0a, 0x03, 0x6c, 0x65, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x03, 0x6c, - 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x4c, 0x65, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x04, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x05, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, - 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, - 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x08, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x6e, - 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x08, 0x52, 0x0b, 0x6e, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x0b, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x3c, 0x0a, 0x0a, 0x77, 0x65, - 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, - 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, - 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x77, - 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, - 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x1b, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, - 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x65, 0x71, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6c, 0x65, 0x6e, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x22, 0x58, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x4d, 0x61, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x2a, 0x99, 0x02, 0x0a, 0x0f, 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x1d, 0x57, 0x45, 0x4c, 0x4c, 0x5f, 0x4b, 0x4e, - 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x57, 0x45, 0x4c, 0x4c, - 0x5f, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x45, 0x4d, - 0x41, 0x49, 0x4c, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x57, 0x45, 0x4c, 0x4c, 0x5f, 0x4b, 0x4e, - 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x4e, - 0x41, 0x4d, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x57, 0x45, 0x4c, 0x4c, 0x5f, 0x4b, 0x4e, - 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x50, 0x10, 0x03, 0x12, - 0x1a, 0x0a, 0x16, 0x57, 0x45, 0x4c, 0x4c, 0x5f, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x54, - 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x50, 0x56, 0x34, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x57, - 0x45, 0x4c, 0x4c, 0x5f, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, - 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x57, 0x45, 0x4c, 0x4c, 0x5f, - 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x52, 0x49, - 0x10, 0x06, 0x12, 0x1d, 0x0a, 0x19, 0x57, 0x45, 0x4c, 0x4c, 0x5f, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, - 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, - 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x57, 0x45, 0x4c, 0x4c, 0x5f, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, - 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x55, 0x49, 0x44, 0x10, 0x08, 0x42, 0x33, 0x5a, - 0x31, 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, 0x66, 0x69, 0x67, 0x2f, - 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) +func (x *StringMapRules) SetIsRequired(v bool) { + x.IsRequired = v +} -var ( - file_c1_config_v1_rules_proto_rawDescOnce sync.Once - file_c1_config_v1_rules_proto_rawDescData []byte -) +type StringMapRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + ValidateEmpty bool + IsRequired bool +} -func file_c1_config_v1_rules_proto_rawDescGZIP() []byte { - file_c1_config_v1_rules_proto_rawDescOnce.Do(func() { - file_c1_config_v1_rules_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_config_v1_rules_proto_rawDesc), len(file_c1_config_v1_rules_proto_rawDesc))) - }) - return file_c1_config_v1_rules_proto_rawDescData +func (b0 StringMapRules_builder) Build() *StringMapRules { + m0 := &StringMapRules{} + b, x := &b0, m0 + _, _ = b, x + x.ValidateEmpty = b.ValidateEmpty + x.IsRequired = b.IsRequired + return m0 } +var File_c1_config_v1_rules_proto protoreflect.FileDescriptor + +const file_c1_config_v1_rules_proto_rawDesc = "" + + "\n" + + "\x18c1/config/v1/rules.proto\x12\fc1.config.v1\"\x8d\x02\n" + + "\n" + + "Int64Rules\x12\x13\n" + + "\x02eq\x18\x01 \x01(\x03H\x00R\x02eq\x88\x01\x01\x12\x13\n" + + "\x02lt\x18\x02 \x01(\x03H\x01R\x02lt\x88\x01\x01\x12\x15\n" + + "\x03lte\x18\x03 \x01(\x03H\x02R\x03lte\x88\x01\x01\x12\x13\n" + + "\x02gt\x18\x04 \x01(\x03H\x03R\x02gt\x88\x01\x01\x12\x15\n" + + "\x03gte\x18\x05 \x01(\x03H\x04R\x03gte\x88\x01\x01\x12\x0e\n" + + "\x02in\x18\x06 \x03(\x03R\x02in\x12\x15\n" + + "\x06not_in\x18\a \x03(\x03R\x05notIn\x12%\n" + + "\x0evalidate_empty\x18\b \x01(\bR\rvalidateEmpty\x12\x1f\n" + + "\vis_required\x18\t \x01(\bR\n" + + "isRequiredB\x05\n" + + "\x03_eqB\x05\n" + + "\x03_ltB\x06\n" + + "\x04_lteB\x05\n" + + "\x03_gtB\x06\n" + + "\x04_gte\"'\n" + + "\tBoolRules\x12\x13\n" + + "\x02eq\x18\x01 \x01(\bH\x00R\x02eq\x88\x01\x01B\x05\n" + + "\x03_eq\"\xf3\x02\n" + + "\rRepeatedRules\x12 \n" + + "\tmin_items\x18\x01 \x01(\x04H\x01R\bminItems\x88\x01\x01\x12 \n" + + "\tmax_items\x18\x02 \x01(\x04H\x02R\bmaxItems\x88\x01\x01\x12\x16\n" + + "\x06unique\x18\x03 \x01(\bR\x06unique\x120\n" + + "\x05int64\x18d \x01(\v2\x18.c1.config.v1.Int64RulesH\x00R\x05int64\x12-\n" + + "\x04bool\x18e \x01(\v2\x17.c1.config.v1.BoolRulesH\x00R\x04bool\x123\n" + + "\x06string\x18f \x01(\v2\x19.c1.config.v1.StringRulesH\x00R\x06string\x12%\n" + + "\x0evalidate_empty\x18\x04 \x01(\bR\rvalidateEmpty\x12\x1f\n" + + "\vis_required\x18\x05 \x01(\bR\n" + + "isRequiredB\f\n" + + "\n" + + "item_rulesB\f\n" + + "\n" + + "_min_itemsB\f\n" + + "\n" + + "_max_items\"\x8f\x02\n" + + "\x13RepeatedStringRules\x12 \n" + + "\tmin_items\x18\x01 \x01(\x04H\x00R\bminItems\x88\x01\x01\x12 \n" + + "\tmax_items\x18\x02 \x01(\x04H\x01R\bmaxItems\x88\x01\x01\x12\x16\n" + + "\x06unique\x18\x03 \x01(\bR\x06unique\x128\n" + + "\n" + + "item_rules\x18\x04 \x01(\v2\x19.c1.config.v1.StringRulesR\titemRules\x12%\n" + + "\x0evalidate_empty\x18\x05 \x01(\bR\rvalidateEmpty\x12\x1f\n" + + "\vis_required\x18\x06 \x01(\bR\n" + + "isRequiredB\f\n" + + "\n" + + "_min_itemsB\f\n" + + "\n" + + "_max_items\"\xab\x04\n" + + "\vStringRules\x12\x13\n" + + "\x02eq\x18\x01 \x01(\tH\x00R\x02eq\x88\x01\x01\x12\x15\n" + + "\x03len\x18\x13 \x01(\x04H\x01R\x03len\x88\x01\x01\x12\x1c\n" + + "\amin_len\x18\x02 \x01(\x04H\x02R\x06minLen\x88\x01\x01\x12\x1c\n" + + "\amax_len\x18\x03 \x01(\x04H\x03R\x06maxLen\x88\x01\x01\x12\x1d\n" + + "\apattern\x18\x06 \x01(\tH\x04R\apattern\x88\x01\x01\x12\x1b\n" + + "\x06prefix\x18\a \x01(\tH\x05R\x06prefix\x88\x01\x01\x12\x1b\n" + + "\x06suffix\x18\b \x01(\tH\x06R\x06suffix\x88\x01\x01\x12\x1f\n" + + "\bcontains\x18\t \x01(\tH\aR\bcontains\x88\x01\x01\x12&\n" + + "\fnot_contains\x18\x17 \x01(\tH\bR\vnotContains\x88\x01\x01\x12\x0e\n" + + "\x02in\x18\n" + + " \x03(\tR\x02in\x12\x15\n" + + "\x06not_in\x18\v \x03(\tR\x05notIn\x12<\n" + + "\n" + + "well_known\x18\f \x01(\x0e2\x1d.c1.config.v1.WellKnownStringR\twellKnown\x12%\n" + + "\x0evalidate_empty\x18\x1a \x01(\bR\rvalidateEmpty\x12\x1f\n" + + "\vis_required\x18\x1b \x01(\bR\n" + + "isRequiredB\x05\n" + + "\x03_eqB\x06\n" + + "\x04_lenB\n" + + "\n" + + "\b_min_lenB\n" + + "\n" + + "\b_max_lenB\n" + + "\n" + + "\b_patternB\t\n" + + "\a_prefixB\t\n" + + "\a_suffixB\v\n" + + "\t_containsB\x0f\n" + + "\r_not_contains\"X\n" + + "\x0eStringMapRules\x12%\n" + + "\x0evalidate_empty\x18\x01 \x01(\bR\rvalidateEmpty\x12\x1f\n" + + "\vis_required\x18\x02 \x01(\bR\n" + + "isRequired*\x99\x02\n" + + "\x0fWellKnownString\x12!\n" + + "\x1dWELL_KNOWN_STRING_UNSPECIFIED\x10\x00\x12\x1b\n" + + "\x17WELL_KNOWN_STRING_EMAIL\x10\x01\x12\x1e\n" + + "\x1aWELL_KNOWN_STRING_HOSTNAME\x10\x02\x12\x18\n" + + "\x14WELL_KNOWN_STRING_IP\x10\x03\x12\x1a\n" + + "\x16WELL_KNOWN_STRING_IPV4\x10\x04\x12\x1a\n" + + "\x16WELL_KNOWN_STRING_IPV6\x10\x05\x12\x19\n" + + "\x15WELL_KNOWN_STRING_URI\x10\x06\x12\x1d\n" + + "\x19WELL_KNOWN_STRING_ADDRESS\x10\a\x12\x1a\n" + + "\x16WELL_KNOWN_STRING_UUID\x10\bB3Z1github.com/conductorone/baton-sdk/pb/c1/config/v1b\x06proto3" + var file_c1_config_v1_rules_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_c1_config_v1_rules_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_c1_config_v1_rules_proto_goTypes = []any{ diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/config/v1/rules_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/config/v1/rules_protoopaque.pb.go new file mode 100644 index 00000000..048da3ed --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/config/v1/rules_protoopaque.pb.go @@ -0,0 +1,1622 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/config/v1/rules.proto + +//go:build protoopaque + +package v1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + 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) +) + +type WellKnownString int32 + +const ( + WellKnownString_WELL_KNOWN_STRING_UNSPECIFIED WellKnownString = 0 + // Email specifies that the field must be a valid email address as + // defined by RFC 5322 + WellKnownString_WELL_KNOWN_STRING_EMAIL WellKnownString = 1 + // Hostname specifies that the field must be a valid hostname as + // defined by RFC 1034. This constraint does not support + // internationalized domain names (IDNs). + WellKnownString_WELL_KNOWN_STRING_HOSTNAME WellKnownString = 2 + // Ip specifies that the field must be a valid IP (v4 or v6) address. + // Valid IPv6 addresses should not include surrounding square brackets. + WellKnownString_WELL_KNOWN_STRING_IP WellKnownString = 3 + // Ipv4 specifies that the field must be a valid IPv4 address. + WellKnownString_WELL_KNOWN_STRING_IPV4 WellKnownString = 4 + // Ipv6 specifies that the field must be a valid IPv6 address. Valid + // IPv6 addresses should not include surrounding square brackets. + WellKnownString_WELL_KNOWN_STRING_IPV6 WellKnownString = 5 + WellKnownString_WELL_KNOWN_STRING_URI WellKnownString = 6 + // Address specifies that the field must be either a valid hostname as + // defined by RFC 1034 (which does not support internationalized domain + // names or IDNs), or it can be a valid IP (v4 or v6). + WellKnownString_WELL_KNOWN_STRING_ADDRESS WellKnownString = 7 + // Uuid specifies that the field must be a valid UUID as defined by + // RFC 4122 + WellKnownString_WELL_KNOWN_STRING_UUID WellKnownString = 8 +) + +// Enum value maps for WellKnownString. +var ( + WellKnownString_name = map[int32]string{ + 0: "WELL_KNOWN_STRING_UNSPECIFIED", + 1: "WELL_KNOWN_STRING_EMAIL", + 2: "WELL_KNOWN_STRING_HOSTNAME", + 3: "WELL_KNOWN_STRING_IP", + 4: "WELL_KNOWN_STRING_IPV4", + 5: "WELL_KNOWN_STRING_IPV6", + 6: "WELL_KNOWN_STRING_URI", + 7: "WELL_KNOWN_STRING_ADDRESS", + 8: "WELL_KNOWN_STRING_UUID", + } + WellKnownString_value = map[string]int32{ + "WELL_KNOWN_STRING_UNSPECIFIED": 0, + "WELL_KNOWN_STRING_EMAIL": 1, + "WELL_KNOWN_STRING_HOSTNAME": 2, + "WELL_KNOWN_STRING_IP": 3, + "WELL_KNOWN_STRING_IPV4": 4, + "WELL_KNOWN_STRING_IPV6": 5, + "WELL_KNOWN_STRING_URI": 6, + "WELL_KNOWN_STRING_ADDRESS": 7, + "WELL_KNOWN_STRING_UUID": 8, + } +) + +func (x WellKnownString) Enum() *WellKnownString { + p := new(WellKnownString) + *p = x + return p +} + +func (x WellKnownString) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WellKnownString) Descriptor() protoreflect.EnumDescriptor { + return file_c1_config_v1_rules_proto_enumTypes[0].Descriptor() +} + +func (WellKnownString) Type() protoreflect.EnumType { + return &file_c1_config_v1_rules_proto_enumTypes[0] +} + +func (x WellKnownString) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Int64Rules describes the constraints applied to `int64` values +type Int64Rules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Eq int64 `protobuf:"varint,1,opt,name=eq,proto3,oneof"` + xxx_hidden_Lt int64 `protobuf:"varint,2,opt,name=lt,proto3,oneof"` + xxx_hidden_Lte int64 `protobuf:"varint,3,opt,name=lte,proto3,oneof"` + xxx_hidden_Gt int64 `protobuf:"varint,4,opt,name=gt,proto3,oneof"` + xxx_hidden_Gte int64 `protobuf:"varint,5,opt,name=gte,proto3,oneof"` + xxx_hidden_In []int64 `protobuf:"varint,6,rep,packed,name=in,proto3"` + xxx_hidden_NotIn []int64 `protobuf:"varint,7,rep,packed,name=not_in,json=notIn,proto3"` + xxx_hidden_ValidateEmpty bool `protobuf:"varint,8,opt,name=validate_empty,json=validateEmpty,proto3"` + xxx_hidden_IsRequired bool `protobuf:"varint,9,opt,name=is_required,json=isRequired,proto3"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Int64Rules) Reset() { + *x = Int64Rules{} + mi := &file_c1_config_v1_rules_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Int64Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Int64Rules) ProtoMessage() {} + +func (x *Int64Rules) ProtoReflect() protoreflect.Message { + mi := &file_c1_config_v1_rules_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) +} + +func (x *Int64Rules) GetEq() int64 { + if x != nil { + return x.xxx_hidden_Eq + } + return 0 +} + +func (x *Int64Rules) GetLt() int64 { + if x != nil { + return x.xxx_hidden_Lt + } + return 0 +} + +func (x *Int64Rules) GetLte() int64 { + if x != nil { + return x.xxx_hidden_Lte + } + return 0 +} + +func (x *Int64Rules) GetGt() int64 { + if x != nil { + return x.xxx_hidden_Gt + } + return 0 +} + +func (x *Int64Rules) GetGte() int64 { + if x != nil { + return x.xxx_hidden_Gte + } + return 0 +} + +func (x *Int64Rules) GetIn() []int64 { + if x != nil { + return x.xxx_hidden_In + } + return nil +} + +func (x *Int64Rules) GetNotIn() []int64 { + if x != nil { + return x.xxx_hidden_NotIn + } + return nil +} + +func (x *Int64Rules) GetValidateEmpty() bool { + if x != nil { + return x.xxx_hidden_ValidateEmpty + } + return false +} + +func (x *Int64Rules) GetIsRequired() bool { + if x != nil { + return x.xxx_hidden_IsRequired + } + return false +} + +func (x *Int64Rules) SetEq(v int64) { + x.xxx_hidden_Eq = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 9) +} + +func (x *Int64Rules) SetLt(v int64) { + x.xxx_hidden_Lt = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 9) +} + +func (x *Int64Rules) SetLte(v int64) { + x.xxx_hidden_Lte = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 9) +} + +func (x *Int64Rules) SetGt(v int64) { + x.xxx_hidden_Gt = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 9) +} + +func (x *Int64Rules) SetGte(v int64) { + x.xxx_hidden_Gte = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 4, 9) +} + +func (x *Int64Rules) SetIn(v []int64) { + x.xxx_hidden_In = v +} + +func (x *Int64Rules) SetNotIn(v []int64) { + x.xxx_hidden_NotIn = v +} + +func (x *Int64Rules) SetValidateEmpty(v bool) { + x.xxx_hidden_ValidateEmpty = v +} + +func (x *Int64Rules) SetIsRequired(v bool) { + x.xxx_hidden_IsRequired = v +} + +func (x *Int64Rules) HasEq() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *Int64Rules) HasLt() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 1) +} + +func (x *Int64Rules) HasLte() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 2) +} + +func (x *Int64Rules) HasGt() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 3) +} + +func (x *Int64Rules) HasGte() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 4) +} + +func (x *Int64Rules) ClearEq() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Eq = 0 +} + +func (x *Int64Rules) ClearLt() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) + x.xxx_hidden_Lt = 0 +} + +func (x *Int64Rules) ClearLte() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2) + x.xxx_hidden_Lte = 0 +} + +func (x *Int64Rules) ClearGt() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 3) + x.xxx_hidden_Gt = 0 +} + +func (x *Int64Rules) ClearGte() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 4) + x.xxx_hidden_Gte = 0 +} + +type Int64Rules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Const specifies that this field must be exactly the specified value + Eq *int64 + // Lt specifies that this field must be less than the specified value, + // exclusive + Lt *int64 + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + Lte *int64 + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + Gt *int64 + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + Gte *int64 + // In specifies that this field must be equal to one of the specified + // values + In []int64 + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []int64 + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + ValidateEmpty bool + IsRequired bool +} + +func (b0 Int64Rules_builder) Build() *Int64Rules { + m0 := &Int64Rules{} + b, x := &b0, m0 + _, _ = b, x + if b.Eq != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 9) + x.xxx_hidden_Eq = *b.Eq + } + if b.Lt != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 9) + x.xxx_hidden_Lt = *b.Lt + } + if b.Lte != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 9) + x.xxx_hidden_Lte = *b.Lte + } + if b.Gt != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 9) + x.xxx_hidden_Gt = *b.Gt + } + if b.Gte != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 4, 9) + x.xxx_hidden_Gte = *b.Gte + } + x.xxx_hidden_In = b.In + x.xxx_hidden_NotIn = b.NotIn + x.xxx_hidden_ValidateEmpty = b.ValidateEmpty + x.xxx_hidden_IsRequired = b.IsRequired + return m0 +} + +// BoolRules describes the constraints applied to `bool` values +type BoolRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Eq bool `protobuf:"varint,1,opt,name=eq,proto3,oneof"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BoolRules) Reset() { + *x = BoolRules{} + mi := &file_c1_config_v1_rules_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BoolRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoolRules) ProtoMessage() {} + +func (x *BoolRules) ProtoReflect() protoreflect.Message { + mi := &file_c1_config_v1_rules_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) +} + +func (x *BoolRules) GetEq() bool { + if x != nil { + return x.xxx_hidden_Eq + } + return false +} + +func (x *BoolRules) SetEq(v bool) { + x.xxx_hidden_Eq = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1) +} + +func (x *BoolRules) HasEq() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *BoolRules) ClearEq() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Eq = false +} + +type BoolRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Const specifies that this field must be exactly the specified value + Eq *bool +} + +func (b0 BoolRules_builder) Build() *BoolRules { + m0 := &BoolRules{} + b, x := &b0, m0 + _, _ = b, x + if b.Eq != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1) + x.xxx_hidden_Eq = *b.Eq + } + return m0 +} + +// RepeatedRules describe the constraints applied to `repeated` values +type RepeatedRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_MinItems uint64 `protobuf:"varint,1,opt,name=min_items,json=minItems,proto3,oneof"` + xxx_hidden_MaxItems uint64 `protobuf:"varint,2,opt,name=max_items,json=maxItems,proto3,oneof"` + xxx_hidden_Unique bool `protobuf:"varint,3,opt,name=unique,proto3"` + xxx_hidden_ItemRules isRepeatedRules_ItemRules `protobuf_oneof:"item_rules"` + xxx_hidden_ValidateEmpty bool `protobuf:"varint,4,opt,name=validate_empty,json=validateEmpty,proto3"` + xxx_hidden_IsRequired bool `protobuf:"varint,5,opt,name=is_required,json=isRequired,proto3"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RepeatedRules) Reset() { + *x = RepeatedRules{} + mi := &file_c1_config_v1_rules_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RepeatedRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepeatedRules) ProtoMessage() {} + +func (x *RepeatedRules) ProtoReflect() protoreflect.Message { + mi := &file_c1_config_v1_rules_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) +} + +func (x *RepeatedRules) GetMinItems() uint64 { + if x != nil { + return x.xxx_hidden_MinItems + } + return 0 +} + +func (x *RepeatedRules) GetMaxItems() uint64 { + if x != nil { + return x.xxx_hidden_MaxItems + } + return 0 +} + +func (x *RepeatedRules) GetUnique() bool { + if x != nil { + return x.xxx_hidden_Unique + } + return false +} + +func (x *RepeatedRules) GetInt64() *Int64Rules { + if x != nil { + if x, ok := x.xxx_hidden_ItemRules.(*repeatedRules_Int64); ok { + return x.Int64 + } + } + return nil +} + +func (x *RepeatedRules) GetBool() *BoolRules { + if x != nil { + if x, ok := x.xxx_hidden_ItemRules.(*repeatedRules_Bool); ok { + return x.Bool + } + } + return nil +} + +func (x *RepeatedRules) GetString() *StringRules { + if x != nil { + if x, ok := x.xxx_hidden_ItemRules.(*repeatedRules_String_); ok { + return x.String_ + } + } + return nil +} + +func (x *RepeatedRules) GetValidateEmpty() bool { + if x != nil { + return x.xxx_hidden_ValidateEmpty + } + return false +} + +func (x *RepeatedRules) GetIsRequired() bool { + if x != nil { + return x.xxx_hidden_IsRequired + } + return false +} + +func (x *RepeatedRules) SetMinItems(v uint64) { + x.xxx_hidden_MinItems = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 6) +} + +func (x *RepeatedRules) SetMaxItems(v uint64) { + x.xxx_hidden_MaxItems = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 6) +} + +func (x *RepeatedRules) SetUnique(v bool) { + x.xxx_hidden_Unique = v +} + +func (x *RepeatedRules) SetInt64(v *Int64Rules) { + if v == nil { + x.xxx_hidden_ItemRules = nil + return + } + x.xxx_hidden_ItemRules = &repeatedRules_Int64{v} +} + +func (x *RepeatedRules) SetBool(v *BoolRules) { + if v == nil { + x.xxx_hidden_ItemRules = nil + return + } + x.xxx_hidden_ItemRules = &repeatedRules_Bool{v} +} + +func (x *RepeatedRules) SetString(v *StringRules) { + if v == nil { + x.xxx_hidden_ItemRules = nil + return + } + x.xxx_hidden_ItemRules = &repeatedRules_String_{v} +} + +func (x *RepeatedRules) SetValidateEmpty(v bool) { + x.xxx_hidden_ValidateEmpty = v +} + +func (x *RepeatedRules) SetIsRequired(v bool) { + x.xxx_hidden_IsRequired = v +} + +func (x *RepeatedRules) HasMinItems() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *RepeatedRules) HasMaxItems() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 1) +} + +func (x *RepeatedRules) HasItemRules() bool { + if x == nil { + return false + } + return x.xxx_hidden_ItemRules != nil +} + +func (x *RepeatedRules) HasInt64() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_ItemRules.(*repeatedRules_Int64) + return ok +} + +func (x *RepeatedRules) HasBool() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_ItemRules.(*repeatedRules_Bool) + return ok +} + +func (x *RepeatedRules) HasString() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_ItemRules.(*repeatedRules_String_) + return ok +} + +func (x *RepeatedRules) ClearMinItems() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_MinItems = 0 +} + +func (x *RepeatedRules) ClearMaxItems() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) + x.xxx_hidden_MaxItems = 0 +} + +func (x *RepeatedRules) ClearItemRules() { + x.xxx_hidden_ItemRules = nil +} + +func (x *RepeatedRules) ClearInt64() { + if _, ok := x.xxx_hidden_ItemRules.(*repeatedRules_Int64); ok { + x.xxx_hidden_ItemRules = nil + } +} + +func (x *RepeatedRules) ClearBool() { + if _, ok := x.xxx_hidden_ItemRules.(*repeatedRules_Bool); ok { + x.xxx_hidden_ItemRules = nil + } +} + +func (x *RepeatedRules) ClearString() { + if _, ok := x.xxx_hidden_ItemRules.(*repeatedRules_String_); ok { + x.xxx_hidden_ItemRules = nil + } +} + +const RepeatedRules_ItemRules_not_set_case case_RepeatedRules_ItemRules = 0 +const RepeatedRules_Int64_case case_RepeatedRules_ItemRules = 100 +const RepeatedRules_Bool_case case_RepeatedRules_ItemRules = 101 +const RepeatedRules_String__case case_RepeatedRules_ItemRules = 102 + +func (x *RepeatedRules) WhichItemRules() case_RepeatedRules_ItemRules { + if x == nil { + return RepeatedRules_ItemRules_not_set_case + } + switch x.xxx_hidden_ItemRules.(type) { + case *repeatedRules_Int64: + return RepeatedRules_Int64_case + case *repeatedRules_Bool: + return RepeatedRules_Bool_case + case *repeatedRules_String_: + return RepeatedRules_String__case + default: + return RepeatedRules_ItemRules_not_set_case + } +} + +type RepeatedRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // MinItems specifies that this field must have the specified number of + // items at a minimum + MinItems *uint64 + // MaxItems specifies that this field must have the specified number of + // items at a maximum + MaxItems *uint64 + // Unique specifies that all elements in this field must be unique. This + // constraint is only applicable to scalar and enum types (messages are not + // supported). + Unique bool + // Items specifies the constraints to be applied to each item in the field. + // Repeated message fields will still execute validation against each item + // unless skip is specified here. + + // Fields of oneof xxx_hidden_ItemRules: + // Scalar Field Types + Int64 *Int64Rules + Bool *BoolRules + String *StringRules + // -- end of xxx_hidden_ItemRules + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + ValidateEmpty bool + IsRequired bool +} + +func (b0 RepeatedRules_builder) Build() *RepeatedRules { + m0 := &RepeatedRules{} + b, x := &b0, m0 + _, _ = b, x + if b.MinItems != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 6) + x.xxx_hidden_MinItems = *b.MinItems + } + if b.MaxItems != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 6) + x.xxx_hidden_MaxItems = *b.MaxItems + } + x.xxx_hidden_Unique = b.Unique + if b.Int64 != nil { + x.xxx_hidden_ItemRules = &repeatedRules_Int64{b.Int64} + } + if b.Bool != nil { + x.xxx_hidden_ItemRules = &repeatedRules_Bool{b.Bool} + } + if b.String != nil { + x.xxx_hidden_ItemRules = &repeatedRules_String_{b.String} + } + x.xxx_hidden_ValidateEmpty = b.ValidateEmpty + x.xxx_hidden_IsRequired = b.IsRequired + return m0 +} + +type case_RepeatedRules_ItemRules protoreflect.FieldNumber + +func (x case_RepeatedRules_ItemRules) String() string { + md := file_c1_config_v1_rules_proto_msgTypes[2].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isRepeatedRules_ItemRules interface { + isRepeatedRules_ItemRules() +} + +type repeatedRules_Int64 struct { + // Scalar Field Types + Int64 *Int64Rules `protobuf:"bytes,100,opt,name=int64,proto3,oneof"` +} + +type repeatedRules_Bool struct { + Bool *BoolRules `protobuf:"bytes,101,opt,name=bool,proto3,oneof"` +} + +type repeatedRules_String_ struct { + String_ *StringRules `protobuf:"bytes,102,opt,name=string,proto3,oneof"` // RepeatedRules repeated = 103; +} + +func (*repeatedRules_Int64) isRepeatedRules_ItemRules() {} + +func (*repeatedRules_Bool) isRepeatedRules_ItemRules() {} + +func (*repeatedRules_String_) isRepeatedRules_ItemRules() {} + +type RepeatedStringRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_MinItems uint64 `protobuf:"varint,1,opt,name=min_items,json=minItems,proto3,oneof"` + xxx_hidden_MaxItems uint64 `protobuf:"varint,2,opt,name=max_items,json=maxItems,proto3,oneof"` + xxx_hidden_Unique bool `protobuf:"varint,3,opt,name=unique,proto3"` + xxx_hidden_ItemRules *StringRules `protobuf:"bytes,4,opt,name=item_rules,json=itemRules,proto3"` + xxx_hidden_ValidateEmpty bool `protobuf:"varint,5,opt,name=validate_empty,json=validateEmpty,proto3"` + xxx_hidden_IsRequired bool `protobuf:"varint,6,opt,name=is_required,json=isRequired,proto3"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RepeatedStringRules) Reset() { + *x = RepeatedStringRules{} + mi := &file_c1_config_v1_rules_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RepeatedStringRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepeatedStringRules) ProtoMessage() {} + +func (x *RepeatedStringRules) ProtoReflect() protoreflect.Message { + mi := &file_c1_config_v1_rules_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) +} + +func (x *RepeatedStringRules) GetMinItems() uint64 { + if x != nil { + return x.xxx_hidden_MinItems + } + return 0 +} + +func (x *RepeatedStringRules) GetMaxItems() uint64 { + if x != nil { + return x.xxx_hidden_MaxItems + } + return 0 +} + +func (x *RepeatedStringRules) GetUnique() bool { + if x != nil { + return x.xxx_hidden_Unique + } + return false +} + +func (x *RepeatedStringRules) GetItemRules() *StringRules { + if x != nil { + return x.xxx_hidden_ItemRules + } + return nil +} + +func (x *RepeatedStringRules) GetValidateEmpty() bool { + if x != nil { + return x.xxx_hidden_ValidateEmpty + } + return false +} + +func (x *RepeatedStringRules) GetIsRequired() bool { + if x != nil { + return x.xxx_hidden_IsRequired + } + return false +} + +func (x *RepeatedStringRules) SetMinItems(v uint64) { + x.xxx_hidden_MinItems = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 6) +} + +func (x *RepeatedStringRules) SetMaxItems(v uint64) { + x.xxx_hidden_MaxItems = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 6) +} + +func (x *RepeatedStringRules) SetUnique(v bool) { + x.xxx_hidden_Unique = v +} + +func (x *RepeatedStringRules) SetItemRules(v *StringRules) { + x.xxx_hidden_ItemRules = v +} + +func (x *RepeatedStringRules) SetValidateEmpty(v bool) { + x.xxx_hidden_ValidateEmpty = v +} + +func (x *RepeatedStringRules) SetIsRequired(v bool) { + x.xxx_hidden_IsRequired = v +} + +func (x *RepeatedStringRules) HasMinItems() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *RepeatedStringRules) HasMaxItems() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 1) +} + +func (x *RepeatedStringRules) HasItemRules() bool { + if x == nil { + return false + } + return x.xxx_hidden_ItemRules != nil +} + +func (x *RepeatedStringRules) ClearMinItems() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_MinItems = 0 +} + +func (x *RepeatedStringRules) ClearMaxItems() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) + x.xxx_hidden_MaxItems = 0 +} + +func (x *RepeatedStringRules) ClearItemRules() { + x.xxx_hidden_ItemRules = nil +} + +type RepeatedStringRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // MinItems specifies that this field must have the specified number of + // items at a minimum + MinItems *uint64 + // MaxItems specifies that this field must have the specified number of + // items at a maximum + MaxItems *uint64 + // Unique specifies that all elements in this field must be unique. This + // constraint is only applicable to scalar and enum types (messages are not + // supported). + Unique bool + ItemRules *StringRules + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + ValidateEmpty bool + IsRequired bool +} + +func (b0 RepeatedStringRules_builder) Build() *RepeatedStringRules { + m0 := &RepeatedStringRules{} + b, x := &b0, m0 + _, _ = b, x + if b.MinItems != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 6) + x.xxx_hidden_MinItems = *b.MinItems + } + if b.MaxItems != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 6) + x.xxx_hidden_MaxItems = *b.MaxItems + } + x.xxx_hidden_Unique = b.Unique + x.xxx_hidden_ItemRules = b.ItemRules + x.xxx_hidden_ValidateEmpty = b.ValidateEmpty + x.xxx_hidden_IsRequired = b.IsRequired + return m0 +} + +type StringRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Eq *string `protobuf:"bytes,1,opt,name=eq,proto3,oneof"` + xxx_hidden_Len uint64 `protobuf:"varint,19,opt,name=len,proto3,oneof"` + xxx_hidden_MinLen uint64 `protobuf:"varint,2,opt,name=min_len,json=minLen,proto3,oneof"` + xxx_hidden_MaxLen uint64 `protobuf:"varint,3,opt,name=max_len,json=maxLen,proto3,oneof"` + xxx_hidden_Pattern *string `protobuf:"bytes,6,opt,name=pattern,proto3,oneof"` + xxx_hidden_Prefix *string `protobuf:"bytes,7,opt,name=prefix,proto3,oneof"` + xxx_hidden_Suffix *string `protobuf:"bytes,8,opt,name=suffix,proto3,oneof"` + xxx_hidden_Contains *string `protobuf:"bytes,9,opt,name=contains,proto3,oneof"` + xxx_hidden_NotContains *string `protobuf:"bytes,23,opt,name=not_contains,json=notContains,proto3,oneof"` + xxx_hidden_In []string `protobuf:"bytes,10,rep,name=in,proto3"` + xxx_hidden_NotIn []string `protobuf:"bytes,11,rep,name=not_in,json=notIn,proto3"` + xxx_hidden_WellKnown WellKnownString `protobuf:"varint,12,opt,name=well_known,json=wellKnown,proto3,enum=c1.config.v1.WellKnownString"` + xxx_hidden_ValidateEmpty bool `protobuf:"varint,26,opt,name=validate_empty,json=validateEmpty,proto3"` + xxx_hidden_IsRequired bool `protobuf:"varint,27,opt,name=is_required,json=isRequired,proto3"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StringRules) Reset() { + *x = StringRules{} + mi := &file_c1_config_v1_rules_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StringRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringRules) ProtoMessage() {} + +func (x *StringRules) ProtoReflect() protoreflect.Message { + mi := &file_c1_config_v1_rules_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *StringRules) GetEq() string { + if x != nil { + if x.xxx_hidden_Eq != nil { + return *x.xxx_hidden_Eq + } + return "" + } + return "" +} + +func (x *StringRules) GetLen() uint64 { + if x != nil { + return x.xxx_hidden_Len + } + return 0 +} + +func (x *StringRules) GetMinLen() uint64 { + if x != nil { + return x.xxx_hidden_MinLen + } + return 0 +} + +func (x *StringRules) GetMaxLen() uint64 { + if x != nil { + return x.xxx_hidden_MaxLen + } + return 0 +} + +func (x *StringRules) GetPattern() string { + if x != nil { + if x.xxx_hidden_Pattern != nil { + return *x.xxx_hidden_Pattern + } + return "" + } + return "" +} + +func (x *StringRules) GetPrefix() string { + if x != nil { + if x.xxx_hidden_Prefix != nil { + return *x.xxx_hidden_Prefix + } + return "" + } + return "" +} + +func (x *StringRules) GetSuffix() string { + if x != nil { + if x.xxx_hidden_Suffix != nil { + return *x.xxx_hidden_Suffix + } + return "" + } + return "" +} + +func (x *StringRules) GetContains() string { + if x != nil { + if x.xxx_hidden_Contains != nil { + return *x.xxx_hidden_Contains + } + return "" + } + return "" +} + +func (x *StringRules) GetNotContains() string { + if x != nil { + if x.xxx_hidden_NotContains != nil { + return *x.xxx_hidden_NotContains + } + return "" + } + return "" +} + +func (x *StringRules) GetIn() []string { + if x != nil { + return x.xxx_hidden_In + } + return nil +} + +func (x *StringRules) GetNotIn() []string { + if x != nil { + return x.xxx_hidden_NotIn + } + return nil +} + +func (x *StringRules) GetWellKnown() WellKnownString { + if x != nil { + return x.xxx_hidden_WellKnown + } + return WellKnownString_WELL_KNOWN_STRING_UNSPECIFIED +} + +func (x *StringRules) GetValidateEmpty() bool { + if x != nil { + return x.xxx_hidden_ValidateEmpty + } + return false +} + +func (x *StringRules) GetIsRequired() bool { + if x != nil { + return x.xxx_hidden_IsRequired + } + return false +} + +func (x *StringRules) SetEq(v string) { + x.xxx_hidden_Eq = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 14) +} + +func (x *StringRules) SetLen(v uint64) { + x.xxx_hidden_Len = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 14) +} + +func (x *StringRules) SetMinLen(v uint64) { + x.xxx_hidden_MinLen = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 14) +} + +func (x *StringRules) SetMaxLen(v uint64) { + x.xxx_hidden_MaxLen = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 14) +} + +func (x *StringRules) SetPattern(v string) { + x.xxx_hidden_Pattern = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 4, 14) +} + +func (x *StringRules) SetPrefix(v string) { + x.xxx_hidden_Prefix = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 5, 14) +} + +func (x *StringRules) SetSuffix(v string) { + x.xxx_hidden_Suffix = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 6, 14) +} + +func (x *StringRules) SetContains(v string) { + x.xxx_hidden_Contains = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 7, 14) +} + +func (x *StringRules) SetNotContains(v string) { + x.xxx_hidden_NotContains = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 8, 14) +} + +func (x *StringRules) SetIn(v []string) { + x.xxx_hidden_In = v +} + +func (x *StringRules) SetNotIn(v []string) { + x.xxx_hidden_NotIn = v +} + +func (x *StringRules) SetWellKnown(v WellKnownString) { + x.xxx_hidden_WellKnown = v +} + +func (x *StringRules) SetValidateEmpty(v bool) { + x.xxx_hidden_ValidateEmpty = v +} + +func (x *StringRules) SetIsRequired(v bool) { + x.xxx_hidden_IsRequired = v +} + +func (x *StringRules) HasEq() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *StringRules) HasLen() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 1) +} + +func (x *StringRules) HasMinLen() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 2) +} + +func (x *StringRules) HasMaxLen() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 3) +} + +func (x *StringRules) HasPattern() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 4) +} + +func (x *StringRules) HasPrefix() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 5) +} + +func (x *StringRules) HasSuffix() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 6) +} + +func (x *StringRules) HasContains() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 7) +} + +func (x *StringRules) HasNotContains() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 8) +} + +func (x *StringRules) ClearEq() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_Eq = nil +} + +func (x *StringRules) ClearLen() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) + x.xxx_hidden_Len = 0 +} + +func (x *StringRules) ClearMinLen() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2) + x.xxx_hidden_MinLen = 0 +} + +func (x *StringRules) ClearMaxLen() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 3) + x.xxx_hidden_MaxLen = 0 +} + +func (x *StringRules) ClearPattern() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 4) + x.xxx_hidden_Pattern = nil +} + +func (x *StringRules) ClearPrefix() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 5) + x.xxx_hidden_Prefix = nil +} + +func (x *StringRules) ClearSuffix() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 6) + x.xxx_hidden_Suffix = nil +} + +func (x *StringRules) ClearContains() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 7) + x.xxx_hidden_Contains = nil +} + +func (x *StringRules) ClearNotContains() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 8) + x.xxx_hidden_NotContains = nil +} + +type StringRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Const specifies that this field must be exactly the specified value + Eq *string + // Len specifies that this field must be the specified number of + // characters (Unicode code points). Note that the number of + // characters may differ from the number of bytes in the string. + Len *uint64 + // MinLen specifies that this field must be the specified number of + // characters (Unicode code points) at a minimum. Note that the number of + // characters may differ from the number of bytes in the string. + MinLen *uint64 + // MaxLen specifies that this field must be the specified number of + // characters (Unicode code points) at a maximum. Note that the number of + // characters may differ from the number of bytes in the string. + MaxLen *uint64 + // Pattern specifies that this field must match against the specified + // regular expression (RE2 syntax). The included expression should elide + // any delimiters. + Pattern *string + // Prefix specifies that this field must have the specified substring at + // the beginning of the string. + Prefix *string + // Suffix specifies that this field must have the specified substring at + // the end of the string. + Suffix *string + // Contains specifies that this field must have the specified substring + // anywhere in the string. + Contains *string + // NotContains specifies that this field cannot have the specified substring + // anywhere in the string. + NotContains *string + // In specifies that this field must be equal to one of the specified + // values + In []string + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []string + WellKnown WellKnownString + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + ValidateEmpty bool + IsRequired bool +} + +func (b0 StringRules_builder) Build() *StringRules { + m0 := &StringRules{} + b, x := &b0, m0 + _, _ = b, x + if b.Eq != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 14) + x.xxx_hidden_Eq = b.Eq + } + if b.Len != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 14) + x.xxx_hidden_Len = *b.Len + } + if b.MinLen != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 14) + x.xxx_hidden_MinLen = *b.MinLen + } + if b.MaxLen != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 14) + x.xxx_hidden_MaxLen = *b.MaxLen + } + if b.Pattern != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 4, 14) + x.xxx_hidden_Pattern = b.Pattern + } + if b.Prefix != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 5, 14) + x.xxx_hidden_Prefix = b.Prefix + } + if b.Suffix != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 6, 14) + x.xxx_hidden_Suffix = b.Suffix + } + if b.Contains != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 7, 14) + x.xxx_hidden_Contains = b.Contains + } + if b.NotContains != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 8, 14) + x.xxx_hidden_NotContains = b.NotContains + } + x.xxx_hidden_In = b.In + x.xxx_hidden_NotIn = b.NotIn + x.xxx_hidden_WellKnown = b.WellKnown + x.xxx_hidden_ValidateEmpty = b.ValidateEmpty + x.xxx_hidden_IsRequired = b.IsRequired + return m0 +} + +type StringMapRules struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ValidateEmpty bool `protobuf:"varint,1,opt,name=validate_empty,json=validateEmpty,proto3"` + xxx_hidden_IsRequired bool `protobuf:"varint,2,opt,name=is_required,json=isRequired,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StringMapRules) Reset() { + *x = StringMapRules{} + mi := &file_c1_config_v1_rules_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StringMapRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringMapRules) ProtoMessage() {} + +func (x *StringMapRules) ProtoReflect() protoreflect.Message { + mi := &file_c1_config_v1_rules_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *StringMapRules) GetValidateEmpty() bool { + if x != nil { + return x.xxx_hidden_ValidateEmpty + } + return false +} + +func (x *StringMapRules) GetIsRequired() bool { + if x != nil { + return x.xxx_hidden_IsRequired + } + return false +} + +func (x *StringMapRules) SetValidateEmpty(v bool) { + x.xxx_hidden_ValidateEmpty = v +} + +func (x *StringMapRules) SetIsRequired(v bool) { + x.xxx_hidden_IsRequired = v +} + +type StringMapRules_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // IgnoreEmpty specifies that the validation rules of this field should be + // evaluated only if the field is not empty + ValidateEmpty bool + IsRequired bool +} + +func (b0 StringMapRules_builder) Build() *StringMapRules { + m0 := &StringMapRules{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ValidateEmpty = b.ValidateEmpty + x.xxx_hidden_IsRequired = b.IsRequired + return m0 +} + +var File_c1_config_v1_rules_proto protoreflect.FileDescriptor + +const file_c1_config_v1_rules_proto_rawDesc = "" + + "\n" + + "\x18c1/config/v1/rules.proto\x12\fc1.config.v1\"\x8d\x02\n" + + "\n" + + "Int64Rules\x12\x13\n" + + "\x02eq\x18\x01 \x01(\x03H\x00R\x02eq\x88\x01\x01\x12\x13\n" + + "\x02lt\x18\x02 \x01(\x03H\x01R\x02lt\x88\x01\x01\x12\x15\n" + + "\x03lte\x18\x03 \x01(\x03H\x02R\x03lte\x88\x01\x01\x12\x13\n" + + "\x02gt\x18\x04 \x01(\x03H\x03R\x02gt\x88\x01\x01\x12\x15\n" + + "\x03gte\x18\x05 \x01(\x03H\x04R\x03gte\x88\x01\x01\x12\x0e\n" + + "\x02in\x18\x06 \x03(\x03R\x02in\x12\x15\n" + + "\x06not_in\x18\a \x03(\x03R\x05notIn\x12%\n" + + "\x0evalidate_empty\x18\b \x01(\bR\rvalidateEmpty\x12\x1f\n" + + "\vis_required\x18\t \x01(\bR\n" + + "isRequiredB\x05\n" + + "\x03_eqB\x05\n" + + "\x03_ltB\x06\n" + + "\x04_lteB\x05\n" + + "\x03_gtB\x06\n" + + "\x04_gte\"'\n" + + "\tBoolRules\x12\x13\n" + + "\x02eq\x18\x01 \x01(\bH\x00R\x02eq\x88\x01\x01B\x05\n" + + "\x03_eq\"\xf3\x02\n" + + "\rRepeatedRules\x12 \n" + + "\tmin_items\x18\x01 \x01(\x04H\x01R\bminItems\x88\x01\x01\x12 \n" + + "\tmax_items\x18\x02 \x01(\x04H\x02R\bmaxItems\x88\x01\x01\x12\x16\n" + + "\x06unique\x18\x03 \x01(\bR\x06unique\x120\n" + + "\x05int64\x18d \x01(\v2\x18.c1.config.v1.Int64RulesH\x00R\x05int64\x12-\n" + + "\x04bool\x18e \x01(\v2\x17.c1.config.v1.BoolRulesH\x00R\x04bool\x123\n" + + "\x06string\x18f \x01(\v2\x19.c1.config.v1.StringRulesH\x00R\x06string\x12%\n" + + "\x0evalidate_empty\x18\x04 \x01(\bR\rvalidateEmpty\x12\x1f\n" + + "\vis_required\x18\x05 \x01(\bR\n" + + "isRequiredB\f\n" + + "\n" + + "item_rulesB\f\n" + + "\n" + + "_min_itemsB\f\n" + + "\n" + + "_max_items\"\x8f\x02\n" + + "\x13RepeatedStringRules\x12 \n" + + "\tmin_items\x18\x01 \x01(\x04H\x00R\bminItems\x88\x01\x01\x12 \n" + + "\tmax_items\x18\x02 \x01(\x04H\x01R\bmaxItems\x88\x01\x01\x12\x16\n" + + "\x06unique\x18\x03 \x01(\bR\x06unique\x128\n" + + "\n" + + "item_rules\x18\x04 \x01(\v2\x19.c1.config.v1.StringRulesR\titemRules\x12%\n" + + "\x0evalidate_empty\x18\x05 \x01(\bR\rvalidateEmpty\x12\x1f\n" + + "\vis_required\x18\x06 \x01(\bR\n" + + "isRequiredB\f\n" + + "\n" + + "_min_itemsB\f\n" + + "\n" + + "_max_items\"\xab\x04\n" + + "\vStringRules\x12\x13\n" + + "\x02eq\x18\x01 \x01(\tH\x00R\x02eq\x88\x01\x01\x12\x15\n" + + "\x03len\x18\x13 \x01(\x04H\x01R\x03len\x88\x01\x01\x12\x1c\n" + + "\amin_len\x18\x02 \x01(\x04H\x02R\x06minLen\x88\x01\x01\x12\x1c\n" + + "\amax_len\x18\x03 \x01(\x04H\x03R\x06maxLen\x88\x01\x01\x12\x1d\n" + + "\apattern\x18\x06 \x01(\tH\x04R\apattern\x88\x01\x01\x12\x1b\n" + + "\x06prefix\x18\a \x01(\tH\x05R\x06prefix\x88\x01\x01\x12\x1b\n" + + "\x06suffix\x18\b \x01(\tH\x06R\x06suffix\x88\x01\x01\x12\x1f\n" + + "\bcontains\x18\t \x01(\tH\aR\bcontains\x88\x01\x01\x12&\n" + + "\fnot_contains\x18\x17 \x01(\tH\bR\vnotContains\x88\x01\x01\x12\x0e\n" + + "\x02in\x18\n" + + " \x03(\tR\x02in\x12\x15\n" + + "\x06not_in\x18\v \x03(\tR\x05notIn\x12<\n" + + "\n" + + "well_known\x18\f \x01(\x0e2\x1d.c1.config.v1.WellKnownStringR\twellKnown\x12%\n" + + "\x0evalidate_empty\x18\x1a \x01(\bR\rvalidateEmpty\x12\x1f\n" + + "\vis_required\x18\x1b \x01(\bR\n" + + "isRequiredB\x05\n" + + "\x03_eqB\x06\n" + + "\x04_lenB\n" + + "\n" + + "\b_min_lenB\n" + + "\n" + + "\b_max_lenB\n" + + "\n" + + "\b_patternB\t\n" + + "\a_prefixB\t\n" + + "\a_suffixB\v\n" + + "\t_containsB\x0f\n" + + "\r_not_contains\"X\n" + + "\x0eStringMapRules\x12%\n" + + "\x0evalidate_empty\x18\x01 \x01(\bR\rvalidateEmpty\x12\x1f\n" + + "\vis_required\x18\x02 \x01(\bR\n" + + "isRequired*\x99\x02\n" + + "\x0fWellKnownString\x12!\n" + + "\x1dWELL_KNOWN_STRING_UNSPECIFIED\x10\x00\x12\x1b\n" + + "\x17WELL_KNOWN_STRING_EMAIL\x10\x01\x12\x1e\n" + + "\x1aWELL_KNOWN_STRING_HOSTNAME\x10\x02\x12\x18\n" + + "\x14WELL_KNOWN_STRING_IP\x10\x03\x12\x1a\n" + + "\x16WELL_KNOWN_STRING_IPV4\x10\x04\x12\x1a\n" + + "\x16WELL_KNOWN_STRING_IPV6\x10\x05\x12\x19\n" + + "\x15WELL_KNOWN_STRING_URI\x10\x06\x12\x1d\n" + + "\x19WELL_KNOWN_STRING_ADDRESS\x10\a\x12\x1a\n" + + "\x16WELL_KNOWN_STRING_UUID\x10\bB3Z1github.com/conductorone/baton-sdk/pb/c1/config/v1b\x06proto3" + +var file_c1_config_v1_rules_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_c1_config_v1_rules_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_c1_config_v1_rules_proto_goTypes = []any{ + (WellKnownString)(0), // 0: c1.config.v1.WellKnownString + (*Int64Rules)(nil), // 1: c1.config.v1.Int64Rules + (*BoolRules)(nil), // 2: c1.config.v1.BoolRules + (*RepeatedRules)(nil), // 3: c1.config.v1.RepeatedRules + (*RepeatedStringRules)(nil), // 4: c1.config.v1.RepeatedStringRules + (*StringRules)(nil), // 5: c1.config.v1.StringRules + (*StringMapRules)(nil), // 6: c1.config.v1.StringMapRules +} +var file_c1_config_v1_rules_proto_depIdxs = []int32{ + 1, // 0: c1.config.v1.RepeatedRules.int64:type_name -> c1.config.v1.Int64Rules + 2, // 1: c1.config.v1.RepeatedRules.bool:type_name -> c1.config.v1.BoolRules + 5, // 2: c1.config.v1.RepeatedRules.string:type_name -> c1.config.v1.StringRules + 5, // 3: c1.config.v1.RepeatedStringRules.item_rules:type_name -> c1.config.v1.StringRules + 0, // 4: c1.config.v1.StringRules.well_known:type_name -> c1.config.v1.WellKnownString + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_c1_config_v1_rules_proto_init() } +func file_c1_config_v1_rules_proto_init() { + if File_c1_config_v1_rules_proto != nil { + return + } + file_c1_config_v1_rules_proto_msgTypes[0].OneofWrappers = []any{} + file_c1_config_v1_rules_proto_msgTypes[1].OneofWrappers = []any{} + file_c1_config_v1_rules_proto_msgTypes[2].OneofWrappers = []any{ + (*repeatedRules_Int64)(nil), + (*repeatedRules_Bool)(nil), + (*repeatedRules_String_)(nil), + } + file_c1_config_v1_rules_proto_msgTypes[3].OneofWrappers = []any{} + file_c1_config_v1_rules_proto_msgTypes[4].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_config_v1_rules_proto_rawDesc), len(file_c1_config_v1_rules_proto_rawDesc)), + NumEnums: 1, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_config_v1_rules_proto_goTypes, + DependencyIndexes: file_c1_config_v1_rules_proto_depIdxs, + EnumInfos: file_c1_config_v1_rules_proto_enumTypes, + MessageInfos: file_c1_config_v1_rules_proto_msgTypes, + }.Build() + File_c1_config_v1_rules_proto = out.File + file_c1_config_v1_rules_proto_goTypes = nil + file_c1_config_v1_rules_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/action.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/action.pb.go index 569a555f..1801c93c 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/action.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/action.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/action.proto +//go:build !protoopaque + package v2 import ( @@ -13,7 +15,6 @@ import ( anypb "google.golang.org/protobuf/types/known/anypb" structpb "google.golang.org/protobuf/types/known/structpb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -77,19 +78,69 @@ func (x BatonActionStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use BatonActionStatus.Descriptor instead. -func (BatonActionStatus) EnumDescriptor() ([]byte, []int) { - return file_c1_connector_v2_action_proto_rawDescGZIP(), []int{0} +// This defines the action type. +type ActionType int32 + +const ( + ActionType_ACTION_TYPE_UNSPECIFIED ActionType = 0 + ActionType_ACTION_TYPE_DYNAMIC ActionType = 1 + ActionType_ACTION_TYPE_ACCOUNT ActionType = 2 + ActionType_ACTION_TYPE_ACCOUNT_UPDATE_PROFILE ActionType = 3 + ActionType_ACTION_TYPE_ACCOUNT_DISABLE ActionType = 4 + ActionType_ACTION_TYPE_ACCOUNT_ENABLE ActionType = 5 +) + +// Enum value maps for ActionType. +var ( + ActionType_name = map[int32]string{ + 0: "ACTION_TYPE_UNSPECIFIED", + 1: "ACTION_TYPE_DYNAMIC", + 2: "ACTION_TYPE_ACCOUNT", + 3: "ACTION_TYPE_ACCOUNT_UPDATE_PROFILE", + 4: "ACTION_TYPE_ACCOUNT_DISABLE", + 5: "ACTION_TYPE_ACCOUNT_ENABLE", + } + ActionType_value = map[string]int32{ + "ACTION_TYPE_UNSPECIFIED": 0, + "ACTION_TYPE_DYNAMIC": 1, + "ACTION_TYPE_ACCOUNT": 2, + "ACTION_TYPE_ACCOUNT_UPDATE_PROFILE": 3, + "ACTION_TYPE_ACCOUNT_DISABLE": 4, + "ACTION_TYPE_ACCOUNT_ENABLE": 5, + } +) + +func (x ActionType) Enum() *ActionType { + p := new(ActionType) + *p = x + return p +} + +func (x ActionType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ActionType) Descriptor() protoreflect.EnumDescriptor { + return file_c1_connector_v2_action_proto_enumTypes[1].Descriptor() +} + +func (ActionType) Type() protoreflect.EnumType { + return &file_c1_connector_v2_action_proto_enumTypes[1] +} + +func (x ActionType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } type BatonActionSchema struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Arguments []*v1.Field `protobuf:"bytes,2,rep,name=arguments,proto3" json:"arguments,omitempty"` Constraints []*v1.Constraint `protobuf:"bytes,3,rep,name=constraints,proto3" json:"constraints,omitempty"` ReturnTypes []*v1.Field `protobuf:"bytes,4,rep,name=return_types,json=returnTypes,proto3" json:"return_types,omitempty"` DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` + ActionType []ActionType `protobuf:"varint,7,rep,packed,name=action_type,json=actionType,proto3,enum=c1.connector.v2.ActionType" json:"action_type,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -119,11 +170,6 @@ func (x *BatonActionSchema) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatonActionSchema.ProtoReflect.Descriptor instead. -func (*BatonActionSchema) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_action_proto_rawDescGZIP(), []int{0} -} - func (x *BatonActionSchema) GetName() string { if x != nil { return x.Name @@ -166,8 +212,69 @@ func (x *BatonActionSchema) GetDescription() string { return "" } +func (x *BatonActionSchema) GetActionType() []ActionType { + if x != nil { + return x.ActionType + } + return nil +} + +func (x *BatonActionSchema) SetName(v string) { + x.Name = v +} + +func (x *BatonActionSchema) SetArguments(v []*v1.Field) { + x.Arguments = v +} + +func (x *BatonActionSchema) SetConstraints(v []*v1.Constraint) { + x.Constraints = v +} + +func (x *BatonActionSchema) SetReturnTypes(v []*v1.Field) { + x.ReturnTypes = v +} + +func (x *BatonActionSchema) SetDisplayName(v string) { + x.DisplayName = v +} + +func (x *BatonActionSchema) SetDescription(v string) { + x.Description = v +} + +func (x *BatonActionSchema) SetActionType(v []ActionType) { + x.ActionType = v +} + +type BatonActionSchema_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + Arguments []*v1.Field + Constraints []*v1.Constraint + ReturnTypes []*v1.Field + DisplayName string + Description string + ActionType []ActionType +} + +func (b0 BatonActionSchema_builder) Build() *BatonActionSchema { + m0 := &BatonActionSchema{} + b, x := &b0, m0 + _, _ = b, x + x.Name = b.Name + x.Arguments = b.Arguments + x.Constraints = b.Constraints + x.ReturnTypes = b.ReturnTypes + x.DisplayName = b.DisplayName + x.Description = b.Description + x.ActionType = b.ActionType + return m0 +} + type InvokeActionRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Args *structpb.Struct `protobuf:"bytes,2,opt,name=args,proto3" json:"args,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` @@ -200,11 +307,6 @@ func (x *InvokeActionRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use InvokeActionRequest.ProtoReflect.Descriptor instead. -func (*InvokeActionRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_action_proto_rawDescGZIP(), []int{1} -} - func (x *InvokeActionRequest) GetName() string { if x != nil { return x.Name @@ -226,8 +328,49 @@ func (x *InvokeActionRequest) GetAnnotations() []*anypb.Any { return nil } +func (x *InvokeActionRequest) SetName(v string) { + x.Name = v +} + +func (x *InvokeActionRequest) SetArgs(v *structpb.Struct) { + x.Args = v +} + +func (x *InvokeActionRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *InvokeActionRequest) HasArgs() bool { + if x == nil { + return false + } + return x.Args != nil +} + +func (x *InvokeActionRequest) ClearArgs() { + x.Args = nil +} + +type InvokeActionRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + Args *structpb.Struct + Annotations []*anypb.Any +} + +func (b0 InvokeActionRequest_builder) Build() *InvokeActionRequest { + m0 := &InvokeActionRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Name = b.Name + x.Args = b.Args + x.Annotations = b.Annotations + return m0 +} + type InvokeActionResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Status BatonActionStatus `protobuf:"varint,2,opt,name=status,proto3,enum=c1.connector.v2.BatonActionStatus" json:"status,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` @@ -262,11 +405,6 @@ func (x *InvokeActionResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use InvokeActionResponse.ProtoReflect.Descriptor instead. -func (*InvokeActionResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_action_proto_rawDescGZIP(), []int{2} -} - func (x *InvokeActionResponse) GetId() string { if x != nil { return x.Id @@ -302,8 +440,61 @@ func (x *InvokeActionResponse) GetName() string { return "" } +func (x *InvokeActionResponse) SetId(v string) { + x.Id = v +} + +func (x *InvokeActionResponse) SetStatus(v BatonActionStatus) { + x.Status = v +} + +func (x *InvokeActionResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *InvokeActionResponse) SetResponse(v *structpb.Struct) { + x.Response = v +} + +func (x *InvokeActionResponse) SetName(v string) { + x.Name = v +} + +func (x *InvokeActionResponse) HasResponse() bool { + if x == nil { + return false + } + return x.Response != nil +} + +func (x *InvokeActionResponse) ClearResponse() { + x.Response = nil +} + +type InvokeActionResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + Status BatonActionStatus + Annotations []*anypb.Any + Response *structpb.Struct + Name string +} + +func (b0 InvokeActionResponse_builder) Build() *InvokeActionResponse { + m0 := &InvokeActionResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + x.Status = b.Status + x.Annotations = b.Annotations + x.Response = b.Response + x.Name = b.Name + return m0 +} + type GetActionStatusRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` // Deprecated: Marked as deprecated in c1/connector/v2/action.proto. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` @@ -337,11 +528,6 @@ func (x *GetActionStatusRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetActionStatusRequest.ProtoReflect.Descriptor instead. -func (*GetActionStatusRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_action_proto_rawDescGZIP(), []int{3} -} - // Deprecated: Marked as deprecated in c1/connector/v2/action.proto. func (x *GetActionStatusRequest) GetName() string { if x != nil { @@ -364,8 +550,40 @@ func (x *GetActionStatusRequest) GetAnnotations() []*anypb.Any { return nil } +// Deprecated: Marked as deprecated in c1/connector/v2/action.proto. +func (x *GetActionStatusRequest) SetName(v string) { + x.Name = v +} + +func (x *GetActionStatusRequest) SetId(v string) { + x.Id = v +} + +func (x *GetActionStatusRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type GetActionStatusRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Deprecated: Marked as deprecated in c1/connector/v2/action.proto. + Name string + Id string + Annotations []*anypb.Any +} + +func (b0 GetActionStatusRequest_builder) Build() *GetActionStatusRequest { + m0 := &GetActionStatusRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Name = b.Name + x.Id = b.Id + x.Annotations = b.Annotations + return m0 +} + type GetActionStatusResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` Status BatonActionStatus `protobuf:"varint,3,opt,name=status,proto3,enum=c1.connector.v2.BatonActionStatus" json:"status,omitempty"` @@ -400,11 +618,6 @@ func (x *GetActionStatusResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetActionStatusResponse.ProtoReflect.Descriptor instead. -func (*GetActionStatusResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_action_proto_rawDescGZIP(), []int{4} -} - func (x *GetActionStatusResponse) GetName() string { if x != nil { return x.Name @@ -440,8 +653,61 @@ func (x *GetActionStatusResponse) GetResponse() *structpb.Struct { return nil } +func (x *GetActionStatusResponse) SetName(v string) { + x.Name = v +} + +func (x *GetActionStatusResponse) SetId(v string) { + x.Id = v +} + +func (x *GetActionStatusResponse) SetStatus(v BatonActionStatus) { + x.Status = v +} + +func (x *GetActionStatusResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *GetActionStatusResponse) SetResponse(v *structpb.Struct) { + x.Response = v +} + +func (x *GetActionStatusResponse) HasResponse() bool { + if x == nil { + return false + } + return x.Response != nil +} + +func (x *GetActionStatusResponse) ClearResponse() { + x.Response = nil +} + +type GetActionStatusResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + Id string + Status BatonActionStatus + Annotations []*anypb.Any + Response *structpb.Struct +} + +func (b0 GetActionStatusResponse_builder) Build() *GetActionStatusResponse { + m0 := &GetActionStatusResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Name = b.Name + x.Id = b.Id + x.Status = b.Status + x.Annotations = b.Annotations + x.Response = b.Response + return m0 +} + type GetActionSchemaRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -473,11 +739,6 @@ func (x *GetActionSchemaRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetActionSchemaRequest.ProtoReflect.Descriptor instead. -func (*GetActionSchemaRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_action_proto_rawDescGZIP(), []int{5} -} - func (x *GetActionSchemaRequest) GetName() string { if x != nil { return x.Name @@ -492,8 +753,32 @@ func (x *GetActionSchemaRequest) GetAnnotations() []*anypb.Any { return nil } +func (x *GetActionSchemaRequest) SetName(v string) { + x.Name = v +} + +func (x *GetActionSchemaRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type GetActionSchemaRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + Annotations []*anypb.Any +} + +func (b0 GetActionSchemaRequest_builder) Build() *GetActionSchemaRequest { + m0 := &GetActionSchemaRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Name = b.Name + x.Annotations = b.Annotations + return m0 +} + type GetActionSchemaResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Schema *BatonActionSchema `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -525,11 +810,6 @@ func (x *GetActionSchemaResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetActionSchemaResponse.ProtoReflect.Descriptor instead. -func (*GetActionSchemaResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_action_proto_rawDescGZIP(), []int{6} -} - func (x *GetActionSchemaResponse) GetSchema() *BatonActionSchema { if x != nil { return x.Schema @@ -544,8 +824,43 @@ func (x *GetActionSchemaResponse) GetAnnotations() []*anypb.Any { return nil } +func (x *GetActionSchemaResponse) SetSchema(v *BatonActionSchema) { + x.Schema = v +} + +func (x *GetActionSchemaResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *GetActionSchemaResponse) HasSchema() bool { + if x == nil { + return false + } + return x.Schema != nil +} + +func (x *GetActionSchemaResponse) ClearSchema() { + x.Schema = nil +} + +type GetActionSchemaResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Schema *BatonActionSchema + Annotations []*anypb.Any +} + +func (b0 GetActionSchemaResponse_builder) Build() *GetActionSchemaResponse { + m0 := &GetActionSchemaResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Schema = b.Schema + x.Annotations = b.Annotations + return m0 +} + type ListActionSchemasRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -576,11 +891,6 @@ func (x *ListActionSchemasRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListActionSchemasRequest.ProtoReflect.Descriptor instead. -func (*ListActionSchemasRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_action_proto_rawDescGZIP(), []int{7} -} - func (x *ListActionSchemasRequest) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -588,8 +898,26 @@ func (x *ListActionSchemasRequest) GetAnnotations() []*anypb.Any { return nil } +func (x *ListActionSchemasRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type ListActionSchemasRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 ListActionSchemasRequest_builder) Build() *ListActionSchemasRequest { + m0 := &ListActionSchemasRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + return m0 +} + type ListActionSchemasResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Schemas []*BatonActionSchema `protobuf:"bytes,1,rep,name=schemas,proto3" json:"schemas,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -621,11 +949,6 @@ func (x *ListActionSchemasResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListActionSchemasResponse.ProtoReflect.Descriptor instead. -func (*ListActionSchemasResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_action_proto_rawDescGZIP(), []int{8} -} - func (x *ListActionSchemasResponse) GetSchemas() []*BatonActionSchema { if x != nil { return x.Schemas @@ -640,219 +963,148 @@ func (x *ListActionSchemasResponse) GetAnnotations() []*anypb.Any { return nil } -var File_c1_connector_v2_action_proto protoreflect.FileDescriptor +func (x *ListActionSchemasResponse) SetSchemas(v []*BatonActionSchema) { + x.Schemas = v +} -var file_c1_connector_v2_action_proto_rawDesc = string([]byte{ - 0x0a, 0x1c, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, - 0x32, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, - 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x1a, - 0x19, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 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, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x02, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, - 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 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, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x12, 0x3a, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, - 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x0c, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 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, 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x01, 0x0a, 0x13, 0x49, 0x6e, - 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 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, 0x04, 0x61, 0x72, - 0x67, 0x73, 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, 0xe3, 0x01, 0x0a, 0x14, 0x49, - 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x12, 0x33, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 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, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x78, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 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, 0xe6, 0x01, 0x0a, 0x17, 0x47, - 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x31, 0x2e, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, - 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x33, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x05, 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, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 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, 0x8d, 0x01, 0x0a, 0x17, 0x47, 0x65, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 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, 0x18, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 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, 0x91, 0x01, - 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 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, 0x42, - 0x61, 0x74, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x52, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 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, 0x2a, 0xdd, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x41, 0x54, 0x4f, 0x4e, - 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, - 0x42, 0x41, 0x54, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x1f, 0x0a, - 0x1b, 0x42, 0x41, 0x54, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1f, - 0x0a, 0x1b, 0x42, 0x41, 0x54, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, - 0x20, 0x0a, 0x1c, 0x42, 0x41, 0x54, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, - 0x04, 0x12, 0x1e, 0x0a, 0x1a, 0x42, 0x41, 0x54, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, - 0x05, 0x32, 0xa4, 0x03, 0x0a, 0x0d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x0c, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x31, 0x2e, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x76, 0x6f, - 0x6b, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x64, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, - 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, - 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x27, 0x2e, 0x63, 0x31, 0x2e, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x11, - 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x73, 0x12, 0x29, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, - 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 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, -}) +func (x *ListActionSchemasResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} -var ( - file_c1_connector_v2_action_proto_rawDescOnce sync.Once - file_c1_connector_v2_action_proto_rawDescData []byte -) +type ListActionSchemasResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Schemas []*BatonActionSchema + Annotations []*anypb.Any +} -func file_c1_connector_v2_action_proto_rawDescGZIP() []byte { - file_c1_connector_v2_action_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_action_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_action_proto_rawDesc), len(file_c1_connector_v2_action_proto_rawDesc))) - }) - return file_c1_connector_v2_action_proto_rawDescData +func (b0 ListActionSchemasResponse_builder) Build() *ListActionSchemasResponse { + m0 := &ListActionSchemasResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Schemas = b.Schemas + x.Annotations = b.Annotations + return m0 } -var file_c1_connector_v2_action_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var File_c1_connector_v2_action_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_action_proto_rawDesc = "" + + "\n" + + "\x1cc1/connector/v2/action.proto\x12\x0fc1.connector.v2\x1a\x19c1/config/v1/config.proto\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xd1\x02\n" + + "\x11BatonActionSchema\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x121\n" + + "\targuments\x18\x02 \x03(\v2\x13.c1.config.v1.FieldR\targuments\x12:\n" + + "\vconstraints\x18\x03 \x03(\v2\x18.c1.config.v1.ConstraintR\vconstraints\x126\n" + + "\freturn_types\x18\x04 \x03(\v2\x13.c1.config.v1.FieldR\vreturnTypes\x12!\n" + + "\fdisplay_name\x18\x05 \x01(\tR\vdisplayName\x12 \n" + + "\vdescription\x18\x06 \x01(\tR\vdescription\x12<\n" + + "\vaction_type\x18\a \x03(\x0e2\x1b.c1.connector.v2.ActionTypeR\n" + + "actionType\"\x8e\x01\n" + + "\x13InvokeActionRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12+\n" + + "\x04args\x18\x02 \x01(\v2\x17.google.protobuf.StructR\x04args\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xe3\x01\n" + + "\x14InvokeActionResponse\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12:\n" + + "\x06status\x18\x02 \x01(\x0e2\".c1.connector.v2.BatonActionStatusR\x06status\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x123\n" + + "\bresponse\x18\x04 \x01(\v2\x17.google.protobuf.StructR\bresponse\x12\x12\n" + + "\x04name\x18\x05 \x01(\tR\x04name\"x\n" + + "\x16GetActionStatusRequest\x12\x16\n" + + "\x04name\x18\x01 \x01(\tB\x02\x18\x01R\x04name\x12\x0e\n" + + "\x02id\x18\x02 \x01(\tR\x02id\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xe6\x01\n" + + "\x17GetActionStatusResponse\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x0e\n" + + "\x02id\x18\x02 \x01(\tR\x02id\x12:\n" + + "\x06status\x18\x03 \x01(\x0e2\".c1.connector.v2.BatonActionStatusR\x06status\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x123\n" + + "\bresponse\x18\x05 \x01(\v2\x17.google.protobuf.StructR\bresponse\"d\n" + + "\x16GetActionSchemaRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x8d\x01\n" + + "\x17GetActionSchemaResponse\x12:\n" + + "\x06schema\x18\x01 \x01(\v2\".c1.connector.v2.BatonActionSchemaR\x06schema\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"R\n" + + "\x18ListActionSchemasRequest\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x91\x01\n" + + "\x19ListActionSchemasResponse\x12<\n" + + "\aschemas\x18\x01 \x03(\v2\".c1.connector.v2.BatonActionSchemaR\aschemas\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations*\xdd\x01\n" + + "\x11BatonActionStatus\x12#\n" + + "\x1fBATON_ACTION_STATUS_UNSPECIFIED\x10\x00\x12\x1f\n" + + "\x1bBATON_ACTION_STATUS_UNKNOWN\x10\x01\x12\x1f\n" + + "\x1bBATON_ACTION_STATUS_PENDING\x10\x02\x12\x1f\n" + + "\x1bBATON_ACTION_STATUS_RUNNING\x10\x03\x12 \n" + + "\x1cBATON_ACTION_STATUS_COMPLETE\x10\x04\x12\x1e\n" + + "\x1aBATON_ACTION_STATUS_FAILED\x10\x05*\xc4\x01\n" + + "\n" + + "ActionType\x12\x1b\n" + + "\x17ACTION_TYPE_UNSPECIFIED\x10\x00\x12\x17\n" + + "\x13ACTION_TYPE_DYNAMIC\x10\x01\x12\x17\n" + + "\x13ACTION_TYPE_ACCOUNT\x10\x02\x12&\n" + + "\"ACTION_TYPE_ACCOUNT_UPDATE_PROFILE\x10\x03\x12\x1f\n" + + "\x1bACTION_TYPE_ACCOUNT_DISABLE\x10\x04\x12\x1e\n" + + "\x1aACTION_TYPE_ACCOUNT_ENABLE\x10\x052\xa4\x03\n" + + "\rActionService\x12[\n" + + "\fInvokeAction\x12$.c1.connector.v2.InvokeActionRequest\x1a%.c1.connector.v2.InvokeActionResponse\x12d\n" + + "\x0fGetActionStatus\x12'.c1.connector.v2.GetActionStatusRequest\x1a(.c1.connector.v2.GetActionStatusResponse\x12d\n" + + "\x0fGetActionSchema\x12'.c1.connector.v2.GetActionSchemaRequest\x1a(.c1.connector.v2.GetActionSchemaResponse\x12j\n" + + "\x11ListActionSchemas\x12).c1.connector.v2.ListActionSchemasRequest\x1a*.c1.connector.v2.ListActionSchemasResponseB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_action_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_c1_connector_v2_action_proto_msgTypes = make([]protoimpl.MessageInfo, 9) var file_c1_connector_v2_action_proto_goTypes = []any{ (BatonActionStatus)(0), // 0: c1.connector.v2.BatonActionStatus - (*BatonActionSchema)(nil), // 1: c1.connector.v2.BatonActionSchema - (*InvokeActionRequest)(nil), // 2: c1.connector.v2.InvokeActionRequest - (*InvokeActionResponse)(nil), // 3: c1.connector.v2.InvokeActionResponse - (*GetActionStatusRequest)(nil), // 4: c1.connector.v2.GetActionStatusRequest - (*GetActionStatusResponse)(nil), // 5: c1.connector.v2.GetActionStatusResponse - (*GetActionSchemaRequest)(nil), // 6: c1.connector.v2.GetActionSchemaRequest - (*GetActionSchemaResponse)(nil), // 7: c1.connector.v2.GetActionSchemaResponse - (*ListActionSchemasRequest)(nil), // 8: c1.connector.v2.ListActionSchemasRequest - (*ListActionSchemasResponse)(nil), // 9: c1.connector.v2.ListActionSchemasResponse - (*v1.Field)(nil), // 10: c1.config.v1.Field - (*v1.Constraint)(nil), // 11: c1.config.v1.Constraint - (*structpb.Struct)(nil), // 12: google.protobuf.Struct - (*anypb.Any)(nil), // 13: google.protobuf.Any + (ActionType)(0), // 1: c1.connector.v2.ActionType + (*BatonActionSchema)(nil), // 2: c1.connector.v2.BatonActionSchema + (*InvokeActionRequest)(nil), // 3: c1.connector.v2.InvokeActionRequest + (*InvokeActionResponse)(nil), // 4: c1.connector.v2.InvokeActionResponse + (*GetActionStatusRequest)(nil), // 5: c1.connector.v2.GetActionStatusRequest + (*GetActionStatusResponse)(nil), // 6: c1.connector.v2.GetActionStatusResponse + (*GetActionSchemaRequest)(nil), // 7: c1.connector.v2.GetActionSchemaRequest + (*GetActionSchemaResponse)(nil), // 8: c1.connector.v2.GetActionSchemaResponse + (*ListActionSchemasRequest)(nil), // 9: c1.connector.v2.ListActionSchemasRequest + (*ListActionSchemasResponse)(nil), // 10: c1.connector.v2.ListActionSchemasResponse + (*v1.Field)(nil), // 11: c1.config.v1.Field + (*v1.Constraint)(nil), // 12: c1.config.v1.Constraint + (*structpb.Struct)(nil), // 13: google.protobuf.Struct + (*anypb.Any)(nil), // 14: google.protobuf.Any } var file_c1_connector_v2_action_proto_depIdxs = []int32{ - 10, // 0: c1.connector.v2.BatonActionSchema.arguments:type_name -> c1.config.v1.Field - 11, // 1: c1.connector.v2.BatonActionSchema.constraints:type_name -> c1.config.v1.Constraint - 10, // 2: c1.connector.v2.BatonActionSchema.return_types:type_name -> c1.config.v1.Field - 12, // 3: c1.connector.v2.InvokeActionRequest.args:type_name -> google.protobuf.Struct - 13, // 4: c1.connector.v2.InvokeActionRequest.annotations:type_name -> google.protobuf.Any - 0, // 5: c1.connector.v2.InvokeActionResponse.status:type_name -> c1.connector.v2.BatonActionStatus - 13, // 6: c1.connector.v2.InvokeActionResponse.annotations:type_name -> google.protobuf.Any - 12, // 7: c1.connector.v2.InvokeActionResponse.response:type_name -> google.protobuf.Struct - 13, // 8: c1.connector.v2.GetActionStatusRequest.annotations:type_name -> google.protobuf.Any - 0, // 9: c1.connector.v2.GetActionStatusResponse.status:type_name -> c1.connector.v2.BatonActionStatus - 13, // 10: c1.connector.v2.GetActionStatusResponse.annotations:type_name -> google.protobuf.Any - 12, // 11: c1.connector.v2.GetActionStatusResponse.response:type_name -> google.protobuf.Struct - 13, // 12: c1.connector.v2.GetActionSchemaRequest.annotations:type_name -> google.protobuf.Any - 1, // 13: c1.connector.v2.GetActionSchemaResponse.schema:type_name -> c1.connector.v2.BatonActionSchema - 13, // 14: c1.connector.v2.GetActionSchemaResponse.annotations:type_name -> google.protobuf.Any - 13, // 15: c1.connector.v2.ListActionSchemasRequest.annotations:type_name -> google.protobuf.Any - 1, // 16: c1.connector.v2.ListActionSchemasResponse.schemas:type_name -> c1.connector.v2.BatonActionSchema - 13, // 17: c1.connector.v2.ListActionSchemasResponse.annotations:type_name -> google.protobuf.Any - 2, // 18: c1.connector.v2.ActionService.InvokeAction:input_type -> c1.connector.v2.InvokeActionRequest - 4, // 19: c1.connector.v2.ActionService.GetActionStatus:input_type -> c1.connector.v2.GetActionStatusRequest - 6, // 20: c1.connector.v2.ActionService.GetActionSchema:input_type -> c1.connector.v2.GetActionSchemaRequest - 8, // 21: c1.connector.v2.ActionService.ListActionSchemas:input_type -> c1.connector.v2.ListActionSchemasRequest - 3, // 22: c1.connector.v2.ActionService.InvokeAction:output_type -> c1.connector.v2.InvokeActionResponse - 5, // 23: c1.connector.v2.ActionService.GetActionStatus:output_type -> c1.connector.v2.GetActionStatusResponse - 7, // 24: c1.connector.v2.ActionService.GetActionSchema:output_type -> c1.connector.v2.GetActionSchemaResponse - 9, // 25: c1.connector.v2.ActionService.ListActionSchemas:output_type -> c1.connector.v2.ListActionSchemasResponse - 22, // [22:26] is the sub-list for method output_type - 18, // [18:22] is the sub-list for method input_type - 18, // [18:18] is the sub-list for extension type_name - 18, // [18:18] is the sub-list for extension extendee - 0, // [0:18] is the sub-list for field type_name + 11, // 0: c1.connector.v2.BatonActionSchema.arguments:type_name -> c1.config.v1.Field + 12, // 1: c1.connector.v2.BatonActionSchema.constraints:type_name -> c1.config.v1.Constraint + 11, // 2: c1.connector.v2.BatonActionSchema.return_types:type_name -> c1.config.v1.Field + 1, // 3: c1.connector.v2.BatonActionSchema.action_type:type_name -> c1.connector.v2.ActionType + 13, // 4: c1.connector.v2.InvokeActionRequest.args:type_name -> google.protobuf.Struct + 14, // 5: c1.connector.v2.InvokeActionRequest.annotations:type_name -> google.protobuf.Any + 0, // 6: c1.connector.v2.InvokeActionResponse.status:type_name -> c1.connector.v2.BatonActionStatus + 14, // 7: c1.connector.v2.InvokeActionResponse.annotations:type_name -> google.protobuf.Any + 13, // 8: c1.connector.v2.InvokeActionResponse.response:type_name -> google.protobuf.Struct + 14, // 9: c1.connector.v2.GetActionStatusRequest.annotations:type_name -> google.protobuf.Any + 0, // 10: c1.connector.v2.GetActionStatusResponse.status:type_name -> c1.connector.v2.BatonActionStatus + 14, // 11: c1.connector.v2.GetActionStatusResponse.annotations:type_name -> google.protobuf.Any + 13, // 12: c1.connector.v2.GetActionStatusResponse.response:type_name -> google.protobuf.Struct + 14, // 13: c1.connector.v2.GetActionSchemaRequest.annotations:type_name -> google.protobuf.Any + 2, // 14: c1.connector.v2.GetActionSchemaResponse.schema:type_name -> c1.connector.v2.BatonActionSchema + 14, // 15: c1.connector.v2.GetActionSchemaResponse.annotations:type_name -> google.protobuf.Any + 14, // 16: c1.connector.v2.ListActionSchemasRequest.annotations:type_name -> google.protobuf.Any + 2, // 17: c1.connector.v2.ListActionSchemasResponse.schemas:type_name -> c1.connector.v2.BatonActionSchema + 14, // 18: c1.connector.v2.ListActionSchemasResponse.annotations:type_name -> google.protobuf.Any + 3, // 19: c1.connector.v2.ActionService.InvokeAction:input_type -> c1.connector.v2.InvokeActionRequest + 5, // 20: c1.connector.v2.ActionService.GetActionStatus:input_type -> c1.connector.v2.GetActionStatusRequest + 7, // 21: c1.connector.v2.ActionService.GetActionSchema:input_type -> c1.connector.v2.GetActionSchemaRequest + 9, // 22: c1.connector.v2.ActionService.ListActionSchemas:input_type -> c1.connector.v2.ListActionSchemasRequest + 4, // 23: c1.connector.v2.ActionService.InvokeAction:output_type -> c1.connector.v2.InvokeActionResponse + 6, // 24: c1.connector.v2.ActionService.GetActionStatus:output_type -> c1.connector.v2.GetActionStatusResponse + 8, // 25: c1.connector.v2.ActionService.GetActionSchema:output_type -> c1.connector.v2.GetActionSchemaResponse + 10, // 26: c1.connector.v2.ActionService.ListActionSchemas:output_type -> c1.connector.v2.ListActionSchemasResponse + 23, // [23:27] is the sub-list for method output_type + 19, // [19:23] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] is the sub-list for field type_name } func init() { file_c1_connector_v2_action_proto_init() } @@ -865,7 +1117,7 @@ func file_c1_connector_v2_action_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_connector_v2_action_proto_rawDesc), len(file_c1_connector_v2_action_proto_rawDesc)), - NumEnums: 1, + NumEnums: 2, NumMessages: 9, NumExtensions: 0, NumServices: 1, diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/action_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/action_protoopaque.pb.go new file mode 100644 index 00000000..e8a0e89d --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/action_protoopaque.pb.go @@ -0,0 +1,1156 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/action.proto + +//go:build protoopaque + +package v2 + +import ( + v1 "github.com/conductorone/baton-sdk/pb/c1/config/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + structpb "google.golang.org/protobuf/types/known/structpb" + reflect "reflect" + 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) +) + +type BatonActionStatus int32 + +const ( + BatonActionStatus_BATON_ACTION_STATUS_UNSPECIFIED BatonActionStatus = 0 + BatonActionStatus_BATON_ACTION_STATUS_UNKNOWN BatonActionStatus = 1 + BatonActionStatus_BATON_ACTION_STATUS_PENDING BatonActionStatus = 2 + BatonActionStatus_BATON_ACTION_STATUS_RUNNING BatonActionStatus = 3 + BatonActionStatus_BATON_ACTION_STATUS_COMPLETE BatonActionStatus = 4 + BatonActionStatus_BATON_ACTION_STATUS_FAILED BatonActionStatus = 5 +) + +// Enum value maps for BatonActionStatus. +var ( + BatonActionStatus_name = map[int32]string{ + 0: "BATON_ACTION_STATUS_UNSPECIFIED", + 1: "BATON_ACTION_STATUS_UNKNOWN", + 2: "BATON_ACTION_STATUS_PENDING", + 3: "BATON_ACTION_STATUS_RUNNING", + 4: "BATON_ACTION_STATUS_COMPLETE", + 5: "BATON_ACTION_STATUS_FAILED", + } + BatonActionStatus_value = map[string]int32{ + "BATON_ACTION_STATUS_UNSPECIFIED": 0, + "BATON_ACTION_STATUS_UNKNOWN": 1, + "BATON_ACTION_STATUS_PENDING": 2, + "BATON_ACTION_STATUS_RUNNING": 3, + "BATON_ACTION_STATUS_COMPLETE": 4, + "BATON_ACTION_STATUS_FAILED": 5, + } +) + +func (x BatonActionStatus) Enum() *BatonActionStatus { + p := new(BatonActionStatus) + *p = x + return p +} + +func (x BatonActionStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (BatonActionStatus) Descriptor() protoreflect.EnumDescriptor { + return file_c1_connector_v2_action_proto_enumTypes[0].Descriptor() +} + +func (BatonActionStatus) Type() protoreflect.EnumType { + return &file_c1_connector_v2_action_proto_enumTypes[0] +} + +func (x BatonActionStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// This defines the action type. +type ActionType int32 + +const ( + ActionType_ACTION_TYPE_UNSPECIFIED ActionType = 0 + ActionType_ACTION_TYPE_DYNAMIC ActionType = 1 + ActionType_ACTION_TYPE_ACCOUNT ActionType = 2 + ActionType_ACTION_TYPE_ACCOUNT_UPDATE_PROFILE ActionType = 3 + ActionType_ACTION_TYPE_ACCOUNT_DISABLE ActionType = 4 + ActionType_ACTION_TYPE_ACCOUNT_ENABLE ActionType = 5 +) + +// Enum value maps for ActionType. +var ( + ActionType_name = map[int32]string{ + 0: "ACTION_TYPE_UNSPECIFIED", + 1: "ACTION_TYPE_DYNAMIC", + 2: "ACTION_TYPE_ACCOUNT", + 3: "ACTION_TYPE_ACCOUNT_UPDATE_PROFILE", + 4: "ACTION_TYPE_ACCOUNT_DISABLE", + 5: "ACTION_TYPE_ACCOUNT_ENABLE", + } + ActionType_value = map[string]int32{ + "ACTION_TYPE_UNSPECIFIED": 0, + "ACTION_TYPE_DYNAMIC": 1, + "ACTION_TYPE_ACCOUNT": 2, + "ACTION_TYPE_ACCOUNT_UPDATE_PROFILE": 3, + "ACTION_TYPE_ACCOUNT_DISABLE": 4, + "ACTION_TYPE_ACCOUNT_ENABLE": 5, + } +) + +func (x ActionType) Enum() *ActionType { + p := new(ActionType) + *p = x + return p +} + +func (x ActionType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ActionType) Descriptor() protoreflect.EnumDescriptor { + return file_c1_connector_v2_action_proto_enumTypes[1].Descriptor() +} + +func (ActionType) Type() protoreflect.EnumType { + return &file_c1_connector_v2_action_proto_enumTypes[1] +} + +func (x ActionType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type BatonActionSchema struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Name string `protobuf:"bytes,1,opt,name=name,proto3"` + xxx_hidden_Arguments *[]*v1.Field `protobuf:"bytes,2,rep,name=arguments,proto3"` + xxx_hidden_Constraints *[]*v1.Constraint `protobuf:"bytes,3,rep,name=constraints,proto3"` + xxx_hidden_ReturnTypes *[]*v1.Field `protobuf:"bytes,4,rep,name=return_types,json=returnTypes,proto3"` + xxx_hidden_DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3"` + xxx_hidden_Description string `protobuf:"bytes,6,opt,name=description,proto3"` + xxx_hidden_ActionType []ActionType `protobuf:"varint,7,rep,packed,name=action_type,json=actionType,proto3,enum=c1.connector.v2.ActionType"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonActionSchema) Reset() { + *x = BatonActionSchema{} + mi := &file_c1_connector_v2_action_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonActionSchema) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonActionSchema) ProtoMessage() {} + +func (x *BatonActionSchema) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_action_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) +} + +func (x *BatonActionSchema) GetName() string { + if x != nil { + return x.xxx_hidden_Name + } + return "" +} + +func (x *BatonActionSchema) GetArguments() []*v1.Field { + if x != nil { + if x.xxx_hidden_Arguments != nil { + return *x.xxx_hidden_Arguments + } + } + return nil +} + +func (x *BatonActionSchema) GetConstraints() []*v1.Constraint { + if x != nil { + if x.xxx_hidden_Constraints != nil { + return *x.xxx_hidden_Constraints + } + } + return nil +} + +func (x *BatonActionSchema) GetReturnTypes() []*v1.Field { + if x != nil { + if x.xxx_hidden_ReturnTypes != nil { + return *x.xxx_hidden_ReturnTypes + } + } + return nil +} + +func (x *BatonActionSchema) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *BatonActionSchema) GetDescription() string { + if x != nil { + return x.xxx_hidden_Description + } + return "" +} + +func (x *BatonActionSchema) GetActionType() []ActionType { + if x != nil { + return x.xxx_hidden_ActionType + } + return nil +} + +func (x *BatonActionSchema) SetName(v string) { + x.xxx_hidden_Name = v +} + +func (x *BatonActionSchema) SetArguments(v []*v1.Field) { + x.xxx_hidden_Arguments = &v +} + +func (x *BatonActionSchema) SetConstraints(v []*v1.Constraint) { + x.xxx_hidden_Constraints = &v +} + +func (x *BatonActionSchema) SetReturnTypes(v []*v1.Field) { + x.xxx_hidden_ReturnTypes = &v +} + +func (x *BatonActionSchema) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +func (x *BatonActionSchema) SetDescription(v string) { + x.xxx_hidden_Description = v +} + +func (x *BatonActionSchema) SetActionType(v []ActionType) { + x.xxx_hidden_ActionType = v +} + +type BatonActionSchema_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + Arguments []*v1.Field + Constraints []*v1.Constraint + ReturnTypes []*v1.Field + DisplayName string + Description string + ActionType []ActionType +} + +func (b0 BatonActionSchema_builder) Build() *BatonActionSchema { + m0 := &BatonActionSchema{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Name = b.Name + x.xxx_hidden_Arguments = &b.Arguments + x.xxx_hidden_Constraints = &b.Constraints + x.xxx_hidden_ReturnTypes = &b.ReturnTypes + x.xxx_hidden_DisplayName = b.DisplayName + x.xxx_hidden_Description = b.Description + x.xxx_hidden_ActionType = b.ActionType + return m0 +} + +type InvokeActionRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Name string `protobuf:"bytes,1,opt,name=name,proto3"` + xxx_hidden_Args *structpb.Struct `protobuf:"bytes,2,opt,name=args,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InvokeActionRequest) Reset() { + *x = InvokeActionRequest{} + mi := &file_c1_connector_v2_action_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InvokeActionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InvokeActionRequest) ProtoMessage() {} + +func (x *InvokeActionRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_action_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) +} + +func (x *InvokeActionRequest) GetName() string { + if x != nil { + return x.xxx_hidden_Name + } + return "" +} + +func (x *InvokeActionRequest) GetArgs() *structpb.Struct { + if x != nil { + return x.xxx_hidden_Args + } + return nil +} + +func (x *InvokeActionRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *InvokeActionRequest) SetName(v string) { + x.xxx_hidden_Name = v +} + +func (x *InvokeActionRequest) SetArgs(v *structpb.Struct) { + x.xxx_hidden_Args = v +} + +func (x *InvokeActionRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *InvokeActionRequest) HasArgs() bool { + if x == nil { + return false + } + return x.xxx_hidden_Args != nil +} + +func (x *InvokeActionRequest) ClearArgs() { + x.xxx_hidden_Args = nil +} + +type InvokeActionRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + Args *structpb.Struct + Annotations []*anypb.Any +} + +func (b0 InvokeActionRequest_builder) Build() *InvokeActionRequest { + m0 := &InvokeActionRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Name = b.Name + x.xxx_hidden_Args = b.Args + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type InvokeActionResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + xxx_hidden_Status BatonActionStatus `protobuf:"varint,2,opt,name=status,proto3,enum=c1.connector.v2.BatonActionStatus"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + xxx_hidden_Response *structpb.Struct `protobuf:"bytes,4,opt,name=response,proto3"` + xxx_hidden_Name string `protobuf:"bytes,5,opt,name=name,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InvokeActionResponse) Reset() { + *x = InvokeActionResponse{} + mi := &file_c1_connector_v2_action_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InvokeActionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InvokeActionResponse) ProtoMessage() {} + +func (x *InvokeActionResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_action_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) +} + +func (x *InvokeActionResponse) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *InvokeActionResponse) GetStatus() BatonActionStatus { + if x != nil { + return x.xxx_hidden_Status + } + return BatonActionStatus_BATON_ACTION_STATUS_UNSPECIFIED +} + +func (x *InvokeActionResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *InvokeActionResponse) GetResponse() *structpb.Struct { + if x != nil { + return x.xxx_hidden_Response + } + return nil +} + +func (x *InvokeActionResponse) GetName() string { + if x != nil { + return x.xxx_hidden_Name + } + return "" +} + +func (x *InvokeActionResponse) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *InvokeActionResponse) SetStatus(v BatonActionStatus) { + x.xxx_hidden_Status = v +} + +func (x *InvokeActionResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *InvokeActionResponse) SetResponse(v *structpb.Struct) { + x.xxx_hidden_Response = v +} + +func (x *InvokeActionResponse) SetName(v string) { + x.xxx_hidden_Name = v +} + +func (x *InvokeActionResponse) HasResponse() bool { + if x == nil { + return false + } + return x.xxx_hidden_Response != nil +} + +func (x *InvokeActionResponse) ClearResponse() { + x.xxx_hidden_Response = nil +} + +type InvokeActionResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + Status BatonActionStatus + Annotations []*anypb.Any + Response *structpb.Struct + Name string +} + +func (b0 InvokeActionResponse_builder) Build() *InvokeActionResponse { + m0 := &InvokeActionResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + x.xxx_hidden_Status = b.Status + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_Response = b.Response + x.xxx_hidden_Name = b.Name + return m0 +} + +type GetActionStatusRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Name string `protobuf:"bytes,1,opt,name=name,proto3"` + xxx_hidden_Id string `protobuf:"bytes,2,opt,name=id,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetActionStatusRequest) Reset() { + *x = GetActionStatusRequest{} + mi := &file_c1_connector_v2_action_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetActionStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetActionStatusRequest) ProtoMessage() {} + +func (x *GetActionStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_action_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: Marked as deprecated in c1/connector/v2/action.proto. +func (x *GetActionStatusRequest) GetName() string { + if x != nil { + return x.xxx_hidden_Name + } + return "" +} + +func (x *GetActionStatusRequest) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *GetActionStatusRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +// Deprecated: Marked as deprecated in c1/connector/v2/action.proto. +func (x *GetActionStatusRequest) SetName(v string) { + x.xxx_hidden_Name = v +} + +func (x *GetActionStatusRequest) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *GetActionStatusRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type GetActionStatusRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Deprecated: Marked as deprecated in c1/connector/v2/action.proto. + Name string + Id string + Annotations []*anypb.Any +} + +func (b0 GetActionStatusRequest_builder) Build() *GetActionStatusRequest { + m0 := &GetActionStatusRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Name = b.Name + x.xxx_hidden_Id = b.Id + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type GetActionStatusResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Name string `protobuf:"bytes,1,opt,name=name,proto3"` + xxx_hidden_Id string `protobuf:"bytes,2,opt,name=id,proto3"` + xxx_hidden_Status BatonActionStatus `protobuf:"varint,3,opt,name=status,proto3,enum=c1.connector.v2.BatonActionStatus"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3"` + xxx_hidden_Response *structpb.Struct `protobuf:"bytes,5,opt,name=response,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetActionStatusResponse) Reset() { + *x = GetActionStatusResponse{} + mi := &file_c1_connector_v2_action_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetActionStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetActionStatusResponse) ProtoMessage() {} + +func (x *GetActionStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_action_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *GetActionStatusResponse) GetName() string { + if x != nil { + return x.xxx_hidden_Name + } + return "" +} + +func (x *GetActionStatusResponse) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *GetActionStatusResponse) GetStatus() BatonActionStatus { + if x != nil { + return x.xxx_hidden_Status + } + return BatonActionStatus_BATON_ACTION_STATUS_UNSPECIFIED +} + +func (x *GetActionStatusResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *GetActionStatusResponse) GetResponse() *structpb.Struct { + if x != nil { + return x.xxx_hidden_Response + } + return nil +} + +func (x *GetActionStatusResponse) SetName(v string) { + x.xxx_hidden_Name = v +} + +func (x *GetActionStatusResponse) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *GetActionStatusResponse) SetStatus(v BatonActionStatus) { + x.xxx_hidden_Status = v +} + +func (x *GetActionStatusResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *GetActionStatusResponse) SetResponse(v *structpb.Struct) { + x.xxx_hidden_Response = v +} + +func (x *GetActionStatusResponse) HasResponse() bool { + if x == nil { + return false + } + return x.xxx_hidden_Response != nil +} + +func (x *GetActionStatusResponse) ClearResponse() { + x.xxx_hidden_Response = nil +} + +type GetActionStatusResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + Id string + Status BatonActionStatus + Annotations []*anypb.Any + Response *structpb.Struct +} + +func (b0 GetActionStatusResponse_builder) Build() *GetActionStatusResponse { + m0 := &GetActionStatusResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Name = b.Name + x.xxx_hidden_Id = b.Id + x.xxx_hidden_Status = b.Status + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_Response = b.Response + return m0 +} + +type GetActionSchemaRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Name string `protobuf:"bytes,1,opt,name=name,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetActionSchemaRequest) Reset() { + *x = GetActionSchemaRequest{} + mi := &file_c1_connector_v2_action_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetActionSchemaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetActionSchemaRequest) ProtoMessage() {} + +func (x *GetActionSchemaRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_action_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *GetActionSchemaRequest) GetName() string { + if x != nil { + return x.xxx_hidden_Name + } + return "" +} + +func (x *GetActionSchemaRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *GetActionSchemaRequest) SetName(v string) { + x.xxx_hidden_Name = v +} + +func (x *GetActionSchemaRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type GetActionSchemaRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + Annotations []*anypb.Any +} + +func (b0 GetActionSchemaRequest_builder) Build() *GetActionSchemaRequest { + m0 := &GetActionSchemaRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Name = b.Name + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type GetActionSchemaResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Schema *BatonActionSchema `protobuf:"bytes,1,opt,name=schema,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetActionSchemaResponse) Reset() { + *x = GetActionSchemaResponse{} + mi := &file_c1_connector_v2_action_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetActionSchemaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetActionSchemaResponse) ProtoMessage() {} + +func (x *GetActionSchemaResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_action_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *GetActionSchemaResponse) GetSchema() *BatonActionSchema { + if x != nil { + return x.xxx_hidden_Schema + } + return nil +} + +func (x *GetActionSchemaResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *GetActionSchemaResponse) SetSchema(v *BatonActionSchema) { + x.xxx_hidden_Schema = v +} + +func (x *GetActionSchemaResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *GetActionSchemaResponse) HasSchema() bool { + if x == nil { + return false + } + return x.xxx_hidden_Schema != nil +} + +func (x *GetActionSchemaResponse) ClearSchema() { + x.xxx_hidden_Schema = nil +} + +type GetActionSchemaResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Schema *BatonActionSchema + Annotations []*anypb.Any +} + +func (b0 GetActionSchemaResponse_builder) Build() *GetActionSchemaResponse { + m0 := &GetActionSchemaResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Schema = b.Schema + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type ListActionSchemasRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListActionSchemasRequest) Reset() { + *x = ListActionSchemasRequest{} + mi := &file_c1_connector_v2_action_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListActionSchemasRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListActionSchemasRequest) ProtoMessage() {} + +func (x *ListActionSchemasRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_action_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) +} + +func (x *ListActionSchemasRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ListActionSchemasRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type ListActionSchemasRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 ListActionSchemasRequest_builder) Build() *ListActionSchemasRequest { + m0 := &ListActionSchemasRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type ListActionSchemasResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Schemas *[]*BatonActionSchema `protobuf:"bytes,1,rep,name=schemas,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListActionSchemasResponse) Reset() { + *x = ListActionSchemasResponse{} + mi := &file_c1_connector_v2_action_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListActionSchemasResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListActionSchemasResponse) ProtoMessage() {} + +func (x *ListActionSchemasResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_action_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) +} + +func (x *ListActionSchemasResponse) GetSchemas() []*BatonActionSchema { + if x != nil { + if x.xxx_hidden_Schemas != nil { + return *x.xxx_hidden_Schemas + } + } + return nil +} + +func (x *ListActionSchemasResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ListActionSchemasResponse) SetSchemas(v []*BatonActionSchema) { + x.xxx_hidden_Schemas = &v +} + +func (x *ListActionSchemasResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type ListActionSchemasResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Schemas []*BatonActionSchema + Annotations []*anypb.Any +} + +func (b0 ListActionSchemasResponse_builder) Build() *ListActionSchemasResponse { + m0 := &ListActionSchemasResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Schemas = &b.Schemas + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +var File_c1_connector_v2_action_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_action_proto_rawDesc = "" + + "\n" + + "\x1cc1/connector/v2/action.proto\x12\x0fc1.connector.v2\x1a\x19c1/config/v1/config.proto\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xd1\x02\n" + + "\x11BatonActionSchema\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x121\n" + + "\targuments\x18\x02 \x03(\v2\x13.c1.config.v1.FieldR\targuments\x12:\n" + + "\vconstraints\x18\x03 \x03(\v2\x18.c1.config.v1.ConstraintR\vconstraints\x126\n" + + "\freturn_types\x18\x04 \x03(\v2\x13.c1.config.v1.FieldR\vreturnTypes\x12!\n" + + "\fdisplay_name\x18\x05 \x01(\tR\vdisplayName\x12 \n" + + "\vdescription\x18\x06 \x01(\tR\vdescription\x12<\n" + + "\vaction_type\x18\a \x03(\x0e2\x1b.c1.connector.v2.ActionTypeR\n" + + "actionType\"\x8e\x01\n" + + "\x13InvokeActionRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12+\n" + + "\x04args\x18\x02 \x01(\v2\x17.google.protobuf.StructR\x04args\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xe3\x01\n" + + "\x14InvokeActionResponse\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12:\n" + + "\x06status\x18\x02 \x01(\x0e2\".c1.connector.v2.BatonActionStatusR\x06status\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x123\n" + + "\bresponse\x18\x04 \x01(\v2\x17.google.protobuf.StructR\bresponse\x12\x12\n" + + "\x04name\x18\x05 \x01(\tR\x04name\"x\n" + + "\x16GetActionStatusRequest\x12\x16\n" + + "\x04name\x18\x01 \x01(\tB\x02\x18\x01R\x04name\x12\x0e\n" + + "\x02id\x18\x02 \x01(\tR\x02id\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xe6\x01\n" + + "\x17GetActionStatusResponse\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x0e\n" + + "\x02id\x18\x02 \x01(\tR\x02id\x12:\n" + + "\x06status\x18\x03 \x01(\x0e2\".c1.connector.v2.BatonActionStatusR\x06status\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x123\n" + + "\bresponse\x18\x05 \x01(\v2\x17.google.protobuf.StructR\bresponse\"d\n" + + "\x16GetActionSchemaRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x8d\x01\n" + + "\x17GetActionSchemaResponse\x12:\n" + + "\x06schema\x18\x01 \x01(\v2\".c1.connector.v2.BatonActionSchemaR\x06schema\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"R\n" + + "\x18ListActionSchemasRequest\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x91\x01\n" + + "\x19ListActionSchemasResponse\x12<\n" + + "\aschemas\x18\x01 \x03(\v2\".c1.connector.v2.BatonActionSchemaR\aschemas\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations*\xdd\x01\n" + + "\x11BatonActionStatus\x12#\n" + + "\x1fBATON_ACTION_STATUS_UNSPECIFIED\x10\x00\x12\x1f\n" + + "\x1bBATON_ACTION_STATUS_UNKNOWN\x10\x01\x12\x1f\n" + + "\x1bBATON_ACTION_STATUS_PENDING\x10\x02\x12\x1f\n" + + "\x1bBATON_ACTION_STATUS_RUNNING\x10\x03\x12 \n" + + "\x1cBATON_ACTION_STATUS_COMPLETE\x10\x04\x12\x1e\n" + + "\x1aBATON_ACTION_STATUS_FAILED\x10\x05*\xc4\x01\n" + + "\n" + + "ActionType\x12\x1b\n" + + "\x17ACTION_TYPE_UNSPECIFIED\x10\x00\x12\x17\n" + + "\x13ACTION_TYPE_DYNAMIC\x10\x01\x12\x17\n" + + "\x13ACTION_TYPE_ACCOUNT\x10\x02\x12&\n" + + "\"ACTION_TYPE_ACCOUNT_UPDATE_PROFILE\x10\x03\x12\x1f\n" + + "\x1bACTION_TYPE_ACCOUNT_DISABLE\x10\x04\x12\x1e\n" + + "\x1aACTION_TYPE_ACCOUNT_ENABLE\x10\x052\xa4\x03\n" + + "\rActionService\x12[\n" + + "\fInvokeAction\x12$.c1.connector.v2.InvokeActionRequest\x1a%.c1.connector.v2.InvokeActionResponse\x12d\n" + + "\x0fGetActionStatus\x12'.c1.connector.v2.GetActionStatusRequest\x1a(.c1.connector.v2.GetActionStatusResponse\x12d\n" + + "\x0fGetActionSchema\x12'.c1.connector.v2.GetActionSchemaRequest\x1a(.c1.connector.v2.GetActionSchemaResponse\x12j\n" + + "\x11ListActionSchemas\x12).c1.connector.v2.ListActionSchemasRequest\x1a*.c1.connector.v2.ListActionSchemasResponseB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_action_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_c1_connector_v2_action_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_c1_connector_v2_action_proto_goTypes = []any{ + (BatonActionStatus)(0), // 0: c1.connector.v2.BatonActionStatus + (ActionType)(0), // 1: c1.connector.v2.ActionType + (*BatonActionSchema)(nil), // 2: c1.connector.v2.BatonActionSchema + (*InvokeActionRequest)(nil), // 3: c1.connector.v2.InvokeActionRequest + (*InvokeActionResponse)(nil), // 4: c1.connector.v2.InvokeActionResponse + (*GetActionStatusRequest)(nil), // 5: c1.connector.v2.GetActionStatusRequest + (*GetActionStatusResponse)(nil), // 6: c1.connector.v2.GetActionStatusResponse + (*GetActionSchemaRequest)(nil), // 7: c1.connector.v2.GetActionSchemaRequest + (*GetActionSchemaResponse)(nil), // 8: c1.connector.v2.GetActionSchemaResponse + (*ListActionSchemasRequest)(nil), // 9: c1.connector.v2.ListActionSchemasRequest + (*ListActionSchemasResponse)(nil), // 10: c1.connector.v2.ListActionSchemasResponse + (*v1.Field)(nil), // 11: c1.config.v1.Field + (*v1.Constraint)(nil), // 12: c1.config.v1.Constraint + (*structpb.Struct)(nil), // 13: google.protobuf.Struct + (*anypb.Any)(nil), // 14: google.protobuf.Any +} +var file_c1_connector_v2_action_proto_depIdxs = []int32{ + 11, // 0: c1.connector.v2.BatonActionSchema.arguments:type_name -> c1.config.v1.Field + 12, // 1: c1.connector.v2.BatonActionSchema.constraints:type_name -> c1.config.v1.Constraint + 11, // 2: c1.connector.v2.BatonActionSchema.return_types:type_name -> c1.config.v1.Field + 1, // 3: c1.connector.v2.BatonActionSchema.action_type:type_name -> c1.connector.v2.ActionType + 13, // 4: c1.connector.v2.InvokeActionRequest.args:type_name -> google.protobuf.Struct + 14, // 5: c1.connector.v2.InvokeActionRequest.annotations:type_name -> google.protobuf.Any + 0, // 6: c1.connector.v2.InvokeActionResponse.status:type_name -> c1.connector.v2.BatonActionStatus + 14, // 7: c1.connector.v2.InvokeActionResponse.annotations:type_name -> google.protobuf.Any + 13, // 8: c1.connector.v2.InvokeActionResponse.response:type_name -> google.protobuf.Struct + 14, // 9: c1.connector.v2.GetActionStatusRequest.annotations:type_name -> google.protobuf.Any + 0, // 10: c1.connector.v2.GetActionStatusResponse.status:type_name -> c1.connector.v2.BatonActionStatus + 14, // 11: c1.connector.v2.GetActionStatusResponse.annotations:type_name -> google.protobuf.Any + 13, // 12: c1.connector.v2.GetActionStatusResponse.response:type_name -> google.protobuf.Struct + 14, // 13: c1.connector.v2.GetActionSchemaRequest.annotations:type_name -> google.protobuf.Any + 2, // 14: c1.connector.v2.GetActionSchemaResponse.schema:type_name -> c1.connector.v2.BatonActionSchema + 14, // 15: c1.connector.v2.GetActionSchemaResponse.annotations:type_name -> google.protobuf.Any + 14, // 16: c1.connector.v2.ListActionSchemasRequest.annotations:type_name -> google.protobuf.Any + 2, // 17: c1.connector.v2.ListActionSchemasResponse.schemas:type_name -> c1.connector.v2.BatonActionSchema + 14, // 18: c1.connector.v2.ListActionSchemasResponse.annotations:type_name -> google.protobuf.Any + 3, // 19: c1.connector.v2.ActionService.InvokeAction:input_type -> c1.connector.v2.InvokeActionRequest + 5, // 20: c1.connector.v2.ActionService.GetActionStatus:input_type -> c1.connector.v2.GetActionStatusRequest + 7, // 21: c1.connector.v2.ActionService.GetActionSchema:input_type -> c1.connector.v2.GetActionSchemaRequest + 9, // 22: c1.connector.v2.ActionService.ListActionSchemas:input_type -> c1.connector.v2.ListActionSchemasRequest + 4, // 23: c1.connector.v2.ActionService.InvokeAction:output_type -> c1.connector.v2.InvokeActionResponse + 6, // 24: c1.connector.v2.ActionService.GetActionStatus:output_type -> c1.connector.v2.GetActionStatusResponse + 8, // 25: c1.connector.v2.ActionService.GetActionSchema:output_type -> c1.connector.v2.GetActionSchemaResponse + 10, // 26: c1.connector.v2.ActionService.ListActionSchemas:output_type -> c1.connector.v2.ListActionSchemasResponse + 23, // [23:27] is the sub-list for method output_type + 19, // [19:23] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] is the sub-list for field type_name +} + +func init() { file_c1_connector_v2_action_proto_init() } +func file_c1_connector_v2_action_proto_init() { + if File_c1_connector_v2_action_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_action_proto_rawDesc), len(file_c1_connector_v2_action_proto_rawDesc)), + NumEnums: 2, + NumMessages: 9, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_c1_connector_v2_action_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_action_proto_depIdxs, + EnumInfos: file_c1_connector_v2_action_proto_enumTypes, + MessageInfos: file_c1_connector_v2_action_proto_msgTypes, + }.Build() + File_c1_connector_v2_action_proto = out.File + file_c1_connector_v2_action_proto_goTypes = nil + file_c1_connector_v2_action_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_baton_id.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_baton_id.pb.go index 88f6033b..94dc93dc 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_baton_id.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_baton_id.pb.go @@ -1,16 +1,17 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/annotation_baton_id.proto +//go:build !protoopaque + package v2 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -22,7 +23,7 @@ const ( ) type ExternalResourceMatch struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` ResourceType ResourceType_Trait `protobuf:"varint,1,opt,name=resource_type,json=resourceType,proto3,enum=c1.connector.v2.ResourceType_Trait" json:"resource_type,omitempty"` Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` @@ -55,11 +56,6 @@ func (x *ExternalResourceMatch) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ExternalResourceMatch.ProtoReflect.Descriptor instead. -func (*ExternalResourceMatch) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_baton_id_proto_rawDescGZIP(), []int{0} -} - func (x *ExternalResourceMatch) GetResourceType() ResourceType_Trait { if x != nil { return x.ResourceType @@ -81,8 +77,38 @@ func (x *ExternalResourceMatch) GetValue() string { return "" } +func (x *ExternalResourceMatch) SetResourceType(v ResourceType_Trait) { + x.ResourceType = v +} + +func (x *ExternalResourceMatch) SetKey(v string) { + x.Key = v +} + +func (x *ExternalResourceMatch) SetValue(v string) { + x.Value = v +} + +type ExternalResourceMatch_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceType ResourceType_Trait + Key string + Value string +} + +func (b0 ExternalResourceMatch_builder) Build() *ExternalResourceMatch { + m0 := &ExternalResourceMatch{} + b, x := &b0, m0 + _, _ = b, x + x.ResourceType = b.ResourceType + x.Key = b.Key + x.Value = b.Value + return m0 +} + type ExternalResourceMatchAll struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` ResourceType ResourceType_Trait `protobuf:"varint,1,opt,name=resource_type,json=resourceType,proto3,enum=c1.connector.v2.ResourceType_Trait" json:"resource_type,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -113,11 +139,6 @@ func (x *ExternalResourceMatchAll) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ExternalResourceMatchAll.ProtoReflect.Descriptor instead. -func (*ExternalResourceMatchAll) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_baton_id_proto_rawDescGZIP(), []int{1} -} - func (x *ExternalResourceMatchAll) GetResourceType() ResourceType_Trait { if x != nil { return x.ResourceType @@ -125,8 +146,26 @@ func (x *ExternalResourceMatchAll) GetResourceType() ResourceType_Trait { return ResourceType_TRAIT_UNSPECIFIED } +func (x *ExternalResourceMatchAll) SetResourceType(v ResourceType_Trait) { + x.ResourceType = v +} + +type ExternalResourceMatchAll_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceType ResourceType_Trait +} + +func (b0 ExternalResourceMatchAll_builder) Build() *ExternalResourceMatchAll { + m0 := &ExternalResourceMatchAll{} + b, x := &b0, m0 + _, _ = b, x + x.ResourceType = b.ResourceType + return m0 +} + type ExternalResourceMatchID struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -157,11 +196,6 @@ func (x *ExternalResourceMatchID) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ExternalResourceMatchID.ProtoReflect.Descriptor instead. -func (*ExternalResourceMatchID) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_baton_id_proto_rawDescGZIP(), []int{2} -} - func (x *ExternalResourceMatchID) GetId() string { if x != nil { return x.Id @@ -169,8 +203,26 @@ func (x *ExternalResourceMatchID) GetId() string { return "" } +func (x *ExternalResourceMatchID) SetId(v string) { + x.Id = v +} + +type ExternalResourceMatchID_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string +} + +func (b0 ExternalResourceMatchID_builder) Build() *ExternalResourceMatchID { + m0 := &ExternalResourceMatchID{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + return m0 +} + type BatonID struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -200,56 +252,32 @@ func (x *BatonID) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatonID.ProtoReflect.Descriptor instead. -func (*BatonID) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_baton_id_proto_rawDescGZIP(), []int{3} +type BatonID_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + } -var File_c1_connector_v2_annotation_baton_id_proto protoreflect.FileDescriptor +func (b0 BatonID_builder) Build() *BatonID { + m0 := &BatonID{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} -var file_c1_connector_v2_annotation_baton_id_proto_rawDesc = string([]byte{ - 0x0a, 0x29, 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, 0x62, 0x61, 0x74, - 0x6f, 0x6e, 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, 0x1a, 0x1e, 0x63, 0x31, - 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, - 0x15, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x48, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 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, 0x2e, 0x54, 0x72, 0x61, - 0x69, 0x74, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x64, 0x0a, 0x18, 0x45, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x41, 0x6c, 0x6c, 0x12, 0x48, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 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, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x74, - 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x29, - 0x0a, 0x17, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x09, 0x0a, 0x07, 0x42, 0x61, 0x74, - 0x6f, 0x6e, 0x49, 0x44, 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_baton_id_proto_rawDescOnce sync.Once - file_c1_connector_v2_annotation_baton_id_proto_rawDescData []byte -) +var File_c1_connector_v2_annotation_baton_id_proto protoreflect.FileDescriptor -func file_c1_connector_v2_annotation_baton_id_proto_rawDescGZIP() []byte { - file_c1_connector_v2_annotation_baton_id_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_annotation_baton_id_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_annotation_baton_id_proto_rawDesc), len(file_c1_connector_v2_annotation_baton_id_proto_rawDesc))) - }) - return file_c1_connector_v2_annotation_baton_id_proto_rawDescData -} +const file_c1_connector_v2_annotation_baton_id_proto_rawDesc = "" + + "\n" + + ")c1/connector/v2/annotation_baton_id.proto\x12\x0fc1.connector.v2\x1a\x1ec1/connector/v2/resource.proto\"\x89\x01\n" + + "\x15ExternalResourceMatch\x12H\n" + + "\rresource_type\x18\x01 \x01(\x0e2#.c1.connector.v2.ResourceType.TraitR\fresourceType\x12\x10\n" + + "\x03key\x18\x02 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x03 \x01(\tR\x05value\"d\n" + + "\x18ExternalResourceMatchAll\x12H\n" + + "\rresource_type\x18\x01 \x01(\x0e2#.c1.connector.v2.ResourceType.TraitR\fresourceType\")\n" + + "\x17ExternalResourceMatchID\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"\t\n" + + "\aBatonIDB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" var file_c1_connector_v2_annotation_baton_id_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_c1_connector_v2_annotation_baton_id_proto_goTypes = []any{ diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_baton_id_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_baton_id_protoopaque.pb.go new file mode 100644 index 00000000..14b010c5 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_baton_id_protoopaque.pb.go @@ -0,0 +1,323 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/annotation_baton_id.proto + +//go:build protoopaque + +package v2 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + 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) +) + +type ExternalResourceMatch struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ResourceType ResourceType_Trait `protobuf:"varint,1,opt,name=resource_type,json=resourceType,proto3,enum=c1.connector.v2.ResourceType_Trait"` + xxx_hidden_Key string `protobuf:"bytes,2,opt,name=key,proto3"` + xxx_hidden_Value string `protobuf:"bytes,3,opt,name=value,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExternalResourceMatch) Reset() { + *x = ExternalResourceMatch{} + mi := &file_c1_connector_v2_annotation_baton_id_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExternalResourceMatch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalResourceMatch) ProtoMessage() {} + +func (x *ExternalResourceMatch) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_baton_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) +} + +func (x *ExternalResourceMatch) GetResourceType() ResourceType_Trait { + if x != nil { + return x.xxx_hidden_ResourceType + } + return ResourceType_TRAIT_UNSPECIFIED +} + +func (x *ExternalResourceMatch) GetKey() string { + if x != nil { + return x.xxx_hidden_Key + } + return "" +} + +func (x *ExternalResourceMatch) GetValue() string { + if x != nil { + return x.xxx_hidden_Value + } + return "" +} + +func (x *ExternalResourceMatch) SetResourceType(v ResourceType_Trait) { + x.xxx_hidden_ResourceType = v +} + +func (x *ExternalResourceMatch) SetKey(v string) { + x.xxx_hidden_Key = v +} + +func (x *ExternalResourceMatch) SetValue(v string) { + x.xxx_hidden_Value = v +} + +type ExternalResourceMatch_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceType ResourceType_Trait + Key string + Value string +} + +func (b0 ExternalResourceMatch_builder) Build() *ExternalResourceMatch { + m0 := &ExternalResourceMatch{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ResourceType = b.ResourceType + x.xxx_hidden_Key = b.Key + x.xxx_hidden_Value = b.Value + return m0 +} + +type ExternalResourceMatchAll struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ResourceType ResourceType_Trait `protobuf:"varint,1,opt,name=resource_type,json=resourceType,proto3,enum=c1.connector.v2.ResourceType_Trait"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExternalResourceMatchAll) Reset() { + *x = ExternalResourceMatchAll{} + mi := &file_c1_connector_v2_annotation_baton_id_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExternalResourceMatchAll) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalResourceMatchAll) ProtoMessage() {} + +func (x *ExternalResourceMatchAll) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_baton_id_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) +} + +func (x *ExternalResourceMatchAll) GetResourceType() ResourceType_Trait { + if x != nil { + return x.xxx_hidden_ResourceType + } + return ResourceType_TRAIT_UNSPECIFIED +} + +func (x *ExternalResourceMatchAll) SetResourceType(v ResourceType_Trait) { + x.xxx_hidden_ResourceType = v +} + +type ExternalResourceMatchAll_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceType ResourceType_Trait +} + +func (b0 ExternalResourceMatchAll_builder) Build() *ExternalResourceMatchAll { + m0 := &ExternalResourceMatchAll{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ResourceType = b.ResourceType + return m0 +} + +type ExternalResourceMatchID struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExternalResourceMatchID) Reset() { + *x = ExternalResourceMatchID{} + mi := &file_c1_connector_v2_annotation_baton_id_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExternalResourceMatchID) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalResourceMatchID) ProtoMessage() {} + +func (x *ExternalResourceMatchID) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_baton_id_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) +} + +func (x *ExternalResourceMatchID) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *ExternalResourceMatchID) SetId(v string) { + x.xxx_hidden_Id = v +} + +type ExternalResourceMatchID_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string +} + +func (b0 ExternalResourceMatchID_builder) Build() *ExternalResourceMatchID { + m0 := &ExternalResourceMatchID{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + return m0 +} + +type BatonID struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonID) Reset() { + *x = BatonID{} + mi := &file_c1_connector_v2_annotation_baton_id_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonID) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonID) ProtoMessage() {} + +func (x *BatonID) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_baton_id_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) +} + +type BatonID_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 BatonID_builder) Build() *BatonID { + m0 := &BatonID{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +var File_c1_connector_v2_annotation_baton_id_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_baton_id_proto_rawDesc = "" + + "\n" + + ")c1/connector/v2/annotation_baton_id.proto\x12\x0fc1.connector.v2\x1a\x1ec1/connector/v2/resource.proto\"\x89\x01\n" + + "\x15ExternalResourceMatch\x12H\n" + + "\rresource_type\x18\x01 \x01(\x0e2#.c1.connector.v2.ResourceType.TraitR\fresourceType\x12\x10\n" + + "\x03key\x18\x02 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x03 \x01(\tR\x05value\"d\n" + + "\x18ExternalResourceMatchAll\x12H\n" + + "\rresource_type\x18\x01 \x01(\x0e2#.c1.connector.v2.ResourceType.TraitR\fresourceType\")\n" + + "\x17ExternalResourceMatchID\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"\t\n" + + "\aBatonIDB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_annotation_baton_id_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_c1_connector_v2_annotation_baton_id_proto_goTypes = []any{ + (*ExternalResourceMatch)(nil), // 0: c1.connector.v2.ExternalResourceMatch + (*ExternalResourceMatchAll)(nil), // 1: c1.connector.v2.ExternalResourceMatchAll + (*ExternalResourceMatchID)(nil), // 2: c1.connector.v2.ExternalResourceMatchID + (*BatonID)(nil), // 3: c1.connector.v2.BatonID + (ResourceType_Trait)(0), // 4: c1.connector.v2.ResourceType.Trait +} +var file_c1_connector_v2_annotation_baton_id_proto_depIdxs = []int32{ + 4, // 0: c1.connector.v2.ExternalResourceMatch.resource_type:type_name -> c1.connector.v2.ResourceType.Trait + 4, // 1: c1.connector.v2.ExternalResourceMatchAll.resource_type:type_name -> c1.connector.v2.ResourceType.Trait + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_c1_connector_v2_annotation_baton_id_proto_init() } +func file_c1_connector_v2_annotation_baton_id_proto_init() { + if File_c1_connector_v2_annotation_baton_id_proto != nil { + return + } + file_c1_connector_v2_resource_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_connector_v2_annotation_baton_id_proto_rawDesc), len(file_c1_connector_v2_annotation_baton_id_proto_rawDesc)), + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_connector_v2_annotation_baton_id_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_annotation_baton_id_proto_depIdxs, + MessageInfos: file_c1_connector_v2_annotation_baton_id_proto_msgTypes, + }.Build() + File_c1_connector_v2_annotation_baton_id_proto = out.File + file_c1_connector_v2_annotation_baton_id_proto_goTypes = nil + file_c1_connector_v2_annotation_baton_id_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_entitlement.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_entitlement.pb.go index 1abd77fb..3c218d56 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_entitlement.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_entitlement.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/annotation_entitlement.proto +//go:build !protoopaque + package v2 import ( @@ -11,7 +13,6 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" structpb "google.golang.org/protobuf/types/known/structpb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -23,7 +24,7 @@ const ( ) type EntitlementImmutable struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` SourceId string `protobuf:"bytes,1,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"` Metadata *structpb.Struct `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` unknownFields protoimpl.UnknownFields @@ -55,11 +56,6 @@ func (x *EntitlementImmutable) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use EntitlementImmutable.ProtoReflect.Descriptor instead. -func (*EntitlementImmutable) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_entitlement_proto_rawDescGZIP(), []int{0} -} - func (x *EntitlementImmutable) GetSourceId() string { if x != nil { return x.SourceId @@ -74,40 +70,50 @@ func (x *EntitlementImmutable) GetMetadata() *structpb.Struct { return nil } -var File_c1_connector_v2_annotation_entitlement_proto protoreflect.FileDescriptor +func (x *EntitlementImmutable) SetSourceId(v string) { + x.SourceId = v +} -var file_c1_connector_v2_annotation_entitlement_proto_rawDesc = string([]byte{ - 0x0a, 0x2c, 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, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, - 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x1a, - 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68, 0x0a, - 0x14, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x6d, 0x75, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x49, 0x64, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, - 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, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 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_entitlement_proto_rawDescOnce sync.Once - file_c1_connector_v2_annotation_entitlement_proto_rawDescData []byte -) +func (x *EntitlementImmutable) SetMetadata(v *structpb.Struct) { + x.Metadata = v +} + +func (x *EntitlementImmutable) HasMetadata() bool { + if x == nil { + return false + } + return x.Metadata != nil +} -func file_c1_connector_v2_annotation_entitlement_proto_rawDescGZIP() []byte { - file_c1_connector_v2_annotation_entitlement_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_annotation_entitlement_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_annotation_entitlement_proto_rawDesc), len(file_c1_connector_v2_annotation_entitlement_proto_rawDesc))) - }) - return file_c1_connector_v2_annotation_entitlement_proto_rawDescData +func (x *EntitlementImmutable) ClearMetadata() { + x.Metadata = nil } +type EntitlementImmutable_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SourceId string + Metadata *structpb.Struct +} + +func (b0 EntitlementImmutable_builder) Build() *EntitlementImmutable { + m0 := &EntitlementImmutable{} + b, x := &b0, m0 + _, _ = b, x + x.SourceId = b.SourceId + x.Metadata = b.Metadata + return m0 +} + +var File_c1_connector_v2_annotation_entitlement_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_entitlement_proto_rawDesc = "" + + "\n" + + ",c1/connector/v2/annotation_entitlement.proto\x12\x0fc1.connector.v2\x1a\x1cgoogle/protobuf/struct.proto\"h\n" + + "\x14EntitlementImmutable\x12\x1b\n" + + "\tsource_id\x18\x01 \x01(\tR\bsourceId\x123\n" + + "\bmetadata\x18\x02 \x01(\v2\x17.google.protobuf.StructR\bmetadataB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + var file_c1_connector_v2_annotation_entitlement_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_c1_connector_v2_annotation_entitlement_proto_goTypes = []any{ (*EntitlementImmutable)(nil), // 0: c1.connector.v2.EntitlementImmutable diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_entitlement_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_entitlement_protoopaque.pb.go new file mode 100644 index 00000000..9baa65cf --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_entitlement_protoopaque.pb.go @@ -0,0 +1,153 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/annotation_entitlement.proto + +//go:build protoopaque + +package v2 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + structpb "google.golang.org/protobuf/types/known/structpb" + reflect "reflect" + 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) +) + +type EntitlementImmutable struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_SourceId string `protobuf:"bytes,1,opt,name=source_id,json=sourceId,proto3"` + xxx_hidden_Metadata *structpb.Struct `protobuf:"bytes,2,opt,name=metadata,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EntitlementImmutable) Reset() { + *x = EntitlementImmutable{} + mi := &file_c1_connector_v2_annotation_entitlement_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EntitlementImmutable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EntitlementImmutable) ProtoMessage() {} + +func (x *EntitlementImmutable) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_entitlement_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) +} + +func (x *EntitlementImmutable) GetSourceId() string { + if x != nil { + return x.xxx_hidden_SourceId + } + return "" +} + +func (x *EntitlementImmutable) GetMetadata() *structpb.Struct { + if x != nil { + return x.xxx_hidden_Metadata + } + return nil +} + +func (x *EntitlementImmutable) SetSourceId(v string) { + x.xxx_hidden_SourceId = v +} + +func (x *EntitlementImmutable) SetMetadata(v *structpb.Struct) { + x.xxx_hidden_Metadata = v +} + +func (x *EntitlementImmutable) HasMetadata() bool { + if x == nil { + return false + } + return x.xxx_hidden_Metadata != nil +} + +func (x *EntitlementImmutable) ClearMetadata() { + x.xxx_hidden_Metadata = nil +} + +type EntitlementImmutable_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SourceId string + Metadata *structpb.Struct +} + +func (b0 EntitlementImmutable_builder) Build() *EntitlementImmutable { + m0 := &EntitlementImmutable{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_SourceId = b.SourceId + x.xxx_hidden_Metadata = b.Metadata + return m0 +} + +var File_c1_connector_v2_annotation_entitlement_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_entitlement_proto_rawDesc = "" + + "\n" + + ",c1/connector/v2/annotation_entitlement.proto\x12\x0fc1.connector.v2\x1a\x1cgoogle/protobuf/struct.proto\"h\n" + + "\x14EntitlementImmutable\x12\x1b\n" + + "\tsource_id\x18\x01 \x01(\tR\bsourceId\x123\n" + + "\bmetadata\x18\x02 \x01(\v2\x17.google.protobuf.StructR\bmetadataB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_annotation_entitlement_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_c1_connector_v2_annotation_entitlement_proto_goTypes = []any{ + (*EntitlementImmutable)(nil), // 0: c1.connector.v2.EntitlementImmutable + (*structpb.Struct)(nil), // 1: google.protobuf.Struct +} +var file_c1_connector_v2_annotation_entitlement_proto_depIdxs = []int32{ + 1, // 0: c1.connector.v2.EntitlementImmutable.metadata:type_name -> google.protobuf.Struct + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_c1_connector_v2_annotation_entitlement_proto_init() } +func file_c1_connector_v2_annotation_entitlement_proto_init() { + if File_c1_connector_v2_annotation_entitlement_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_entitlement_proto_rawDesc), len(file_c1_connector_v2_annotation_entitlement_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_connector_v2_annotation_entitlement_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_annotation_entitlement_proto_depIdxs, + MessageInfos: file_c1_connector_v2_annotation_entitlement_proto_msgTypes, + }.Build() + File_c1_connector_v2_annotation_entitlement_proto = out.File + file_c1_connector_v2_annotation_entitlement_proto_goTypes = nil + file_c1_connector_v2_annotation_entitlement_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_etag.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_etag.pb.go index 939bedd9..a106ae0a 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_etag.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_etag.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/annotation_etag.proto +//go:build !protoopaque + package v2 import ( @@ -11,7 +13,6 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" structpb "google.golang.org/protobuf/types/known/structpb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -23,7 +24,7 @@ const ( ) type ETag struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` EntitlementId string `protobuf:"bytes,2,opt,name=entitlement_id,json=entitlementId,proto3" json:"entitlement_id,omitempty"` unknownFields protoimpl.UnknownFields @@ -55,11 +56,6 @@ func (x *ETag) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ETag.ProtoReflect.Descriptor instead. -func (*ETag) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_etag_proto_rawDescGZIP(), []int{0} -} - func (x *ETag) GetValue() string { if x != nil { return x.Value @@ -74,8 +70,32 @@ func (x *ETag) GetEntitlementId() string { return "" } +func (x *ETag) SetValue(v string) { + x.Value = v +} + +func (x *ETag) SetEntitlementId(v string) { + x.EntitlementId = v +} + +type ETag_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Value string + EntitlementId string +} + +func (b0 ETag_builder) Build() *ETag { + m0 := &ETag{} + b, x := &b0, m0 + _, _ = b, x + x.Value = b.Value + x.EntitlementId = b.EntitlementId + return m0 +} + type ETagMetadata struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Metadata *structpb.Struct `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -106,11 +126,6 @@ func (x *ETagMetadata) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ETagMetadata.ProtoReflect.Descriptor instead. -func (*ETagMetadata) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_etag_proto_rawDescGZIP(), []int{1} -} - func (x *ETagMetadata) GetMetadata() *structpb.Struct { if x != nil { return x.Metadata @@ -118,8 +133,37 @@ func (x *ETagMetadata) GetMetadata() *structpb.Struct { return nil } +func (x *ETagMetadata) SetMetadata(v *structpb.Struct) { + x.Metadata = v +} + +func (x *ETagMetadata) HasMetadata() bool { + if x == nil { + return false + } + return x.Metadata != nil +} + +func (x *ETagMetadata) ClearMetadata() { + x.Metadata = nil +} + +type ETagMetadata_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Metadata *structpb.Struct +} + +func (b0 ETagMetadata_builder) Build() *ETagMetadata { + m0 := &ETagMetadata{} + b, x := &b0, m0 + _, _ = b, x + x.Metadata = b.Metadata + return m0 +} + type ETagMatch struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` EntitlementId string `protobuf:"bytes,1,opt,name=entitlement_id,json=entitlementId,proto3" json:"entitlement_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -150,11 +194,6 @@ func (x *ETagMatch) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ETagMatch.ProtoReflect.Descriptor instead. -func (*ETagMatch) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_etag_proto_rawDescGZIP(), []int{2} -} - func (x *ETagMatch) GetEntitlementId() string { if x != nil { return x.EntitlementId @@ -162,45 +201,37 @@ func (x *ETagMatch) GetEntitlementId() string { return "" } -var File_c1_connector_v2_annotation_etag_proto protoreflect.FileDescriptor +func (x *ETagMatch) SetEntitlementId(v string) { + x.EntitlementId = v +} -var file_c1_connector_v2_annotation_etag_proto_rawDesc = string([]byte{ - 0x0a, 0x25, 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, 0x65, 0x74, 0x61, - 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x04, 0x45, 0x54, 0x61, 0x67, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x0c, 0x45, - 0x54, 0x61, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 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, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x22, 0x32, 0x0a, 0x09, 0x45, 0x54, 0x61, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x0a, - 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 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 ( - file_c1_connector_v2_annotation_etag_proto_rawDescOnce sync.Once - file_c1_connector_v2_annotation_etag_proto_rawDescData []byte -) +type ETagMatch_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. -func file_c1_connector_v2_annotation_etag_proto_rawDescGZIP() []byte { - file_c1_connector_v2_annotation_etag_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_annotation_etag_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_annotation_etag_proto_rawDesc), len(file_c1_connector_v2_annotation_etag_proto_rawDesc))) - }) - return file_c1_connector_v2_annotation_etag_proto_rawDescData + EntitlementId string } +func (b0 ETagMatch_builder) Build() *ETagMatch { + m0 := &ETagMatch{} + b, x := &b0, m0 + _, _ = b, x + x.EntitlementId = b.EntitlementId + return m0 +} + +var File_c1_connector_v2_annotation_etag_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_etag_proto_rawDesc = "" + + "\n" + + "%c1/connector/v2/annotation_etag.proto\x12\x0fc1.connector.v2\x1a\x1cgoogle/protobuf/struct.proto\"C\n" + + "\x04ETag\x12\x14\n" + + "\x05value\x18\x01 \x01(\tR\x05value\x12%\n" + + "\x0eentitlement_id\x18\x02 \x01(\tR\rentitlementId\"C\n" + + "\fETagMetadata\x123\n" + + "\bmetadata\x18\x01 \x01(\v2\x17.google.protobuf.StructR\bmetadata\"2\n" + + "\tETagMatch\x12%\n" + + "\x0eentitlement_id\x18\x01 \x01(\tR\rentitlementIdB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + var file_c1_connector_v2_annotation_etag_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_c1_connector_v2_annotation_etag_proto_goTypes = []any{ (*ETag)(nil), // 0: c1.connector.v2.ETag diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_etag_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_etag_protoopaque.pb.go new file mode 100644 index 00000000..09c9512b --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_etag_protoopaque.pb.go @@ -0,0 +1,273 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/annotation_etag.proto + +//go:build protoopaque + +package v2 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + structpb "google.golang.org/protobuf/types/known/structpb" + reflect "reflect" + 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) +) + +type ETag struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Value string `protobuf:"bytes,1,opt,name=value,proto3"` + xxx_hidden_EntitlementId string `protobuf:"bytes,2,opt,name=entitlement_id,json=entitlementId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ETag) Reset() { + *x = ETag{} + mi := &file_c1_connector_v2_annotation_etag_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ETag) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ETag) ProtoMessage() {} + +func (x *ETag) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_etag_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) +} + +func (x *ETag) GetValue() string { + if x != nil { + return x.xxx_hidden_Value + } + return "" +} + +func (x *ETag) GetEntitlementId() string { + if x != nil { + return x.xxx_hidden_EntitlementId + } + return "" +} + +func (x *ETag) SetValue(v string) { + x.xxx_hidden_Value = v +} + +func (x *ETag) SetEntitlementId(v string) { + x.xxx_hidden_EntitlementId = v +} + +type ETag_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Value string + EntitlementId string +} + +func (b0 ETag_builder) Build() *ETag { + m0 := &ETag{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Value = b.Value + x.xxx_hidden_EntitlementId = b.EntitlementId + return m0 +} + +type ETagMetadata struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Metadata *structpb.Struct `protobuf:"bytes,1,opt,name=metadata,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ETagMetadata) Reset() { + *x = ETagMetadata{} + mi := &file_c1_connector_v2_annotation_etag_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ETagMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ETagMetadata) ProtoMessage() {} + +func (x *ETagMetadata) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_etag_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) +} + +func (x *ETagMetadata) GetMetadata() *structpb.Struct { + if x != nil { + return x.xxx_hidden_Metadata + } + return nil +} + +func (x *ETagMetadata) SetMetadata(v *structpb.Struct) { + x.xxx_hidden_Metadata = v +} + +func (x *ETagMetadata) HasMetadata() bool { + if x == nil { + return false + } + return x.xxx_hidden_Metadata != nil +} + +func (x *ETagMetadata) ClearMetadata() { + x.xxx_hidden_Metadata = nil +} + +type ETagMetadata_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Metadata *structpb.Struct +} + +func (b0 ETagMetadata_builder) Build() *ETagMetadata { + m0 := &ETagMetadata{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Metadata = b.Metadata + return m0 +} + +type ETagMatch struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_EntitlementId string `protobuf:"bytes,1,opt,name=entitlement_id,json=entitlementId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ETagMatch) Reset() { + *x = ETagMatch{} + mi := &file_c1_connector_v2_annotation_etag_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ETagMatch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ETagMatch) ProtoMessage() {} + +func (x *ETagMatch) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_etag_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) +} + +func (x *ETagMatch) GetEntitlementId() string { + if x != nil { + return x.xxx_hidden_EntitlementId + } + return "" +} + +func (x *ETagMatch) SetEntitlementId(v string) { + x.xxx_hidden_EntitlementId = v +} + +type ETagMatch_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + EntitlementId string +} + +func (b0 ETagMatch_builder) Build() *ETagMatch { + m0 := &ETagMatch{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_EntitlementId = b.EntitlementId + return m0 +} + +var File_c1_connector_v2_annotation_etag_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_etag_proto_rawDesc = "" + + "\n" + + "%c1/connector/v2/annotation_etag.proto\x12\x0fc1.connector.v2\x1a\x1cgoogle/protobuf/struct.proto\"C\n" + + "\x04ETag\x12\x14\n" + + "\x05value\x18\x01 \x01(\tR\x05value\x12%\n" + + "\x0eentitlement_id\x18\x02 \x01(\tR\rentitlementId\"C\n" + + "\fETagMetadata\x123\n" + + "\bmetadata\x18\x01 \x01(\v2\x17.google.protobuf.StructR\bmetadata\"2\n" + + "\tETagMatch\x12%\n" + + "\x0eentitlement_id\x18\x01 \x01(\tR\rentitlementIdB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_annotation_etag_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_c1_connector_v2_annotation_etag_proto_goTypes = []any{ + (*ETag)(nil), // 0: c1.connector.v2.ETag + (*ETagMetadata)(nil), // 1: c1.connector.v2.ETagMetadata + (*ETagMatch)(nil), // 2: c1.connector.v2.ETagMatch + (*structpb.Struct)(nil), // 3: google.protobuf.Struct +} +var file_c1_connector_v2_annotation_etag_proto_depIdxs = []int32{ + 3, // 0: c1.connector.v2.ETagMetadata.metadata:type_name -> google.protobuf.Struct + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_c1_connector_v2_annotation_etag_proto_init() } +func file_c1_connector_v2_annotation_etag_proto_init() { + if File_c1_connector_v2_annotation_etag_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_etag_proto_rawDesc), len(file_c1_connector_v2_annotation_etag_proto_rawDesc)), + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_connector_v2_annotation_etag_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_annotation_etag_proto_depIdxs, + MessageInfos: file_c1_connector_v2_annotation_etag_proto_msgTypes, + }.Build() + File_c1_connector_v2_annotation_etag_proto = out.File + file_c1_connector_v2_annotation_etag_proto_goTypes = nil + file_c1_connector_v2_annotation_etag_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_external_link.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_external_link.pb.go index 65c95579..92a69bb8 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_external_link.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_external_link.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/annotation_external_link.proto +//go:build !protoopaque + package v2 import ( @@ -11,7 +13,6 @@ import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -23,7 +24,7 @@ const ( ) type ExternalLink struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -54,11 +55,6 @@ func (x *ExternalLink) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ExternalLink.ProtoReflect.Descriptor instead. -func (*ExternalLink) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_external_link_proto_rawDescGZIP(), []int{0} -} - func (x *ExternalLink) GetUrl() string { if x != nil { return x.Url @@ -66,37 +62,32 @@ func (x *ExternalLink) GetUrl() string { return "" } -var File_c1_connector_v2_annotation_external_link_proto protoreflect.FileDescriptor +func (x *ExternalLink) SetUrl(v string) { + x.Url = v +} -var file_c1_connector_v2_annotation_external_link_proto_rawDesc = string([]byte{ - 0x0a, 0x2e, 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, 0x65, 0x78, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x0f, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, - 0x32, 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, 0x3c, 0x0a, 0x0c, 0x45, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x2c, 0x0a, 0x03, 0x75, 0x72, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xfa, 0x42, 0x17, 0x72, 0x15, 0x20, 0x01, - 0x28, 0x80, 0x08, 0x3a, 0x08, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0xd0, 0x01, 0x01, - 0x88, 0x01, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 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_external_link_proto_rawDescOnce sync.Once - file_c1_connector_v2_annotation_external_link_proto_rawDescData []byte -) +type ExternalLink_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. -func file_c1_connector_v2_annotation_external_link_proto_rawDescGZIP() []byte { - file_c1_connector_v2_annotation_external_link_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_annotation_external_link_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_annotation_external_link_proto_rawDesc), len(file_c1_connector_v2_annotation_external_link_proto_rawDesc))) - }) - return file_c1_connector_v2_annotation_external_link_proto_rawDescData + Url string } +func (b0 ExternalLink_builder) Build() *ExternalLink { + m0 := &ExternalLink{} + b, x := &b0, m0 + _, _ = b, x + x.Url = b.Url + return m0 +} + +var File_c1_connector_v2_annotation_external_link_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_external_link_proto_rawDesc = "" + + "\n" + + ".c1/connector/v2/annotation_external_link.proto\x12\x0fc1.connector.v2\x1a\x17validate/validate.proto\"<\n" + + "\fExternalLink\x12,\n" + + "\x03url\x18\x01 \x01(\tB\x1a\xfaB\x17r\x15 \x01(\x80\b:\bhttps://\xd0\x01\x01\x88\x01\x01R\x03urlB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + var file_c1_connector_v2_annotation_external_link_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_c1_connector_v2_annotation_external_link_proto_goTypes = []any{ (*ExternalLink)(nil), // 0: c1.connector.v2.ExternalLink diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_external_link_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_external_link_protoopaque.pb.go new file mode 100644 index 00000000..f04710cc --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_external_link_protoopaque.pb.go @@ -0,0 +1,125 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/annotation_external_link.proto + +//go:build protoopaque + +package v2 + +import ( + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + 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) +) + +type ExternalLink struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Url string `protobuf:"bytes,1,opt,name=url,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExternalLink) Reset() { + *x = ExternalLink{} + mi := &file_c1_connector_v2_annotation_external_link_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExternalLink) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalLink) ProtoMessage() {} + +func (x *ExternalLink) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_external_link_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) +} + +func (x *ExternalLink) GetUrl() string { + if x != nil { + return x.xxx_hidden_Url + } + return "" +} + +func (x *ExternalLink) SetUrl(v string) { + x.xxx_hidden_Url = v +} + +type ExternalLink_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Url string +} + +func (b0 ExternalLink_builder) Build() *ExternalLink { + m0 := &ExternalLink{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Url = b.Url + return m0 +} + +var File_c1_connector_v2_annotation_external_link_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_external_link_proto_rawDesc = "" + + "\n" + + ".c1/connector/v2/annotation_external_link.proto\x12\x0fc1.connector.v2\x1a\x17validate/validate.proto\"<\n" + + "\fExternalLink\x12,\n" + + "\x03url\x18\x01 \x01(\tB\x1a\xfaB\x17r\x15 \x01(\x80\b:\bhttps://\xd0\x01\x01\x88\x01\x01R\x03urlB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_annotation_external_link_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_c1_connector_v2_annotation_external_link_proto_goTypes = []any{ + (*ExternalLink)(nil), // 0: c1.connector.v2.ExternalLink +} +var file_c1_connector_v2_annotation_external_link_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_external_link_proto_init() } +func file_c1_connector_v2_annotation_external_link_proto_init() { + if File_c1_connector_v2_annotation_external_link_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_external_link_proto_rawDesc), len(file_c1_connector_v2_annotation_external_link_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_connector_v2_annotation_external_link_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_annotation_external_link_proto_depIdxs, + MessageInfos: file_c1_connector_v2_annotation_external_link_proto_msgTypes, + }.Build() + File_c1_connector_v2_annotation_external_link_proto = out.File + file_c1_connector_v2_annotation_external_link_proto_goTypes = nil + file_c1_connector_v2_annotation_external_link_proto_depIdxs = nil +} 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 2803d103..61f83574 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 @@ -1,16 +1,17 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/annotation_external_ticket.proto +//go:build !protoopaque + package v2 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -22,7 +23,7 @@ const ( ) type ExternalTicketSettings struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -53,11 +54,6 @@ func (x *ExternalTicketSettings) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ExternalTicketSettings.ProtoReflect.Descriptor instead. -func (*ExternalTicketSettings) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_external_ticket_proto_rawDescGZIP(), []int{0} -} - func (x *ExternalTicketSettings) GetEnabled() bool { if x != nil { return x.Enabled @@ -65,8 +61,26 @@ func (x *ExternalTicketSettings) GetEnabled() bool { return false } +func (x *ExternalTicketSettings) SetEnabled(v bool) { + x.Enabled = v +} + +type ExternalTicketSettings_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Enabled bool +} + +func (b0 ExternalTicketSettings_builder) Build() *ExternalTicketSettings { + m0 := &ExternalTicketSettings{} + b, x := &b0, m0 + _, _ = b, x + x.Enabled = b.Enabled + return m0 +} + type ExternalTicketRef struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.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 @@ -98,11 +112,6 @@ func (x *ExternalTicketRef) ProtoReflect() protoreflect.Message { 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 @@ -117,42 +126,41 @@ func (x *ExternalTicketRef) GetExternalTicketProvisionerConfigId() string { return "" } -var File_c1_connector_v2_annotation_external_ticket_proto protoreflect.FileDescriptor +func (x *ExternalTicketRef) SetId(v string) { + x.Id = v +} -var file_c1_connector_v2_annotation_external_ticket_proto_rawDesc = string([]byte{ - 0x0a, 0x30, 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, 0x65, 0x78, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x0f, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 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, 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 ( - file_c1_connector_v2_annotation_external_ticket_proto_rawDescOnce sync.Once - file_c1_connector_v2_annotation_external_ticket_proto_rawDescData []byte -) +func (x *ExternalTicketRef) SetExternalTicketProvisionerConfigId(v string) { + x.ExternalTicketProvisionerConfigId = v +} + +type ExternalTicketRef_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. -func file_c1_connector_v2_annotation_external_ticket_proto_rawDescGZIP() []byte { - file_c1_connector_v2_annotation_external_ticket_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_annotation_external_ticket_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_annotation_external_ticket_proto_rawDesc), len(file_c1_connector_v2_annotation_external_ticket_proto_rawDesc))) - }) - return file_c1_connector_v2_annotation_external_ticket_proto_rawDescData + Id string + ExternalTicketProvisionerConfigId string } +func (b0 ExternalTicketRef_builder) Build() *ExternalTicketRef { + m0 := &ExternalTicketRef{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + x.ExternalTicketProvisionerConfigId = b.ExternalTicketProvisionerConfigId + return m0 +} + +var File_c1_connector_v2_annotation_external_ticket_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_external_ticket_proto_rawDesc = "" + + "\n" + + "0c1/connector/v2/annotation_external_ticket.proto\x12\x0fc1.connector.v2\"2\n" + + "\x16ExternalTicketSettings\x12\x18\n" + + "\aenabled\x18\x01 \x01(\bR\aenabled\"u\n" + + "\x11ExternalTicketRef\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12P\n" + + "%external_ticket_provisioner_config_id\x18\x02 \x01(\tR!externalTicketProvisionerConfigIdB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + 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 diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_external_ticket_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_external_ticket_protoopaque.pb.go new file mode 100644 index 00000000..9a7fce75 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_external_ticket_protoopaque.pb.go @@ -0,0 +1,199 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/annotation_external_ticket.proto + +//go:build protoopaque + +package v2 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + 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) +) + +type ExternalTicketSettings struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExternalTicketSettings) Reset() { + *x = ExternalTicketSettings{} + mi := &file_c1_connector_v2_annotation_external_ticket_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExternalTicketSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalTicketSettings) ProtoMessage() {} + +func (x *ExternalTicketSettings) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_external_ticket_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) +} + +func (x *ExternalTicketSettings) GetEnabled() bool { + if x != nil { + return x.xxx_hidden_Enabled + } + return false +} + +func (x *ExternalTicketSettings) SetEnabled(v bool) { + x.xxx_hidden_Enabled = v +} + +type ExternalTicketSettings_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Enabled bool +} + +func (b0 ExternalTicketSettings_builder) Build() *ExternalTicketSettings { + m0 := &ExternalTicketSettings{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Enabled = b.Enabled + return m0 +} + +type ExternalTicketRef struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + xxx_hidden_ExternalTicketProvisionerConfigId string `protobuf:"bytes,2,opt,name=external_ticket_provisioner_config_id,json=externalTicketProvisionerConfigId,proto3"` + 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) +} + +func (x *ExternalTicketRef) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *ExternalTicketRef) GetExternalTicketProvisionerConfigId() string { + if x != nil { + return x.xxx_hidden_ExternalTicketProvisionerConfigId + } + return "" +} + +func (x *ExternalTicketRef) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *ExternalTicketRef) SetExternalTicketProvisionerConfigId(v string) { + x.xxx_hidden_ExternalTicketProvisionerConfigId = v +} + +type ExternalTicketRef_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + ExternalTicketProvisionerConfigId string +} + +func (b0 ExternalTicketRef_builder) Build() *ExternalTicketRef { + m0 := &ExternalTicketRef{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + x.xxx_hidden_ExternalTicketProvisionerConfigId = b.ExternalTicketProvisionerConfigId + return m0 +} + +var File_c1_connector_v2_annotation_external_ticket_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_external_ticket_proto_rawDesc = "" + + "\n" + + "0c1/connector/v2/annotation_external_ticket.proto\x12\x0fc1.connector.v2\"2\n" + + "\x16ExternalTicketSettings\x12\x18\n" + + "\aenabled\x18\x01 \x01(\bR\aenabled\"u\n" + + "\x11ExternalTicketRef\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12P\n" + + "%external_ticket_provisioner_config_id\x18\x02 \x01(\tR!externalTicketProvisionerConfigIdB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +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 + 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_external_ticket_proto_init() } +func file_c1_connector_v2_annotation_external_ticket_proto_init() { + if File_c1_connector_v2_annotation_external_ticket_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_external_ticket_proto_rawDesc), len(file_c1_connector_v2_annotation_external_ticket_proto_rawDesc)), + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_connector_v2_annotation_external_ticket_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_annotation_external_ticket_proto_depIdxs, + MessageInfos: file_c1_connector_v2_annotation_external_ticket_proto_msgTypes, + }.Build() + File_c1_connector_v2_annotation_external_ticket_proto = out.File + file_c1_connector_v2_annotation_external_ticket_proto_goTypes = nil + file_c1_connector_v2_annotation_external_ticket_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_grant.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_grant.pb.go index b2a5e03e..d993d3e8 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_grant.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_grant.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/annotation_grant.proto +//go:build !protoopaque + package v2 import ( @@ -11,7 +13,6 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" structpb "google.golang.org/protobuf/types/known/structpb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -23,7 +24,7 @@ const ( ) type GrantMetadata struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Metadata *structpb.Struct `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -54,11 +55,6 @@ func (x *GrantMetadata) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrantMetadata.ProtoReflect.Descriptor instead. -func (*GrantMetadata) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_grant_proto_rawDescGZIP(), []int{0} -} - func (x *GrantMetadata) GetMetadata() *structpb.Struct { if x != nil { return x.Metadata @@ -66,8 +62,37 @@ func (x *GrantMetadata) GetMetadata() *structpb.Struct { return nil } +func (x *GrantMetadata) SetMetadata(v *structpb.Struct) { + x.Metadata = v +} + +func (x *GrantMetadata) HasMetadata() bool { + if x == nil { + return false + } + return x.Metadata != nil +} + +func (x *GrantMetadata) ClearMetadata() { + x.Metadata = nil +} + +type GrantMetadata_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Metadata *structpb.Struct +} + +func (b0 GrantMetadata_builder) Build() *GrantMetadata { + m0 := &GrantMetadata{} + b, x := &b0, m0 + _, _ = b, x + x.Metadata = b.Metadata + return m0 +} + type GrantExpandable struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` EntitlementIds []string `protobuf:"bytes,1,rep,name=entitlement_ids,json=entitlementIds,proto3" json:"entitlement_ids,omitempty"` Shallow bool `protobuf:"varint,2,opt,name=shallow,proto3" json:"shallow,omitempty"` ResourceTypeIds []string `protobuf:"bytes,3,rep,name=resource_type_ids,json=resourceTypeIds,proto3" json:"resource_type_ids,omitempty"` @@ -100,11 +125,6 @@ func (x *GrantExpandable) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrantExpandable.ProtoReflect.Descriptor instead. -func (*GrantExpandable) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_grant_proto_rawDescGZIP(), []int{1} -} - func (x *GrantExpandable) GetEntitlementIds() []string { if x != nil { return x.EntitlementIds @@ -126,9 +146,39 @@ func (x *GrantExpandable) GetResourceTypeIds() []string { return nil } +func (x *GrantExpandable) SetEntitlementIds(v []string) { + x.EntitlementIds = v +} + +func (x *GrantExpandable) SetShallow(v bool) { + x.Shallow = v +} + +func (x *GrantExpandable) SetResourceTypeIds(v []string) { + x.ResourceTypeIds = v +} + +type GrantExpandable_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + EntitlementIds []string + Shallow bool + ResourceTypeIds []string +} + +func (b0 GrantExpandable_builder) Build() *GrantExpandable { + m0 := &GrantExpandable{} + b, x := &b0, m0 + _, _ = b, x + x.EntitlementIds = b.EntitlementIds + x.Shallow = b.Shallow + x.ResourceTypeIds = b.ResourceTypeIds + return m0 +} + // Grant cannot be updated or revoked. For example, membership in an "all users" group. type GrantImmutable struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` SourceId string `protobuf:"bytes,1,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"` Metadata *structpb.Struct `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` unknownFields protoimpl.UnknownFields @@ -160,11 +210,6 @@ func (x *GrantImmutable) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrantImmutable.ProtoReflect.Descriptor instead. -func (*GrantImmutable) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_grant_proto_rawDescGZIP(), []int{2} -} - func (x *GrantImmutable) GetSourceId() string { if x != nil { return x.SourceId @@ -179,9 +224,44 @@ func (x *GrantImmutable) GetMetadata() *structpb.Struct { return nil } +func (x *GrantImmutable) SetSourceId(v string) { + x.SourceId = v +} + +func (x *GrantImmutable) SetMetadata(v *structpb.Struct) { + x.Metadata = v +} + +func (x *GrantImmutable) HasMetadata() bool { + if x == nil { + return false + } + return x.Metadata != nil +} + +func (x *GrantImmutable) ClearMetadata() { + x.Metadata = nil +} + +type GrantImmutable_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SourceId string + Metadata *structpb.Struct +} + +func (b0 GrantImmutable_builder) Build() *GrantImmutable { + m0 := &GrantImmutable{} + b, x := &b0, m0 + _, _ = b, x + x.SourceId = b.SourceId + x.Metadata = b.Metadata + return m0 +} + // Grant was not created because the entitlement already existed. type GrantAlreadyExists struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -211,14 +291,21 @@ func (x *GrantAlreadyExists) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrantAlreadyExists.ProtoReflect.Descriptor instead. -func (*GrantAlreadyExists) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_grant_proto_rawDescGZIP(), []int{3} +type GrantAlreadyExists_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 GrantAlreadyExists_builder) Build() *GrantAlreadyExists { + m0 := &GrantAlreadyExists{} + b, x := &b0, m0 + _, _ = b, x + return m0 } // Grant was not revoked because the entitlement does not exist. type GrantAlreadyRevoked struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -248,59 +335,34 @@ func (x *GrantAlreadyRevoked) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrantAlreadyRevoked.ProtoReflect.Descriptor instead. -func (*GrantAlreadyRevoked) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_grant_proto_rawDescGZIP(), []int{4} +type GrantAlreadyRevoked_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + } -var File_c1_connector_v2_annotation_grant_proto protoreflect.FileDescriptor +func (b0 GrantAlreadyRevoked_builder) Build() *GrantAlreadyRevoked { + m0 := &GrantAlreadyRevoked{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} -var file_c1_connector_v2_annotation_grant_proto_rawDesc = string([]byte{ - 0x0a, 0x26, 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, 0x67, 0x72, 0x61, - 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x44, 0x0a, 0x0d, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 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, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x80, 0x01, - 0x0a, 0x0f, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x61, 0x62, 0x6c, - 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x68, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x68, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x73, - 0x22, 0x62, 0x0a, 0x0e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x6d, 0x6d, 0x75, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, - 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 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, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x22, 0x14, 0x0a, 0x12, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x41, 0x6c, 0x72, - 0x65, 0x61, 0x64, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x76, 0x6f, 0x6b, 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, -}) - -var ( - file_c1_connector_v2_annotation_grant_proto_rawDescOnce sync.Once - file_c1_connector_v2_annotation_grant_proto_rawDescData []byte -) +var File_c1_connector_v2_annotation_grant_proto protoreflect.FileDescriptor -func file_c1_connector_v2_annotation_grant_proto_rawDescGZIP() []byte { - file_c1_connector_v2_annotation_grant_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_annotation_grant_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_annotation_grant_proto_rawDesc), len(file_c1_connector_v2_annotation_grant_proto_rawDesc))) - }) - return file_c1_connector_v2_annotation_grant_proto_rawDescData -} +const file_c1_connector_v2_annotation_grant_proto_rawDesc = "" + + "\n" + + "&c1/connector/v2/annotation_grant.proto\x12\x0fc1.connector.v2\x1a\x1cgoogle/protobuf/struct.proto\"D\n" + + "\rGrantMetadata\x123\n" + + "\bmetadata\x18\x01 \x01(\v2\x17.google.protobuf.StructR\bmetadata\"\x80\x01\n" + + "\x0fGrantExpandable\x12'\n" + + "\x0fentitlement_ids\x18\x01 \x03(\tR\x0eentitlementIds\x12\x18\n" + + "\ashallow\x18\x02 \x01(\bR\ashallow\x12*\n" + + "\x11resource_type_ids\x18\x03 \x03(\tR\x0fresourceTypeIds\"b\n" + + "\x0eGrantImmutable\x12\x1b\n" + + "\tsource_id\x18\x01 \x01(\tR\bsourceId\x123\n" + + "\bmetadata\x18\x02 \x01(\v2\x17.google.protobuf.StructR\bmetadata\"\x14\n" + + "\x12GrantAlreadyExists\"\x15\n" + + "\x13GrantAlreadyRevokedB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" var file_c1_connector_v2_annotation_grant_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_c1_connector_v2_annotation_grant_proto_goTypes = []any{ diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_grant_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_grant_protoopaque.pb.go new file mode 100644 index 00000000..41ce365b --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_grant_protoopaque.pb.go @@ -0,0 +1,408 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/annotation_grant.proto + +//go:build protoopaque + +package v2 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + structpb "google.golang.org/protobuf/types/known/structpb" + reflect "reflect" + 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) +) + +type GrantMetadata struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Metadata *structpb.Struct `protobuf:"bytes,1,opt,name=metadata,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantMetadata) Reset() { + *x = GrantMetadata{} + mi := &file_c1_connector_v2_annotation_grant_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantMetadata) ProtoMessage() {} + +func (x *GrantMetadata) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_grant_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) +} + +func (x *GrantMetadata) GetMetadata() *structpb.Struct { + if x != nil { + return x.xxx_hidden_Metadata + } + return nil +} + +func (x *GrantMetadata) SetMetadata(v *structpb.Struct) { + x.xxx_hidden_Metadata = v +} + +func (x *GrantMetadata) HasMetadata() bool { + if x == nil { + return false + } + return x.xxx_hidden_Metadata != nil +} + +func (x *GrantMetadata) ClearMetadata() { + x.xxx_hidden_Metadata = nil +} + +type GrantMetadata_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Metadata *structpb.Struct +} + +func (b0 GrantMetadata_builder) Build() *GrantMetadata { + m0 := &GrantMetadata{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Metadata = b.Metadata + return m0 +} + +type GrantExpandable struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_EntitlementIds []string `protobuf:"bytes,1,rep,name=entitlement_ids,json=entitlementIds,proto3"` + xxx_hidden_Shallow bool `protobuf:"varint,2,opt,name=shallow,proto3"` + xxx_hidden_ResourceTypeIds []string `protobuf:"bytes,3,rep,name=resource_type_ids,json=resourceTypeIds,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantExpandable) Reset() { + *x = GrantExpandable{} + mi := &file_c1_connector_v2_annotation_grant_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantExpandable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantExpandable) ProtoMessage() {} + +func (x *GrantExpandable) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_grant_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) +} + +func (x *GrantExpandable) GetEntitlementIds() []string { + if x != nil { + return x.xxx_hidden_EntitlementIds + } + return nil +} + +func (x *GrantExpandable) GetShallow() bool { + if x != nil { + return x.xxx_hidden_Shallow + } + return false +} + +func (x *GrantExpandable) GetResourceTypeIds() []string { + if x != nil { + return x.xxx_hidden_ResourceTypeIds + } + return nil +} + +func (x *GrantExpandable) SetEntitlementIds(v []string) { + x.xxx_hidden_EntitlementIds = v +} + +func (x *GrantExpandable) SetShallow(v bool) { + x.xxx_hidden_Shallow = v +} + +func (x *GrantExpandable) SetResourceTypeIds(v []string) { + x.xxx_hidden_ResourceTypeIds = v +} + +type GrantExpandable_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + EntitlementIds []string + Shallow bool + ResourceTypeIds []string +} + +func (b0 GrantExpandable_builder) Build() *GrantExpandable { + m0 := &GrantExpandable{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_EntitlementIds = b.EntitlementIds + x.xxx_hidden_Shallow = b.Shallow + x.xxx_hidden_ResourceTypeIds = b.ResourceTypeIds + return m0 +} + +// Grant cannot be updated or revoked. For example, membership in an "all users" group. +type GrantImmutable struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_SourceId string `protobuf:"bytes,1,opt,name=source_id,json=sourceId,proto3"` + xxx_hidden_Metadata *structpb.Struct `protobuf:"bytes,2,opt,name=metadata,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantImmutable) Reset() { + *x = GrantImmutable{} + mi := &file_c1_connector_v2_annotation_grant_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantImmutable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantImmutable) ProtoMessage() {} + +func (x *GrantImmutable) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_grant_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) +} + +func (x *GrantImmutable) GetSourceId() string { + if x != nil { + return x.xxx_hidden_SourceId + } + return "" +} + +func (x *GrantImmutable) GetMetadata() *structpb.Struct { + if x != nil { + return x.xxx_hidden_Metadata + } + return nil +} + +func (x *GrantImmutable) SetSourceId(v string) { + x.xxx_hidden_SourceId = v +} + +func (x *GrantImmutable) SetMetadata(v *structpb.Struct) { + x.xxx_hidden_Metadata = v +} + +func (x *GrantImmutable) HasMetadata() bool { + if x == nil { + return false + } + return x.xxx_hidden_Metadata != nil +} + +func (x *GrantImmutable) ClearMetadata() { + x.xxx_hidden_Metadata = nil +} + +type GrantImmutable_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SourceId string + Metadata *structpb.Struct +} + +func (b0 GrantImmutable_builder) Build() *GrantImmutable { + m0 := &GrantImmutable{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_SourceId = b.SourceId + x.xxx_hidden_Metadata = b.Metadata + return m0 +} + +// Grant was not created because the entitlement already existed. +type GrantAlreadyExists struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantAlreadyExists) Reset() { + *x = GrantAlreadyExists{} + mi := &file_c1_connector_v2_annotation_grant_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantAlreadyExists) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantAlreadyExists) ProtoMessage() {} + +func (x *GrantAlreadyExists) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_grant_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) +} + +type GrantAlreadyExists_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 GrantAlreadyExists_builder) Build() *GrantAlreadyExists { + m0 := &GrantAlreadyExists{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +// Grant was not revoked because the entitlement does not exist. +type GrantAlreadyRevoked struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantAlreadyRevoked) Reset() { + *x = GrantAlreadyRevoked{} + mi := &file_c1_connector_v2_annotation_grant_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantAlreadyRevoked) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantAlreadyRevoked) ProtoMessage() {} + +func (x *GrantAlreadyRevoked) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_grant_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +type GrantAlreadyRevoked_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 GrantAlreadyRevoked_builder) Build() *GrantAlreadyRevoked { + m0 := &GrantAlreadyRevoked{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +var File_c1_connector_v2_annotation_grant_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_grant_proto_rawDesc = "" + + "\n" + + "&c1/connector/v2/annotation_grant.proto\x12\x0fc1.connector.v2\x1a\x1cgoogle/protobuf/struct.proto\"D\n" + + "\rGrantMetadata\x123\n" + + "\bmetadata\x18\x01 \x01(\v2\x17.google.protobuf.StructR\bmetadata\"\x80\x01\n" + + "\x0fGrantExpandable\x12'\n" + + "\x0fentitlement_ids\x18\x01 \x03(\tR\x0eentitlementIds\x12\x18\n" + + "\ashallow\x18\x02 \x01(\bR\ashallow\x12*\n" + + "\x11resource_type_ids\x18\x03 \x03(\tR\x0fresourceTypeIds\"b\n" + + "\x0eGrantImmutable\x12\x1b\n" + + "\tsource_id\x18\x01 \x01(\tR\bsourceId\x123\n" + + "\bmetadata\x18\x02 \x01(\v2\x17.google.protobuf.StructR\bmetadata\"\x14\n" + + "\x12GrantAlreadyExists\"\x15\n" + + "\x13GrantAlreadyRevokedB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_annotation_grant_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_c1_connector_v2_annotation_grant_proto_goTypes = []any{ + (*GrantMetadata)(nil), // 0: c1.connector.v2.GrantMetadata + (*GrantExpandable)(nil), // 1: c1.connector.v2.GrantExpandable + (*GrantImmutable)(nil), // 2: c1.connector.v2.GrantImmutable + (*GrantAlreadyExists)(nil), // 3: c1.connector.v2.GrantAlreadyExists + (*GrantAlreadyRevoked)(nil), // 4: c1.connector.v2.GrantAlreadyRevoked + (*structpb.Struct)(nil), // 5: google.protobuf.Struct +} +var file_c1_connector_v2_annotation_grant_proto_depIdxs = []int32{ + 5, // 0: c1.connector.v2.GrantMetadata.metadata:type_name -> google.protobuf.Struct + 5, // 1: c1.connector.v2.GrantImmutable.metadata:type_name -> google.protobuf.Struct + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_c1_connector_v2_annotation_grant_proto_init() } +func file_c1_connector_v2_annotation_grant_proto_init() { + if File_c1_connector_v2_annotation_grant_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_grant_proto_rawDesc), len(file_c1_connector_v2_annotation_grant_proto_rawDesc)), + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_connector_v2_annotation_grant_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_annotation_grant_proto_depIdxs, + MessageInfos: file_c1_connector_v2_annotation_grant_proto_msgTypes, + }.Build() + File_c1_connector_v2_annotation_grant_proto = out.File + file_c1_connector_v2_annotation_grant_proto_goTypes = nil + file_c1_connector_v2_annotation_grant_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_ratelimit.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_ratelimit.pb.go index 3f711ada..9522f6d9 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_ratelimit.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_ratelimit.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/annotation_ratelimit.proto +//go:build !protoopaque + package v2 import ( @@ -11,7 +13,6 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -69,13 +70,8 @@ func (x RateLimitDescription_Status) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use RateLimitDescription_Status.Descriptor instead. -func (RateLimitDescription_Status) EnumDescriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_ratelimit_proto_rawDescGZIP(), []int{0, 0} -} - type RateLimitDescription struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Status RateLimitDescription_Status `protobuf:"varint,1,opt,name=status,proto3,enum=c1.connector.v2.RateLimitDescription_Status" json:"status,omitempty"` Limit int64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` Remaining int64 `protobuf:"varint,3,opt,name=remaining,proto3" json:"remaining,omitempty"` @@ -109,11 +105,6 @@ func (x *RateLimitDescription) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RateLimitDescription.ProtoReflect.Descriptor instead. -func (*RateLimitDescription) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_ratelimit_proto_rawDescGZIP(), []int{0} -} - func (x *RateLimitDescription) GetStatus() RateLimitDescription_Status { if x != nil { return x.Status @@ -142,52 +133,69 @@ func (x *RateLimitDescription) GetResetAt() *timestamppb.Timestamp { return nil } -var File_c1_connector_v2_annotation_ratelimit_proto protoreflect.FileDescriptor +func (x *RateLimitDescription) SetStatus(v RateLimitDescription_Status) { + x.Status = v +} -var file_c1_connector_v2_annotation_ratelimit_proto_rawDesc = string([]byte{ - 0x0a, 0x2a, 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, 0x72, 0x61, 0x74, - 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x63, 0x31, - 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x1f, 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, 0x22, 0xa0, - 0x02, 0x0a, 0x14, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, - 0x67, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x61, 0x74, 0x18, 0x04, 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, - 0x07, 0x72, 0x65, 0x73, 0x65, 0x74, 0x41, 0x74, 0x22, 0x57, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x02, 0x12, - 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x03, 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, -}) +func (x *RateLimitDescription) SetLimit(v int64) { + x.Limit = v +} -var ( - file_c1_connector_v2_annotation_ratelimit_proto_rawDescOnce sync.Once - file_c1_connector_v2_annotation_ratelimit_proto_rawDescData []byte -) +func (x *RateLimitDescription) SetRemaining(v int64) { + x.Remaining = v +} + +func (x *RateLimitDescription) SetResetAt(v *timestamppb.Timestamp) { + x.ResetAt = v +} + +func (x *RateLimitDescription) HasResetAt() bool { + if x == nil { + return false + } + return x.ResetAt != nil +} + +func (x *RateLimitDescription) ClearResetAt() { + x.ResetAt = nil +} -func file_c1_connector_v2_annotation_ratelimit_proto_rawDescGZIP() []byte { - file_c1_connector_v2_annotation_ratelimit_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_annotation_ratelimit_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_annotation_ratelimit_proto_rawDesc), len(file_c1_connector_v2_annotation_ratelimit_proto_rawDesc))) - }) - return file_c1_connector_v2_annotation_ratelimit_proto_rawDescData +type RateLimitDescription_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Status RateLimitDescription_Status + Limit int64 + Remaining int64 + ResetAt *timestamppb.Timestamp +} + +func (b0 RateLimitDescription_builder) Build() *RateLimitDescription { + m0 := &RateLimitDescription{} + b, x := &b0, m0 + _, _ = b, x + x.Status = b.Status + x.Limit = b.Limit + x.Remaining = b.Remaining + x.ResetAt = b.ResetAt + return m0 } +var File_c1_connector_v2_annotation_ratelimit_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_ratelimit_proto_rawDesc = "" + + "\n" + + "*c1/connector/v2/annotation_ratelimit.proto\x12\x0fc1.connector.v2\x1a\x1fgoogle/protobuf/timestamp.proto\"\xa0\x02\n" + + "\x14RateLimitDescription\x12D\n" + + "\x06status\x18\x01 \x01(\x0e2,.c1.connector.v2.RateLimitDescription.StatusR\x06status\x12\x14\n" + + "\x05limit\x18\x02 \x01(\x03R\x05limit\x12\x1c\n" + + "\tremaining\x18\x03 \x01(\x03R\tremaining\x125\n" + + "\breset_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\aresetAt\"W\n" + + "\x06Status\x12\x16\n" + + "\x12STATUS_UNSPECIFIED\x10\x00\x12\r\n" + + "\tSTATUS_OK\x10\x01\x12\x14\n" + + "\x10STATUS_OVERLIMIT\x10\x02\x12\x10\n" + + "\fSTATUS_ERROR\x10\x03B6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + var file_c1_connector_v2_annotation_ratelimit_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_c1_connector_v2_annotation_ratelimit_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_c1_connector_v2_annotation_ratelimit_proto_goTypes = []any{ diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_ratelimit_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_ratelimit_protoopaque.pb.go new file mode 100644 index 00000000..f96edadf --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_ratelimit_protoopaque.pb.go @@ -0,0 +1,239 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/annotation_ratelimit.proto + +//go:build protoopaque + +package v2 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + 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) +) + +type RateLimitDescription_Status int32 + +const ( + RateLimitDescription_STATUS_UNSPECIFIED RateLimitDescription_Status = 0 + RateLimitDescription_STATUS_OK RateLimitDescription_Status = 1 + RateLimitDescription_STATUS_OVERLIMIT RateLimitDescription_Status = 2 + RateLimitDescription_STATUS_ERROR RateLimitDescription_Status = 3 +) + +// Enum value maps for RateLimitDescription_Status. +var ( + RateLimitDescription_Status_name = map[int32]string{ + 0: "STATUS_UNSPECIFIED", + 1: "STATUS_OK", + 2: "STATUS_OVERLIMIT", + 3: "STATUS_ERROR", + } + RateLimitDescription_Status_value = map[string]int32{ + "STATUS_UNSPECIFIED": 0, + "STATUS_OK": 1, + "STATUS_OVERLIMIT": 2, + "STATUS_ERROR": 3, + } +) + +func (x RateLimitDescription_Status) Enum() *RateLimitDescription_Status { + p := new(RateLimitDescription_Status) + *p = x + return p +} + +func (x RateLimitDescription_Status) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RateLimitDescription_Status) Descriptor() protoreflect.EnumDescriptor { + return file_c1_connector_v2_annotation_ratelimit_proto_enumTypes[0].Descriptor() +} + +func (RateLimitDescription_Status) Type() protoreflect.EnumType { + return &file_c1_connector_v2_annotation_ratelimit_proto_enumTypes[0] +} + +func (x RateLimitDescription_Status) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type RateLimitDescription struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Status RateLimitDescription_Status `protobuf:"varint,1,opt,name=status,proto3,enum=c1.connector.v2.RateLimitDescription_Status"` + xxx_hidden_Limit int64 `protobuf:"varint,2,opt,name=limit,proto3"` + xxx_hidden_Remaining int64 `protobuf:"varint,3,opt,name=remaining,proto3"` + xxx_hidden_ResetAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=reset_at,json=resetAt,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RateLimitDescription) Reset() { + *x = RateLimitDescription{} + mi := &file_c1_connector_v2_annotation_ratelimit_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RateLimitDescription) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitDescription) ProtoMessage() {} + +func (x *RateLimitDescription) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_ratelimit_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) +} + +func (x *RateLimitDescription) GetStatus() RateLimitDescription_Status { + if x != nil { + return x.xxx_hidden_Status + } + return RateLimitDescription_STATUS_UNSPECIFIED +} + +func (x *RateLimitDescription) GetLimit() int64 { + if x != nil { + return x.xxx_hidden_Limit + } + return 0 +} + +func (x *RateLimitDescription) GetRemaining() int64 { + if x != nil { + return x.xxx_hidden_Remaining + } + return 0 +} + +func (x *RateLimitDescription) GetResetAt() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_ResetAt + } + return nil +} + +func (x *RateLimitDescription) SetStatus(v RateLimitDescription_Status) { + x.xxx_hidden_Status = v +} + +func (x *RateLimitDescription) SetLimit(v int64) { + x.xxx_hidden_Limit = v +} + +func (x *RateLimitDescription) SetRemaining(v int64) { + x.xxx_hidden_Remaining = v +} + +func (x *RateLimitDescription) SetResetAt(v *timestamppb.Timestamp) { + x.xxx_hidden_ResetAt = v +} + +func (x *RateLimitDescription) HasResetAt() bool { + if x == nil { + return false + } + return x.xxx_hidden_ResetAt != nil +} + +func (x *RateLimitDescription) ClearResetAt() { + x.xxx_hidden_ResetAt = nil +} + +type RateLimitDescription_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Status RateLimitDescription_Status + Limit int64 + Remaining int64 + ResetAt *timestamppb.Timestamp +} + +func (b0 RateLimitDescription_builder) Build() *RateLimitDescription { + m0 := &RateLimitDescription{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Status = b.Status + x.xxx_hidden_Limit = b.Limit + x.xxx_hidden_Remaining = b.Remaining + x.xxx_hidden_ResetAt = b.ResetAt + return m0 +} + +var File_c1_connector_v2_annotation_ratelimit_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_ratelimit_proto_rawDesc = "" + + "\n" + + "*c1/connector/v2/annotation_ratelimit.proto\x12\x0fc1.connector.v2\x1a\x1fgoogle/protobuf/timestamp.proto\"\xa0\x02\n" + + "\x14RateLimitDescription\x12D\n" + + "\x06status\x18\x01 \x01(\x0e2,.c1.connector.v2.RateLimitDescription.StatusR\x06status\x12\x14\n" + + "\x05limit\x18\x02 \x01(\x03R\x05limit\x12\x1c\n" + + "\tremaining\x18\x03 \x01(\x03R\tremaining\x125\n" + + "\breset_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\aresetAt\"W\n" + + "\x06Status\x12\x16\n" + + "\x12STATUS_UNSPECIFIED\x10\x00\x12\r\n" + + "\tSTATUS_OK\x10\x01\x12\x14\n" + + "\x10STATUS_OVERLIMIT\x10\x02\x12\x10\n" + + "\fSTATUS_ERROR\x10\x03B6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_annotation_ratelimit_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_c1_connector_v2_annotation_ratelimit_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_c1_connector_v2_annotation_ratelimit_proto_goTypes = []any{ + (RateLimitDescription_Status)(0), // 0: c1.connector.v2.RateLimitDescription.Status + (*RateLimitDescription)(nil), // 1: c1.connector.v2.RateLimitDescription + (*timestamppb.Timestamp)(nil), // 2: google.protobuf.Timestamp +} +var file_c1_connector_v2_annotation_ratelimit_proto_depIdxs = []int32{ + 0, // 0: c1.connector.v2.RateLimitDescription.status:type_name -> c1.connector.v2.RateLimitDescription.Status + 2, // 1: c1.connector.v2.RateLimitDescription.reset_at:type_name -> google.protobuf.Timestamp + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_c1_connector_v2_annotation_ratelimit_proto_init() } +func file_c1_connector_v2_annotation_ratelimit_proto_init() { + if File_c1_connector_v2_annotation_ratelimit_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_ratelimit_proto_rawDesc), len(file_c1_connector_v2_annotation_ratelimit_proto_rawDesc)), + NumEnums: 1, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_connector_v2_annotation_ratelimit_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_annotation_ratelimit_proto_depIdxs, + EnumInfos: file_c1_connector_v2_annotation_ratelimit_proto_enumTypes, + MessageInfos: file_c1_connector_v2_annotation_ratelimit_proto_msgTypes, + }.Build() + File_c1_connector_v2_annotation_ratelimit_proto = out.File + file_c1_connector_v2_annotation_ratelimit_proto_goTypes = nil + file_c1_connector_v2_annotation_ratelimit_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_raw_id.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_raw_id.pb.go index 72063239..b80d787e 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_raw_id.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_raw_id.pb.go @@ -1,16 +1,17 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/annotation_raw_id.proto +//go:build !protoopaque + package v2 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -23,7 +24,7 @@ const ( // Raw ID from whatever API the resource/entitlement/grant came from. type RawId struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -54,11 +55,6 @@ func (x *RawId) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RawId.ProtoReflect.Descriptor instead. -func (*RawId) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_raw_id_proto_rawDescGZIP(), []int{0} -} - func (x *RawId) GetId() string { if x != nil { return x.Id @@ -66,33 +62,32 @@ func (x *RawId) GetId() string { return "" } -var File_c1_connector_v2_annotation_raw_id_proto protoreflect.FileDescriptor +func (x *RawId) SetId(v string) { + x.Id = v +} -var file_c1_connector_v2_annotation_raw_id_proto_rawDesc = string([]byte{ - 0x0a, 0x27, 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, 0x72, 0x61, 0x77, - 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, 0x17, 0x0a, 0x05, 0x52, 0x61, - 0x77, 0x49, 0x64, 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_raw_id_proto_rawDescOnce sync.Once - file_c1_connector_v2_annotation_raw_id_proto_rawDescData []byte -) +type RawId_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. -func file_c1_connector_v2_annotation_raw_id_proto_rawDescGZIP() []byte { - file_c1_connector_v2_annotation_raw_id_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_annotation_raw_id_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_annotation_raw_id_proto_rawDesc), len(file_c1_connector_v2_annotation_raw_id_proto_rawDesc))) - }) - return file_c1_connector_v2_annotation_raw_id_proto_rawDescData + Id string } +func (b0 RawId_builder) Build() *RawId { + m0 := &RawId{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + return m0 +} + +var File_c1_connector_v2_annotation_raw_id_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_raw_id_proto_rawDesc = "" + + "\n" + + "'c1/connector/v2/annotation_raw_id.proto\x12\x0fc1.connector.v2\"\x17\n" + + "\x05RawId\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02idB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + var file_c1_connector_v2_annotation_raw_id_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_c1_connector_v2_annotation_raw_id_proto_goTypes = []any{ (*RawId)(nil), // 0: c1.connector.v2.RawId diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_raw_id_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_raw_id_protoopaque.pb.go new file mode 100644 index 00000000..48b8713d --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_raw_id_protoopaque.pb.go @@ -0,0 +1,125 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/annotation_raw_id.proto + +//go:build protoopaque + +package v2 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + 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) +) + +// Raw ID from whatever API the resource/entitlement/grant came from. +type RawId struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RawId) Reset() { + *x = RawId{} + mi := &file_c1_connector_v2_annotation_raw_id_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RawId) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RawId) ProtoMessage() {} + +func (x *RawId) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_raw_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) +} + +func (x *RawId) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *RawId) SetId(v string) { + x.xxx_hidden_Id = v +} + +type RawId_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string +} + +func (b0 RawId_builder) Build() *RawId { + m0 := &RawId{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + return m0 +} + +var File_c1_connector_v2_annotation_raw_id_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_raw_id_proto_rawDesc = "" + + "\n" + + "'c1/connector/v2/annotation_raw_id.proto\x12\x0fc1.connector.v2\"\x17\n" + + "\x05RawId\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02idB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_annotation_raw_id_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_c1_connector_v2_annotation_raw_id_proto_goTypes = []any{ + (*RawId)(nil), // 0: c1.connector.v2.RawId +} +var file_c1_connector_v2_annotation_raw_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_raw_id_proto_init() } +func file_c1_connector_v2_annotation_raw_id_proto_init() { + if File_c1_connector_v2_annotation_raw_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_raw_id_proto_rawDesc), len(file_c1_connector_v2_annotation_raw_id_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_connector_v2_annotation_raw_id_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_annotation_raw_id_proto_depIdxs, + MessageInfos: file_c1_connector_v2_annotation_raw_id_proto_msgTypes, + }.Build() + File_c1_connector_v2_annotation_raw_id_proto = out.File + file_c1_connector_v2_annotation_raw_id_proto_goTypes = nil + file_c1_connector_v2_annotation_raw_id_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_request.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_request.pb.go index 50d405e7..73e1f9cd 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_request.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_request.pb.go @@ -1,16 +1,17 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/annotation_request.proto +//go:build !protoopaque + package v2 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -22,7 +23,7 @@ const ( ) type RequestId struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -53,11 +54,6 @@ func (x *RequestId) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RequestId.ProtoReflect.Descriptor instead. -func (*RequestId) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_request_proto_rawDescGZIP(), []int{0} -} - func (x *RequestId) GetRequestId() string { if x != nil { return x.RequestId @@ -65,34 +61,33 @@ func (x *RequestId) GetRequestId() string { return "" } -var File_c1_connector_v2_annotation_request_proto protoreflect.FileDescriptor +func (x *RequestId) SetRequestId(v string) { + x.RequestId = v +} -var file_c1_connector_v2_annotation_request_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, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x63, 0x31, 0x2e, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x22, 0x2a, 0x0a, 0x09, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 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 ( - file_c1_connector_v2_annotation_request_proto_rawDescOnce sync.Once - file_c1_connector_v2_annotation_request_proto_rawDescData []byte -) +type RequestId_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. -func file_c1_connector_v2_annotation_request_proto_rawDescGZIP() []byte { - file_c1_connector_v2_annotation_request_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_annotation_request_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_annotation_request_proto_rawDesc), len(file_c1_connector_v2_annotation_request_proto_rawDesc))) - }) - return file_c1_connector_v2_annotation_request_proto_rawDescData + RequestId string } +func (b0 RequestId_builder) Build() *RequestId { + m0 := &RequestId{} + b, x := &b0, m0 + _, _ = b, x + x.RequestId = b.RequestId + return m0 +} + +var File_c1_connector_v2_annotation_request_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_request_proto_rawDesc = "" + + "\n" + + "(c1/connector/v2/annotation_request.proto\x12\x0fc1.connector.v2\"*\n" + + "\tRequestId\x12\x1d\n" + + "\n" + + "request_id\x18\x01 \x01(\tR\trequestIdB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + var file_c1_connector_v2_annotation_request_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_c1_connector_v2_annotation_request_proto_goTypes = []any{ (*RequestId)(nil), // 0: c1.connector.v2.RequestId diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_request_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_request_protoopaque.pb.go new file mode 100644 index 00000000..574527ec --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_request_protoopaque.pb.go @@ -0,0 +1,125 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/annotation_request.proto + +//go:build protoopaque + +package v2 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + 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) +) + +type RequestId struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestId) Reset() { + *x = RequestId{} + mi := &file_c1_connector_v2_annotation_request_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestId) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestId) ProtoMessage() {} + +func (x *RequestId) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_request_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) +} + +func (x *RequestId) GetRequestId() string { + if x != nil { + return x.xxx_hidden_RequestId + } + return "" +} + +func (x *RequestId) SetRequestId(v string) { + x.xxx_hidden_RequestId = v +} + +type RequestId_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + RequestId string +} + +func (b0 RequestId_builder) Build() *RequestId { + m0 := &RequestId{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_RequestId = b.RequestId + return m0 +} + +var File_c1_connector_v2_annotation_request_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_request_proto_rawDesc = "" + + "\n" + + "(c1/connector/v2/annotation_request.proto\x12\x0fc1.connector.v2\"*\n" + + "\tRequestId\x12\x1d\n" + + "\n" + + "request_id\x18\x01 \x01(\tR\trequestIdB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_annotation_request_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_c1_connector_v2_annotation_request_proto_goTypes = []any{ + (*RequestId)(nil), // 0: c1.connector.v2.RequestId +} +var file_c1_connector_v2_annotation_request_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_request_proto_init() } +func file_c1_connector_v2_annotation_request_proto_init() { + if File_c1_connector_v2_annotation_request_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_request_proto_rawDesc), len(file_c1_connector_v2_annotation_request_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_connector_v2_annotation_request_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_annotation_request_proto_depIdxs, + MessageInfos: file_c1_connector_v2_annotation_request_proto_msgTypes, + }.Build() + File_c1_connector_v2_annotation_request_proto = out.File + file_c1_connector_v2_annotation_request_proto_goTypes = nil + file_c1_connector_v2_annotation_request_proto_depIdxs = nil +} 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..b14ee19a 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 @@ -1,16 +1,17 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/annotation_resource_tree.proto +//go:build !protoopaque + package v2 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -22,7 +23,7 @@ const ( ) type ChildResourceType struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` ResourceTypeId string `protobuf:"bytes,1,opt,name=resource_type_id,json=resourceTypeId,proto3" json:"resource_type_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -53,11 +54,6 @@ func (x *ChildResourceType) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ChildResourceType.ProtoReflect.Descriptor instead. -func (*ChildResourceType) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_resource_tree_proto_rawDescGZIP(), []int{0} -} - func (x *ChildResourceType) GetResourceTypeId() string { if x != nil { return x.ResourceTypeId @@ -65,8 +61,26 @@ func (x *ChildResourceType) GetResourceTypeId() string { return "" } +func (x *ChildResourceType) SetResourceTypeId(v string) { + x.ResourceTypeId = v +} + +type ChildResourceType_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceTypeId string +} + +func (b0 ChildResourceType_builder) Build() *ChildResourceType { + m0 := &ChildResourceType{} + b, x := &b0, m0 + _, _ = b, x + x.ResourceTypeId = b.ResourceTypeId + return m0 +} + type SkipEntitlementsAndGrants struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -96,46 +110,77 @@ func (x *SkipEntitlementsAndGrants) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SkipEntitlementsAndGrants.ProtoReflect.Descriptor instead. -func (*SkipEntitlementsAndGrants) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_resource_tree_proto_rawDescGZIP(), []int{1} +type SkipEntitlementsAndGrants_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + } -var File_c1_connector_v2_annotation_resource_tree_proto protoreflect.FileDescriptor +func (b0 SkipEntitlementsAndGrants_builder) Build() *SkipEntitlementsAndGrants { + m0 := &SkipEntitlementsAndGrants{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} -var file_c1_connector_v2_annotation_resource_tree_proto_rawDesc = string([]byte{ - 0x0a, 0x2e, 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, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x72, 0x65, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x0f, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, - 0x32, 0x22, 0x3d, 0x0a, 0x11, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 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, -}) - -var ( - file_c1_connector_v2_annotation_resource_tree_proto_rawDescOnce sync.Once - file_c1_connector_v2_annotation_resource_tree_proto_rawDescData []byte -) +type SkipGrants struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} -func file_c1_connector_v2_annotation_resource_tree_proto_rawDescGZIP() []byte { - file_c1_connector_v2_annotation_resource_tree_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_annotation_resource_tree_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_annotation_resource_tree_proto_rawDesc), len(file_c1_connector_v2_annotation_resource_tree_proto_rawDesc))) - }) - return file_c1_connector_v2_annotation_resource_tree_proto_rawDescData +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) } -var file_c1_connector_v2_annotation_resource_tree_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +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) +} + +type SkipGrants_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 SkipGrants_builder) Build() *SkipGrants { + m0 := &SkipGrants{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +var File_c1_connector_v2_annotation_resource_tree_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_resource_tree_proto_rawDesc = "" + + "\n" + + ".c1/connector/v2/annotation_resource_tree.proto\x12\x0fc1.connector.v2\"=\n" + + "\x11ChildResourceType\x12(\n" + + "\x10resource_type_id\x18\x01 \x01(\tR\x0eresourceTypeId\"\x1b\n" + + "\x19SkipEntitlementsAndGrants\"\f\n" + + "\n" + + "SkipGrantsB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +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 +201,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_resource_tree_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_resource_tree_protoopaque.pb.go new file mode 100644 index 00000000..e382fb0d --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_resource_tree_protoopaque.pb.go @@ -0,0 +1,215 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/annotation_resource_tree.proto + +//go:build protoopaque + +package v2 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + 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) +) + +type ChildResourceType struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ResourceTypeId string `protobuf:"bytes,1,opt,name=resource_type_id,json=resourceTypeId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChildResourceType) Reset() { + *x = ChildResourceType{} + mi := &file_c1_connector_v2_annotation_resource_tree_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChildResourceType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChildResourceType) ProtoMessage() {} + +func (x *ChildResourceType) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_resource_tree_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) +} + +func (x *ChildResourceType) GetResourceTypeId() string { + if x != nil { + return x.xxx_hidden_ResourceTypeId + } + return "" +} + +func (x *ChildResourceType) SetResourceTypeId(v string) { + x.xxx_hidden_ResourceTypeId = v +} + +type ChildResourceType_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceTypeId string +} + +func (b0 ChildResourceType_builder) Build() *ChildResourceType { + m0 := &ChildResourceType{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ResourceTypeId = b.ResourceTypeId + return m0 +} + +type SkipEntitlementsAndGrants struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SkipEntitlementsAndGrants) Reset() { + *x = SkipEntitlementsAndGrants{} + mi := &file_c1_connector_v2_annotation_resource_tree_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SkipEntitlementsAndGrants) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SkipEntitlementsAndGrants) ProtoMessage() {} + +func (x *SkipEntitlementsAndGrants) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_resource_tree_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) +} + +type SkipEntitlementsAndGrants_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 SkipEntitlementsAndGrants_builder) Build() *SkipEntitlementsAndGrants { + m0 := &SkipEntitlementsAndGrants{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +type SkipGrants struct { + state protoimpl.MessageState `protogen:"opaque.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) +} + +type SkipGrants_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 SkipGrants_builder) Build() *SkipGrants { + m0 := &SkipGrants{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +var File_c1_connector_v2_annotation_resource_tree_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_resource_tree_proto_rawDesc = "" + + "\n" + + ".c1/connector/v2/annotation_resource_tree.proto\x12\x0fc1.connector.v2\"=\n" + + "\x11ChildResourceType\x12(\n" + + "\x10resource_type_id\x18\x01 \x01(\tR\x0eresourceTypeId\"\x1b\n" + + "\x19SkipEntitlementsAndGrants\"\f\n" + + "\n" + + "SkipGrantsB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +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 + 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_resource_tree_proto_init() } +func file_c1_connector_v2_annotation_resource_tree_proto_init() { + if File_c1_connector_v2_annotation_resource_tree_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_resource_tree_proto_rawDesc), len(file_c1_connector_v2_annotation_resource_tree_proto_rawDesc)), + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_connector_v2_annotation_resource_tree_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_annotation_resource_tree_proto_depIdxs, + MessageInfos: file_c1_connector_v2_annotation_resource_tree_proto_msgTypes, + }.Build() + File_c1_connector_v2_annotation_resource_tree_proto = out.File + file_c1_connector_v2_annotation_resource_tree_proto_goTypes = nil + file_c1_connector_v2_annotation_resource_tree_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_trait.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_trait.pb.go index 628193c9..7b79389a 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_trait.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_trait.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/annotation_trait.proto +//go:build !protoopaque + package v2 import ( @@ -13,7 +15,6 @@ import ( structpb "google.golang.org/protobuf/types/known/structpb" timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -71,11 +72,6 @@ func (x UserTrait_AccountType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use UserTrait_AccountType.Descriptor instead. -func (UserTrait_AccountType) EnumDescriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_trait_proto_rawDescGZIP(), []int{0, 0} -} - type UserTrait_Status_Status int32 const ( @@ -123,11 +119,6 @@ func (x UserTrait_Status_Status) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use UserTrait_Status_Status.Descriptor instead. -func (UserTrait_Status_Status) EnumDescriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_trait_proto_rawDescGZIP(), []int{0, 1, 0} -} - type AppTrait_AppFlag int32 const ( @@ -181,13 +172,8 @@ func (x AppTrait_AppFlag) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use AppTrait_AppFlag.Descriptor instead. -func (AppTrait_AppFlag) EnumDescriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_trait_proto_rawDescGZIP(), []int{3, 0} -} - type UserTrait struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Emails []*UserTrait_Email `protobuf:"bytes,1,rep,name=emails,proto3" json:"emails,omitempty"` Status *UserTrait_Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` Profile *structpb.Struct `protobuf:"bytes,3,opt,name=profile,proto3" json:"profile,omitempty"` @@ -232,11 +218,6 @@ func (x *UserTrait) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UserTrait.ProtoReflect.Descriptor instead. -func (*UserTrait) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_trait_proto_rawDescGZIP(), []int{0} -} - func (x *UserTrait) GetEmails() []*UserTrait_Email { if x != nil { return x.Emails @@ -328,8 +309,188 @@ func (x *UserTrait) GetStructuredName() *UserTrait_StructuredName { return nil } +func (x *UserTrait) SetEmails(v []*UserTrait_Email) { + x.Emails = v +} + +func (x *UserTrait) SetStatus(v *UserTrait_Status) { + x.Status = v +} + +func (x *UserTrait) SetProfile(v *structpb.Struct) { + x.Profile = v +} + +func (x *UserTrait) SetIcon(v *AssetRef) { + x.Icon = v +} + +func (x *UserTrait) SetAccountType(v UserTrait_AccountType) { + x.AccountType = v +} + +func (x *UserTrait) SetLogin(v string) { + x.Login = v +} + +func (x *UserTrait) SetLoginAliases(v []string) { + x.LoginAliases = v +} + +func (x *UserTrait) SetEmployeeIds(v []string) { + x.EmployeeIds = v +} + +func (x *UserTrait) SetCreatedAt(v *timestamppb.Timestamp) { + x.CreatedAt = v +} + +func (x *UserTrait) SetLastLogin(v *timestamppb.Timestamp) { + x.LastLogin = v +} + +func (x *UserTrait) SetMfaStatus(v *UserTrait_MFAStatus) { + x.MfaStatus = v +} + +func (x *UserTrait) SetSsoStatus(v *UserTrait_SSOStatus) { + x.SsoStatus = v +} + +func (x *UserTrait) SetStructuredName(v *UserTrait_StructuredName) { + x.StructuredName = v +} + +func (x *UserTrait) HasStatus() bool { + if x == nil { + return false + } + return x.Status != nil +} + +func (x *UserTrait) HasProfile() bool { + if x == nil { + return false + } + return x.Profile != nil +} + +func (x *UserTrait) HasIcon() bool { + if x == nil { + return false + } + return x.Icon != nil +} + +func (x *UserTrait) HasCreatedAt() bool { + if x == nil { + return false + } + return x.CreatedAt != nil +} + +func (x *UserTrait) HasLastLogin() bool { + if x == nil { + return false + } + return x.LastLogin != nil +} + +func (x *UserTrait) HasMfaStatus() bool { + if x == nil { + return false + } + return x.MfaStatus != nil +} + +func (x *UserTrait) HasSsoStatus() bool { + if x == nil { + return false + } + return x.SsoStatus != nil +} + +func (x *UserTrait) HasStructuredName() bool { + if x == nil { + return false + } + return x.StructuredName != nil +} + +func (x *UserTrait) ClearStatus() { + x.Status = nil +} + +func (x *UserTrait) ClearProfile() { + x.Profile = nil +} + +func (x *UserTrait) ClearIcon() { + x.Icon = nil +} + +func (x *UserTrait) ClearCreatedAt() { + x.CreatedAt = nil +} + +func (x *UserTrait) ClearLastLogin() { + x.LastLogin = nil +} + +func (x *UserTrait) ClearMfaStatus() { + x.MfaStatus = nil +} + +func (x *UserTrait) ClearSsoStatus() { + x.SsoStatus = nil +} + +func (x *UserTrait) ClearStructuredName() { + x.StructuredName = nil +} + +type UserTrait_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Emails []*UserTrait_Email + Status *UserTrait_Status + Profile *structpb.Struct + Icon *AssetRef + AccountType UserTrait_AccountType + // The user's login + Login string + // Any additional login aliases for the user + LoginAliases []string + EmployeeIds []string + CreatedAt *timestamppb.Timestamp + LastLogin *timestamppb.Timestamp + MfaStatus *UserTrait_MFAStatus + SsoStatus *UserTrait_SSOStatus + StructuredName *UserTrait_StructuredName +} + +func (b0 UserTrait_builder) Build() *UserTrait { + m0 := &UserTrait{} + b, x := &b0, m0 + _, _ = b, x + x.Emails = b.Emails + x.Status = b.Status + x.Profile = b.Profile + x.Icon = b.Icon + x.AccountType = b.AccountType + x.Login = b.Login + x.LoginAliases = b.LoginAliases + x.EmployeeIds = b.EmployeeIds + x.CreatedAt = b.CreatedAt + x.LastLogin = b.LastLogin + x.MfaStatus = b.MfaStatus + x.SsoStatus = b.SsoStatus + x.StructuredName = b.StructuredName + return m0 +} + type GroupTrait struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Icon *AssetRef `protobuf:"bytes,1,opt,name=icon,proto3" json:"icon,omitempty"` Profile *structpb.Struct `protobuf:"bytes,2,opt,name=profile,proto3" json:"profile,omitempty"` unknownFields protoimpl.UnknownFields @@ -361,11 +522,6 @@ func (x *GroupTrait) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GroupTrait.ProtoReflect.Descriptor instead. -func (*GroupTrait) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_trait_proto_rawDescGZIP(), []int{1} -} - func (x *GroupTrait) GetIcon() *AssetRef { if x != nil { return x.Icon @@ -380,8 +536,54 @@ func (x *GroupTrait) GetProfile() *structpb.Struct { return nil } +func (x *GroupTrait) SetIcon(v *AssetRef) { + x.Icon = v +} + +func (x *GroupTrait) SetProfile(v *structpb.Struct) { + x.Profile = v +} + +func (x *GroupTrait) HasIcon() bool { + if x == nil { + return false + } + return x.Icon != nil +} + +func (x *GroupTrait) HasProfile() bool { + if x == nil { + return false + } + return x.Profile != nil +} + +func (x *GroupTrait) ClearIcon() { + x.Icon = nil +} + +func (x *GroupTrait) ClearProfile() { + x.Profile = nil +} + +type GroupTrait_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Icon *AssetRef + Profile *structpb.Struct +} + +func (b0 GroupTrait_builder) Build() *GroupTrait { + m0 := &GroupTrait{} + b, x := &b0, m0 + _, _ = b, x + x.Icon = b.Icon + x.Profile = b.Profile + return m0 +} + type RoleTrait struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Profile *structpb.Struct `protobuf:"bytes,1,opt,name=profile,proto3" json:"profile,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -412,11 +614,6 @@ func (x *RoleTrait) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RoleTrait.ProtoReflect.Descriptor instead. -func (*RoleTrait) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_trait_proto_rawDescGZIP(), []int{2} -} - func (x *RoleTrait) GetProfile() *structpb.Struct { if x != nil { return x.Profile @@ -424,8 +621,37 @@ func (x *RoleTrait) GetProfile() *structpb.Struct { return nil } +func (x *RoleTrait) SetProfile(v *structpb.Struct) { + x.Profile = v +} + +func (x *RoleTrait) HasProfile() bool { + if x == nil { + return false + } + return x.Profile != nil +} + +func (x *RoleTrait) ClearProfile() { + x.Profile = nil +} + +type RoleTrait_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Profile *structpb.Struct +} + +func (b0 RoleTrait_builder) Build() *RoleTrait { + m0 := &RoleTrait{} + b, x := &b0, m0 + _, _ = b, x + x.Profile = b.Profile + return m0 +} + type AppTrait struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` HelpUrl string `protobuf:"bytes,1,opt,name=help_url,json=helpUrl,proto3" json:"help_url,omitempty"` Icon *AssetRef `protobuf:"bytes,2,opt,name=icon,proto3" json:"icon,omitempty"` Logo *AssetRef `protobuf:"bytes,3,opt,name=logo,proto3" json:"logo,omitempty"` @@ -460,11 +686,6 @@ func (x *AppTrait) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AppTrait.ProtoReflect.Descriptor instead. -func (*AppTrait) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_trait_proto_rawDescGZIP(), []int{3} -} - func (x *AppTrait) GetHelpUrl() string { if x != nil { return x.HelpUrl @@ -500,8 +721,83 @@ func (x *AppTrait) GetFlags() []AppTrait_AppFlag { return nil } +func (x *AppTrait) SetHelpUrl(v string) { + x.HelpUrl = v +} + +func (x *AppTrait) SetIcon(v *AssetRef) { + x.Icon = v +} + +func (x *AppTrait) SetLogo(v *AssetRef) { + x.Logo = v +} + +func (x *AppTrait) SetProfile(v *structpb.Struct) { + x.Profile = v +} + +func (x *AppTrait) SetFlags(v []AppTrait_AppFlag) { + x.Flags = v +} + +func (x *AppTrait) HasIcon() bool { + if x == nil { + return false + } + return x.Icon != nil +} + +func (x *AppTrait) HasLogo() bool { + if x == nil { + return false + } + return x.Logo != nil +} + +func (x *AppTrait) HasProfile() bool { + if x == nil { + return false + } + return x.Profile != nil +} + +func (x *AppTrait) ClearIcon() { + x.Icon = nil +} + +func (x *AppTrait) ClearLogo() { + x.Logo = nil +} + +func (x *AppTrait) ClearProfile() { + x.Profile = nil +} + +type AppTrait_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + HelpUrl string + Icon *AssetRef + Logo *AssetRef + Profile *structpb.Struct + Flags []AppTrait_AppFlag +} + +func (b0 AppTrait_builder) Build() *AppTrait { + m0 := &AppTrait{} + b, x := &b0, m0 + _, _ = b, x + x.HelpUrl = b.HelpUrl + x.Icon = b.Icon + x.Logo = b.Logo + x.Profile = b.Profile + x.Flags = b.Flags + return m0 +} + type SecretTrait struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Profile *structpb.Struct `protobuf:"bytes,1,opt,name=profile,proto3" json:"profile,omitempty"` CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` @@ -537,11 +833,6 @@ func (x *SecretTrait) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SecretTrait.ProtoReflect.Descriptor instead. -func (*SecretTrait) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_trait_proto_rawDescGZIP(), []int{4} -} - func (x *SecretTrait) GetProfile() *structpb.Struct { if x != nil { return x.Profile @@ -584,8 +875,122 @@ func (x *SecretTrait) GetIdentityId() *ResourceId { return nil } +func (x *SecretTrait) SetProfile(v *structpb.Struct) { + x.Profile = v +} + +func (x *SecretTrait) SetCreatedAt(v *timestamppb.Timestamp) { + x.CreatedAt = v +} + +func (x *SecretTrait) SetExpiresAt(v *timestamppb.Timestamp) { + x.ExpiresAt = v +} + +func (x *SecretTrait) SetLastUsedAt(v *timestamppb.Timestamp) { + x.LastUsedAt = v +} + +func (x *SecretTrait) SetCreatedById(v *ResourceId) { + x.CreatedById = v +} + +func (x *SecretTrait) SetIdentityId(v *ResourceId) { + x.IdentityId = v +} + +func (x *SecretTrait) HasProfile() bool { + if x == nil { + return false + } + return x.Profile != nil +} + +func (x *SecretTrait) HasCreatedAt() bool { + if x == nil { + return false + } + return x.CreatedAt != nil +} + +func (x *SecretTrait) HasExpiresAt() bool { + if x == nil { + return false + } + return x.ExpiresAt != nil +} + +func (x *SecretTrait) HasLastUsedAt() bool { + if x == nil { + return false + } + return x.LastUsedAt != nil +} + +func (x *SecretTrait) HasCreatedById() bool { + if x == nil { + return false + } + return x.CreatedById != nil +} + +func (x *SecretTrait) HasIdentityId() bool { + if x == nil { + return false + } + return x.IdentityId != nil +} + +func (x *SecretTrait) ClearProfile() { + x.Profile = nil +} + +func (x *SecretTrait) ClearCreatedAt() { + x.CreatedAt = nil +} + +func (x *SecretTrait) ClearExpiresAt() { + x.ExpiresAt = nil +} + +func (x *SecretTrait) ClearLastUsedAt() { + x.LastUsedAt = nil +} + +func (x *SecretTrait) ClearCreatedById() { + x.CreatedById = nil +} + +func (x *SecretTrait) ClearIdentityId() { + x.IdentityId = nil +} + +type SecretTrait_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Profile *structpb.Struct + CreatedAt *timestamppb.Timestamp + ExpiresAt *timestamppb.Timestamp + LastUsedAt *timestamppb.Timestamp + CreatedById *ResourceId + IdentityId *ResourceId +} + +func (b0 SecretTrait_builder) Build() *SecretTrait { + m0 := &SecretTrait{} + b, x := &b0, m0 + _, _ = b, x + x.Profile = b.Profile + x.CreatedAt = b.CreatedAt + x.ExpiresAt = b.ExpiresAt + x.LastUsedAt = b.LastUsedAt + x.CreatedById = b.CreatedById + x.IdentityId = b.IdentityId + return m0 +} + type UserTrait_Email struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // Indicates if this is the user's primary email. Only one entry can be marked as primary. IsPrimary bool `protobuf:"varint,2,opt,name=is_primary,json=isPrimary,proto3" json:"is_primary,omitempty"` @@ -618,11 +1023,6 @@ func (x *UserTrait_Email) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UserTrait_Email.ProtoReflect.Descriptor instead. -func (*UserTrait_Email) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_trait_proto_rawDescGZIP(), []int{0, 0} -} - func (x *UserTrait_Email) GetAddress() string { if x != nil { return x.Address @@ -637,8 +1037,33 @@ func (x *UserTrait_Email) GetIsPrimary() bool { return false } +func (x *UserTrait_Email) SetAddress(v string) { + x.Address = v +} + +func (x *UserTrait_Email) SetIsPrimary(v bool) { + x.IsPrimary = v +} + +type UserTrait_Email_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Address string + // Indicates if this is the user's primary email. Only one entry can be marked as primary. + IsPrimary bool +} + +func (b0 UserTrait_Email_builder) Build() *UserTrait_Email { + m0 := &UserTrait_Email{} + b, x := &b0, m0 + _, _ = b, x + x.Address = b.Address + x.IsPrimary = b.IsPrimary + return m0 +} + type UserTrait_Status struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Status UserTrait_Status_Status `protobuf:"varint,1,opt,name=status,proto3,enum=c1.connector.v2.UserTrait_Status_Status" json:"status,omitempty"` Details string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` unknownFields protoimpl.UnknownFields @@ -670,11 +1095,6 @@ func (x *UserTrait_Status) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UserTrait_Status.ProtoReflect.Descriptor instead. -func (*UserTrait_Status) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_trait_proto_rawDescGZIP(), []int{0, 1} -} - func (x *UserTrait_Status) GetStatus() UserTrait_Status_Status { if x != nil { return x.Status @@ -689,8 +1109,32 @@ func (x *UserTrait_Status) GetDetails() string { return "" } +func (x *UserTrait_Status) SetStatus(v UserTrait_Status_Status) { + x.Status = v +} + +func (x *UserTrait_Status) SetDetails(v string) { + x.Details = v +} + +type UserTrait_Status_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Status UserTrait_Status_Status + Details string +} + +func (b0 UserTrait_Status_builder) Build() *UserTrait_Status { + m0 := &UserTrait_Status{} + b, x := &b0, m0 + _, _ = b, x + x.Status = b.Status + x.Details = b.Details + return m0 +} + type UserTrait_MFAStatus struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` MfaEnabled bool `protobuf:"varint,1,opt,name=mfa_enabled,json=mfaEnabled,proto3" json:"mfa_enabled,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -721,11 +1165,6 @@ func (x *UserTrait_MFAStatus) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UserTrait_MFAStatus.ProtoReflect.Descriptor instead. -func (*UserTrait_MFAStatus) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_trait_proto_rawDescGZIP(), []int{0, 2} -} - func (x *UserTrait_MFAStatus) GetMfaEnabled() bool { if x != nil { return x.MfaEnabled @@ -733,8 +1172,26 @@ func (x *UserTrait_MFAStatus) GetMfaEnabled() bool { return false } +func (x *UserTrait_MFAStatus) SetMfaEnabled(v bool) { + x.MfaEnabled = v +} + +type UserTrait_MFAStatus_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + MfaEnabled bool +} + +func (b0 UserTrait_MFAStatus_builder) Build() *UserTrait_MFAStatus { + m0 := &UserTrait_MFAStatus{} + b, x := &b0, m0 + _, _ = b, x + x.MfaEnabled = b.MfaEnabled + return m0 +} + type UserTrait_SSOStatus struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` SsoEnabled bool `protobuf:"varint,1,opt,name=sso_enabled,json=ssoEnabled,proto3" json:"sso_enabled,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -765,11 +1222,6 @@ func (x *UserTrait_SSOStatus) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UserTrait_SSOStatus.ProtoReflect.Descriptor instead. -func (*UserTrait_SSOStatus) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_trait_proto_rawDescGZIP(), []int{0, 3} -} - func (x *UserTrait_SSOStatus) GetSsoEnabled() bool { if x != nil { return x.SsoEnabled @@ -777,8 +1229,26 @@ func (x *UserTrait_SSOStatus) GetSsoEnabled() bool { return false } +func (x *UserTrait_SSOStatus) SetSsoEnabled(v bool) { + x.SsoEnabled = v +} + +type UserTrait_SSOStatus_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SsoEnabled bool +} + +func (b0 UserTrait_SSOStatus_builder) Build() *UserTrait_SSOStatus { + m0 := &UserTrait_SSOStatus{} + b, x := &b0, m0 + _, _ = b, x + x.SsoEnabled = b.SsoEnabled + return m0 +} + type UserTrait_StructuredName struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` GivenName string `protobuf:"bytes,1,opt,name=given_name,json=givenName,proto3" json:"given_name,omitempty"` FamilyName string `protobuf:"bytes,2,opt,name=family_name,json=familyName,proto3" json:"family_name,omitempty"` MiddleNames []string `protobuf:"bytes,3,rep,name=middle_names,json=middleNames,proto3" json:"middle_names,omitempty"` @@ -813,11 +1283,6 @@ func (x *UserTrait_StructuredName) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UserTrait_StructuredName.ProtoReflect.Descriptor instead. -func (*UserTrait_StructuredName) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_trait_proto_rawDescGZIP(), []int{0, 4} -} - func (x *UserTrait_StructuredName) GetGivenName() string { if x != nil { return x.GivenName @@ -853,190 +1318,135 @@ func (x *UserTrait_StructuredName) GetSuffix() string { return "" } -var File_c1_connector_v2_annotation_trait_proto protoreflect.FileDescriptor +func (x *UserTrait_StructuredName) SetGivenName(v string) { + x.GivenName = v +} -var file_c1_connector_v2_annotation_trait_proto_rawDesc = string([]byte{ - 0x0a, 0x26, 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, 0x74, 0x72, 0x61, - 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x1b, 0x63, 0x31, 0x2f, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 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, 0x97, - 0x0b, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x54, 0x72, 0x61, 0x69, 0x74, 0x12, 0x38, 0x0a, 0x06, - 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, - 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x54, 0x72, 0x61, 0x69, 0x74, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x06, - 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x43, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x54, 0x72, 0x61, - 0x69, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, - 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 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, 0x12, 0x2d, - 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, - 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x66, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x53, 0x0a, - 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x54, 0x72, 0x61, 0x69, 0x74, 0x2e, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, - 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x06, 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, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x21, 0x0a, - 0x0c, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0d, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x49, 0x64, 0x73, - 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, - 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, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x6c, - 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x09, 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, 0x09, 0x6c, 0x61, 0x73, - 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x43, 0x0a, 0x0a, 0x6d, 0x66, 0x61, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x31, 0x2e, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x54, 0x72, 0x61, 0x69, 0x74, 0x2e, 0x4d, 0x46, 0x41, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x09, 0x6d, 0x66, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x43, 0x0a, 0x0a, 0x73, - 0x73, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, - 0x32, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x54, 0x72, 0x61, 0x69, 0x74, 0x2e, 0x53, 0x53, 0x4f, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x73, 0x73, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x52, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x31, 0x2e, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x54, 0x72, 0x61, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, - 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, - 0x4e, 0x61, 0x6d, 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, 0x1a, - 0xdc, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4a, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x31, 0x2e, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x54, 0x72, 0x61, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, - 0x28, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, - 0x5d, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x4e, 0x41, 0x42, - 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x2c, - 0x0a, 0x09, 0x4d, 0x46, 0x41, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, - 0x66, 0x61, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0a, 0x6d, 0x66, 0x61, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x2c, 0x0a, 0x09, - 0x53, 0x53, 0x4f, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x73, 0x6f, - 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, - 0x73, 0x73, 0x6f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0xa3, 0x01, 0x0a, 0x0e, 0x53, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, - 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, - 0x0c, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x66, 0x66, - 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, - 0x22, 0x76, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1c, 0x0a, 0x18, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, - 0x12, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x48, 0x55, - 0x4d, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x02, 0x12, - 0x17, 0x0a, 0x13, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x10, 0x03, 0x22, 0x6e, 0x0a, 0x0a, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x54, 0x72, 0x61, 0x69, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 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, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x66, 0x52, - 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x18, 0x02, 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, 0x22, 0x3e, 0x0a, 0x09, 0x52, 0x6f, 0x6c, 0x65, - 0x54, 0x72, 0x61, 0x69, 0x74, 0x12, 0x31, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x18, 0x01, 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, 0x22, 0x9a, 0x03, 0x0a, 0x08, 0x41, 0x70, 0x70, - 0x54, 0x72, 0x61, 0x69, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x68, 0x65, 0x6c, 0x70, 0x5f, 0x75, 0x72, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xfa, 0x42, 0x17, 0x72, 0x15, 0x20, 0x01, - 0x28, 0x80, 0x08, 0x3a, 0x08, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0xd0, 0x01, 0x01, - 0x88, 0x01, 0x01, 0x52, 0x07, 0x68, 0x65, 0x6c, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x2d, 0x0a, 0x04, - 0x69, 0x63, 0x6f, 0x6e, 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, 0x41, 0x73, 0x73, - 0x65, 0x74, 0x52, 0x65, 0x66, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x04, 0x6c, - 0x6f, 0x67, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x52, 0x65, 0x66, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 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, 0x12, 0x37, 0x0a, - 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x63, - 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, - 0x70, 0x70, 0x54, 0x72, 0x61, 0x69, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x52, - 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x46, 0x6c, - 0x61, 0x67, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x50, 0x50, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, - 0x41, 0x50, 0x50, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x48, 0x49, 0x44, 0x44, 0x45, 0x4e, 0x10, - 0x01, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x50, 0x50, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x49, 0x4e, - 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x50, 0x50, 0x5f, - 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x53, 0x41, 0x4d, 0x4c, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x41, - 0x50, 0x50, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4f, 0x49, 0x44, 0x43, 0x10, 0x04, 0x12, 0x15, - 0x0a, 0x11, 0x41, 0x50, 0x50, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x42, 0x4f, 0x4f, 0x4b, 0x4d, - 0x41, 0x52, 0x4b, 0x10, 0x05, 0x22, 0xf3, 0x02, 0x0a, 0x0b, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x54, 0x72, 0x61, 0x69, 0x74, 0x12, 0x31, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x18, 0x01, 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, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, - 0x74, 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, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, - 0x74, 0x18, 0x03, 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, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x3c, - 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, - 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, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x73, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3f, 0x0a, 0x0d, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 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, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x49, 0x64, 0x12, 0x3c, 0x0a, - 0x0b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 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, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 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, -}) +func (x *UserTrait_StructuredName) SetFamilyName(v string) { + x.FamilyName = v +} -var ( - file_c1_connector_v2_annotation_trait_proto_rawDescOnce sync.Once - file_c1_connector_v2_annotation_trait_proto_rawDescData []byte -) +func (x *UserTrait_StructuredName) SetMiddleNames(v []string) { + x.MiddleNames = v +} + +func (x *UserTrait_StructuredName) SetPrefix(v string) { + x.Prefix = v +} -func file_c1_connector_v2_annotation_trait_proto_rawDescGZIP() []byte { - file_c1_connector_v2_annotation_trait_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_annotation_trait_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_annotation_trait_proto_rawDesc), len(file_c1_connector_v2_annotation_trait_proto_rawDesc))) - }) - return file_c1_connector_v2_annotation_trait_proto_rawDescData +func (x *UserTrait_StructuredName) SetSuffix(v string) { + x.Suffix = v } +type UserTrait_StructuredName_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + GivenName string + FamilyName string + MiddleNames []string + Prefix string + Suffix string +} + +func (b0 UserTrait_StructuredName_builder) Build() *UserTrait_StructuredName { + m0 := &UserTrait_StructuredName{} + b, x := &b0, m0 + _, _ = b, x + x.GivenName = b.GivenName + x.FamilyName = b.FamilyName + x.MiddleNames = b.MiddleNames + x.Prefix = b.Prefix + x.Suffix = b.Suffix + return m0 +} + +var File_c1_connector_v2_annotation_trait_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_trait_proto_rawDesc = "" + + "\n" + + "&c1/connector/v2/annotation_trait.proto\x12\x0fc1.connector.v2\x1a\x1bc1/connector/v2/asset.proto\x1a\x1ec1/connector/v2/resource.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17validate/validate.proto\"\x97\v\n" + + "\tUserTrait\x128\n" + + "\x06emails\x18\x01 \x03(\v2 .c1.connector.v2.UserTrait.EmailR\x06emails\x12C\n" + + "\x06status\x18\x02 \x01(\v2!.c1.connector.v2.UserTrait.StatusB\b\xfaB\x05\x8a\x01\x02\x10\x01R\x06status\x121\n" + + "\aprofile\x18\x03 \x01(\v2\x17.google.protobuf.StructR\aprofile\x12-\n" + + "\x04icon\x18\x04 \x01(\v2\x19.c1.connector.v2.AssetRefR\x04icon\x12S\n" + + "\faccount_type\x18\x05 \x01(\x0e2&.c1.connector.v2.UserTrait.AccountTypeB\b\xfaB\x05\x82\x01\x02\x10\x01R\vaccountType\x12\x14\n" + + "\x05login\x18\x06 \x01(\tR\x05login\x12#\n" + + "\rlogin_aliases\x18\a \x03(\tR\floginAliases\x12!\n" + + "\femployee_ids\x18\r \x03(\tR\vemployeeIds\x129\n" + + "\n" + + "created_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "last_login\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tlastLogin\x12C\n" + + "\n" + + "mfa_status\x18\n" + + " \x01(\v2$.c1.connector.v2.UserTrait.MFAStatusR\tmfaStatus\x12C\n" + + "\n" + + "sso_status\x18\v \x01(\v2$.c1.connector.v2.UserTrait.SSOStatusR\tssoStatus\x12R\n" + + "\x0fstructured_name\x18\f \x01(\v2).c1.connector.v2.UserTrait.StructuredNameR\x0estructuredName\x1aI\n" + + "\x05Email\x12!\n" + + "\aaddress\x18\x01 \x01(\tB\a\xfaB\x04r\x02`\x01R\aaddress\x12\x1d\n" + + "\n" + + "is_primary\x18\x02 \x01(\bR\tisPrimary\x1a\xdc\x01\n" + + "\x06Status\x12J\n" + + "\x06status\x18\x01 \x01(\x0e2(.c1.connector.v2.UserTrait.Status.StatusB\b\xfaB\x05\x82\x01\x02\x10\x01R\x06status\x12'\n" + + "\adetails\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\adetails\"]\n" + + "\x06Status\x12\x16\n" + + "\x12STATUS_UNSPECIFIED\x10\x00\x12\x12\n" + + "\x0eSTATUS_ENABLED\x10\x01\x12\x13\n" + + "\x0fSTATUS_DISABLED\x10\x02\x12\x12\n" + + "\x0eSTATUS_DELETED\x10\x03\x1a,\n" + + "\tMFAStatus\x12\x1f\n" + + "\vmfa_enabled\x18\x01 \x01(\bR\n" + + "mfaEnabled\x1a,\n" + + "\tSSOStatus\x12\x1f\n" + + "\vsso_enabled\x18\x01 \x01(\bR\n" + + "ssoEnabled\x1a\xa3\x01\n" + + "\x0eStructuredName\x12\x1d\n" + + "\n" + + "given_name\x18\x01 \x01(\tR\tgivenName\x12\x1f\n" + + "\vfamily_name\x18\x02 \x01(\tR\n" + + "familyName\x12!\n" + + "\fmiddle_names\x18\x03 \x03(\tR\vmiddleNames\x12\x16\n" + + "\x06prefix\x18\x04 \x01(\tR\x06prefix\x12\x16\n" + + "\x06suffix\x18\x05 \x01(\tR\x06suffix\"v\n" + + "\vAccountType\x12\x1c\n" + + "\x18ACCOUNT_TYPE_UNSPECIFIED\x10\x00\x12\x16\n" + + "\x12ACCOUNT_TYPE_HUMAN\x10\x01\x12\x18\n" + + "\x14ACCOUNT_TYPE_SERVICE\x10\x02\x12\x17\n" + + "\x13ACCOUNT_TYPE_SYSTEM\x10\x03\"n\n" + + "\n" + + "GroupTrait\x12-\n" + + "\x04icon\x18\x01 \x01(\v2\x19.c1.connector.v2.AssetRefR\x04icon\x121\n" + + "\aprofile\x18\x02 \x01(\v2\x17.google.protobuf.StructR\aprofile\">\n" + + "\tRoleTrait\x121\n" + + "\aprofile\x18\x01 \x01(\v2\x17.google.protobuf.StructR\aprofile\"\x9a\x03\n" + + "\bAppTrait\x125\n" + + "\bhelp_url\x18\x01 \x01(\tB\x1a\xfaB\x17r\x15 \x01(\x80\b:\bhttps://\xd0\x01\x01\x88\x01\x01R\ahelpUrl\x12-\n" + + "\x04icon\x18\x02 \x01(\v2\x19.c1.connector.v2.AssetRefR\x04icon\x12-\n" + + "\x04logo\x18\x03 \x01(\v2\x19.c1.connector.v2.AssetRefR\x04logo\x121\n" + + "\aprofile\x18\x04 \x01(\v2\x17.google.protobuf.StructR\aprofile\x127\n" + + "\x05flags\x18\x05 \x03(\x0e2!.c1.connector.v2.AppTrait.AppFlagR\x05flags\"\x8c\x01\n" + + "\aAppFlag\x12\x18\n" + + "\x14APP_FLAG_UNSPECIFIED\x10\x00\x12\x13\n" + + "\x0fAPP_FLAG_HIDDEN\x10\x01\x12\x15\n" + + "\x11APP_FLAG_INACTIVE\x10\x02\x12\x11\n" + + "\rAPP_FLAG_SAML\x10\x03\x12\x11\n" + + "\rAPP_FLAG_OIDC\x10\x04\x12\x15\n" + + "\x11APP_FLAG_BOOKMARK\x10\x05\"\xf3\x02\n" + + "\vSecretTrait\x121\n" + + "\aprofile\x18\x01 \x01(\v2\x17.google.protobuf.StructR\aprofile\x129\n" + + "\n" + + "created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "expires_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\x12<\n" + + "\flast_used_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "lastUsedAt\x12?\n" + + "\rcreated_by_id\x18\x05 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\vcreatedById\x12<\n" + + "\videntity_id\x18\x06 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\n" + + "identityIdB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + var file_c1_connector_v2_annotation_trait_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_c1_connector_v2_annotation_trait_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_c1_connector_v2_annotation_trait_proto_goTypes = []any{ diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_trait_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_trait_protoopaque.pb.go new file mode 100644 index 00000000..c7a4531b --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_trait_protoopaque.pb.go @@ -0,0 +1,1527 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/annotation_trait.proto + +//go:build protoopaque + +package v2 + +import ( + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + structpb "google.golang.org/protobuf/types/known/structpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + 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) +) + +type UserTrait_AccountType int32 + +const ( + UserTrait_ACCOUNT_TYPE_UNSPECIFIED UserTrait_AccountType = 0 + UserTrait_ACCOUNT_TYPE_HUMAN UserTrait_AccountType = 1 + UserTrait_ACCOUNT_TYPE_SERVICE UserTrait_AccountType = 2 + UserTrait_ACCOUNT_TYPE_SYSTEM UserTrait_AccountType = 3 +) + +// Enum value maps for UserTrait_AccountType. +var ( + UserTrait_AccountType_name = map[int32]string{ + 0: "ACCOUNT_TYPE_UNSPECIFIED", + 1: "ACCOUNT_TYPE_HUMAN", + 2: "ACCOUNT_TYPE_SERVICE", + 3: "ACCOUNT_TYPE_SYSTEM", + } + UserTrait_AccountType_value = map[string]int32{ + "ACCOUNT_TYPE_UNSPECIFIED": 0, + "ACCOUNT_TYPE_HUMAN": 1, + "ACCOUNT_TYPE_SERVICE": 2, + "ACCOUNT_TYPE_SYSTEM": 3, + } +) + +func (x UserTrait_AccountType) Enum() *UserTrait_AccountType { + p := new(UserTrait_AccountType) + *p = x + return p +} + +func (x UserTrait_AccountType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (UserTrait_AccountType) Descriptor() protoreflect.EnumDescriptor { + return file_c1_connector_v2_annotation_trait_proto_enumTypes[0].Descriptor() +} + +func (UserTrait_AccountType) Type() protoreflect.EnumType { + return &file_c1_connector_v2_annotation_trait_proto_enumTypes[0] +} + +func (x UserTrait_AccountType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type UserTrait_Status_Status int32 + +const ( + UserTrait_Status_STATUS_UNSPECIFIED UserTrait_Status_Status = 0 + UserTrait_Status_STATUS_ENABLED UserTrait_Status_Status = 1 + UserTrait_Status_STATUS_DISABLED UserTrait_Status_Status = 2 + UserTrait_Status_STATUS_DELETED UserTrait_Status_Status = 3 +) + +// Enum value maps for UserTrait_Status_Status. +var ( + UserTrait_Status_Status_name = map[int32]string{ + 0: "STATUS_UNSPECIFIED", + 1: "STATUS_ENABLED", + 2: "STATUS_DISABLED", + 3: "STATUS_DELETED", + } + UserTrait_Status_Status_value = map[string]int32{ + "STATUS_UNSPECIFIED": 0, + "STATUS_ENABLED": 1, + "STATUS_DISABLED": 2, + "STATUS_DELETED": 3, + } +) + +func (x UserTrait_Status_Status) Enum() *UserTrait_Status_Status { + p := new(UserTrait_Status_Status) + *p = x + return p +} + +func (x UserTrait_Status_Status) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (UserTrait_Status_Status) Descriptor() protoreflect.EnumDescriptor { + return file_c1_connector_v2_annotation_trait_proto_enumTypes[1].Descriptor() +} + +func (UserTrait_Status_Status) Type() protoreflect.EnumType { + return &file_c1_connector_v2_annotation_trait_proto_enumTypes[1] +} + +func (x UserTrait_Status_Status) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type AppTrait_AppFlag int32 + +const ( + AppTrait_APP_FLAG_UNSPECIFIED AppTrait_AppFlag = 0 + AppTrait_APP_FLAG_HIDDEN AppTrait_AppFlag = 1 + AppTrait_APP_FLAG_INACTIVE AppTrait_AppFlag = 2 + AppTrait_APP_FLAG_SAML AppTrait_AppFlag = 3 + AppTrait_APP_FLAG_OIDC AppTrait_AppFlag = 4 + AppTrait_APP_FLAG_BOOKMARK AppTrait_AppFlag = 5 +) + +// Enum value maps for AppTrait_AppFlag. +var ( + AppTrait_AppFlag_name = map[int32]string{ + 0: "APP_FLAG_UNSPECIFIED", + 1: "APP_FLAG_HIDDEN", + 2: "APP_FLAG_INACTIVE", + 3: "APP_FLAG_SAML", + 4: "APP_FLAG_OIDC", + 5: "APP_FLAG_BOOKMARK", + } + AppTrait_AppFlag_value = map[string]int32{ + "APP_FLAG_UNSPECIFIED": 0, + "APP_FLAG_HIDDEN": 1, + "APP_FLAG_INACTIVE": 2, + "APP_FLAG_SAML": 3, + "APP_FLAG_OIDC": 4, + "APP_FLAG_BOOKMARK": 5, + } +) + +func (x AppTrait_AppFlag) Enum() *AppTrait_AppFlag { + p := new(AppTrait_AppFlag) + *p = x + return p +} + +func (x AppTrait_AppFlag) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AppTrait_AppFlag) Descriptor() protoreflect.EnumDescriptor { + return file_c1_connector_v2_annotation_trait_proto_enumTypes[2].Descriptor() +} + +func (AppTrait_AppFlag) Type() protoreflect.EnumType { + return &file_c1_connector_v2_annotation_trait_proto_enumTypes[2] +} + +func (x AppTrait_AppFlag) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type UserTrait struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Emails *[]*UserTrait_Email `protobuf:"bytes,1,rep,name=emails,proto3"` + xxx_hidden_Status *UserTrait_Status `protobuf:"bytes,2,opt,name=status,proto3"` + xxx_hidden_Profile *structpb.Struct `protobuf:"bytes,3,opt,name=profile,proto3"` + xxx_hidden_Icon *AssetRef `protobuf:"bytes,4,opt,name=icon,proto3"` + xxx_hidden_AccountType UserTrait_AccountType `protobuf:"varint,5,opt,name=account_type,json=accountType,proto3,enum=c1.connector.v2.UserTrait_AccountType"` + xxx_hidden_Login string `protobuf:"bytes,6,opt,name=login,proto3"` + xxx_hidden_LoginAliases []string `protobuf:"bytes,7,rep,name=login_aliases,json=loginAliases,proto3"` + xxx_hidden_EmployeeIds []string `protobuf:"bytes,13,rep,name=employee_ids,json=employeeIds,proto3"` + xxx_hidden_CreatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3"` + xxx_hidden_LastLogin *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=last_login,json=lastLogin,proto3"` + xxx_hidden_MfaStatus *UserTrait_MFAStatus `protobuf:"bytes,10,opt,name=mfa_status,json=mfaStatus,proto3"` + xxx_hidden_SsoStatus *UserTrait_SSOStatus `protobuf:"bytes,11,opt,name=sso_status,json=ssoStatus,proto3"` + xxx_hidden_StructuredName *UserTrait_StructuredName `protobuf:"bytes,12,opt,name=structured_name,json=structuredName,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserTrait) Reset() { + *x = UserTrait{} + mi := &file_c1_connector_v2_annotation_trait_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserTrait) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserTrait) ProtoMessage() {} + +func (x *UserTrait) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_trait_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) +} + +func (x *UserTrait) GetEmails() []*UserTrait_Email { + if x != nil { + if x.xxx_hidden_Emails != nil { + return *x.xxx_hidden_Emails + } + } + return nil +} + +func (x *UserTrait) GetStatus() *UserTrait_Status { + if x != nil { + return x.xxx_hidden_Status + } + return nil +} + +func (x *UserTrait) GetProfile() *structpb.Struct { + if x != nil { + return x.xxx_hidden_Profile + } + return nil +} + +func (x *UserTrait) GetIcon() *AssetRef { + if x != nil { + return x.xxx_hidden_Icon + } + return nil +} + +func (x *UserTrait) GetAccountType() UserTrait_AccountType { + if x != nil { + return x.xxx_hidden_AccountType + } + return UserTrait_ACCOUNT_TYPE_UNSPECIFIED +} + +func (x *UserTrait) GetLogin() string { + if x != nil { + return x.xxx_hidden_Login + } + return "" +} + +func (x *UserTrait) GetLoginAliases() []string { + if x != nil { + return x.xxx_hidden_LoginAliases + } + return nil +} + +func (x *UserTrait) GetEmployeeIds() []string { + if x != nil { + return x.xxx_hidden_EmployeeIds + } + return nil +} + +func (x *UserTrait) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_CreatedAt + } + return nil +} + +func (x *UserTrait) GetLastLogin() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_LastLogin + } + return nil +} + +func (x *UserTrait) GetMfaStatus() *UserTrait_MFAStatus { + if x != nil { + return x.xxx_hidden_MfaStatus + } + return nil +} + +func (x *UserTrait) GetSsoStatus() *UserTrait_SSOStatus { + if x != nil { + return x.xxx_hidden_SsoStatus + } + return nil +} + +func (x *UserTrait) GetStructuredName() *UserTrait_StructuredName { + if x != nil { + return x.xxx_hidden_StructuredName + } + return nil +} + +func (x *UserTrait) SetEmails(v []*UserTrait_Email) { + x.xxx_hidden_Emails = &v +} + +func (x *UserTrait) SetStatus(v *UserTrait_Status) { + x.xxx_hidden_Status = v +} + +func (x *UserTrait) SetProfile(v *structpb.Struct) { + x.xxx_hidden_Profile = v +} + +func (x *UserTrait) SetIcon(v *AssetRef) { + x.xxx_hidden_Icon = v +} + +func (x *UserTrait) SetAccountType(v UserTrait_AccountType) { + x.xxx_hidden_AccountType = v +} + +func (x *UserTrait) SetLogin(v string) { + x.xxx_hidden_Login = v +} + +func (x *UserTrait) SetLoginAliases(v []string) { + x.xxx_hidden_LoginAliases = v +} + +func (x *UserTrait) SetEmployeeIds(v []string) { + x.xxx_hidden_EmployeeIds = v +} + +func (x *UserTrait) SetCreatedAt(v *timestamppb.Timestamp) { + x.xxx_hidden_CreatedAt = v +} + +func (x *UserTrait) SetLastLogin(v *timestamppb.Timestamp) { + x.xxx_hidden_LastLogin = v +} + +func (x *UserTrait) SetMfaStatus(v *UserTrait_MFAStatus) { + x.xxx_hidden_MfaStatus = v +} + +func (x *UserTrait) SetSsoStatus(v *UserTrait_SSOStatus) { + x.xxx_hidden_SsoStatus = v +} + +func (x *UserTrait) SetStructuredName(v *UserTrait_StructuredName) { + x.xxx_hidden_StructuredName = v +} + +func (x *UserTrait) HasStatus() bool { + if x == nil { + return false + } + return x.xxx_hidden_Status != nil +} + +func (x *UserTrait) HasProfile() bool { + if x == nil { + return false + } + return x.xxx_hidden_Profile != nil +} + +func (x *UserTrait) HasIcon() bool { + if x == nil { + return false + } + return x.xxx_hidden_Icon != nil +} + +func (x *UserTrait) HasCreatedAt() bool { + if x == nil { + return false + } + return x.xxx_hidden_CreatedAt != nil +} + +func (x *UserTrait) HasLastLogin() bool { + if x == nil { + return false + } + return x.xxx_hidden_LastLogin != nil +} + +func (x *UserTrait) HasMfaStatus() bool { + if x == nil { + return false + } + return x.xxx_hidden_MfaStatus != nil +} + +func (x *UserTrait) HasSsoStatus() bool { + if x == nil { + return false + } + return x.xxx_hidden_SsoStatus != nil +} + +func (x *UserTrait) HasStructuredName() bool { + if x == nil { + return false + } + return x.xxx_hidden_StructuredName != nil +} + +func (x *UserTrait) ClearStatus() { + x.xxx_hidden_Status = nil +} + +func (x *UserTrait) ClearProfile() { + x.xxx_hidden_Profile = nil +} + +func (x *UserTrait) ClearIcon() { + x.xxx_hidden_Icon = nil +} + +func (x *UserTrait) ClearCreatedAt() { + x.xxx_hidden_CreatedAt = nil +} + +func (x *UserTrait) ClearLastLogin() { + x.xxx_hidden_LastLogin = nil +} + +func (x *UserTrait) ClearMfaStatus() { + x.xxx_hidden_MfaStatus = nil +} + +func (x *UserTrait) ClearSsoStatus() { + x.xxx_hidden_SsoStatus = nil +} + +func (x *UserTrait) ClearStructuredName() { + x.xxx_hidden_StructuredName = nil +} + +type UserTrait_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Emails []*UserTrait_Email + Status *UserTrait_Status + Profile *structpb.Struct + Icon *AssetRef + AccountType UserTrait_AccountType + // The user's login + Login string + // Any additional login aliases for the user + LoginAliases []string + EmployeeIds []string + CreatedAt *timestamppb.Timestamp + LastLogin *timestamppb.Timestamp + MfaStatus *UserTrait_MFAStatus + SsoStatus *UserTrait_SSOStatus + StructuredName *UserTrait_StructuredName +} + +func (b0 UserTrait_builder) Build() *UserTrait { + m0 := &UserTrait{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Emails = &b.Emails + x.xxx_hidden_Status = b.Status + x.xxx_hidden_Profile = b.Profile + x.xxx_hidden_Icon = b.Icon + x.xxx_hidden_AccountType = b.AccountType + x.xxx_hidden_Login = b.Login + x.xxx_hidden_LoginAliases = b.LoginAliases + x.xxx_hidden_EmployeeIds = b.EmployeeIds + x.xxx_hidden_CreatedAt = b.CreatedAt + x.xxx_hidden_LastLogin = b.LastLogin + x.xxx_hidden_MfaStatus = b.MfaStatus + x.xxx_hidden_SsoStatus = b.SsoStatus + x.xxx_hidden_StructuredName = b.StructuredName + return m0 +} + +type GroupTrait struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Icon *AssetRef `protobuf:"bytes,1,opt,name=icon,proto3"` + xxx_hidden_Profile *structpb.Struct `protobuf:"bytes,2,opt,name=profile,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupTrait) Reset() { + *x = GroupTrait{} + mi := &file_c1_connector_v2_annotation_trait_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupTrait) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupTrait) ProtoMessage() {} + +func (x *GroupTrait) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_trait_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) +} + +func (x *GroupTrait) GetIcon() *AssetRef { + if x != nil { + return x.xxx_hidden_Icon + } + return nil +} + +func (x *GroupTrait) GetProfile() *structpb.Struct { + if x != nil { + return x.xxx_hidden_Profile + } + return nil +} + +func (x *GroupTrait) SetIcon(v *AssetRef) { + x.xxx_hidden_Icon = v +} + +func (x *GroupTrait) SetProfile(v *structpb.Struct) { + x.xxx_hidden_Profile = v +} + +func (x *GroupTrait) HasIcon() bool { + if x == nil { + return false + } + return x.xxx_hidden_Icon != nil +} + +func (x *GroupTrait) HasProfile() bool { + if x == nil { + return false + } + return x.xxx_hidden_Profile != nil +} + +func (x *GroupTrait) ClearIcon() { + x.xxx_hidden_Icon = nil +} + +func (x *GroupTrait) ClearProfile() { + x.xxx_hidden_Profile = nil +} + +type GroupTrait_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Icon *AssetRef + Profile *structpb.Struct +} + +func (b0 GroupTrait_builder) Build() *GroupTrait { + m0 := &GroupTrait{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Icon = b.Icon + x.xxx_hidden_Profile = b.Profile + return m0 +} + +type RoleTrait struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Profile *structpb.Struct `protobuf:"bytes,1,opt,name=profile,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RoleTrait) Reset() { + *x = RoleTrait{} + mi := &file_c1_connector_v2_annotation_trait_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RoleTrait) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RoleTrait) ProtoMessage() {} + +func (x *RoleTrait) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_trait_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) +} + +func (x *RoleTrait) GetProfile() *structpb.Struct { + if x != nil { + return x.xxx_hidden_Profile + } + return nil +} + +func (x *RoleTrait) SetProfile(v *structpb.Struct) { + x.xxx_hidden_Profile = v +} + +func (x *RoleTrait) HasProfile() bool { + if x == nil { + return false + } + return x.xxx_hidden_Profile != nil +} + +func (x *RoleTrait) ClearProfile() { + x.xxx_hidden_Profile = nil +} + +type RoleTrait_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Profile *structpb.Struct +} + +func (b0 RoleTrait_builder) Build() *RoleTrait { + m0 := &RoleTrait{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Profile = b.Profile + return m0 +} + +type AppTrait struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_HelpUrl string `protobuf:"bytes,1,opt,name=help_url,json=helpUrl,proto3"` + xxx_hidden_Icon *AssetRef `protobuf:"bytes,2,opt,name=icon,proto3"` + xxx_hidden_Logo *AssetRef `protobuf:"bytes,3,opt,name=logo,proto3"` + xxx_hidden_Profile *structpb.Struct `protobuf:"bytes,4,opt,name=profile,proto3"` + xxx_hidden_Flags []AppTrait_AppFlag `protobuf:"varint,5,rep,packed,name=flags,proto3,enum=c1.connector.v2.AppTrait_AppFlag"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AppTrait) Reset() { + *x = AppTrait{} + mi := &file_c1_connector_v2_annotation_trait_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AppTrait) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AppTrait) ProtoMessage() {} + +func (x *AppTrait) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_trait_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) +} + +func (x *AppTrait) GetHelpUrl() string { + if x != nil { + return x.xxx_hidden_HelpUrl + } + return "" +} + +func (x *AppTrait) GetIcon() *AssetRef { + if x != nil { + return x.xxx_hidden_Icon + } + return nil +} + +func (x *AppTrait) GetLogo() *AssetRef { + if x != nil { + return x.xxx_hidden_Logo + } + return nil +} + +func (x *AppTrait) GetProfile() *structpb.Struct { + if x != nil { + return x.xxx_hidden_Profile + } + return nil +} + +func (x *AppTrait) GetFlags() []AppTrait_AppFlag { + if x != nil { + return x.xxx_hidden_Flags + } + return nil +} + +func (x *AppTrait) SetHelpUrl(v string) { + x.xxx_hidden_HelpUrl = v +} + +func (x *AppTrait) SetIcon(v *AssetRef) { + x.xxx_hidden_Icon = v +} + +func (x *AppTrait) SetLogo(v *AssetRef) { + x.xxx_hidden_Logo = v +} + +func (x *AppTrait) SetProfile(v *structpb.Struct) { + x.xxx_hidden_Profile = v +} + +func (x *AppTrait) SetFlags(v []AppTrait_AppFlag) { + x.xxx_hidden_Flags = v +} + +func (x *AppTrait) HasIcon() bool { + if x == nil { + return false + } + return x.xxx_hidden_Icon != nil +} + +func (x *AppTrait) HasLogo() bool { + if x == nil { + return false + } + return x.xxx_hidden_Logo != nil +} + +func (x *AppTrait) HasProfile() bool { + if x == nil { + return false + } + return x.xxx_hidden_Profile != nil +} + +func (x *AppTrait) ClearIcon() { + x.xxx_hidden_Icon = nil +} + +func (x *AppTrait) ClearLogo() { + x.xxx_hidden_Logo = nil +} + +func (x *AppTrait) ClearProfile() { + x.xxx_hidden_Profile = nil +} + +type AppTrait_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + HelpUrl string + Icon *AssetRef + Logo *AssetRef + Profile *structpb.Struct + Flags []AppTrait_AppFlag +} + +func (b0 AppTrait_builder) Build() *AppTrait { + m0 := &AppTrait{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_HelpUrl = b.HelpUrl + x.xxx_hidden_Icon = b.Icon + x.xxx_hidden_Logo = b.Logo + x.xxx_hidden_Profile = b.Profile + x.xxx_hidden_Flags = b.Flags + return m0 +} + +type SecretTrait struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Profile *structpb.Struct `protobuf:"bytes,1,opt,name=profile,proto3"` + xxx_hidden_CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3"` + xxx_hidden_ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=expires_at,json=expiresAt,proto3"` + xxx_hidden_LastUsedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=last_used_at,json=lastUsedAt,proto3"` + xxx_hidden_CreatedById *ResourceId `protobuf:"bytes,5,opt,name=created_by_id,json=createdById,proto3"` + xxx_hidden_IdentityId *ResourceId `protobuf:"bytes,6,opt,name=identity_id,json=identityId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SecretTrait) Reset() { + *x = SecretTrait{} + mi := &file_c1_connector_v2_annotation_trait_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SecretTrait) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SecretTrait) ProtoMessage() {} + +func (x *SecretTrait) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_trait_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *SecretTrait) GetProfile() *structpb.Struct { + if x != nil { + return x.xxx_hidden_Profile + } + return nil +} + +func (x *SecretTrait) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_CreatedAt + } + return nil +} + +func (x *SecretTrait) GetExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_ExpiresAt + } + return nil +} + +func (x *SecretTrait) GetLastUsedAt() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_LastUsedAt + } + return nil +} + +func (x *SecretTrait) GetCreatedById() *ResourceId { + if x != nil { + return x.xxx_hidden_CreatedById + } + return nil +} + +func (x *SecretTrait) GetIdentityId() *ResourceId { + if x != nil { + return x.xxx_hidden_IdentityId + } + return nil +} + +func (x *SecretTrait) SetProfile(v *structpb.Struct) { + x.xxx_hidden_Profile = v +} + +func (x *SecretTrait) SetCreatedAt(v *timestamppb.Timestamp) { + x.xxx_hidden_CreatedAt = v +} + +func (x *SecretTrait) SetExpiresAt(v *timestamppb.Timestamp) { + x.xxx_hidden_ExpiresAt = v +} + +func (x *SecretTrait) SetLastUsedAt(v *timestamppb.Timestamp) { + x.xxx_hidden_LastUsedAt = v +} + +func (x *SecretTrait) SetCreatedById(v *ResourceId) { + x.xxx_hidden_CreatedById = v +} + +func (x *SecretTrait) SetIdentityId(v *ResourceId) { + x.xxx_hidden_IdentityId = v +} + +func (x *SecretTrait) HasProfile() bool { + if x == nil { + return false + } + return x.xxx_hidden_Profile != nil +} + +func (x *SecretTrait) HasCreatedAt() bool { + if x == nil { + return false + } + return x.xxx_hidden_CreatedAt != nil +} + +func (x *SecretTrait) HasExpiresAt() bool { + if x == nil { + return false + } + return x.xxx_hidden_ExpiresAt != nil +} + +func (x *SecretTrait) HasLastUsedAt() bool { + if x == nil { + return false + } + return x.xxx_hidden_LastUsedAt != nil +} + +func (x *SecretTrait) HasCreatedById() bool { + if x == nil { + return false + } + return x.xxx_hidden_CreatedById != nil +} + +func (x *SecretTrait) HasIdentityId() bool { + if x == nil { + return false + } + return x.xxx_hidden_IdentityId != nil +} + +func (x *SecretTrait) ClearProfile() { + x.xxx_hidden_Profile = nil +} + +func (x *SecretTrait) ClearCreatedAt() { + x.xxx_hidden_CreatedAt = nil +} + +func (x *SecretTrait) ClearExpiresAt() { + x.xxx_hidden_ExpiresAt = nil +} + +func (x *SecretTrait) ClearLastUsedAt() { + x.xxx_hidden_LastUsedAt = nil +} + +func (x *SecretTrait) ClearCreatedById() { + x.xxx_hidden_CreatedById = nil +} + +func (x *SecretTrait) ClearIdentityId() { + x.xxx_hidden_IdentityId = nil +} + +type SecretTrait_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Profile *structpb.Struct + CreatedAt *timestamppb.Timestamp + ExpiresAt *timestamppb.Timestamp + LastUsedAt *timestamppb.Timestamp + CreatedById *ResourceId + IdentityId *ResourceId +} + +func (b0 SecretTrait_builder) Build() *SecretTrait { + m0 := &SecretTrait{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Profile = b.Profile + x.xxx_hidden_CreatedAt = b.CreatedAt + x.xxx_hidden_ExpiresAt = b.ExpiresAt + x.xxx_hidden_LastUsedAt = b.LastUsedAt + x.xxx_hidden_CreatedById = b.CreatedById + x.xxx_hidden_IdentityId = b.IdentityId + return m0 +} + +type UserTrait_Email struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Address string `protobuf:"bytes,1,opt,name=address,proto3"` + xxx_hidden_IsPrimary bool `protobuf:"varint,2,opt,name=is_primary,json=isPrimary,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserTrait_Email) Reset() { + *x = UserTrait_Email{} + mi := &file_c1_connector_v2_annotation_trait_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserTrait_Email) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserTrait_Email) ProtoMessage() {} + +func (x *UserTrait_Email) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_trait_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *UserTrait_Email) GetAddress() string { + if x != nil { + return x.xxx_hidden_Address + } + return "" +} + +func (x *UserTrait_Email) GetIsPrimary() bool { + if x != nil { + return x.xxx_hidden_IsPrimary + } + return false +} + +func (x *UserTrait_Email) SetAddress(v string) { + x.xxx_hidden_Address = v +} + +func (x *UserTrait_Email) SetIsPrimary(v bool) { + x.xxx_hidden_IsPrimary = v +} + +type UserTrait_Email_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Address string + // Indicates if this is the user's primary email. Only one entry can be marked as primary. + IsPrimary bool +} + +func (b0 UserTrait_Email_builder) Build() *UserTrait_Email { + m0 := &UserTrait_Email{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Address = b.Address + x.xxx_hidden_IsPrimary = b.IsPrimary + return m0 +} + +type UserTrait_Status struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Status UserTrait_Status_Status `protobuf:"varint,1,opt,name=status,proto3,enum=c1.connector.v2.UserTrait_Status_Status"` + xxx_hidden_Details string `protobuf:"bytes,2,opt,name=details,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserTrait_Status) Reset() { + *x = UserTrait_Status{} + mi := &file_c1_connector_v2_annotation_trait_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserTrait_Status) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserTrait_Status) ProtoMessage() {} + +func (x *UserTrait_Status) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_trait_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *UserTrait_Status) GetStatus() UserTrait_Status_Status { + if x != nil { + return x.xxx_hidden_Status + } + return UserTrait_Status_STATUS_UNSPECIFIED +} + +func (x *UserTrait_Status) GetDetails() string { + if x != nil { + return x.xxx_hidden_Details + } + return "" +} + +func (x *UserTrait_Status) SetStatus(v UserTrait_Status_Status) { + x.xxx_hidden_Status = v +} + +func (x *UserTrait_Status) SetDetails(v string) { + x.xxx_hidden_Details = v +} + +type UserTrait_Status_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Status UserTrait_Status_Status + Details string +} + +func (b0 UserTrait_Status_builder) Build() *UserTrait_Status { + m0 := &UserTrait_Status{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Status = b.Status + x.xxx_hidden_Details = b.Details + return m0 +} + +type UserTrait_MFAStatus struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_MfaEnabled bool `protobuf:"varint,1,opt,name=mfa_enabled,json=mfaEnabled,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserTrait_MFAStatus) Reset() { + *x = UserTrait_MFAStatus{} + mi := &file_c1_connector_v2_annotation_trait_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserTrait_MFAStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserTrait_MFAStatus) ProtoMessage() {} + +func (x *UserTrait_MFAStatus) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_trait_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) +} + +func (x *UserTrait_MFAStatus) GetMfaEnabled() bool { + if x != nil { + return x.xxx_hidden_MfaEnabled + } + return false +} + +func (x *UserTrait_MFAStatus) SetMfaEnabled(v bool) { + x.xxx_hidden_MfaEnabled = v +} + +type UserTrait_MFAStatus_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + MfaEnabled bool +} + +func (b0 UserTrait_MFAStatus_builder) Build() *UserTrait_MFAStatus { + m0 := &UserTrait_MFAStatus{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_MfaEnabled = b.MfaEnabled + return m0 +} + +type UserTrait_SSOStatus struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_SsoEnabled bool `protobuf:"varint,1,opt,name=sso_enabled,json=ssoEnabled,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserTrait_SSOStatus) Reset() { + *x = UserTrait_SSOStatus{} + mi := &file_c1_connector_v2_annotation_trait_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserTrait_SSOStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserTrait_SSOStatus) ProtoMessage() {} + +func (x *UserTrait_SSOStatus) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_trait_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) +} + +func (x *UserTrait_SSOStatus) GetSsoEnabled() bool { + if x != nil { + return x.xxx_hidden_SsoEnabled + } + return false +} + +func (x *UserTrait_SSOStatus) SetSsoEnabled(v bool) { + x.xxx_hidden_SsoEnabled = v +} + +type UserTrait_SSOStatus_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SsoEnabled bool +} + +func (b0 UserTrait_SSOStatus_builder) Build() *UserTrait_SSOStatus { + m0 := &UserTrait_SSOStatus{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_SsoEnabled = b.SsoEnabled + return m0 +} + +type UserTrait_StructuredName struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_GivenName string `protobuf:"bytes,1,opt,name=given_name,json=givenName,proto3"` + xxx_hidden_FamilyName string `protobuf:"bytes,2,opt,name=family_name,json=familyName,proto3"` + xxx_hidden_MiddleNames []string `protobuf:"bytes,3,rep,name=middle_names,json=middleNames,proto3"` + xxx_hidden_Prefix string `protobuf:"bytes,4,opt,name=prefix,proto3"` + xxx_hidden_Suffix string `protobuf:"bytes,5,opt,name=suffix,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserTrait_StructuredName) Reset() { + *x = UserTrait_StructuredName{} + mi := &file_c1_connector_v2_annotation_trait_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserTrait_StructuredName) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserTrait_StructuredName) ProtoMessage() {} + +func (x *UserTrait_StructuredName) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_trait_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *UserTrait_StructuredName) GetGivenName() string { + if x != nil { + return x.xxx_hidden_GivenName + } + return "" +} + +func (x *UserTrait_StructuredName) GetFamilyName() string { + if x != nil { + return x.xxx_hidden_FamilyName + } + return "" +} + +func (x *UserTrait_StructuredName) GetMiddleNames() []string { + if x != nil { + return x.xxx_hidden_MiddleNames + } + return nil +} + +func (x *UserTrait_StructuredName) GetPrefix() string { + if x != nil { + return x.xxx_hidden_Prefix + } + return "" +} + +func (x *UserTrait_StructuredName) GetSuffix() string { + if x != nil { + return x.xxx_hidden_Suffix + } + return "" +} + +func (x *UserTrait_StructuredName) SetGivenName(v string) { + x.xxx_hidden_GivenName = v +} + +func (x *UserTrait_StructuredName) SetFamilyName(v string) { + x.xxx_hidden_FamilyName = v +} + +func (x *UserTrait_StructuredName) SetMiddleNames(v []string) { + x.xxx_hidden_MiddleNames = v +} + +func (x *UserTrait_StructuredName) SetPrefix(v string) { + x.xxx_hidden_Prefix = v +} + +func (x *UserTrait_StructuredName) SetSuffix(v string) { + x.xxx_hidden_Suffix = v +} + +type UserTrait_StructuredName_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + GivenName string + FamilyName string + MiddleNames []string + Prefix string + Suffix string +} + +func (b0 UserTrait_StructuredName_builder) Build() *UserTrait_StructuredName { + m0 := &UserTrait_StructuredName{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_GivenName = b.GivenName + x.xxx_hidden_FamilyName = b.FamilyName + x.xxx_hidden_MiddleNames = b.MiddleNames + x.xxx_hidden_Prefix = b.Prefix + x.xxx_hidden_Suffix = b.Suffix + return m0 +} + +var File_c1_connector_v2_annotation_trait_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_trait_proto_rawDesc = "" + + "\n" + + "&c1/connector/v2/annotation_trait.proto\x12\x0fc1.connector.v2\x1a\x1bc1/connector/v2/asset.proto\x1a\x1ec1/connector/v2/resource.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17validate/validate.proto\"\x97\v\n" + + "\tUserTrait\x128\n" + + "\x06emails\x18\x01 \x03(\v2 .c1.connector.v2.UserTrait.EmailR\x06emails\x12C\n" + + "\x06status\x18\x02 \x01(\v2!.c1.connector.v2.UserTrait.StatusB\b\xfaB\x05\x8a\x01\x02\x10\x01R\x06status\x121\n" + + "\aprofile\x18\x03 \x01(\v2\x17.google.protobuf.StructR\aprofile\x12-\n" + + "\x04icon\x18\x04 \x01(\v2\x19.c1.connector.v2.AssetRefR\x04icon\x12S\n" + + "\faccount_type\x18\x05 \x01(\x0e2&.c1.connector.v2.UserTrait.AccountTypeB\b\xfaB\x05\x82\x01\x02\x10\x01R\vaccountType\x12\x14\n" + + "\x05login\x18\x06 \x01(\tR\x05login\x12#\n" + + "\rlogin_aliases\x18\a \x03(\tR\floginAliases\x12!\n" + + "\femployee_ids\x18\r \x03(\tR\vemployeeIds\x129\n" + + "\n" + + "created_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "last_login\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tlastLogin\x12C\n" + + "\n" + + "mfa_status\x18\n" + + " \x01(\v2$.c1.connector.v2.UserTrait.MFAStatusR\tmfaStatus\x12C\n" + + "\n" + + "sso_status\x18\v \x01(\v2$.c1.connector.v2.UserTrait.SSOStatusR\tssoStatus\x12R\n" + + "\x0fstructured_name\x18\f \x01(\v2).c1.connector.v2.UserTrait.StructuredNameR\x0estructuredName\x1aI\n" + + "\x05Email\x12!\n" + + "\aaddress\x18\x01 \x01(\tB\a\xfaB\x04r\x02`\x01R\aaddress\x12\x1d\n" + + "\n" + + "is_primary\x18\x02 \x01(\bR\tisPrimary\x1a\xdc\x01\n" + + "\x06Status\x12J\n" + + "\x06status\x18\x01 \x01(\x0e2(.c1.connector.v2.UserTrait.Status.StatusB\b\xfaB\x05\x82\x01\x02\x10\x01R\x06status\x12'\n" + + "\adetails\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\adetails\"]\n" + + "\x06Status\x12\x16\n" + + "\x12STATUS_UNSPECIFIED\x10\x00\x12\x12\n" + + "\x0eSTATUS_ENABLED\x10\x01\x12\x13\n" + + "\x0fSTATUS_DISABLED\x10\x02\x12\x12\n" + + "\x0eSTATUS_DELETED\x10\x03\x1a,\n" + + "\tMFAStatus\x12\x1f\n" + + "\vmfa_enabled\x18\x01 \x01(\bR\n" + + "mfaEnabled\x1a,\n" + + "\tSSOStatus\x12\x1f\n" + + "\vsso_enabled\x18\x01 \x01(\bR\n" + + "ssoEnabled\x1a\xa3\x01\n" + + "\x0eStructuredName\x12\x1d\n" + + "\n" + + "given_name\x18\x01 \x01(\tR\tgivenName\x12\x1f\n" + + "\vfamily_name\x18\x02 \x01(\tR\n" + + "familyName\x12!\n" + + "\fmiddle_names\x18\x03 \x03(\tR\vmiddleNames\x12\x16\n" + + "\x06prefix\x18\x04 \x01(\tR\x06prefix\x12\x16\n" + + "\x06suffix\x18\x05 \x01(\tR\x06suffix\"v\n" + + "\vAccountType\x12\x1c\n" + + "\x18ACCOUNT_TYPE_UNSPECIFIED\x10\x00\x12\x16\n" + + "\x12ACCOUNT_TYPE_HUMAN\x10\x01\x12\x18\n" + + "\x14ACCOUNT_TYPE_SERVICE\x10\x02\x12\x17\n" + + "\x13ACCOUNT_TYPE_SYSTEM\x10\x03\"n\n" + + "\n" + + "GroupTrait\x12-\n" + + "\x04icon\x18\x01 \x01(\v2\x19.c1.connector.v2.AssetRefR\x04icon\x121\n" + + "\aprofile\x18\x02 \x01(\v2\x17.google.protobuf.StructR\aprofile\">\n" + + "\tRoleTrait\x121\n" + + "\aprofile\x18\x01 \x01(\v2\x17.google.protobuf.StructR\aprofile\"\x9a\x03\n" + + "\bAppTrait\x125\n" + + "\bhelp_url\x18\x01 \x01(\tB\x1a\xfaB\x17r\x15 \x01(\x80\b:\bhttps://\xd0\x01\x01\x88\x01\x01R\ahelpUrl\x12-\n" + + "\x04icon\x18\x02 \x01(\v2\x19.c1.connector.v2.AssetRefR\x04icon\x12-\n" + + "\x04logo\x18\x03 \x01(\v2\x19.c1.connector.v2.AssetRefR\x04logo\x121\n" + + "\aprofile\x18\x04 \x01(\v2\x17.google.protobuf.StructR\aprofile\x127\n" + + "\x05flags\x18\x05 \x03(\x0e2!.c1.connector.v2.AppTrait.AppFlagR\x05flags\"\x8c\x01\n" + + "\aAppFlag\x12\x18\n" + + "\x14APP_FLAG_UNSPECIFIED\x10\x00\x12\x13\n" + + "\x0fAPP_FLAG_HIDDEN\x10\x01\x12\x15\n" + + "\x11APP_FLAG_INACTIVE\x10\x02\x12\x11\n" + + "\rAPP_FLAG_SAML\x10\x03\x12\x11\n" + + "\rAPP_FLAG_OIDC\x10\x04\x12\x15\n" + + "\x11APP_FLAG_BOOKMARK\x10\x05\"\xf3\x02\n" + + "\vSecretTrait\x121\n" + + "\aprofile\x18\x01 \x01(\v2\x17.google.protobuf.StructR\aprofile\x129\n" + + "\n" + + "created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "expires_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\x12<\n" + + "\flast_used_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "lastUsedAt\x12?\n" + + "\rcreated_by_id\x18\x05 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\vcreatedById\x12<\n" + + "\videntity_id\x18\x06 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\n" + + "identityIdB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_annotation_trait_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_c1_connector_v2_annotation_trait_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_c1_connector_v2_annotation_trait_proto_goTypes = []any{ + (UserTrait_AccountType)(0), // 0: c1.connector.v2.UserTrait.AccountType + (UserTrait_Status_Status)(0), // 1: c1.connector.v2.UserTrait.Status.Status + (AppTrait_AppFlag)(0), // 2: c1.connector.v2.AppTrait.AppFlag + (*UserTrait)(nil), // 3: c1.connector.v2.UserTrait + (*GroupTrait)(nil), // 4: c1.connector.v2.GroupTrait + (*RoleTrait)(nil), // 5: c1.connector.v2.RoleTrait + (*AppTrait)(nil), // 6: c1.connector.v2.AppTrait + (*SecretTrait)(nil), // 7: c1.connector.v2.SecretTrait + (*UserTrait_Email)(nil), // 8: c1.connector.v2.UserTrait.Email + (*UserTrait_Status)(nil), // 9: c1.connector.v2.UserTrait.Status + (*UserTrait_MFAStatus)(nil), // 10: c1.connector.v2.UserTrait.MFAStatus + (*UserTrait_SSOStatus)(nil), // 11: c1.connector.v2.UserTrait.SSOStatus + (*UserTrait_StructuredName)(nil), // 12: c1.connector.v2.UserTrait.StructuredName + (*structpb.Struct)(nil), // 13: google.protobuf.Struct + (*AssetRef)(nil), // 14: c1.connector.v2.AssetRef + (*timestamppb.Timestamp)(nil), // 15: google.protobuf.Timestamp + (*ResourceId)(nil), // 16: c1.connector.v2.ResourceId +} +var file_c1_connector_v2_annotation_trait_proto_depIdxs = []int32{ + 8, // 0: c1.connector.v2.UserTrait.emails:type_name -> c1.connector.v2.UserTrait.Email + 9, // 1: c1.connector.v2.UserTrait.status:type_name -> c1.connector.v2.UserTrait.Status + 13, // 2: c1.connector.v2.UserTrait.profile:type_name -> google.protobuf.Struct + 14, // 3: c1.connector.v2.UserTrait.icon:type_name -> c1.connector.v2.AssetRef + 0, // 4: c1.connector.v2.UserTrait.account_type:type_name -> c1.connector.v2.UserTrait.AccountType + 15, // 5: c1.connector.v2.UserTrait.created_at:type_name -> google.protobuf.Timestamp + 15, // 6: c1.connector.v2.UserTrait.last_login:type_name -> google.protobuf.Timestamp + 10, // 7: c1.connector.v2.UserTrait.mfa_status:type_name -> c1.connector.v2.UserTrait.MFAStatus + 11, // 8: c1.connector.v2.UserTrait.sso_status:type_name -> c1.connector.v2.UserTrait.SSOStatus + 12, // 9: c1.connector.v2.UserTrait.structured_name:type_name -> c1.connector.v2.UserTrait.StructuredName + 14, // 10: c1.connector.v2.GroupTrait.icon:type_name -> c1.connector.v2.AssetRef + 13, // 11: c1.connector.v2.GroupTrait.profile:type_name -> google.protobuf.Struct + 13, // 12: c1.connector.v2.RoleTrait.profile:type_name -> google.protobuf.Struct + 14, // 13: c1.connector.v2.AppTrait.icon:type_name -> c1.connector.v2.AssetRef + 14, // 14: c1.connector.v2.AppTrait.logo:type_name -> c1.connector.v2.AssetRef + 13, // 15: c1.connector.v2.AppTrait.profile:type_name -> google.protobuf.Struct + 2, // 16: c1.connector.v2.AppTrait.flags:type_name -> c1.connector.v2.AppTrait.AppFlag + 13, // 17: c1.connector.v2.SecretTrait.profile:type_name -> google.protobuf.Struct + 15, // 18: c1.connector.v2.SecretTrait.created_at:type_name -> google.protobuf.Timestamp + 15, // 19: c1.connector.v2.SecretTrait.expires_at:type_name -> google.protobuf.Timestamp + 15, // 20: c1.connector.v2.SecretTrait.last_used_at:type_name -> google.protobuf.Timestamp + 16, // 21: c1.connector.v2.SecretTrait.created_by_id:type_name -> c1.connector.v2.ResourceId + 16, // 22: c1.connector.v2.SecretTrait.identity_id:type_name -> c1.connector.v2.ResourceId + 1, // 23: c1.connector.v2.UserTrait.Status.status:type_name -> c1.connector.v2.UserTrait.Status.Status + 24, // [24:24] is the sub-list for method output_type + 24, // [24:24] is the sub-list for method input_type + 24, // [24:24] is the sub-list for extension type_name + 24, // [24:24] is the sub-list for extension extendee + 0, // [0:24] is the sub-list for field type_name +} + +func init() { file_c1_connector_v2_annotation_trait_proto_init() } +func file_c1_connector_v2_annotation_trait_proto_init() { + if File_c1_connector_v2_annotation_trait_proto != nil { + return + } + file_c1_connector_v2_asset_proto_init() + file_c1_connector_v2_resource_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_connector_v2_annotation_trait_proto_rawDesc), len(file_c1_connector_v2_annotation_trait_proto_rawDesc)), + NumEnums: 3, + NumMessages: 10, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_connector_v2_annotation_trait_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_annotation_trait_proto_depIdxs, + EnumInfos: file_c1_connector_v2_annotation_trait_proto_enumTypes, + MessageInfos: file_c1_connector_v2_annotation_trait_proto_msgTypes, + }.Build() + File_c1_connector_v2_annotation_trait_proto = out.File + file_c1_connector_v2_annotation_trait_proto_goTypes = nil + file_c1_connector_v2_annotation_trait_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_v1_identifier.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_v1_identifier.pb.go index 94049c61..bb38e446 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_v1_identifier.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_v1_identifier.pb.go @@ -1,16 +1,17 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/annotation_v1_identifier.proto +//go:build !protoopaque + package v2 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -22,7 +23,7 @@ const ( ) type V1Identifier struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -53,11 +54,6 @@ func (x *V1Identifier) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use V1Identifier.ProtoReflect.Descriptor instead. -func (*V1Identifier) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_annotation_v1_identifier_proto_rawDescGZIP(), []int{0} -} - func (x *V1Identifier) GetId() string { if x != nil { return x.Id @@ -65,34 +61,32 @@ func (x *V1Identifier) GetId() string { return "" } -var File_c1_connector_v2_annotation_v1_identifier_proto protoreflect.FileDescriptor +func (x *V1Identifier) SetId(v string) { + x.Id = v +} -var file_c1_connector_v2_annotation_v1_identifier_proto_rawDesc = string([]byte{ - 0x0a, 0x2e, 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, 0x76, 0x31, 0x5f, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x0f, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, - 0x32, 0x22, 0x1e, 0x0a, 0x0c, 0x56, 0x31, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 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_v1_identifier_proto_rawDescOnce sync.Once - file_c1_connector_v2_annotation_v1_identifier_proto_rawDescData []byte -) +type V1Identifier_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. -func file_c1_connector_v2_annotation_v1_identifier_proto_rawDescGZIP() []byte { - file_c1_connector_v2_annotation_v1_identifier_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_annotation_v1_identifier_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_annotation_v1_identifier_proto_rawDesc), len(file_c1_connector_v2_annotation_v1_identifier_proto_rawDesc))) - }) - return file_c1_connector_v2_annotation_v1_identifier_proto_rawDescData + Id string } +func (b0 V1Identifier_builder) Build() *V1Identifier { + m0 := &V1Identifier{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + return m0 +} + +var File_c1_connector_v2_annotation_v1_identifier_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_v1_identifier_proto_rawDesc = "" + + "\n" + + ".c1/connector/v2/annotation_v1_identifier.proto\x12\x0fc1.connector.v2\"\x1e\n" + + "\fV1Identifier\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02idB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + var file_c1_connector_v2_annotation_v1_identifier_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_c1_connector_v2_annotation_v1_identifier_proto_goTypes = []any{ (*V1Identifier)(nil), // 0: c1.connector.v2.V1Identifier diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_v1_identifier_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_v1_identifier_protoopaque.pb.go new file mode 100644 index 00000000..8838f2db --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_v1_identifier_protoopaque.pb.go @@ -0,0 +1,124 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/annotation_v1_identifier.proto + +//go:build protoopaque + +package v2 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + 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) +) + +type V1Identifier struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *V1Identifier) Reset() { + *x = V1Identifier{} + mi := &file_c1_connector_v2_annotation_v1_identifier_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *V1Identifier) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*V1Identifier) ProtoMessage() {} + +func (x *V1Identifier) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_annotation_v1_identifier_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) +} + +func (x *V1Identifier) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *V1Identifier) SetId(v string) { + x.xxx_hidden_Id = v +} + +type V1Identifier_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string +} + +func (b0 V1Identifier_builder) Build() *V1Identifier { + m0 := &V1Identifier{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + return m0 +} + +var File_c1_connector_v2_annotation_v1_identifier_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_annotation_v1_identifier_proto_rawDesc = "" + + "\n" + + ".c1/connector/v2/annotation_v1_identifier.proto\x12\x0fc1.connector.v2\"\x1e\n" + + "\fV1Identifier\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02idB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_annotation_v1_identifier_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_c1_connector_v2_annotation_v1_identifier_proto_goTypes = []any{ + (*V1Identifier)(nil), // 0: c1.connector.v2.V1Identifier +} +var file_c1_connector_v2_annotation_v1_identifier_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_v1_identifier_proto_init() } +func file_c1_connector_v2_annotation_v1_identifier_proto_init() { + if File_c1_connector_v2_annotation_v1_identifier_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_v1_identifier_proto_rawDesc), len(file_c1_connector_v2_annotation_v1_identifier_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_connector_v2_annotation_v1_identifier_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_annotation_v1_identifier_proto_depIdxs, + MessageInfos: file_c1_connector_v2_annotation_v1_identifier_proto_msgTypes, + }.Build() + File_c1_connector_v2_annotation_v1_identifier_proto = out.File + file_c1_connector_v2_annotation_v1_identifier_proto_goTypes = nil + file_c1_connector_v2_annotation_v1_identifier_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/asset.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/asset.pb.go index f720a3b7..71a4df7a 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/asset.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/asset.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/asset.proto +//go:build !protoopaque + package v2 import ( @@ -11,7 +13,6 @@ import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -23,7 +24,7 @@ const ( ) type AssetRef struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -54,11 +55,6 @@ func (x *AssetRef) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AssetRef.ProtoReflect.Descriptor instead. -func (*AssetRef) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_asset_proto_rawDescGZIP(), []int{0} -} - func (x *AssetRef) GetId() string { if x != nil { return x.Id @@ -66,8 +62,26 @@ func (x *AssetRef) GetId() string { return "" } +func (x *AssetRef) SetId(v string) { + x.Id = v +} + +type AssetRef_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string +} + +func (b0 AssetRef_builder) Build() *AssetRef { + m0 := &AssetRef{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + return m0 +} + type AssetServiceGetAssetRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Asset *AssetRef `protobuf:"bytes,1,opt,name=asset,proto3" json:"asset,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -98,11 +112,6 @@ func (x *AssetServiceGetAssetRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AssetServiceGetAssetRequest.ProtoReflect.Descriptor instead. -func (*AssetServiceGetAssetRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_asset_proto_rawDescGZIP(), []int{1} -} - func (x *AssetServiceGetAssetRequest) GetAsset() *AssetRef { if x != nil { return x.Asset @@ -110,8 +119,37 @@ func (x *AssetServiceGetAssetRequest) GetAsset() *AssetRef { return nil } +func (x *AssetServiceGetAssetRequest) SetAsset(v *AssetRef) { + x.Asset = v +} + +func (x *AssetServiceGetAssetRequest) HasAsset() bool { + if x == nil { + return false + } + return x.Asset != nil +} + +func (x *AssetServiceGetAssetRequest) ClearAsset() { + x.Asset = nil +} + +type AssetServiceGetAssetRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Asset *AssetRef +} + +func (b0 AssetServiceGetAssetRequest_builder) Build() *AssetServiceGetAssetRequest { + m0 := &AssetServiceGetAssetRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Asset = b.Asset + return m0 +} + type AssetServiceGetAssetResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` // Types that are valid to be assigned to Msg: // // *AssetServiceGetAssetResponse_Metadata_ @@ -146,11 +184,6 @@ func (x *AssetServiceGetAssetResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AssetServiceGetAssetResponse.ProtoReflect.Descriptor instead. -func (*AssetServiceGetAssetResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_asset_proto_rawDescGZIP(), []int{2} -} - func (x *AssetServiceGetAssetResponse) GetMsg() isAssetServiceGetAssetResponse_Msg { if x != nil { return x.Msg @@ -176,6 +209,111 @@ func (x *AssetServiceGetAssetResponse) GetData() *AssetServiceGetAssetResponse_D return nil } +func (x *AssetServiceGetAssetResponse) SetMetadata(v *AssetServiceGetAssetResponse_Metadata) { + if v == nil { + x.Msg = nil + return + } + x.Msg = &AssetServiceGetAssetResponse_Metadata_{v} +} + +func (x *AssetServiceGetAssetResponse) SetData(v *AssetServiceGetAssetResponse_Data) { + if v == nil { + x.Msg = nil + return + } + x.Msg = &AssetServiceGetAssetResponse_Data_{v} +} + +func (x *AssetServiceGetAssetResponse) HasMsg() bool { + if x == nil { + return false + } + return x.Msg != nil +} + +func (x *AssetServiceGetAssetResponse) HasMetadata() bool { + if x == nil { + return false + } + _, ok := x.Msg.(*AssetServiceGetAssetResponse_Metadata_) + return ok +} + +func (x *AssetServiceGetAssetResponse) HasData() bool { + if x == nil { + return false + } + _, ok := x.Msg.(*AssetServiceGetAssetResponse_Data_) + return ok +} + +func (x *AssetServiceGetAssetResponse) ClearMsg() { + x.Msg = nil +} + +func (x *AssetServiceGetAssetResponse) ClearMetadata() { + if _, ok := x.Msg.(*AssetServiceGetAssetResponse_Metadata_); ok { + x.Msg = nil + } +} + +func (x *AssetServiceGetAssetResponse) ClearData() { + if _, ok := x.Msg.(*AssetServiceGetAssetResponse_Data_); ok { + x.Msg = nil + } +} + +const AssetServiceGetAssetResponse_Msg_not_set_case case_AssetServiceGetAssetResponse_Msg = 0 +const AssetServiceGetAssetResponse_Metadata_case case_AssetServiceGetAssetResponse_Msg = 1 +const AssetServiceGetAssetResponse_Data_case case_AssetServiceGetAssetResponse_Msg = 2 + +func (x *AssetServiceGetAssetResponse) WhichMsg() case_AssetServiceGetAssetResponse_Msg { + if x == nil { + return AssetServiceGetAssetResponse_Msg_not_set_case + } + switch x.Msg.(type) { + case *AssetServiceGetAssetResponse_Metadata_: + return AssetServiceGetAssetResponse_Metadata_case + case *AssetServiceGetAssetResponse_Data_: + return AssetServiceGetAssetResponse_Data_case + default: + return AssetServiceGetAssetResponse_Msg_not_set_case + } +} + +type AssetServiceGetAssetResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Fields of oneof Msg: + Metadata *AssetServiceGetAssetResponse_Metadata + Data *AssetServiceGetAssetResponse_Data + // -- end of Msg +} + +func (b0 AssetServiceGetAssetResponse_builder) Build() *AssetServiceGetAssetResponse { + m0 := &AssetServiceGetAssetResponse{} + b, x := &b0, m0 + _, _ = b, x + if b.Metadata != nil { + x.Msg = &AssetServiceGetAssetResponse_Metadata_{b.Metadata} + } + if b.Data != nil { + x.Msg = &AssetServiceGetAssetResponse_Data_{b.Data} + } + return m0 +} + +type case_AssetServiceGetAssetResponse_Msg protoreflect.FieldNumber + +func (x case_AssetServiceGetAssetResponse_Msg) String() string { + md := file_c1_connector_v2_asset_proto_msgTypes[2].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + type isAssetServiceGetAssetResponse_Msg interface { isAssetServiceGetAssetResponse_Msg() } @@ -193,7 +331,7 @@ func (*AssetServiceGetAssetResponse_Metadata_) isAssetServiceGetAssetResponse_Ms func (*AssetServiceGetAssetResponse_Data_) isAssetServiceGetAssetResponse_Msg() {} type AssetServiceGetAssetResponse_Metadata struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` ContentType string `protobuf:"bytes,1,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -224,11 +362,6 @@ func (x *AssetServiceGetAssetResponse_Metadata) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use AssetServiceGetAssetResponse_Metadata.ProtoReflect.Descriptor instead. -func (*AssetServiceGetAssetResponse_Metadata) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_asset_proto_rawDescGZIP(), []int{2, 0} -} - func (x *AssetServiceGetAssetResponse_Metadata) GetContentType() string { if x != nil { return x.ContentType @@ -236,8 +369,26 @@ func (x *AssetServiceGetAssetResponse_Metadata) GetContentType() string { return "" } +func (x *AssetServiceGetAssetResponse_Metadata) SetContentType(v string) { + x.ContentType = v +} + +type AssetServiceGetAssetResponse_Metadata_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ContentType string +} + +func (b0 AssetServiceGetAssetResponse_Metadata_builder) Build() *AssetServiceGetAssetResponse_Metadata { + m0 := &AssetServiceGetAssetResponse_Metadata{} + b, x := &b0, m0 + _, _ = b, x + x.ContentType = b.ContentType + return m0 +} + type AssetServiceGetAssetResponse_Data struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -268,11 +419,6 @@ func (x *AssetServiceGetAssetResponse_Data) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use AssetServiceGetAssetResponse_Data.ProtoReflect.Descriptor instead. -func (*AssetServiceGetAssetResponse_Data) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_asset_proto_rawDescGZIP(), []int{2, 1} -} - func (x *AssetServiceGetAssetResponse_Data) GetData() []byte { if x != nil { return x.Data @@ -280,67 +426,50 @@ func (x *AssetServiceGetAssetResponse_Data) GetData() []byte { return nil } -var File_c1_connector_v2_asset_proto protoreflect.FileDescriptor +func (x *AssetServiceGetAssetResponse_Data) SetData(v []byte) { + if v == nil { + v = []byte{} + } + x.Data = v +} -var file_c1_connector_v2_asset_proto_rawDesc = string([]byte{ - 0x0a, 0x1b, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, - 0x32, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x63, - 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 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, 0x26, 0x0a, 0x08, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x52, 0x65, 0x66, 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, 0x22, - 0x58, 0x0a, 0x1b, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, - 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, - 0x0a, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 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, - 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x66, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, - 0x10, 0x01, 0x52, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x22, 0xae, 0x02, 0x0a, 0x1c, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, - 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x48, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, - 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, - 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, - 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x61, - 0x74, 0x61, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x39, 0x0a, 0x08, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, - 0x07, 0x72, 0x05, 0x20, 0x01, 0x28, 0x80, 0x02, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x0b, 0xfa, 0x42, 0x08, - 0x7a, 0x06, 0x10, 0x00, 0x18, 0x80, 0x80, 0x40, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0a, - 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x32, 0x79, 0x0a, 0x0c, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x69, 0x0a, 0x08, 0x47, 0x65, - 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x30, 0x01, 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_asset_proto_rawDescOnce sync.Once - file_c1_connector_v2_asset_proto_rawDescData []byte -) +type AssetServiceGetAssetResponse_Data_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. -func file_c1_connector_v2_asset_proto_rawDescGZIP() []byte { - file_c1_connector_v2_asset_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_asset_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_asset_proto_rawDesc), len(file_c1_connector_v2_asset_proto_rawDesc))) - }) - return file_c1_connector_v2_asset_proto_rawDescData + Data []byte } +func (b0 AssetServiceGetAssetResponse_Data_builder) Build() *AssetServiceGetAssetResponse_Data { + m0 := &AssetServiceGetAssetResponse_Data{} + b, x := &b0, m0 + _, _ = b, x + x.Data = b.Data + return m0 +} + +var File_c1_connector_v2_asset_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_asset_proto_rawDesc = "" + + "\n" + + "\x1bc1/connector/v2/asset.proto\x12\x0fc1.connector.v2\x1a\x17validate/validate.proto\"&\n" + + "\bAssetRef\x12\x1a\n" + + "\x02id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\x02id\"X\n" + + "\x1bAssetServiceGetAssetRequest\x129\n" + + "\x05asset\x18\x01 \x01(\v2\x19.c1.connector.v2.AssetRefB\b\xfaB\x05\x8a\x01\x02\x10\x01R\x05asset\"\xae\x02\n" + + "\x1cAssetServiceGetAssetResponse\x12T\n" + + "\bmetadata\x18\x01 \x01(\v26.c1.connector.v2.AssetServiceGetAssetResponse.MetadataH\x00R\bmetadata\x12H\n" + + "\x04data\x18\x02 \x01(\v22.c1.connector.v2.AssetServiceGetAssetResponse.DataH\x00R\x04data\x1a9\n" + + "\bMetadata\x12-\n" + + "\fcontent_type\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\x02R\vcontentType\x1a'\n" + + "\x04Data\x12\x1f\n" + + "\x04data\x18\x01 \x01(\fB\v\xfaB\bz\x06\x10\x00\x18\x80\x80@R\x04dataB\n" + + "\n" + + "\x03msg\x12\x03\xf8B\x012y\n" + + "\fAssetService\x12i\n" + + "\bGetAsset\x12,.c1.connector.v2.AssetServiceGetAssetRequest\x1a-.c1.connector.v2.AssetServiceGetAssetResponse0\x01B6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + var file_c1_connector_v2_asset_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_c1_connector_v2_asset_proto_goTypes = []any{ (*AssetRef)(nil), // 0: c1.connector.v2.AssetRef diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/asset_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/asset_protoopaque.pb.go new file mode 100644 index 00000000..f795efba --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/asset_protoopaque.pb.go @@ -0,0 +1,509 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/asset.proto + +//go:build protoopaque + +package v2 + +import ( + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + 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) +) + +type AssetRef struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AssetRef) Reset() { + *x = AssetRef{} + mi := &file_c1_connector_v2_asset_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AssetRef) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AssetRef) ProtoMessage() {} + +func (x *AssetRef) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_asset_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) +} + +func (x *AssetRef) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *AssetRef) SetId(v string) { + x.xxx_hidden_Id = v +} + +type AssetRef_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string +} + +func (b0 AssetRef_builder) Build() *AssetRef { + m0 := &AssetRef{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + return m0 +} + +type AssetServiceGetAssetRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Asset *AssetRef `protobuf:"bytes,1,opt,name=asset,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AssetServiceGetAssetRequest) Reset() { + *x = AssetServiceGetAssetRequest{} + mi := &file_c1_connector_v2_asset_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AssetServiceGetAssetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AssetServiceGetAssetRequest) ProtoMessage() {} + +func (x *AssetServiceGetAssetRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_asset_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) +} + +func (x *AssetServiceGetAssetRequest) GetAsset() *AssetRef { + if x != nil { + return x.xxx_hidden_Asset + } + return nil +} + +func (x *AssetServiceGetAssetRequest) SetAsset(v *AssetRef) { + x.xxx_hidden_Asset = v +} + +func (x *AssetServiceGetAssetRequest) HasAsset() bool { + if x == nil { + return false + } + return x.xxx_hidden_Asset != nil +} + +func (x *AssetServiceGetAssetRequest) ClearAsset() { + x.xxx_hidden_Asset = nil +} + +type AssetServiceGetAssetRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Asset *AssetRef +} + +func (b0 AssetServiceGetAssetRequest_builder) Build() *AssetServiceGetAssetRequest { + m0 := &AssetServiceGetAssetRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Asset = b.Asset + return m0 +} + +type AssetServiceGetAssetResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Msg isAssetServiceGetAssetResponse_Msg `protobuf_oneof:"msg"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AssetServiceGetAssetResponse) Reset() { + *x = AssetServiceGetAssetResponse{} + mi := &file_c1_connector_v2_asset_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AssetServiceGetAssetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AssetServiceGetAssetResponse) ProtoMessage() {} + +func (x *AssetServiceGetAssetResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_asset_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) +} + +func (x *AssetServiceGetAssetResponse) GetMetadata() *AssetServiceGetAssetResponse_Metadata { + if x != nil { + if x, ok := x.xxx_hidden_Msg.(*assetServiceGetAssetResponse_Metadata_); ok { + return x.Metadata + } + } + return nil +} + +func (x *AssetServiceGetAssetResponse) GetData() *AssetServiceGetAssetResponse_Data { + if x != nil { + if x, ok := x.xxx_hidden_Msg.(*assetServiceGetAssetResponse_Data_); ok { + return x.Data + } + } + return nil +} + +func (x *AssetServiceGetAssetResponse) SetMetadata(v *AssetServiceGetAssetResponse_Metadata) { + if v == nil { + x.xxx_hidden_Msg = nil + return + } + x.xxx_hidden_Msg = &assetServiceGetAssetResponse_Metadata_{v} +} + +func (x *AssetServiceGetAssetResponse) SetData(v *AssetServiceGetAssetResponse_Data) { + if v == nil { + x.xxx_hidden_Msg = nil + return + } + x.xxx_hidden_Msg = &assetServiceGetAssetResponse_Data_{v} +} + +func (x *AssetServiceGetAssetResponse) HasMsg() bool { + if x == nil { + return false + } + return x.xxx_hidden_Msg != nil +} + +func (x *AssetServiceGetAssetResponse) HasMetadata() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Msg.(*assetServiceGetAssetResponse_Metadata_) + return ok +} + +func (x *AssetServiceGetAssetResponse) HasData() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Msg.(*assetServiceGetAssetResponse_Data_) + return ok +} + +func (x *AssetServiceGetAssetResponse) ClearMsg() { + x.xxx_hidden_Msg = nil +} + +func (x *AssetServiceGetAssetResponse) ClearMetadata() { + if _, ok := x.xxx_hidden_Msg.(*assetServiceGetAssetResponse_Metadata_); ok { + x.xxx_hidden_Msg = nil + } +} + +func (x *AssetServiceGetAssetResponse) ClearData() { + if _, ok := x.xxx_hidden_Msg.(*assetServiceGetAssetResponse_Data_); ok { + x.xxx_hidden_Msg = nil + } +} + +const AssetServiceGetAssetResponse_Msg_not_set_case case_AssetServiceGetAssetResponse_Msg = 0 +const AssetServiceGetAssetResponse_Metadata_case case_AssetServiceGetAssetResponse_Msg = 1 +const AssetServiceGetAssetResponse_Data_case case_AssetServiceGetAssetResponse_Msg = 2 + +func (x *AssetServiceGetAssetResponse) WhichMsg() case_AssetServiceGetAssetResponse_Msg { + if x == nil { + return AssetServiceGetAssetResponse_Msg_not_set_case + } + switch x.xxx_hidden_Msg.(type) { + case *assetServiceGetAssetResponse_Metadata_: + return AssetServiceGetAssetResponse_Metadata_case + case *assetServiceGetAssetResponse_Data_: + return AssetServiceGetAssetResponse_Data_case + default: + return AssetServiceGetAssetResponse_Msg_not_set_case + } +} + +type AssetServiceGetAssetResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Fields of oneof xxx_hidden_Msg: + Metadata *AssetServiceGetAssetResponse_Metadata + Data *AssetServiceGetAssetResponse_Data + // -- end of xxx_hidden_Msg +} + +func (b0 AssetServiceGetAssetResponse_builder) Build() *AssetServiceGetAssetResponse { + m0 := &AssetServiceGetAssetResponse{} + b, x := &b0, m0 + _, _ = b, x + if b.Metadata != nil { + x.xxx_hidden_Msg = &assetServiceGetAssetResponse_Metadata_{b.Metadata} + } + if b.Data != nil { + x.xxx_hidden_Msg = &assetServiceGetAssetResponse_Data_{b.Data} + } + return m0 +} + +type case_AssetServiceGetAssetResponse_Msg protoreflect.FieldNumber + +func (x case_AssetServiceGetAssetResponse_Msg) String() string { + md := file_c1_connector_v2_asset_proto_msgTypes[2].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isAssetServiceGetAssetResponse_Msg interface { + isAssetServiceGetAssetResponse_Msg() +} + +type assetServiceGetAssetResponse_Metadata_ struct { + Metadata *AssetServiceGetAssetResponse_Metadata `protobuf:"bytes,1,opt,name=metadata,proto3,oneof"` +} + +type assetServiceGetAssetResponse_Data_ struct { + Data *AssetServiceGetAssetResponse_Data `protobuf:"bytes,2,opt,name=data,proto3,oneof"` +} + +func (*assetServiceGetAssetResponse_Metadata_) isAssetServiceGetAssetResponse_Msg() {} + +func (*assetServiceGetAssetResponse_Data_) isAssetServiceGetAssetResponse_Msg() {} + +type AssetServiceGetAssetResponse_Metadata struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ContentType string `protobuf:"bytes,1,opt,name=content_type,json=contentType,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AssetServiceGetAssetResponse_Metadata) Reset() { + *x = AssetServiceGetAssetResponse_Metadata{} + mi := &file_c1_connector_v2_asset_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AssetServiceGetAssetResponse_Metadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AssetServiceGetAssetResponse_Metadata) ProtoMessage() {} + +func (x *AssetServiceGetAssetResponse_Metadata) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_asset_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) +} + +func (x *AssetServiceGetAssetResponse_Metadata) GetContentType() string { + if x != nil { + return x.xxx_hidden_ContentType + } + return "" +} + +func (x *AssetServiceGetAssetResponse_Metadata) SetContentType(v string) { + x.xxx_hidden_ContentType = v +} + +type AssetServiceGetAssetResponse_Metadata_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ContentType string +} + +func (b0 AssetServiceGetAssetResponse_Metadata_builder) Build() *AssetServiceGetAssetResponse_Metadata { + m0 := &AssetServiceGetAssetResponse_Metadata{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ContentType = b.ContentType + return m0 +} + +type AssetServiceGetAssetResponse_Data struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Data []byte `protobuf:"bytes,1,opt,name=data,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AssetServiceGetAssetResponse_Data) Reset() { + *x = AssetServiceGetAssetResponse_Data{} + mi := &file_c1_connector_v2_asset_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AssetServiceGetAssetResponse_Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AssetServiceGetAssetResponse_Data) ProtoMessage() {} + +func (x *AssetServiceGetAssetResponse_Data) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_asset_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *AssetServiceGetAssetResponse_Data) GetData() []byte { + if x != nil { + return x.xxx_hidden_Data + } + return nil +} + +func (x *AssetServiceGetAssetResponse_Data) SetData(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_Data = v +} + +type AssetServiceGetAssetResponse_Data_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Data []byte +} + +func (b0 AssetServiceGetAssetResponse_Data_builder) Build() *AssetServiceGetAssetResponse_Data { + m0 := &AssetServiceGetAssetResponse_Data{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Data = b.Data + return m0 +} + +var File_c1_connector_v2_asset_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_asset_proto_rawDesc = "" + + "\n" + + "\x1bc1/connector/v2/asset.proto\x12\x0fc1.connector.v2\x1a\x17validate/validate.proto\"&\n" + + "\bAssetRef\x12\x1a\n" + + "\x02id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\x02id\"X\n" + + "\x1bAssetServiceGetAssetRequest\x129\n" + + "\x05asset\x18\x01 \x01(\v2\x19.c1.connector.v2.AssetRefB\b\xfaB\x05\x8a\x01\x02\x10\x01R\x05asset\"\xae\x02\n" + + "\x1cAssetServiceGetAssetResponse\x12T\n" + + "\bmetadata\x18\x01 \x01(\v26.c1.connector.v2.AssetServiceGetAssetResponse.MetadataH\x00R\bmetadata\x12H\n" + + "\x04data\x18\x02 \x01(\v22.c1.connector.v2.AssetServiceGetAssetResponse.DataH\x00R\x04data\x1a9\n" + + "\bMetadata\x12-\n" + + "\fcontent_type\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\x02R\vcontentType\x1a'\n" + + "\x04Data\x12\x1f\n" + + "\x04data\x18\x01 \x01(\fB\v\xfaB\bz\x06\x10\x00\x18\x80\x80@R\x04dataB\n" + + "\n" + + "\x03msg\x12\x03\xf8B\x012y\n" + + "\fAssetService\x12i\n" + + "\bGetAsset\x12,.c1.connector.v2.AssetServiceGetAssetRequest\x1a-.c1.connector.v2.AssetServiceGetAssetResponse0\x01B6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_asset_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_c1_connector_v2_asset_proto_goTypes = []any{ + (*AssetRef)(nil), // 0: c1.connector.v2.AssetRef + (*AssetServiceGetAssetRequest)(nil), // 1: c1.connector.v2.AssetServiceGetAssetRequest + (*AssetServiceGetAssetResponse)(nil), // 2: c1.connector.v2.AssetServiceGetAssetResponse + (*AssetServiceGetAssetResponse_Metadata)(nil), // 3: c1.connector.v2.AssetServiceGetAssetResponse.Metadata + (*AssetServiceGetAssetResponse_Data)(nil), // 4: c1.connector.v2.AssetServiceGetAssetResponse.Data +} +var file_c1_connector_v2_asset_proto_depIdxs = []int32{ + 0, // 0: c1.connector.v2.AssetServiceGetAssetRequest.asset:type_name -> c1.connector.v2.AssetRef + 3, // 1: c1.connector.v2.AssetServiceGetAssetResponse.metadata:type_name -> c1.connector.v2.AssetServiceGetAssetResponse.Metadata + 4, // 2: c1.connector.v2.AssetServiceGetAssetResponse.data:type_name -> c1.connector.v2.AssetServiceGetAssetResponse.Data + 1, // 3: c1.connector.v2.AssetService.GetAsset:input_type -> c1.connector.v2.AssetServiceGetAssetRequest + 2, // 4: c1.connector.v2.AssetService.GetAsset:output_type -> c1.connector.v2.AssetServiceGetAssetResponse + 4, // [4:5] is the sub-list for method output_type + 3, // [3:4] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_c1_connector_v2_asset_proto_init() } +func file_c1_connector_v2_asset_proto_init() { + if File_c1_connector_v2_asset_proto != nil { + return + } + file_c1_connector_v2_asset_proto_msgTypes[2].OneofWrappers = []any{ + (*assetServiceGetAssetResponse_Metadata_)(nil), + (*assetServiceGetAssetResponse_Data_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_connector_v2_asset_proto_rawDesc), len(file_c1_connector_v2_asset_proto_rawDesc)), + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_c1_connector_v2_asset_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_asset_proto_depIdxs, + MessageInfos: file_c1_connector_v2_asset_proto_msgTypes, + }.Build() + File_c1_connector_v2_asset_proto = out.File + file_c1_connector_v2_asset_proto_goTypes = nil + file_c1_connector_v2_asset_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/config.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/config.pb.go index f0e34d03..c316cda9 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/config.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/config.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/config.proto +//go:build !protoopaque + package v2 import ( @@ -11,7 +13,6 @@ import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -23,7 +24,7 @@ const ( ) type SchemaServiceGetSchemaRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -53,13 +54,20 @@ func (x *SchemaServiceGetSchemaRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SchemaServiceGetSchemaRequest.ProtoReflect.Descriptor instead. -func (*SchemaServiceGetSchemaRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_config_proto_rawDescGZIP(), []int{0} +type SchemaServiceGetSchemaRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 SchemaServiceGetSchemaRequest_builder) Build() *SchemaServiceGetSchemaRequest { + m0 := &SchemaServiceGetSchemaRequest{} + b, x := &b0, m0 + _, _ = b, x + return m0 } type SchemaServiceGetSchemaResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` Schema *ConfigSchema `protobuf:"bytes,2,opt,name=schema,proto3" json:"schema,omitempty"` unknownFields protoimpl.UnknownFields @@ -91,11 +99,6 @@ func (x *SchemaServiceGetSchemaResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SchemaServiceGetSchemaResponse.ProtoReflect.Descriptor instead. -func (*SchemaServiceGetSchemaResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_config_proto_rawDescGZIP(), []int{1} -} - func (x *SchemaServiceGetSchemaResponse) GetVersion() string { if x != nil { return x.Version @@ -110,8 +113,43 @@ func (x *SchemaServiceGetSchemaResponse) GetSchema() *ConfigSchema { return nil } +func (x *SchemaServiceGetSchemaResponse) SetVersion(v string) { + x.Version = v +} + +func (x *SchemaServiceGetSchemaResponse) SetSchema(v *ConfigSchema) { + x.Schema = v +} + +func (x *SchemaServiceGetSchemaResponse) HasSchema() bool { + if x == nil { + return false + } + return x.Schema != nil +} + +func (x *SchemaServiceGetSchemaResponse) ClearSchema() { + x.Schema = nil +} + +type SchemaServiceGetSchemaResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Version string + Schema *ConfigSchema +} + +func (b0 SchemaServiceGetSchemaResponse_builder) Build() *SchemaServiceGetSchemaResponse { + m0 := &SchemaServiceGetSchemaResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Version = b.Version + x.Schema = b.Schema + return m0 +} + type ConfigSchema struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Fields []*Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` HelpUrl string `protobuf:"bytes,3,opt,name=help_url,json=helpUrl,proto3" json:"help_url,omitempty"` @@ -146,11 +184,6 @@ func (x *ConfigSchema) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ConfigSchema.ProtoReflect.Descriptor instead. -func (*ConfigSchema) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_config_proto_rawDescGZIP(), []int{2} -} - func (x *ConfigSchema) GetFields() []*Field { if x != nil { return x.Fields @@ -186,8 +219,72 @@ func (x *ConfigSchema) GetLogo() *AssetRef { return nil } +func (x *ConfigSchema) SetFields(v []*Field) { + x.Fields = v +} + +func (x *ConfigSchema) SetDisplayName(v string) { + x.DisplayName = v +} + +func (x *ConfigSchema) SetHelpUrl(v string) { + x.HelpUrl = v +} + +func (x *ConfigSchema) SetIcon(v *AssetRef) { + x.Icon = v +} + +func (x *ConfigSchema) SetLogo(v *AssetRef) { + x.Logo = v +} + +func (x *ConfigSchema) HasIcon() bool { + if x == nil { + return false + } + return x.Icon != nil +} + +func (x *ConfigSchema) HasLogo() bool { + if x == nil { + return false + } + return x.Logo != nil +} + +func (x *ConfigSchema) ClearIcon() { + x.Icon = nil +} + +func (x *ConfigSchema) ClearLogo() { + x.Logo = nil +} + +type ConfigSchema_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Fields []*Field + DisplayName string + HelpUrl string + Icon *AssetRef + Logo *AssetRef +} + +func (b0 ConfigSchema_builder) Build() *ConfigSchema { + m0 := &ConfigSchema{} + b, x := &b0, m0 + _, _ = b, x + x.Fields = b.Fields + x.DisplayName = b.DisplayName + x.HelpUrl = b.HelpUrl + x.Icon = b.Icon + x.Logo = b.Logo + return m0 +} + type Field struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` // Must not start with `C1_` and match [a-zA-Z0-9_]{2,64}. Must be unique within a connector. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // empty or https URL @@ -231,11 +328,6 @@ func (x *Field) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Field.ProtoReflect.Descriptor instead. -func (*Field) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_config_proto_rawDescGZIP(), []int{3} -} - func (x *Field) GetName() string { if x != nil { return x.Name @@ -307,6 +399,196 @@ func (x *Field) GetFile() *FileField { return nil } +func (x *Field) SetName(v string) { + x.Name = v +} + +func (x *Field) SetHelpUrl(v string) { + x.HelpUrl = v +} + +func (x *Field) SetDisplayName(v string) { + x.DisplayName = v +} + +func (x *Field) SetPlaceholder(v string) { + x.Placeholder = v +} + +func (x *Field) SetStr(v *StringField) { + if v == nil { + x.Field = nil + return + } + x.Field = &Field_Str{v} +} + +func (x *Field) SetSelect(v *SelectField) { + if v == nil { + x.Field = nil + return + } + x.Field = &Field_Select{v} +} + +func (x *Field) SetRandom(v *RandomStringField) { + if v == nil { + x.Field = nil + return + } + x.Field = &Field_Random{v} +} + +func (x *Field) SetFile(v *FileField) { + if v == nil { + x.Field = nil + return + } + x.Field = &Field_File{v} +} + +func (x *Field) HasField() bool { + if x == nil { + return false + } + return x.Field != nil +} + +func (x *Field) HasStr() bool { + if x == nil { + return false + } + _, ok := x.Field.(*Field_Str) + return ok +} + +func (x *Field) HasSelect() bool { + if x == nil { + return false + } + _, ok := x.Field.(*Field_Select) + return ok +} + +func (x *Field) HasRandom() bool { + if x == nil { + return false + } + _, ok := x.Field.(*Field_Random) + return ok +} + +func (x *Field) HasFile() bool { + if x == nil { + return false + } + _, ok := x.Field.(*Field_File) + return ok +} + +func (x *Field) ClearField() { + x.Field = nil +} + +func (x *Field) ClearStr() { + if _, ok := x.Field.(*Field_Str); ok { + x.Field = nil + } +} + +func (x *Field) ClearSelect() { + if _, ok := x.Field.(*Field_Select); ok { + x.Field = nil + } +} + +func (x *Field) ClearRandom() { + if _, ok := x.Field.(*Field_Random); ok { + x.Field = nil + } +} + +func (x *Field) ClearFile() { + if _, ok := x.Field.(*Field_File); ok { + x.Field = nil + } +} + +const Field_Field_not_set_case case_Field_Field = 0 +const Field_Str_case case_Field_Field = 100 +const Field_Select_case case_Field_Field = 101 +const Field_Random_case case_Field_Field = 102 +const Field_File_case case_Field_Field = 103 + +func (x *Field) WhichField() case_Field_Field { + if x == nil { + return Field_Field_not_set_case + } + switch x.Field.(type) { + case *Field_Str: + return Field_Str_case + case *Field_Select: + return Field_Select_case + case *Field_Random: + return Field_Random_case + case *Field_File: + return Field_File_case + default: + return Field_Field_not_set_case + } +} + +type Field_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Must not start with `C1_` and match [a-zA-Z0-9_]{2,64}. Must be unique within a connector. + Name string + // empty or https URL + HelpUrl string + // Human readable label for this Field + DisplayName string + Placeholder string + // Fields of oneof Field: + Str *StringField + Select *SelectField + Random *RandomStringField + File *FileField + // -- end of Field +} + +func (b0 Field_builder) Build() *Field { + m0 := &Field{} + b, x := &b0, m0 + _, _ = b, x + x.Name = b.Name + x.HelpUrl = b.HelpUrl + x.DisplayName = b.DisplayName + x.Placeholder = b.Placeholder + if b.Str != nil { + x.Field = &Field_Str{b.Str} + } + if b.Select != nil { + x.Field = &Field_Select{b.Select} + } + if b.Random != nil { + x.Field = &Field_Random{b.Random} + } + if b.File != nil { + x.Field = &Field_File{b.File} + } + return m0 +} + +type case_Field_Field protoreflect.FieldNumber + +func (x case_Field_Field) String() string { + md := file_c1_connector_v2_config_proto_msgTypes[3].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + type isField_Field interface { isField_Field() } @@ -336,7 +618,7 @@ func (*Field_Random) isField_Field() {} func (*Field_File) isField_Field() {} type StringField struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` // If secret, value is write-only in UI and a password-type form is used. Secret bool `protobuf:"varint,1,opt,name=secret,proto3" json:"secret,omitempty"` // validator rules for value. may be empty. @@ -370,11 +652,6 @@ func (x *StringField) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StringField.ProtoReflect.Descriptor instead. -func (*StringField) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_config_proto_rawDescGZIP(), []int{4} -} - func (x *StringField) GetSecret() bool { if x != nil { return x.Secret @@ -389,8 +666,45 @@ func (x *StringField) GetValueValidator() *validate.StringRules { return nil } +func (x *StringField) SetSecret(v bool) { + x.Secret = v +} + +func (x *StringField) SetValueValidator(v *validate.StringRules) { + x.ValueValidator = v +} + +func (x *StringField) HasValueValidator() bool { + if x == nil { + return false + } + return x.ValueValidator != nil +} + +func (x *StringField) ClearValueValidator() { + x.ValueValidator = nil +} + +type StringField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // If secret, value is write-only in UI and a password-type form is used. + Secret bool + // validator rules for value. may be empty. + ValueValidator *validate.StringRules +} + +func (b0 StringField_builder) Build() *StringField { + m0 := &StringField{} + b, x := &b0, m0 + _, _ = b, x + x.Secret = b.Secret + x.ValueValidator = b.ValueValidator + return m0 +} + type SelectField struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` // list of items that are selected from Items []*SelectField_Item `protobuf:"bytes,5,rep,name=items,proto3" json:"items,omitempty"` unknownFields protoimpl.UnknownFields @@ -422,11 +736,6 @@ func (x *SelectField) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SelectField.ProtoReflect.Descriptor instead. -func (*SelectField) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_config_proto_rawDescGZIP(), []int{5} -} - func (x *SelectField) GetItems() []*SelectField_Item { if x != nil { return x.Items @@ -434,8 +743,27 @@ func (x *SelectField) GetItems() []*SelectField_Item { return nil } +func (x *SelectField) SetItems(v []*SelectField_Item) { + x.Items = v +} + +type SelectField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // list of items that are selected from + Items []*SelectField_Item +} + +func (b0 SelectField_builder) Build() *SelectField { + m0 := &SelectField{} + b, x := &b0, m0 + _, _ = b, x + x.Items = b.Items + return m0 +} + type RandomStringField struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Length int32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -466,11 +794,6 @@ func (x *RandomStringField) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RandomStringField.ProtoReflect.Descriptor instead. -func (*RandomStringField) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_config_proto_rawDescGZIP(), []int{6} -} - func (x *RandomStringField) GetLength() int32 { if x != nil { return x.Length @@ -478,8 +801,26 @@ func (x *RandomStringField) GetLength() int32 { return 0 } +func (x *RandomStringField) SetLength(v int32) { + x.Length = v +} + +type RandomStringField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Length int32 +} + +func (b0 RandomStringField_builder) Build() *RandomStringField { + m0 := &RandomStringField{} + b, x := &b0, m0 + _, _ = b, x + x.Length = b.Length + return m0 +} + type FileField struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Secret bool `protobuf:"varint,1,opt,name=secret,proto3" json:"secret,omitempty"` ValueValidator *validate.StringRules `protobuf:"bytes,2,opt,name=value_validator,json=valueValidator,proto3" json:"value_validator,omitempty"` AllowedExtensions []string `protobuf:"bytes,3,rep,name=allowed_extensions,json=allowedExtensions,proto3" json:"allowed_extensions,omitempty"` @@ -512,11 +853,6 @@ func (x *FileField) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FileField.ProtoReflect.Descriptor instead. -func (*FileField) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_config_proto_rawDescGZIP(), []int{7} -} - func (x *FileField) GetSecret() bool { if x != nil { return x.Secret @@ -538,8 +874,49 @@ func (x *FileField) GetAllowedExtensions() []string { return nil } +func (x *FileField) SetSecret(v bool) { + x.Secret = v +} + +func (x *FileField) SetValueValidator(v *validate.StringRules) { + x.ValueValidator = v +} + +func (x *FileField) SetAllowedExtensions(v []string) { + x.AllowedExtensions = v +} + +func (x *FileField) HasValueValidator() bool { + if x == nil { + return false + } + return x.ValueValidator != nil +} + +func (x *FileField) ClearValueValidator() { + x.ValueValidator = nil +} + +type FileField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Secret bool + ValueValidator *validate.StringRules + AllowedExtensions []string +} + +func (b0 FileField_builder) Build() *FileField { + m0 := &FileField{} + b, x := &b0, m0 + _, _ = b, x + x.Secret = b.Secret + x.ValueValidator = b.ValueValidator + x.AllowedExtensions = b.AllowedExtensions + return m0 +} + type SelectField_Item struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields @@ -571,11 +948,6 @@ func (x *SelectField_Item) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SelectField_Item.ProtoReflect.Descriptor instead. -func (*SelectField_Item) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_config_proto_rawDescGZIP(), []int{5, 0} -} - func (x *SelectField_Item) GetDisplayName() string { if x != nil { return x.DisplayName @@ -590,114 +962,72 @@ func (x *SelectField_Item) GetValue() string { return "" } -var File_c1_connector_v2_config_proto protoreflect.FileDescriptor +func (x *SelectField_Item) SetDisplayName(v string) { + x.DisplayName = v +} -var file_c1_connector_v2_config_proto_rawDesc = string([]byte{ - 0x0a, 0x1c, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, - 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, - 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x1a, - 0x1b, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, - 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 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, 0x1f, 0x0a, 0x1d, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x71, 0x0a, 0x1e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xda, 0x01, 0x0a, 0x0c, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x2e, 0x0a, 0x06, 0x66, 0x69, - 0x65, 0x6c, 0x64, 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, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x68, 0x65, 0x6c, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x68, 0x65, 0x6c, 0x70, 0x55, 0x72, 0x6c, 0x12, 0x2d, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, - 0x66, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x66, - 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x22, 0xde, 0x02, 0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x65, 0x6c, 0x70, 0x5f, 0x75, 0x72, 0x6c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x6c, 0x70, 0x55, 0x72, 0x6c, 0x12, - 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, - 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, - 0x6c, 0x64, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x64, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x48, - 0x00, 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x48, 0x00, 0x52, 0x06, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x3c, - 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, - 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, - 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x48, 0x00, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x12, 0x30, 0x0a, 0x04, - 0x66, 0x69, 0x6c, 0x65, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x31, 0x2e, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6c, - 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x48, 0x00, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x07, - 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x65, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x3e, - 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0e, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x87, - 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x37, - 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, - 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x49, 0x74, 0x65, 0x6d, - 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x3f, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, - 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2b, 0x0a, 0x11, 0x52, 0x61, 0x6e, 0x64, - 0x6f, 0x6d, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x92, 0x01, 0x0a, 0x09, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x0f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0e, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, - 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x32, 0x7d, 0x0a, 0x0d, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6c, 0x0a, 0x09, 0x47, - 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x2e, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 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 ( - file_c1_connector_v2_config_proto_rawDescOnce sync.Once - file_c1_connector_v2_config_proto_rawDescData []byte -) +func (x *SelectField_Item) SetValue(v string) { + x.Value = v +} + +type SelectField_Item_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. -func file_c1_connector_v2_config_proto_rawDescGZIP() []byte { - file_c1_connector_v2_config_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_config_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_config_proto_rawDesc), len(file_c1_connector_v2_config_proto_rawDesc))) - }) - return file_c1_connector_v2_config_proto_rawDescData + DisplayName string + Value string } +func (b0 SelectField_Item_builder) Build() *SelectField_Item { + m0 := &SelectField_Item{} + b, x := &b0, m0 + _, _ = b, x + x.DisplayName = b.DisplayName + x.Value = b.Value + return m0 +} + +var File_c1_connector_v2_config_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_config_proto_rawDesc = "" + + "\n" + + "\x1cc1/connector/v2/config.proto\x12\x0fc1.connector.v2\x1a\x1bc1/connector/v2/asset.proto\x1a\x17validate/validate.proto\"\x1f\n" + + "\x1dSchemaServiceGetSchemaRequest\"q\n" + + "\x1eSchemaServiceGetSchemaResponse\x12\x18\n" + + "\aversion\x18\x01 \x01(\tR\aversion\x125\n" + + "\x06schema\x18\x02 \x01(\v2\x1d.c1.connector.v2.ConfigSchemaR\x06schema\"\xda\x01\n" + + "\fConfigSchema\x12.\n" + + "\x06fields\x18\x01 \x03(\v2\x16.c1.connector.v2.FieldR\x06fields\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12\x19\n" + + "\bhelp_url\x18\x03 \x01(\tR\ahelpUrl\x12-\n" + + "\x04icon\x18\x04 \x01(\v2\x19.c1.connector.v2.AssetRefR\x04icon\x12-\n" + + "\x04logo\x18\x05 \x01(\v2\x19.c1.connector.v2.AssetRefR\x04logo\"\xde\x02\n" + + "\x05Field\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x19\n" + + "\bhelp_url\x18\x02 \x01(\tR\ahelpUrl\x12!\n" + + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\x12 \n" + + "\vplaceholder\x18\x04 \x01(\tR\vplaceholder\x120\n" + + "\x03str\x18d \x01(\v2\x1c.c1.connector.v2.StringFieldH\x00R\x03str\x126\n" + + "\x06select\x18e \x01(\v2\x1c.c1.connector.v2.SelectFieldH\x00R\x06select\x12<\n" + + "\x06random\x18f \x01(\v2\".c1.connector.v2.RandomStringFieldH\x00R\x06random\x120\n" + + "\x04file\x18g \x01(\v2\x1a.c1.connector.v2.FileFieldH\x00R\x04fileB\a\n" + + "\x05field\"e\n" + + "\vStringField\x12\x16\n" + + "\x06secret\x18\x01 \x01(\bR\x06secret\x12>\n" + + "\x0fvalue_validator\x18\x02 \x01(\v2\x15.validate.StringRulesR\x0evalueValidator\"\x87\x01\n" + + "\vSelectField\x127\n" + + "\x05items\x18\x05 \x03(\v2!.c1.connector.v2.SelectField.ItemR\x05items\x1a?\n" + + "\x04Item\x12!\n" + + "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value\"+\n" + + "\x11RandomStringField\x12\x16\n" + + "\x06length\x18\x01 \x01(\x05R\x06length\"\x92\x01\n" + + "\tFileField\x12\x16\n" + + "\x06secret\x18\x01 \x01(\bR\x06secret\x12>\n" + + "\x0fvalue_validator\x18\x02 \x01(\v2\x15.validate.StringRulesR\x0evalueValidator\x12-\n" + + "\x12allowed_extensions\x18\x03 \x03(\tR\x11allowedExtensions2}\n" + + "\rSchemaService\x12l\n" + + "\tGetSchema\x12..c1.connector.v2.SchemaServiceGetSchemaRequest\x1a/.c1.connector.v2.SchemaServiceGetSchemaResponseB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + var file_c1_connector_v2_config_proto_msgTypes = make([]protoimpl.MessageInfo, 9) var file_c1_connector_v2_config_proto_goTypes = []any{ (*SchemaServiceGetSchemaRequest)(nil), // 0: c1.connector.v2.SchemaServiceGetSchemaRequest diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/config_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/config_protoopaque.pb.go new file mode 100644 index 00000000..00fb412c --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/config_protoopaque.pb.go @@ -0,0 +1,1080 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/config.proto + +//go:build protoopaque + +package v2 + +import ( + validate "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + 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) +) + +type SchemaServiceGetSchemaRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SchemaServiceGetSchemaRequest) Reset() { + *x = SchemaServiceGetSchemaRequest{} + mi := &file_c1_connector_v2_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SchemaServiceGetSchemaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SchemaServiceGetSchemaRequest) ProtoMessage() {} + +func (x *SchemaServiceGetSchemaRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_config_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) +} + +type SchemaServiceGetSchemaRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 SchemaServiceGetSchemaRequest_builder) Build() *SchemaServiceGetSchemaRequest { + m0 := &SchemaServiceGetSchemaRequest{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +type SchemaServiceGetSchemaResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Version string `protobuf:"bytes,1,opt,name=version,proto3"` + xxx_hidden_Schema *ConfigSchema `protobuf:"bytes,2,opt,name=schema,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SchemaServiceGetSchemaResponse) Reset() { + *x = SchemaServiceGetSchemaResponse{} + mi := &file_c1_connector_v2_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SchemaServiceGetSchemaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SchemaServiceGetSchemaResponse) ProtoMessage() {} + +func (x *SchemaServiceGetSchemaResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_config_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) +} + +func (x *SchemaServiceGetSchemaResponse) GetVersion() string { + if x != nil { + return x.xxx_hidden_Version + } + return "" +} + +func (x *SchemaServiceGetSchemaResponse) GetSchema() *ConfigSchema { + if x != nil { + return x.xxx_hidden_Schema + } + return nil +} + +func (x *SchemaServiceGetSchemaResponse) SetVersion(v string) { + x.xxx_hidden_Version = v +} + +func (x *SchemaServiceGetSchemaResponse) SetSchema(v *ConfigSchema) { + x.xxx_hidden_Schema = v +} + +func (x *SchemaServiceGetSchemaResponse) HasSchema() bool { + if x == nil { + return false + } + return x.xxx_hidden_Schema != nil +} + +func (x *SchemaServiceGetSchemaResponse) ClearSchema() { + x.xxx_hidden_Schema = nil +} + +type SchemaServiceGetSchemaResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Version string + Schema *ConfigSchema +} + +func (b0 SchemaServiceGetSchemaResponse_builder) Build() *SchemaServiceGetSchemaResponse { + m0 := &SchemaServiceGetSchemaResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Version = b.Version + x.xxx_hidden_Schema = b.Schema + return m0 +} + +type ConfigSchema struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Fields *[]*Field `protobuf:"bytes,1,rep,name=fields,proto3"` + xxx_hidden_DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3"` + xxx_hidden_HelpUrl string `protobuf:"bytes,3,opt,name=help_url,json=helpUrl,proto3"` + xxx_hidden_Icon *AssetRef `protobuf:"bytes,4,opt,name=icon,proto3"` + xxx_hidden_Logo *AssetRef `protobuf:"bytes,5,opt,name=logo,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConfigSchema) Reset() { + *x = ConfigSchema{} + mi := &file_c1_connector_v2_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConfigSchema) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigSchema) ProtoMessage() {} + +func (x *ConfigSchema) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_config_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) +} + +func (x *ConfigSchema) GetFields() []*Field { + if x != nil { + if x.xxx_hidden_Fields != nil { + return *x.xxx_hidden_Fields + } + } + return nil +} + +func (x *ConfigSchema) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *ConfigSchema) GetHelpUrl() string { + if x != nil { + return x.xxx_hidden_HelpUrl + } + return "" +} + +func (x *ConfigSchema) GetIcon() *AssetRef { + if x != nil { + return x.xxx_hidden_Icon + } + return nil +} + +func (x *ConfigSchema) GetLogo() *AssetRef { + if x != nil { + return x.xxx_hidden_Logo + } + return nil +} + +func (x *ConfigSchema) SetFields(v []*Field) { + x.xxx_hidden_Fields = &v +} + +func (x *ConfigSchema) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +func (x *ConfigSchema) SetHelpUrl(v string) { + x.xxx_hidden_HelpUrl = v +} + +func (x *ConfigSchema) SetIcon(v *AssetRef) { + x.xxx_hidden_Icon = v +} + +func (x *ConfigSchema) SetLogo(v *AssetRef) { + x.xxx_hidden_Logo = v +} + +func (x *ConfigSchema) HasIcon() bool { + if x == nil { + return false + } + return x.xxx_hidden_Icon != nil +} + +func (x *ConfigSchema) HasLogo() bool { + if x == nil { + return false + } + return x.xxx_hidden_Logo != nil +} + +func (x *ConfigSchema) ClearIcon() { + x.xxx_hidden_Icon = nil +} + +func (x *ConfigSchema) ClearLogo() { + x.xxx_hidden_Logo = nil +} + +type ConfigSchema_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Fields []*Field + DisplayName string + HelpUrl string + Icon *AssetRef + Logo *AssetRef +} + +func (b0 ConfigSchema_builder) Build() *ConfigSchema { + m0 := &ConfigSchema{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Fields = &b.Fields + x.xxx_hidden_DisplayName = b.DisplayName + x.xxx_hidden_HelpUrl = b.HelpUrl + x.xxx_hidden_Icon = b.Icon + x.xxx_hidden_Logo = b.Logo + return m0 +} + +type Field struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Name string `protobuf:"bytes,1,opt,name=name,proto3"` + xxx_hidden_HelpUrl string `protobuf:"bytes,2,opt,name=help_url,json=helpUrl,proto3"` + xxx_hidden_DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3"` + xxx_hidden_Placeholder string `protobuf:"bytes,4,opt,name=placeholder,proto3"` + xxx_hidden_Field isField_Field `protobuf_oneof:"field"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Field) Reset() { + *x = Field{} + mi := &file_c1_connector_v2_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Field) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Field) ProtoMessage() {} + +func (x *Field) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_config_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) +} + +func (x *Field) GetName() string { + if x != nil { + return x.xxx_hidden_Name + } + return "" +} + +func (x *Field) GetHelpUrl() string { + if x != nil { + return x.xxx_hidden_HelpUrl + } + return "" +} + +func (x *Field) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *Field) GetPlaceholder() string { + if x != nil { + return x.xxx_hidden_Placeholder + } + return "" +} + +func (x *Field) GetStr() *StringField { + if x != nil { + if x, ok := x.xxx_hidden_Field.(*field_Str); ok { + return x.Str + } + } + return nil +} + +func (x *Field) GetSelect() *SelectField { + if x != nil { + if x, ok := x.xxx_hidden_Field.(*field_Select); ok { + return x.Select + } + } + return nil +} + +func (x *Field) GetRandom() *RandomStringField { + if x != nil { + if x, ok := x.xxx_hidden_Field.(*field_Random); ok { + return x.Random + } + } + return nil +} + +func (x *Field) GetFile() *FileField { + if x != nil { + if x, ok := x.xxx_hidden_Field.(*field_File); ok { + return x.File + } + } + return nil +} + +func (x *Field) SetName(v string) { + x.xxx_hidden_Name = v +} + +func (x *Field) SetHelpUrl(v string) { + x.xxx_hidden_HelpUrl = v +} + +func (x *Field) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +func (x *Field) SetPlaceholder(v string) { + x.xxx_hidden_Placeholder = v +} + +func (x *Field) SetStr(v *StringField) { + if v == nil { + x.xxx_hidden_Field = nil + return + } + x.xxx_hidden_Field = &field_Str{v} +} + +func (x *Field) SetSelect(v *SelectField) { + if v == nil { + x.xxx_hidden_Field = nil + return + } + x.xxx_hidden_Field = &field_Select{v} +} + +func (x *Field) SetRandom(v *RandomStringField) { + if v == nil { + x.xxx_hidden_Field = nil + return + } + x.xxx_hidden_Field = &field_Random{v} +} + +func (x *Field) SetFile(v *FileField) { + if v == nil { + x.xxx_hidden_Field = nil + return + } + x.xxx_hidden_Field = &field_File{v} +} + +func (x *Field) HasField() bool { + if x == nil { + return false + } + return x.xxx_hidden_Field != nil +} + +func (x *Field) HasStr() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Field.(*field_Str) + return ok +} + +func (x *Field) HasSelect() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Field.(*field_Select) + return ok +} + +func (x *Field) HasRandom() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Field.(*field_Random) + return ok +} + +func (x *Field) HasFile() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Field.(*field_File) + return ok +} + +func (x *Field) ClearField() { + x.xxx_hidden_Field = nil +} + +func (x *Field) ClearStr() { + if _, ok := x.xxx_hidden_Field.(*field_Str); ok { + x.xxx_hidden_Field = nil + } +} + +func (x *Field) ClearSelect() { + if _, ok := x.xxx_hidden_Field.(*field_Select); ok { + x.xxx_hidden_Field = nil + } +} + +func (x *Field) ClearRandom() { + if _, ok := x.xxx_hidden_Field.(*field_Random); ok { + x.xxx_hidden_Field = nil + } +} + +func (x *Field) ClearFile() { + if _, ok := x.xxx_hidden_Field.(*field_File); ok { + x.xxx_hidden_Field = nil + } +} + +const Field_Field_not_set_case case_Field_Field = 0 +const Field_Str_case case_Field_Field = 100 +const Field_Select_case case_Field_Field = 101 +const Field_Random_case case_Field_Field = 102 +const Field_File_case case_Field_Field = 103 + +func (x *Field) WhichField() case_Field_Field { + if x == nil { + return Field_Field_not_set_case + } + switch x.xxx_hidden_Field.(type) { + case *field_Str: + return Field_Str_case + case *field_Select: + return Field_Select_case + case *field_Random: + return Field_Random_case + case *field_File: + return Field_File_case + default: + return Field_Field_not_set_case + } +} + +type Field_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Must not start with `C1_` and match [a-zA-Z0-9_]{2,64}. Must be unique within a connector. + Name string + // empty or https URL + HelpUrl string + // Human readable label for this Field + DisplayName string + Placeholder string + // Fields of oneof xxx_hidden_Field: + Str *StringField + Select *SelectField + Random *RandomStringField + File *FileField + // -- end of xxx_hidden_Field +} + +func (b0 Field_builder) Build() *Field { + m0 := &Field{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Name = b.Name + x.xxx_hidden_HelpUrl = b.HelpUrl + x.xxx_hidden_DisplayName = b.DisplayName + x.xxx_hidden_Placeholder = b.Placeholder + if b.Str != nil { + x.xxx_hidden_Field = &field_Str{b.Str} + } + if b.Select != nil { + x.xxx_hidden_Field = &field_Select{b.Select} + } + if b.Random != nil { + x.xxx_hidden_Field = &field_Random{b.Random} + } + if b.File != nil { + x.xxx_hidden_Field = &field_File{b.File} + } + return m0 +} + +type case_Field_Field protoreflect.FieldNumber + +func (x case_Field_Field) String() string { + md := file_c1_connector_v2_config_proto_msgTypes[3].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isField_Field interface { + isField_Field() +} + +type field_Str struct { + Str *StringField `protobuf:"bytes,100,opt,name=str,proto3,oneof"` +} + +type field_Select struct { + Select *SelectField `protobuf:"bytes,101,opt,name=select,proto3,oneof"` +} + +type field_Random struct { + Random *RandomStringField `protobuf:"bytes,102,opt,name=random,proto3,oneof"` +} + +type field_File struct { + File *FileField `protobuf:"bytes,103,opt,name=file,proto3,oneof"` +} + +func (*field_Str) isField_Field() {} + +func (*field_Select) isField_Field() {} + +func (*field_Random) isField_Field() {} + +func (*field_File) isField_Field() {} + +type StringField struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Secret bool `protobuf:"varint,1,opt,name=secret,proto3"` + xxx_hidden_ValueValidator *validate.StringRules `protobuf:"bytes,2,opt,name=value_validator,json=valueValidator,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StringField) Reset() { + *x = StringField{} + mi := &file_c1_connector_v2_config_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StringField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringField) ProtoMessage() {} + +func (x *StringField) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_config_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *StringField) GetSecret() bool { + if x != nil { + return x.xxx_hidden_Secret + } + return false +} + +func (x *StringField) GetValueValidator() *validate.StringRules { + if x != nil { + return x.xxx_hidden_ValueValidator + } + return nil +} + +func (x *StringField) SetSecret(v bool) { + x.xxx_hidden_Secret = v +} + +func (x *StringField) SetValueValidator(v *validate.StringRules) { + x.xxx_hidden_ValueValidator = v +} + +func (x *StringField) HasValueValidator() bool { + if x == nil { + return false + } + return x.xxx_hidden_ValueValidator != nil +} + +func (x *StringField) ClearValueValidator() { + x.xxx_hidden_ValueValidator = nil +} + +type StringField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // If secret, value is write-only in UI and a password-type form is used. + Secret bool + // validator rules for value. may be empty. + ValueValidator *validate.StringRules +} + +func (b0 StringField_builder) Build() *StringField { + m0 := &StringField{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Secret = b.Secret + x.xxx_hidden_ValueValidator = b.ValueValidator + return m0 +} + +type SelectField struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Items *[]*SelectField_Item `protobuf:"bytes,5,rep,name=items,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SelectField) Reset() { + *x = SelectField{} + mi := &file_c1_connector_v2_config_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SelectField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SelectField) ProtoMessage() {} + +func (x *SelectField) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_config_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *SelectField) GetItems() []*SelectField_Item { + if x != nil { + if x.xxx_hidden_Items != nil { + return *x.xxx_hidden_Items + } + } + return nil +} + +func (x *SelectField) SetItems(v []*SelectField_Item) { + x.xxx_hidden_Items = &v +} + +type SelectField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // list of items that are selected from + Items []*SelectField_Item +} + +func (b0 SelectField_builder) Build() *SelectField { + m0 := &SelectField{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Items = &b.Items + return m0 +} + +type RandomStringField struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Length int32 `protobuf:"varint,1,opt,name=length,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RandomStringField) Reset() { + *x = RandomStringField{} + mi := &file_c1_connector_v2_config_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RandomStringField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RandomStringField) ProtoMessage() {} + +func (x *RandomStringField) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_config_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *RandomStringField) GetLength() int32 { + if x != nil { + return x.xxx_hidden_Length + } + return 0 +} + +func (x *RandomStringField) SetLength(v int32) { + x.xxx_hidden_Length = v +} + +type RandomStringField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Length int32 +} + +func (b0 RandomStringField_builder) Build() *RandomStringField { + m0 := &RandomStringField{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Length = b.Length + return m0 +} + +type FileField struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Secret bool `protobuf:"varint,1,opt,name=secret,proto3"` + xxx_hidden_ValueValidator *validate.StringRules `protobuf:"bytes,2,opt,name=value_validator,json=valueValidator,proto3"` + xxx_hidden_AllowedExtensions []string `protobuf:"bytes,3,rep,name=allowed_extensions,json=allowedExtensions,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FileField) Reset() { + *x = FileField{} + mi := &file_c1_connector_v2_config_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FileField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileField) ProtoMessage() {} + +func (x *FileField) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_config_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) +} + +func (x *FileField) GetSecret() bool { + if x != nil { + return x.xxx_hidden_Secret + } + return false +} + +func (x *FileField) GetValueValidator() *validate.StringRules { + if x != nil { + return x.xxx_hidden_ValueValidator + } + return nil +} + +func (x *FileField) GetAllowedExtensions() []string { + if x != nil { + return x.xxx_hidden_AllowedExtensions + } + return nil +} + +func (x *FileField) SetSecret(v bool) { + x.xxx_hidden_Secret = v +} + +func (x *FileField) SetValueValidator(v *validate.StringRules) { + x.xxx_hidden_ValueValidator = v +} + +func (x *FileField) SetAllowedExtensions(v []string) { + x.xxx_hidden_AllowedExtensions = v +} + +func (x *FileField) HasValueValidator() bool { + if x == nil { + return false + } + return x.xxx_hidden_ValueValidator != nil +} + +func (x *FileField) ClearValueValidator() { + x.xxx_hidden_ValueValidator = nil +} + +type FileField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Secret bool + ValueValidator *validate.StringRules + AllowedExtensions []string +} + +func (b0 FileField_builder) Build() *FileField { + m0 := &FileField{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Secret = b.Secret + x.xxx_hidden_ValueValidator = b.ValueValidator + x.xxx_hidden_AllowedExtensions = b.AllowedExtensions + return m0 +} + +type SelectField_Item struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3"` + xxx_hidden_Value string `protobuf:"bytes,2,opt,name=value,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SelectField_Item) Reset() { + *x = SelectField_Item{} + mi := &file_c1_connector_v2_config_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SelectField_Item) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SelectField_Item) ProtoMessage() {} + +func (x *SelectField_Item) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_config_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) +} + +func (x *SelectField_Item) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *SelectField_Item) GetValue() string { + if x != nil { + return x.xxx_hidden_Value + } + return "" +} + +func (x *SelectField_Item) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +func (x *SelectField_Item) SetValue(v string) { + x.xxx_hidden_Value = v +} + +type SelectField_Item_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DisplayName string + Value string +} + +func (b0 SelectField_Item_builder) Build() *SelectField_Item { + m0 := &SelectField_Item{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_DisplayName = b.DisplayName + x.xxx_hidden_Value = b.Value + return m0 +} + +var File_c1_connector_v2_config_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_config_proto_rawDesc = "" + + "\n" + + "\x1cc1/connector/v2/config.proto\x12\x0fc1.connector.v2\x1a\x1bc1/connector/v2/asset.proto\x1a\x17validate/validate.proto\"\x1f\n" + + "\x1dSchemaServiceGetSchemaRequest\"q\n" + + "\x1eSchemaServiceGetSchemaResponse\x12\x18\n" + + "\aversion\x18\x01 \x01(\tR\aversion\x125\n" + + "\x06schema\x18\x02 \x01(\v2\x1d.c1.connector.v2.ConfigSchemaR\x06schema\"\xda\x01\n" + + "\fConfigSchema\x12.\n" + + "\x06fields\x18\x01 \x03(\v2\x16.c1.connector.v2.FieldR\x06fields\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12\x19\n" + + "\bhelp_url\x18\x03 \x01(\tR\ahelpUrl\x12-\n" + + "\x04icon\x18\x04 \x01(\v2\x19.c1.connector.v2.AssetRefR\x04icon\x12-\n" + + "\x04logo\x18\x05 \x01(\v2\x19.c1.connector.v2.AssetRefR\x04logo\"\xde\x02\n" + + "\x05Field\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x19\n" + + "\bhelp_url\x18\x02 \x01(\tR\ahelpUrl\x12!\n" + + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\x12 \n" + + "\vplaceholder\x18\x04 \x01(\tR\vplaceholder\x120\n" + + "\x03str\x18d \x01(\v2\x1c.c1.connector.v2.StringFieldH\x00R\x03str\x126\n" + + "\x06select\x18e \x01(\v2\x1c.c1.connector.v2.SelectFieldH\x00R\x06select\x12<\n" + + "\x06random\x18f \x01(\v2\".c1.connector.v2.RandomStringFieldH\x00R\x06random\x120\n" + + "\x04file\x18g \x01(\v2\x1a.c1.connector.v2.FileFieldH\x00R\x04fileB\a\n" + + "\x05field\"e\n" + + "\vStringField\x12\x16\n" + + "\x06secret\x18\x01 \x01(\bR\x06secret\x12>\n" + + "\x0fvalue_validator\x18\x02 \x01(\v2\x15.validate.StringRulesR\x0evalueValidator\"\x87\x01\n" + + "\vSelectField\x127\n" + + "\x05items\x18\x05 \x03(\v2!.c1.connector.v2.SelectField.ItemR\x05items\x1a?\n" + + "\x04Item\x12!\n" + + "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value\"+\n" + + "\x11RandomStringField\x12\x16\n" + + "\x06length\x18\x01 \x01(\x05R\x06length\"\x92\x01\n" + + "\tFileField\x12\x16\n" + + "\x06secret\x18\x01 \x01(\bR\x06secret\x12>\n" + + "\x0fvalue_validator\x18\x02 \x01(\v2\x15.validate.StringRulesR\x0evalueValidator\x12-\n" + + "\x12allowed_extensions\x18\x03 \x03(\tR\x11allowedExtensions2}\n" + + "\rSchemaService\x12l\n" + + "\tGetSchema\x12..c1.connector.v2.SchemaServiceGetSchemaRequest\x1a/.c1.connector.v2.SchemaServiceGetSchemaResponseB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_config_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_c1_connector_v2_config_proto_goTypes = []any{ + (*SchemaServiceGetSchemaRequest)(nil), // 0: c1.connector.v2.SchemaServiceGetSchemaRequest + (*SchemaServiceGetSchemaResponse)(nil), // 1: c1.connector.v2.SchemaServiceGetSchemaResponse + (*ConfigSchema)(nil), // 2: c1.connector.v2.ConfigSchema + (*Field)(nil), // 3: c1.connector.v2.Field + (*StringField)(nil), // 4: c1.connector.v2.StringField + (*SelectField)(nil), // 5: c1.connector.v2.SelectField + (*RandomStringField)(nil), // 6: c1.connector.v2.RandomStringField + (*FileField)(nil), // 7: c1.connector.v2.FileField + (*SelectField_Item)(nil), // 8: c1.connector.v2.SelectField.Item + (*AssetRef)(nil), // 9: c1.connector.v2.AssetRef + (*validate.StringRules)(nil), // 10: validate.StringRules +} +var file_c1_connector_v2_config_proto_depIdxs = []int32{ + 2, // 0: c1.connector.v2.SchemaServiceGetSchemaResponse.schema:type_name -> c1.connector.v2.ConfigSchema + 3, // 1: c1.connector.v2.ConfigSchema.fields:type_name -> c1.connector.v2.Field + 9, // 2: c1.connector.v2.ConfigSchema.icon:type_name -> c1.connector.v2.AssetRef + 9, // 3: c1.connector.v2.ConfigSchema.logo:type_name -> c1.connector.v2.AssetRef + 4, // 4: c1.connector.v2.Field.str:type_name -> c1.connector.v2.StringField + 5, // 5: c1.connector.v2.Field.select:type_name -> c1.connector.v2.SelectField + 6, // 6: c1.connector.v2.Field.random:type_name -> c1.connector.v2.RandomStringField + 7, // 7: c1.connector.v2.Field.file:type_name -> c1.connector.v2.FileField + 10, // 8: c1.connector.v2.StringField.value_validator:type_name -> validate.StringRules + 8, // 9: c1.connector.v2.SelectField.items:type_name -> c1.connector.v2.SelectField.Item + 10, // 10: c1.connector.v2.FileField.value_validator:type_name -> validate.StringRules + 0, // 11: c1.connector.v2.SchemaService.GetSchema:input_type -> c1.connector.v2.SchemaServiceGetSchemaRequest + 1, // 12: c1.connector.v2.SchemaService.GetSchema:output_type -> c1.connector.v2.SchemaServiceGetSchemaResponse + 12, // [12:13] is the sub-list for method output_type + 11, // [11:12] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_c1_connector_v2_config_proto_init() } +func file_c1_connector_v2_config_proto_init() { + if File_c1_connector_v2_config_proto != nil { + return + } + file_c1_connector_v2_asset_proto_init() + file_c1_connector_v2_config_proto_msgTypes[3].OneofWrappers = []any{ + (*field_Str)(nil), + (*field_Select)(nil), + (*field_Random)(nil), + (*field_File)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_connector_v2_config_proto_rawDesc), len(file_c1_connector_v2_config_proto_rawDesc)), + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_c1_connector_v2_config_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_config_proto_depIdxs, + MessageInfos: file_c1_connector_v2_config_proto_msgTypes, + }.Build() + File_c1_connector_v2_config_proto = out.File + file_c1_connector_v2_config_proto_goTypes = nil + file_c1_connector_v2_config_proto_depIdxs = nil +} 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 3027d370..b35f5d10 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 @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/connector.proto +//go:build !protoopaque + package v2 import ( @@ -13,7 +15,6 @@ import ( anypb "google.golang.org/protobuf/types/known/anypb" structpb "google.golang.org/protobuf/types/known/structpb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -98,18 +99,14 @@ func (x Capability) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use Capability.Descriptor instead. -func (Capability) EnumDescriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{0} -} - 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. @@ -119,12 +116,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, } ) @@ -150,14 +149,10 @@ func (x CapabilityDetailCredentialOption) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use CapabilityDetailCredentialOption.Descriptor instead. -func (CapabilityDetailCredentialOption) EnumDescriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{1} -} - type ConnectorServiceCleanupRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` + ActiveSyncId string `protobuf:"bytes,2,opt,name=active_sync_id,json=activeSyncId,proto3" json:"active_sync_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -187,11 +182,6 @@ func (x *ConnectorServiceCleanupRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ConnectorServiceCleanupRequest.ProtoReflect.Descriptor instead. -func (*ConnectorServiceCleanupRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{0} -} - func (x *ConnectorServiceCleanupRequest) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -199,8 +189,39 @@ func (x *ConnectorServiceCleanupRequest) GetAnnotations() []*anypb.Any { return nil } +func (x *ConnectorServiceCleanupRequest) GetActiveSyncId() string { + if x != nil { + return x.ActiveSyncId + } + return "" +} + +func (x *ConnectorServiceCleanupRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *ConnectorServiceCleanupRequest) SetActiveSyncId(v string) { + x.ActiveSyncId = v +} + +type ConnectorServiceCleanupRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any + ActiveSyncId string +} + +func (b0 ConnectorServiceCleanupRequest_builder) Build() *ConnectorServiceCleanupRequest { + m0 := &ConnectorServiceCleanupRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + x.ActiveSyncId = b.ActiveSyncId + return m0 +} + type ConnectorServiceCleanupResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -231,11 +252,6 @@ func (x *ConnectorServiceCleanupResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ConnectorServiceCleanupResponse.ProtoReflect.Descriptor instead. -func (*ConnectorServiceCleanupResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{1} -} - func (x *ConnectorServiceCleanupResponse) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -243,8 +259,26 @@ func (x *ConnectorServiceCleanupResponse) GetAnnotations() []*anypb.Any { return nil } +func (x *ConnectorServiceCleanupResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type ConnectorServiceCleanupResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 ConnectorServiceCleanupResponse_builder) Build() *ConnectorServiceCleanupResponse { + m0 := &ConnectorServiceCleanupResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + return m0 +} + type ConnectorMetadata struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` HelpUrl string `protobuf:"bytes,2,opt,name=help_url,json=helpUrl,proto3" json:"help_url,omitempty"` Icon *AssetRef `protobuf:"bytes,3,opt,name=icon,proto3" json:"icon,omitempty"` @@ -283,11 +317,6 @@ func (x *ConnectorMetadata) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ConnectorMetadata.ProtoReflect.Descriptor instead. -func (*ConnectorMetadata) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{2} -} - func (x *ConnectorMetadata) GetDisplayName() string { if x != nil { return x.DisplayName @@ -351,8 +380,129 @@ func (x *ConnectorMetadata) GetAccountCreationSchema() *ConnectorAccountCreation return nil } +func (x *ConnectorMetadata) SetDisplayName(v string) { + x.DisplayName = v +} + +func (x *ConnectorMetadata) SetHelpUrl(v string) { + x.HelpUrl = v +} + +func (x *ConnectorMetadata) SetIcon(v *AssetRef) { + x.Icon = v +} + +func (x *ConnectorMetadata) SetLogo(v *AssetRef) { + x.Logo = v +} + +func (x *ConnectorMetadata) SetProfile(v *structpb.Struct) { + x.Profile = v +} + +func (x *ConnectorMetadata) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *ConnectorMetadata) SetDescription(v string) { + x.Description = v +} + +func (x *ConnectorMetadata) SetCapabilities(v *ConnectorCapabilities) { + x.Capabilities = v +} + +func (x *ConnectorMetadata) SetAccountCreationSchema(v *ConnectorAccountCreationSchema) { + x.AccountCreationSchema = v +} + +func (x *ConnectorMetadata) HasIcon() bool { + if x == nil { + return false + } + return x.Icon != nil +} + +func (x *ConnectorMetadata) HasLogo() bool { + if x == nil { + return false + } + return x.Logo != nil +} + +func (x *ConnectorMetadata) HasProfile() bool { + if x == nil { + return false + } + return x.Profile != nil +} + +func (x *ConnectorMetadata) HasCapabilities() bool { + if x == nil { + return false + } + return x.Capabilities != nil +} + +func (x *ConnectorMetadata) HasAccountCreationSchema() bool { + if x == nil { + return false + } + return x.AccountCreationSchema != nil +} + +func (x *ConnectorMetadata) ClearIcon() { + x.Icon = nil +} + +func (x *ConnectorMetadata) ClearLogo() { + x.Logo = nil +} + +func (x *ConnectorMetadata) ClearProfile() { + x.Profile = nil +} + +func (x *ConnectorMetadata) ClearCapabilities() { + x.Capabilities = nil +} + +func (x *ConnectorMetadata) ClearAccountCreationSchema() { + x.AccountCreationSchema = nil +} + +type ConnectorMetadata_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DisplayName string + HelpUrl string + Icon *AssetRef + Logo *AssetRef + Profile *structpb.Struct + Annotations []*anypb.Any + Description string + Capabilities *ConnectorCapabilities + AccountCreationSchema *ConnectorAccountCreationSchema +} + +func (b0 ConnectorMetadata_builder) Build() *ConnectorMetadata { + m0 := &ConnectorMetadata{} + b, x := &b0, m0 + _, _ = b, x + x.DisplayName = b.DisplayName + x.HelpUrl = b.HelpUrl + x.Icon = b.Icon + x.Logo = b.Logo + x.Profile = b.Profile + x.Annotations = b.Annotations + x.Description = b.Description + x.Capabilities = b.Capabilities + x.AccountCreationSchema = b.AccountCreationSchema + return m0 +} + type CredentialDetails struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` CapabilityAccountProvisioning *CredentialDetailsAccountProvisioning `protobuf:"bytes,1,opt,name=capability_account_provisioning,json=capabilityAccountProvisioning,proto3" json:"capability_account_provisioning,omitempty"` CapabilityCredentialRotation *CredentialDetailsCredentialRotation `protobuf:"bytes,2,opt,name=capability_credential_rotation,json=capabilityCredentialRotation,proto3" json:"capability_credential_rotation,omitempty"` unknownFields protoimpl.UnknownFields @@ -384,11 +534,6 @@ func (x *CredentialDetails) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CredentialDetails.ProtoReflect.Descriptor instead. -func (*CredentialDetails) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{3} -} - func (x *CredentialDetails) GetCapabilityAccountProvisioning() *CredentialDetailsAccountProvisioning { if x != nil { return x.CapabilityAccountProvisioning @@ -403,8 +548,54 @@ func (x *CredentialDetails) GetCapabilityCredentialRotation() *CredentialDetails return nil } +func (x *CredentialDetails) SetCapabilityAccountProvisioning(v *CredentialDetailsAccountProvisioning) { + x.CapabilityAccountProvisioning = v +} + +func (x *CredentialDetails) SetCapabilityCredentialRotation(v *CredentialDetailsCredentialRotation) { + x.CapabilityCredentialRotation = v +} + +func (x *CredentialDetails) HasCapabilityAccountProvisioning() bool { + if x == nil { + return false + } + return x.CapabilityAccountProvisioning != nil +} + +func (x *CredentialDetails) HasCapabilityCredentialRotation() bool { + if x == nil { + return false + } + return x.CapabilityCredentialRotation != nil +} + +func (x *CredentialDetails) ClearCapabilityAccountProvisioning() { + x.CapabilityAccountProvisioning = nil +} + +func (x *CredentialDetails) ClearCapabilityCredentialRotation() { + x.CapabilityCredentialRotation = nil +} + +type CredentialDetails_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + CapabilityAccountProvisioning *CredentialDetailsAccountProvisioning + CapabilityCredentialRotation *CredentialDetailsCredentialRotation +} + +func (b0 CredentialDetails_builder) Build() *CredentialDetails { + m0 := &CredentialDetails{} + b, x := &b0, m0 + _, _ = b, x + x.CapabilityAccountProvisioning = b.CapabilityAccountProvisioning + x.CapabilityCredentialRotation = b.CapabilityCredentialRotation + return m0 +} + type CredentialDetailsAccountProvisioning struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` SupportedCredentialOptions []CapabilityDetailCredentialOption `protobuf:"varint,1,rep,packed,name=supported_credential_options,json=supportedCredentialOptions,proto3,enum=c1.connector.v2.CapabilityDetailCredentialOption" json:"supported_credential_options,omitempty"` PreferredCredentialOption CapabilityDetailCredentialOption `protobuf:"varint,2,opt,name=preferred_credential_option,json=preferredCredentialOption,proto3,enum=c1.connector.v2.CapabilityDetailCredentialOption" json:"preferred_credential_option,omitempty"` unknownFields protoimpl.UnknownFields @@ -436,11 +627,6 @@ func (x *CredentialDetailsAccountProvisioning) ProtoReflect() protoreflect.Messa return mi.MessageOf(x) } -// Deprecated: Use CredentialDetailsAccountProvisioning.ProtoReflect.Descriptor instead. -func (*CredentialDetailsAccountProvisioning) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{4} -} - func (x *CredentialDetailsAccountProvisioning) GetSupportedCredentialOptions() []CapabilityDetailCredentialOption { if x != nil { return x.SupportedCredentialOptions @@ -455,8 +641,32 @@ func (x *CredentialDetailsAccountProvisioning) GetPreferredCredentialOption() Ca return CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_UNSPECIFIED } +func (x *CredentialDetailsAccountProvisioning) SetSupportedCredentialOptions(v []CapabilityDetailCredentialOption) { + x.SupportedCredentialOptions = v +} + +func (x *CredentialDetailsAccountProvisioning) SetPreferredCredentialOption(v CapabilityDetailCredentialOption) { + x.PreferredCredentialOption = v +} + +type CredentialDetailsAccountProvisioning_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SupportedCredentialOptions []CapabilityDetailCredentialOption + PreferredCredentialOption CapabilityDetailCredentialOption +} + +func (b0 CredentialDetailsAccountProvisioning_builder) Build() *CredentialDetailsAccountProvisioning { + m0 := &CredentialDetailsAccountProvisioning{} + b, x := &b0, m0 + _, _ = b, x + x.SupportedCredentialOptions = b.SupportedCredentialOptions + x.PreferredCredentialOption = b.PreferredCredentialOption + return m0 +} + type CredentialDetailsCredentialRotation struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` SupportedCredentialOptions []CapabilityDetailCredentialOption `protobuf:"varint,1,rep,packed,name=supported_credential_options,json=supportedCredentialOptions,proto3,enum=c1.connector.v2.CapabilityDetailCredentialOption" json:"supported_credential_options,omitempty"` PreferredCredentialOption CapabilityDetailCredentialOption `protobuf:"varint,2,opt,name=preferred_credential_option,json=preferredCredentialOption,proto3,enum=c1.connector.v2.CapabilityDetailCredentialOption" json:"preferred_credential_option,omitempty"` unknownFields protoimpl.UnknownFields @@ -488,11 +698,6 @@ func (x *CredentialDetailsCredentialRotation) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use CredentialDetailsCredentialRotation.ProtoReflect.Descriptor instead. -func (*CredentialDetailsCredentialRotation) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{5} -} - func (x *CredentialDetailsCredentialRotation) GetSupportedCredentialOptions() []CapabilityDetailCredentialOption { if x != nil { return x.SupportedCredentialOptions @@ -507,8 +712,32 @@ func (x *CredentialDetailsCredentialRotation) GetPreferredCredentialOption() Cap return CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_UNSPECIFIED } +func (x *CredentialDetailsCredentialRotation) SetSupportedCredentialOptions(v []CapabilityDetailCredentialOption) { + x.SupportedCredentialOptions = v +} + +func (x *CredentialDetailsCredentialRotation) SetPreferredCredentialOption(v CapabilityDetailCredentialOption) { + x.PreferredCredentialOption = v +} + +type CredentialDetailsCredentialRotation_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SupportedCredentialOptions []CapabilityDetailCredentialOption + PreferredCredentialOption CapabilityDetailCredentialOption +} + +func (b0 CredentialDetailsCredentialRotation_builder) Build() *CredentialDetailsCredentialRotation { + m0 := &CredentialDetailsCredentialRotation{} + b, x := &b0, m0 + _, _ = b, x + x.SupportedCredentialOptions = b.SupportedCredentialOptions + x.PreferredCredentialOption = b.PreferredCredentialOption + return m0 +} + type ConnectorCapabilities struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` ResourceTypeCapabilities []*ResourceTypeCapability `protobuf:"bytes,1,rep,name=resource_type_capabilities,json=resourceTypeCapabilities,proto3" json:"resource_type_capabilities,omitempty"` ConnectorCapabilities []Capability `protobuf:"varint,2,rep,packed,name=connector_capabilities,json=connectorCapabilities,proto3,enum=c1.connector.v2.Capability" json:"connector_capabilities,omitempty"` CredentialDetails *CredentialDetails `protobuf:"bytes,3,opt,name=credential_details,json=credentialDetails,proto3" json:"credential_details,omitempty"` @@ -541,11 +770,6 @@ func (x *ConnectorCapabilities) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ConnectorCapabilities.ProtoReflect.Descriptor instead. -func (*ConnectorCapabilities) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{6} -} - func (x *ConnectorCapabilities) GetResourceTypeCapabilities() []*ResourceTypeCapability { if x != nil { return x.ResourceTypeCapabilities @@ -567,8 +791,49 @@ func (x *ConnectorCapabilities) GetCredentialDetails() *CredentialDetails { return nil } +func (x *ConnectorCapabilities) SetResourceTypeCapabilities(v []*ResourceTypeCapability) { + x.ResourceTypeCapabilities = v +} + +func (x *ConnectorCapabilities) SetConnectorCapabilities(v []Capability) { + x.ConnectorCapabilities = v +} + +func (x *ConnectorCapabilities) SetCredentialDetails(v *CredentialDetails) { + x.CredentialDetails = v +} + +func (x *ConnectorCapabilities) HasCredentialDetails() bool { + if x == nil { + return false + } + return x.CredentialDetails != nil +} + +func (x *ConnectorCapabilities) ClearCredentialDetails() { + x.CredentialDetails = nil +} + +type ConnectorCapabilities_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceTypeCapabilities []*ResourceTypeCapability + ConnectorCapabilities []Capability + CredentialDetails *CredentialDetails +} + +func (b0 ConnectorCapabilities_builder) Build() *ConnectorCapabilities { + m0 := &ConnectorCapabilities{} + b, x := &b0, m0 + _, _ = b, x + x.ResourceTypeCapabilities = b.ResourceTypeCapabilities + x.ConnectorCapabilities = b.ConnectorCapabilities + x.CredentialDetails = b.CredentialDetails + return m0 +} + type ResourceTypeCapability struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` ResourceType *ResourceType `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` Capabilities []Capability `protobuf:"varint,2,rep,packed,name=capabilities,proto3,enum=c1.connector.v2.Capability" json:"capabilities,omitempty"` unknownFields protoimpl.UnknownFields @@ -600,11 +865,6 @@ func (x *ResourceTypeCapability) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ResourceTypeCapability.ProtoReflect.Descriptor instead. -func (*ResourceTypeCapability) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{7} -} - func (x *ResourceTypeCapability) GetResourceType() *ResourceType { if x != nil { return x.ResourceType @@ -619,8 +879,43 @@ func (x *ResourceTypeCapability) GetCapabilities() []Capability { return nil } +func (x *ResourceTypeCapability) SetResourceType(v *ResourceType) { + x.ResourceType = v +} + +func (x *ResourceTypeCapability) SetCapabilities(v []Capability) { + x.Capabilities = v +} + +func (x *ResourceTypeCapability) HasResourceType() bool { + if x == nil { + return false + } + return x.ResourceType != nil +} + +func (x *ResourceTypeCapability) ClearResourceType() { + x.ResourceType = nil +} + +type ResourceTypeCapability_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceType *ResourceType + Capabilities []Capability +} + +func (b0 ResourceTypeCapability_builder) Build() *ResourceTypeCapability { + m0 := &ResourceTypeCapability{} + b, x := &b0, m0 + _, _ = b, x + x.ResourceType = b.ResourceType + x.Capabilities = b.Capabilities + return m0 +} + type ConnectorServiceGetMetadataRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -650,13 +945,20 @@ func (x *ConnectorServiceGetMetadataRequest) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use ConnectorServiceGetMetadataRequest.ProtoReflect.Descriptor instead. -func (*ConnectorServiceGetMetadataRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{8} +type ConnectorServiceGetMetadataRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 ConnectorServiceGetMetadataRequest_builder) Build() *ConnectorServiceGetMetadataRequest { + m0 := &ConnectorServiceGetMetadataRequest{} + b, x := &b0, m0 + _, _ = b, x + return m0 } type ConnectorServiceGetMetadataResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Metadata *ConnectorMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -687,11 +989,6 @@ func (x *ConnectorServiceGetMetadataResponse) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use ConnectorServiceGetMetadataResponse.ProtoReflect.Descriptor instead. -func (*ConnectorServiceGetMetadataResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{9} -} - func (x *ConnectorServiceGetMetadataResponse) GetMetadata() *ConnectorMetadata { if x != nil { return x.Metadata @@ -699,8 +996,37 @@ func (x *ConnectorServiceGetMetadataResponse) GetMetadata() *ConnectorMetadata { return nil } +func (x *ConnectorServiceGetMetadataResponse) SetMetadata(v *ConnectorMetadata) { + x.Metadata = v +} + +func (x *ConnectorServiceGetMetadataResponse) HasMetadata() bool { + if x == nil { + return false + } + return x.Metadata != nil +} + +func (x *ConnectorServiceGetMetadataResponse) ClearMetadata() { + x.Metadata = nil +} + +type ConnectorServiceGetMetadataResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Metadata *ConnectorMetadata +} + +func (b0 ConnectorServiceGetMetadataResponse_builder) Build() *ConnectorServiceGetMetadataResponse { + m0 := &ConnectorServiceGetMetadataResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Metadata = b.Metadata + return m0 +} + type ConnectorServiceValidateRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -730,16 +1056,24 @@ func (x *ConnectorServiceValidateRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ConnectorServiceValidateRequest.ProtoReflect.Descriptor instead. -func (*ConnectorServiceValidateRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{10} +type ConnectorServiceValidateRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 ConnectorServiceValidateRequest_builder) Build() *ConnectorServiceValidateRequest { + m0 := &ConnectorServiceValidateRequest{} + b, x := &b0, m0 + _, _ = b, x + return m0 } // NOTE(morgabra) We're expecting correct grpc.Status responses // for things like 401/403/500, etc type ConnectorServiceValidateResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` + SdkVersion string `protobuf:"bytes,2,opt,name=sdk_version,json=sdkVersion,proto3" json:"sdk_version,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -769,11 +1103,6 @@ func (x *ConnectorServiceValidateResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ConnectorServiceValidateResponse.ProtoReflect.Descriptor instead. -func (*ConnectorServiceValidateResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{11} -} - func (x *ConnectorServiceValidateResponse) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -781,8 +1110,39 @@ func (x *ConnectorServiceValidateResponse) GetAnnotations() []*anypb.Any { return nil } +func (x *ConnectorServiceValidateResponse) GetSdkVersion() string { + if x != nil { + return x.SdkVersion + } + return "" +} + +func (x *ConnectorServiceValidateResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *ConnectorServiceValidateResponse) SetSdkVersion(v string) { + x.SdkVersion = v +} + +type ConnectorServiceValidateResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any + SdkVersion string +} + +func (b0 ConnectorServiceValidateResponse_builder) Build() *ConnectorServiceValidateResponse { + m0 := &ConnectorServiceValidateResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + x.SdkVersion = b.SdkVersion + return m0 +} + type ConnectorAccountCreationSchema struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` FieldMap map[string]*ConnectorAccountCreationSchema_Field `protobuf:"bytes,1,rep,name=field_map,json=fieldMap,proto3" json:"field_map,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -813,11 +1173,6 @@ func (x *ConnectorAccountCreationSchema) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ConnectorAccountCreationSchema.ProtoReflect.Descriptor instead. -func (*ConnectorAccountCreationSchema) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{12} -} - func (x *ConnectorAccountCreationSchema) GetFieldMap() map[string]*ConnectorAccountCreationSchema_Field { if x != nil { return x.FieldMap @@ -825,8 +1180,26 @@ func (x *ConnectorAccountCreationSchema) GetFieldMap() map[string]*ConnectorAcco return nil } +func (x *ConnectorAccountCreationSchema) SetFieldMap(v map[string]*ConnectorAccountCreationSchema_Field) { + x.FieldMap = v +} + +type ConnectorAccountCreationSchema_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + FieldMap map[string]*ConnectorAccountCreationSchema_Field +} + +func (b0 ConnectorAccountCreationSchema_builder) Build() *ConnectorAccountCreationSchema { + m0 := &ConnectorAccountCreationSchema{} + b, x := &b0, m0 + _, _ = b, x + x.FieldMap = b.FieldMap + return m0 +} + type ConnectorAccountCreationSchema_Field struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` Required bool `protobuf:"varint,2,opt,name=required,proto3" json:"required,omitempty"` Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` @@ -870,11 +1243,6 @@ func (x *ConnectorAccountCreationSchema_Field) ProtoReflect() protoreflect.Messa return mi.MessageOf(x) } -// Deprecated: Use ConnectorAccountCreationSchema_Field.ProtoReflect.Descriptor instead. -func (*ConnectorAccountCreationSchema_Field) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{12, 1} -} - func (x *ConnectorAccountCreationSchema_Field) GetDisplayName() string { if x != nil { return x.DisplayName @@ -969,6 +1337,234 @@ func (x *ConnectorAccountCreationSchema_Field) GetMapField() *ConnectorAccountCr return nil } +func (x *ConnectorAccountCreationSchema_Field) SetDisplayName(v string) { + x.DisplayName = v +} + +func (x *ConnectorAccountCreationSchema_Field) SetRequired(v bool) { + x.Required = v +} + +func (x *ConnectorAccountCreationSchema_Field) SetDescription(v string) { + x.Description = v +} + +func (x *ConnectorAccountCreationSchema_Field) SetPlaceholder(v string) { + x.Placeholder = v +} + +func (x *ConnectorAccountCreationSchema_Field) SetOrder(v int32) { + x.Order = v +} + +func (x *ConnectorAccountCreationSchema_Field) SetDeprecated(v bool) { + x.Deprecated = v +} + +func (x *ConnectorAccountCreationSchema_Field) SetStringField(v *ConnectorAccountCreationSchema_StringField) { + if v == nil { + x.Field = nil + return + } + x.Field = &ConnectorAccountCreationSchema_Field_StringField{v} +} + +func (x *ConnectorAccountCreationSchema_Field) SetBoolField(v *ConnectorAccountCreationSchema_BoolField) { + if v == nil { + x.Field = nil + return + } + x.Field = &ConnectorAccountCreationSchema_Field_BoolField{v} +} + +func (x *ConnectorAccountCreationSchema_Field) SetStringListField(v *ConnectorAccountCreationSchema_StringListField) { + if v == nil { + x.Field = nil + return + } + x.Field = &ConnectorAccountCreationSchema_Field_StringListField{v} +} + +func (x *ConnectorAccountCreationSchema_Field) SetIntField(v *ConnectorAccountCreationSchema_IntField) { + if v == nil { + x.Field = nil + return + } + x.Field = &ConnectorAccountCreationSchema_Field_IntField{v} +} + +func (x *ConnectorAccountCreationSchema_Field) SetMapField(v *ConnectorAccountCreationSchema_MapField) { + if v == nil { + x.Field = nil + return + } + x.Field = &ConnectorAccountCreationSchema_Field_MapField{v} +} + +func (x *ConnectorAccountCreationSchema_Field) HasField() bool { + if x == nil { + return false + } + return x.Field != nil +} + +func (x *ConnectorAccountCreationSchema_Field) HasStringField() bool { + if x == nil { + return false + } + _, ok := x.Field.(*ConnectorAccountCreationSchema_Field_StringField) + return ok +} + +func (x *ConnectorAccountCreationSchema_Field) HasBoolField() bool { + if x == nil { + return false + } + _, ok := x.Field.(*ConnectorAccountCreationSchema_Field_BoolField) + return ok +} + +func (x *ConnectorAccountCreationSchema_Field) HasStringListField() bool { + if x == nil { + return false + } + _, ok := x.Field.(*ConnectorAccountCreationSchema_Field_StringListField) + return ok +} + +func (x *ConnectorAccountCreationSchema_Field) HasIntField() bool { + if x == nil { + return false + } + _, ok := x.Field.(*ConnectorAccountCreationSchema_Field_IntField) + return ok +} + +func (x *ConnectorAccountCreationSchema_Field) HasMapField() bool { + if x == nil { + return false + } + _, ok := x.Field.(*ConnectorAccountCreationSchema_Field_MapField) + return ok +} + +func (x *ConnectorAccountCreationSchema_Field) ClearField() { + x.Field = nil +} + +func (x *ConnectorAccountCreationSchema_Field) ClearStringField() { + if _, ok := x.Field.(*ConnectorAccountCreationSchema_Field_StringField); ok { + x.Field = nil + } +} + +func (x *ConnectorAccountCreationSchema_Field) ClearBoolField() { + if _, ok := x.Field.(*ConnectorAccountCreationSchema_Field_BoolField); ok { + x.Field = nil + } +} + +func (x *ConnectorAccountCreationSchema_Field) ClearStringListField() { + if _, ok := x.Field.(*ConnectorAccountCreationSchema_Field_StringListField); ok { + x.Field = nil + } +} + +func (x *ConnectorAccountCreationSchema_Field) ClearIntField() { + if _, ok := x.Field.(*ConnectorAccountCreationSchema_Field_IntField); ok { + x.Field = nil + } +} + +func (x *ConnectorAccountCreationSchema_Field) ClearMapField() { + if _, ok := x.Field.(*ConnectorAccountCreationSchema_Field_MapField); ok { + x.Field = nil + } +} + +const ConnectorAccountCreationSchema_Field_Field_not_set_case case_ConnectorAccountCreationSchema_Field_Field = 0 +const ConnectorAccountCreationSchema_Field_StringField_case case_ConnectorAccountCreationSchema_Field_Field = 100 +const ConnectorAccountCreationSchema_Field_BoolField_case case_ConnectorAccountCreationSchema_Field_Field = 101 +const ConnectorAccountCreationSchema_Field_StringListField_case case_ConnectorAccountCreationSchema_Field_Field = 102 +const ConnectorAccountCreationSchema_Field_IntField_case case_ConnectorAccountCreationSchema_Field_Field = 103 +const ConnectorAccountCreationSchema_Field_MapField_case case_ConnectorAccountCreationSchema_Field_Field = 104 + +func (x *ConnectorAccountCreationSchema_Field) WhichField() case_ConnectorAccountCreationSchema_Field_Field { + if x == nil { + return ConnectorAccountCreationSchema_Field_Field_not_set_case + } + switch x.Field.(type) { + case *ConnectorAccountCreationSchema_Field_StringField: + return ConnectorAccountCreationSchema_Field_StringField_case + case *ConnectorAccountCreationSchema_Field_BoolField: + return ConnectorAccountCreationSchema_Field_BoolField_case + case *ConnectorAccountCreationSchema_Field_StringListField: + return ConnectorAccountCreationSchema_Field_StringListField_case + case *ConnectorAccountCreationSchema_Field_IntField: + return ConnectorAccountCreationSchema_Field_IntField_case + case *ConnectorAccountCreationSchema_Field_MapField: + return ConnectorAccountCreationSchema_Field_MapField_case + default: + return ConnectorAccountCreationSchema_Field_Field_not_set_case + } +} + +type ConnectorAccountCreationSchema_Field_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DisplayName string + Required bool + Description string + Placeholder string + Order int32 + Deprecated bool + // Fields of oneof Field: + StringField *ConnectorAccountCreationSchema_StringField + BoolField *ConnectorAccountCreationSchema_BoolField + StringListField *ConnectorAccountCreationSchema_StringListField + IntField *ConnectorAccountCreationSchema_IntField + MapField *ConnectorAccountCreationSchema_MapField + // -- end of Field +} + +func (b0 ConnectorAccountCreationSchema_Field_builder) Build() *ConnectorAccountCreationSchema_Field { + m0 := &ConnectorAccountCreationSchema_Field{} + b, x := &b0, m0 + _, _ = b, x + x.DisplayName = b.DisplayName + x.Required = b.Required + x.Description = b.Description + x.Placeholder = b.Placeholder + x.Order = b.Order + x.Deprecated = b.Deprecated + if b.StringField != nil { + x.Field = &ConnectorAccountCreationSchema_Field_StringField{b.StringField} + } + if b.BoolField != nil { + x.Field = &ConnectorAccountCreationSchema_Field_BoolField{b.BoolField} + } + if b.StringListField != nil { + x.Field = &ConnectorAccountCreationSchema_Field_StringListField{b.StringListField} + } + if b.IntField != nil { + x.Field = &ConnectorAccountCreationSchema_Field_IntField{b.IntField} + } + if b.MapField != nil { + x.Field = &ConnectorAccountCreationSchema_Field_MapField{b.MapField} + } + return m0 +} + +type case_ConnectorAccountCreationSchema_Field_Field protoreflect.FieldNumber + +func (x case_ConnectorAccountCreationSchema_Field_Field) String() string { + md := file_c1_connector_v2_connector_proto_msgTypes[14].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + type isConnectorAccountCreationSchema_Field_Field interface { isConnectorAccountCreationSchema_Field_Field() } @@ -1009,7 +1605,7 @@ func (*ConnectorAccountCreationSchema_Field_MapField) isConnectorAccountCreation } type ConnectorAccountCreationSchema_StringField struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` DefaultValue *string `protobuf:"bytes,1,opt,name=default_value,json=defaultValue,proto3,oneof" json:"default_value,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1040,11 +1636,6 @@ func (x *ConnectorAccountCreationSchema_StringField) ProtoReflect() protoreflect return mi.MessageOf(x) } -// Deprecated: Use ConnectorAccountCreationSchema_StringField.ProtoReflect.Descriptor instead. -func (*ConnectorAccountCreationSchema_StringField) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{12, 2} -} - func (x *ConnectorAccountCreationSchema_StringField) GetDefaultValue() string { if x != nil && x.DefaultValue != nil { return *x.DefaultValue @@ -1052,8 +1643,37 @@ func (x *ConnectorAccountCreationSchema_StringField) GetDefaultValue() string { return "" } +func (x *ConnectorAccountCreationSchema_StringField) SetDefaultValue(v string) { + x.DefaultValue = &v +} + +func (x *ConnectorAccountCreationSchema_StringField) HasDefaultValue() bool { + if x == nil { + return false + } + return x.DefaultValue != nil +} + +func (x *ConnectorAccountCreationSchema_StringField) ClearDefaultValue() { + x.DefaultValue = nil +} + +type ConnectorAccountCreationSchema_StringField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DefaultValue *string +} + +func (b0 ConnectorAccountCreationSchema_StringField_builder) Build() *ConnectorAccountCreationSchema_StringField { + m0 := &ConnectorAccountCreationSchema_StringField{} + b, x := &b0, m0 + _, _ = b, x + x.DefaultValue = b.DefaultValue + return m0 +} + type ConnectorAccountCreationSchema_BoolField struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` DefaultValue *bool `protobuf:"varint,1,opt,name=default_value,json=defaultValue,proto3,oneof" json:"default_value,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1084,11 +1704,6 @@ func (x *ConnectorAccountCreationSchema_BoolField) ProtoReflect() protoreflect.M return mi.MessageOf(x) } -// Deprecated: Use ConnectorAccountCreationSchema_BoolField.ProtoReflect.Descriptor instead. -func (*ConnectorAccountCreationSchema_BoolField) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{12, 3} -} - func (x *ConnectorAccountCreationSchema_BoolField) GetDefaultValue() bool { if x != nil && x.DefaultValue != nil { return *x.DefaultValue @@ -1096,8 +1711,37 @@ func (x *ConnectorAccountCreationSchema_BoolField) GetDefaultValue() bool { return false } +func (x *ConnectorAccountCreationSchema_BoolField) SetDefaultValue(v bool) { + x.DefaultValue = &v +} + +func (x *ConnectorAccountCreationSchema_BoolField) HasDefaultValue() bool { + if x == nil { + return false + } + return x.DefaultValue != nil +} + +func (x *ConnectorAccountCreationSchema_BoolField) ClearDefaultValue() { + x.DefaultValue = nil +} + +type ConnectorAccountCreationSchema_BoolField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DefaultValue *bool +} + +func (b0 ConnectorAccountCreationSchema_BoolField_builder) Build() *ConnectorAccountCreationSchema_BoolField { + m0 := &ConnectorAccountCreationSchema_BoolField{} + b, x := &b0, m0 + _, _ = b, x + x.DefaultValue = b.DefaultValue + return m0 +} + type ConnectorAccountCreationSchema_StringListField struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` DefaultValue []string `protobuf:"bytes,1,rep,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1128,11 +1772,6 @@ func (x *ConnectorAccountCreationSchema_StringListField) ProtoReflect() protoref return mi.MessageOf(x) } -// Deprecated: Use ConnectorAccountCreationSchema_StringListField.ProtoReflect.Descriptor instead. -func (*ConnectorAccountCreationSchema_StringListField) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{12, 4} -} - func (x *ConnectorAccountCreationSchema_StringListField) GetDefaultValue() []string { if x != nil { return x.DefaultValue @@ -1140,8 +1779,26 @@ func (x *ConnectorAccountCreationSchema_StringListField) GetDefaultValue() []str return nil } +func (x *ConnectorAccountCreationSchema_StringListField) SetDefaultValue(v []string) { + x.DefaultValue = v +} + +type ConnectorAccountCreationSchema_StringListField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DefaultValue []string +} + +func (b0 ConnectorAccountCreationSchema_StringListField_builder) Build() *ConnectorAccountCreationSchema_StringListField { + m0 := &ConnectorAccountCreationSchema_StringListField{} + b, x := &b0, m0 + _, _ = b, x + x.DefaultValue = b.DefaultValue + return m0 +} + type ConnectorAccountCreationSchema_IntField struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` DefaultValue *int32 `protobuf:"varint,1,opt,name=default_value,json=defaultValue,proto3,oneof" json:"default_value,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1172,11 +1829,6 @@ func (x *ConnectorAccountCreationSchema_IntField) ProtoReflect() protoreflect.Me return mi.MessageOf(x) } -// Deprecated: Use ConnectorAccountCreationSchema_IntField.ProtoReflect.Descriptor instead. -func (*ConnectorAccountCreationSchema_IntField) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{12, 5} -} - func (x *ConnectorAccountCreationSchema_IntField) GetDefaultValue() int32 { if x != nil && x.DefaultValue != nil { return *x.DefaultValue @@ -1184,8 +1836,37 @@ func (x *ConnectorAccountCreationSchema_IntField) GetDefaultValue() int32 { return 0 } +func (x *ConnectorAccountCreationSchema_IntField) SetDefaultValue(v int32) { + x.DefaultValue = &v +} + +func (x *ConnectorAccountCreationSchema_IntField) HasDefaultValue() bool { + if x == nil { + return false + } + return x.DefaultValue != nil +} + +func (x *ConnectorAccountCreationSchema_IntField) ClearDefaultValue() { + x.DefaultValue = nil +} + +type ConnectorAccountCreationSchema_IntField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DefaultValue *int32 +} + +func (b0 ConnectorAccountCreationSchema_IntField_builder) Build() *ConnectorAccountCreationSchema_IntField { + m0 := &ConnectorAccountCreationSchema_IntField{} + b, x := &b0, m0 + _, _ = b, x + x.DefaultValue = b.DefaultValue + return m0 +} + type ConnectorAccountCreationSchema_MapField struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` DefaultValue map[string]*ConnectorAccountCreationSchema_Field `protobuf:"bytes,1,rep,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1216,11 +1897,6 @@ func (x *ConnectorAccountCreationSchema_MapField) ProtoReflect() protoreflect.Me return mi.MessageOf(x) } -// Deprecated: Use ConnectorAccountCreationSchema_MapField.ProtoReflect.Descriptor instead. -func (*ConnectorAccountCreationSchema_MapField) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_connector_proto_rawDescGZIP(), []int{12, 6} -} - func (x *ConnectorAccountCreationSchema_MapField) GetDefaultValue() map[string]*ConnectorAccountCreationSchema_Field { if x != nil { return x.DefaultValue @@ -1228,335 +1904,135 @@ func (x *ConnectorAccountCreationSchema_MapField) GetDefaultValue() map[string]* return nil } -var File_c1_connector_v2_connector_proto protoreflect.FileDescriptor +func (x *ConnectorAccountCreationSchema_MapField) SetDefaultValue(v map[string]*ConnectorAccountCreationSchema_Field) { + x.DefaultValue = v +} -var file_c1_connector_v2_connector_proto_rawDesc = string([]byte{ - 0x0a, 0x1f, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, - 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x0f, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, - 0x76, 0x32, 0x1a, 0x1b, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x1e, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, - 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 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, 0x58, 0x0a, 0x1e, 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, 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, 0x59, 0x0a, 0x1f, 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, 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, 0xa8, 0x04, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x0c, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x20, 0x01, 0x28, 0x80, 0x08, 0x52, 0x0b, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x68, - 0x65, 0x6c, 0x70, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xfa, - 0x42, 0x17, 0x72, 0x15, 0x20, 0x01, 0x28, 0x80, 0x08, 0x3a, 0x08, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0xd0, 0x01, 0x01, 0x88, 0x01, 0x01, 0x52, 0x07, 0x68, 0x65, 0x6c, 0x70, 0x55, - 0x72, 0x6c, 0x12, 0x2d, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, - 0x76, 0x32, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x66, 0x52, 0x04, 0x69, 0x63, 0x6f, - 0x6e, 0x12, 0x2d, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, - 0x32, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x66, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, - 0x12, 0x31, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, 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, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x06, 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, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0x28, 0x80, 0x20, 0xd0, 0x01, 0x01, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x0c, - 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 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, 0x43, 0x61, - 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x17, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 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, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x15, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x22, 0x8e, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x7d, 0x0a, 0x1f, 0x63, 0x61, 0x70, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x35, 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, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x1d, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, - 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x7a, 0x0a, 0x1e, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 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, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x8e, 0x02, 0x0a, 0x24, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x73, 0x0a, 0x1c, 0x73, - 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0e, 0x32, 0x31, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x76, 0x32, 0x2e, 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, 0x52, 0x1a, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, - 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x71, 0x0a, 0x1b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 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, 0x52, 0x19, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x72, 0x65, 0x64, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x02, 0x0a, 0x23, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x73, 0x0a, 0x1c, 0x73, - 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0e, 0x32, 0x31, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x76, 0x32, 0x2e, 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, 0x52, 0x1a, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, - 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x71, 0x0a, 0x1b, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 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, 0x52, 0x19, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x72, 0x65, 0x64, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xa5, 0x02, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x65, 0x0a, - 0x1a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x63, - 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x27, 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, - 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x18, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x69, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x52, 0x15, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x61, 0x70, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, - 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, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x11, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x9d, 0x01, 0x0a, 0x16, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x43, 0x61, 0x70, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 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, 0x52, 0x0c, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x63, 0x61, - 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, - 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, - 0x76, 0x32, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x63, - 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x24, 0x0a, 0x22, 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, 0x22, 0x65, 0x0a, 0x23, 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, 0x3e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 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, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x21, 0x0a, 0x1f, 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, 0x22, 0x5a, 0x0a, 0x20, 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, - 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, 0xa5, 0x0b, 0x0a, 0x1e, 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, 0x12, 0x5a, 0x0a, 0x09, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 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, 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, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x70, 0x1a, 0x72, 0x0a, 0x0d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, - 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4b, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 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, 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, 0x1a, 0xa8, 0x05, 0x0a, 0x05, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 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, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, - 0x6c, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1e, 0x0a, - 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x60, 0x0a, - 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x64, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x3b, 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, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, - 0x5a, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x65, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x39, 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, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x48, 0x00, - 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x6d, 0x0a, 0x11, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 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, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, - 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x57, 0x0a, 0x09, 0x69, 0x6e, - 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 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, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x49, - 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x12, 0x57, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x18, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 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, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x48, 0x00, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x49, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x12, 0x28, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, - 0x0a, 0x0e, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x1a, 0x47, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x28, 0x0a, - 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x36, 0x0a, 0x0f, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x0d, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x1a, 0x46, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x28, 0x0a, - 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xf3, 0x01, 0x0a, 0x08, 0x4d, 0x61, - 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x6f, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 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, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4d, - 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x76, 0x0a, 0x11, 0x44, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4b, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 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, 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, - 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, - 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, - 0x54, 0x59, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x41, 0x50, - 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x45, - 0x45, 0x44, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, - 0x54, 0x59, 0x5f, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x23, - 0x0a, 0x1f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x43, 0x43, - 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, - 0x47, 0x10, 0x05, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, - 0x59, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x52, 0x4f, 0x54, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x41, 0x50, 0x41, 0x42, - 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x43, - 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x07, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x41, 0x50, 0x41, 0x42, - 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x44, - 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x08, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x50, 0x41, 0x42, - 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, - 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, 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, 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, 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, -}) +type ConnectorAccountCreationSchema_MapField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. -var ( - file_c1_connector_v2_connector_proto_rawDescOnce sync.Once - file_c1_connector_v2_connector_proto_rawDescData []byte -) + DefaultValue map[string]*ConnectorAccountCreationSchema_Field +} -func file_c1_connector_v2_connector_proto_rawDescGZIP() []byte { - file_c1_connector_v2_connector_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_connector_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_connector_proto_rawDesc), len(file_c1_connector_v2_connector_proto_rawDesc))) - }) - return file_c1_connector_v2_connector_proto_rawDescData +func (b0 ConnectorAccountCreationSchema_MapField_builder) Build() *ConnectorAccountCreationSchema_MapField { + m0 := &ConnectorAccountCreationSchema_MapField{} + b, x := &b0, m0 + _, _ = b, x + x.DefaultValue = b.DefaultValue + return m0 } +var File_c1_connector_v2_connector_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_connector_proto_rawDesc = "" + + "\n" + + "\x1fc1/connector/v2/connector.proto\x12\x0fc1.connector.v2\x1a\x1bc1/connector/v2/asset.proto\x1a\x1ec1/connector/v2/resource.proto\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x17validate/validate.proto\"\x8d\x01\n" + + "\x1eConnectorServiceCleanupRequest\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x123\n" + + "\x0eactive_sync_id\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\factiveSyncId\"Y\n" + + "\x1fConnectorServiceCleanupResponse\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xa8\x04\n" + + "\x11ConnectorMetadata\x12-\n" + + "\fdisplay_name\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\vdisplayName\x125\n" + + "\bhelp_url\x18\x02 \x01(\tB\x1a\xfaB\x17r\x15 \x01(\x80\b:\bhttps://\xd0\x01\x01\x88\x01\x01R\ahelpUrl\x12-\n" + + "\x04icon\x18\x03 \x01(\v2\x19.c1.connector.v2.AssetRefR\x04icon\x12-\n" + + "\x04logo\x18\x04 \x01(\v2\x19.c1.connector.v2.AssetRefR\x04logo\x121\n" + + "\aprofile\x18\x05 \x01(\v2\x17.google.protobuf.StructR\aprofile\x126\n" + + "\vannotations\x18\x06 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12/\n" + + "\vdescription\x18\a \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80 \xd0\x01\x01R\vdescription\x12J\n" + + "\fcapabilities\x18\b \x01(\v2&.c1.connector.v2.ConnectorCapabilitiesR\fcapabilities\x12g\n" + + "\x17account_creation_schema\x18\t \x01(\v2/.c1.connector.v2.ConnectorAccountCreationSchemaR\x15accountCreationSchema\"\x8e\x02\n" + + "\x11CredentialDetails\x12}\n" + + "\x1fcapability_account_provisioning\x18\x01 \x01(\v25.c1.connector.v2.CredentialDetailsAccountProvisioningR\x1dcapabilityAccountProvisioning\x12z\n" + + "\x1ecapability_credential_rotation\x18\x02 \x01(\v24.c1.connector.v2.CredentialDetailsCredentialRotationR\x1ccapabilityCredentialRotation\"\x8e\x02\n" + + "$CredentialDetailsAccountProvisioning\x12s\n" + + "\x1csupported_credential_options\x18\x01 \x03(\x0e21.c1.connector.v2.CapabilityDetailCredentialOptionR\x1asupportedCredentialOptions\x12q\n" + + "\x1bpreferred_credential_option\x18\x02 \x01(\x0e21.c1.connector.v2.CapabilityDetailCredentialOptionR\x19preferredCredentialOption\"\x8d\x02\n" + + "#CredentialDetailsCredentialRotation\x12s\n" + + "\x1csupported_credential_options\x18\x01 \x03(\x0e21.c1.connector.v2.CapabilityDetailCredentialOptionR\x1asupportedCredentialOptions\x12q\n" + + "\x1bpreferred_credential_option\x18\x02 \x01(\x0e21.c1.connector.v2.CapabilityDetailCredentialOptionR\x19preferredCredentialOption\"\xa5\x02\n" + + "\x15ConnectorCapabilities\x12e\n" + + "\x1aresource_type_capabilities\x18\x01 \x03(\v2'.c1.connector.v2.ResourceTypeCapabilityR\x18resourceTypeCapabilities\x12R\n" + + "\x16connector_capabilities\x18\x02 \x03(\x0e2\x1b.c1.connector.v2.CapabilityR\x15connectorCapabilities\x12Q\n" + + "\x12credential_details\x18\x03 \x01(\v2\".c1.connector.v2.CredentialDetailsR\x11credentialDetails\"\x9d\x01\n" + + "\x16ResourceTypeCapability\x12B\n" + + "\rresource_type\x18\x01 \x01(\v2\x1d.c1.connector.v2.ResourceTypeR\fresourceType\x12?\n" + + "\fcapabilities\x18\x02 \x03(\x0e2\x1b.c1.connector.v2.CapabilityR\fcapabilities\"$\n" + + "\"ConnectorServiceGetMetadataRequest\"e\n" + + "#ConnectorServiceGetMetadataResponse\x12>\n" + + "\bmetadata\x18\x01 \x01(\v2\".c1.connector.v2.ConnectorMetadataR\bmetadata\"!\n" + + "\x1fConnectorServiceValidateRequest\"{\n" + + " ConnectorServiceValidateResponse\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12\x1f\n" + + "\vsdk_version\x18\x02 \x01(\tR\n" + + "sdkVersion\"\xa5\v\n" + + "\x1eConnectorAccountCreationSchema\x12Z\n" + + "\tfield_map\x18\x01 \x03(\v2=.c1.connector.v2.ConnectorAccountCreationSchema.FieldMapEntryR\bfieldMap\x1ar\n" + + "\rFieldMapEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12K\n" + + "\x05value\x18\x02 \x01(\v25.c1.connector.v2.ConnectorAccountCreationSchema.FieldR\x05value:\x028\x01\x1a\xa8\x05\n" + + "\x05Field\x12!\n" + + "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\x12\x1a\n" + + "\brequired\x18\x02 \x01(\bR\brequired\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\x12 \n" + + "\vplaceholder\x18\x04 \x01(\tR\vplaceholder\x12\x14\n" + + "\x05order\x18\x05 \x01(\x05R\x05order\x12\x1e\n" + + "\n" + + "deprecated\x18\x06 \x01(\bR\n" + + "deprecated\x12`\n" + + "\fstring_field\x18d \x01(\v2;.c1.connector.v2.ConnectorAccountCreationSchema.StringFieldH\x00R\vstringField\x12Z\n" + + "\n" + + "bool_field\x18e \x01(\v29.c1.connector.v2.ConnectorAccountCreationSchema.BoolFieldH\x00R\tboolField\x12m\n" + + "\x11string_list_field\x18f \x01(\v2?.c1.connector.v2.ConnectorAccountCreationSchema.StringListFieldH\x00R\x0fstringListField\x12W\n" + + "\tint_field\x18g \x01(\v28.c1.connector.v2.ConnectorAccountCreationSchema.IntFieldH\x00R\bintField\x12W\n" + + "\tmap_field\x18h \x01(\v28.c1.connector.v2.ConnectorAccountCreationSchema.MapFieldH\x00R\bmapFieldB\a\n" + + "\x05field\x1aI\n" + + "\vStringField\x12(\n" + + "\rdefault_value\x18\x01 \x01(\tH\x00R\fdefaultValue\x88\x01\x01B\x10\n" + + "\x0e_default_value\x1aG\n" + + "\tBoolField\x12(\n" + + "\rdefault_value\x18\x01 \x01(\bH\x00R\fdefaultValue\x88\x01\x01B\x10\n" + + "\x0e_default_value\x1a6\n" + + "\x0fStringListField\x12#\n" + + "\rdefault_value\x18\x01 \x03(\tR\fdefaultValue\x1aF\n" + + "\bIntField\x12(\n" + + "\rdefault_value\x18\x01 \x01(\x05H\x00R\fdefaultValue\x88\x01\x01B\x10\n" + + "\x0e_default_value\x1a\xf3\x01\n" + + "\bMapField\x12o\n" + + "\rdefault_value\x18\x01 \x03(\v2J.c1.connector.v2.ConnectorAccountCreationSchema.MapField.DefaultValueEntryR\fdefaultValue\x1av\n" + + "\x11DefaultValueEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12K\n" + + "\x05value\x18\x02 \x01(\v25.c1.connector.v2.ConnectorAccountCreationSchema.FieldR\x05value:\x028\x01*\x86\x03\n" + + "\n" + + "Capability\x12\x1a\n" + + "\x16CAPABILITY_UNSPECIFIED\x10\x00\x12\x18\n" + + "\x14CAPABILITY_PROVISION\x10\x01\x12\x13\n" + + "\x0fCAPABILITY_SYNC\x10\x02\x12\x19\n" + + "\x15CAPABILITY_EVENT_FEED\x10\x03\x12\x18\n" + + "\x14CAPABILITY_TICKETING\x10\x04\x12#\n" + + "\x1fCAPABILITY_ACCOUNT_PROVISIONING\x10\x05\x12\"\n" + + "\x1eCAPABILITY_CREDENTIAL_ROTATION\x10\x06\x12\x1e\n" + + "\x1aCAPABILITY_RESOURCE_CREATE\x10\a\x12\x1e\n" + + "\x1aCAPABILITY_RESOURCE_DELETE\x10\b\x12\x1b\n" + + "\x17CAPABILITY_SYNC_SECRETS\x10\t\x12\x16\n" + + "\x12CAPABILITY_ACTIONS\x10\n" + + "\x12\x1c\n" + + "\x18CAPABILITY_TARGETED_SYNC\x10\v\x12\x1c\n" + + "\x18CAPABILITY_EVENT_FEED_V2\x10\f*\xae\x02\n" + + " CapabilityDetailCredentialOption\x123\n" + + "/CAPABILITY_DETAIL_CREDENTIAL_OPTION_UNSPECIFIED\x10\x00\x123\n" + + "/CAPABILITY_DETAIL_CREDENTIAL_OPTION_NO_PASSWORD\x10\x01\x127\n" + + "3CAPABILITY_DETAIL_CREDENTIAL_OPTION_RANDOM_PASSWORD\x10\x02\x12+\n" + + "'CAPABILITY_DETAIL_CREDENTIAL_OPTION_SSO\x10\x03\x12:\n" + + "6CAPABILITY_DETAIL_CREDENTIAL_OPTION_ENCRYPTED_PASSWORD\x10\x042\xeb\x02\n" + + "\x10ConnectorService\x12x\n" + + "\vGetMetadata\x123.c1.connector.v2.ConnectorServiceGetMetadataRequest\x1a4.c1.connector.v2.ConnectorServiceGetMetadataResponse\x12o\n" + + "\bValidate\x120.c1.connector.v2.ConnectorServiceValidateRequest\x1a1.c1.connector.v2.ConnectorServiceValidateResponse\x12l\n" + + "\aCleanup\x12/.c1.connector.v2.ConnectorServiceCleanupRequest\x1a0.c1.connector.v2.ConnectorServiceCleanupResponseB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + var file_c1_connector_v2_connector_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_c1_connector_v2_connector_proto_msgTypes = make([]protoimpl.MessageInfo, 21) var file_c1_connector_v2_connector_proto_goTypes = []any{ diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/connector.pb.validate.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/connector.pb.validate.go index f84beed1..1e7b5301 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/connector.pb.validate.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/connector.pb.validate.go @@ -91,6 +91,21 @@ func (m *ConnectorServiceCleanupRequest) validate(all bool) error { } + if m.GetActiveSyncId() != "" { + + if l := len(m.GetActiveSyncId()); l < 1 || l > 1024 { + err := ConnectorServiceCleanupRequestValidationError{ + field: "ActiveSyncId", + reason: "value length must be between 1 and 1024 bytes, inclusive", + } + if !all { + return err + } + errors = append(errors, err) + } + + } + if len(errors) > 0 { return ConnectorServiceCleanupRequestMultiError(errors) } @@ -1732,6 +1747,8 @@ func (m *ConnectorServiceValidateResponse) validate(all bool) error { } + // no validation rules for SdkVersion + if len(errors) > 0 { return ConnectorServiceValidateResponseMultiError(errors) } diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/connector_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/connector_protoopaque.pb.go new file mode 100644 index 00000000..fe2917be --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/connector_protoopaque.pb.go @@ -0,0 +1,2166 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/connector.proto + +//go:build protoopaque + +package v2 + +import ( + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + structpb "google.golang.org/protobuf/types/known/structpb" + reflect "reflect" + 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) +) + +type Capability int32 + +const ( + Capability_CAPABILITY_UNSPECIFIED Capability = 0 + Capability_CAPABILITY_PROVISION Capability = 1 + Capability_CAPABILITY_SYNC Capability = 2 + Capability_CAPABILITY_EVENT_FEED Capability = 3 + Capability_CAPABILITY_TICKETING Capability = 4 + Capability_CAPABILITY_ACCOUNT_PROVISIONING Capability = 5 + Capability_CAPABILITY_CREDENTIAL_ROTATION Capability = 6 + Capability_CAPABILITY_RESOURCE_CREATE Capability = 7 + Capability_CAPABILITY_RESOURCE_DELETE Capability = 8 + 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. +var ( + Capability_name = map[int32]string{ + 0: "CAPABILITY_UNSPECIFIED", + 1: "CAPABILITY_PROVISION", + 2: "CAPABILITY_SYNC", + 3: "CAPABILITY_EVENT_FEED", + 4: "CAPABILITY_TICKETING", + 5: "CAPABILITY_ACCOUNT_PROVISIONING", + 6: "CAPABILITY_CREDENTIAL_ROTATION", + 7: "CAPABILITY_RESOURCE_CREATE", + 8: "CAPABILITY_RESOURCE_DELETE", + 9: "CAPABILITY_SYNC_SECRETS", + 10: "CAPABILITY_ACTIONS", + 11: "CAPABILITY_TARGETED_SYNC", + 12: "CAPABILITY_EVENT_FEED_V2", + } + Capability_value = map[string]int32{ + "CAPABILITY_UNSPECIFIED": 0, + "CAPABILITY_PROVISION": 1, + "CAPABILITY_SYNC": 2, + "CAPABILITY_EVENT_FEED": 3, + "CAPABILITY_TICKETING": 4, + "CAPABILITY_ACCOUNT_PROVISIONING": 5, + "CAPABILITY_CREDENTIAL_ROTATION": 6, + "CAPABILITY_RESOURCE_CREATE": 7, + "CAPABILITY_RESOURCE_DELETE": 8, + "CAPABILITY_SYNC_SECRETS": 9, + "CAPABILITY_ACTIONS": 10, + "CAPABILITY_TARGETED_SYNC": 11, + "CAPABILITY_EVENT_FEED_V2": 12, + } +) + +func (x Capability) Enum() *Capability { + p := new(Capability) + *p = x + return p +} + +func (x Capability) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Capability) Descriptor() protoreflect.EnumDescriptor { + return file_c1_connector_v2_connector_proto_enumTypes[0].Descriptor() +} + +func (Capability) Type() protoreflect.EnumType { + return &file_c1_connector_v2_connector_proto_enumTypes[0] +} + +func (x Capability) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +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_ENCRYPTED_PASSWORD CapabilityDetailCredentialOption = 4 +) + +// Enum value maps for CapabilityDetailCredentialOption. +var ( + CapabilityDetailCredentialOption_name = map[int32]string{ + 0: "CAPABILITY_DETAIL_CREDENTIAL_OPTION_UNSPECIFIED", + 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_ENCRYPTED_PASSWORD": 4, + } +) + +func (x CapabilityDetailCredentialOption) Enum() *CapabilityDetailCredentialOption { + p := new(CapabilityDetailCredentialOption) + *p = x + return p +} + +func (x CapabilityDetailCredentialOption) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CapabilityDetailCredentialOption) Descriptor() protoreflect.EnumDescriptor { + return file_c1_connector_v2_connector_proto_enumTypes[1].Descriptor() +} + +func (CapabilityDetailCredentialOption) Type() protoreflect.EnumType { + return &file_c1_connector_v2_connector_proto_enumTypes[1] +} + +func (x CapabilityDetailCredentialOption) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type ConnectorServiceCleanupRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + xxx_hidden_ActiveSyncId string `protobuf:"bytes,2,opt,name=active_sync_id,json=activeSyncId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectorServiceCleanupRequest) Reset() { + *x = ConnectorServiceCleanupRequest{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectorServiceCleanupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectorServiceCleanupRequest) ProtoMessage() {} + +func (x *ConnectorServiceCleanupRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_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) +} + +func (x *ConnectorServiceCleanupRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ConnectorServiceCleanupRequest) GetActiveSyncId() string { + if x != nil { + return x.xxx_hidden_ActiveSyncId + } + return "" +} + +func (x *ConnectorServiceCleanupRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *ConnectorServiceCleanupRequest) SetActiveSyncId(v string) { + x.xxx_hidden_ActiveSyncId = v +} + +type ConnectorServiceCleanupRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any + ActiveSyncId string +} + +func (b0 ConnectorServiceCleanupRequest_builder) Build() *ConnectorServiceCleanupRequest { + m0 := &ConnectorServiceCleanupRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_ActiveSyncId = b.ActiveSyncId + return m0 +} + +type ConnectorServiceCleanupResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectorServiceCleanupResponse) Reset() { + *x = ConnectorServiceCleanupResponse{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectorServiceCleanupResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectorServiceCleanupResponse) ProtoMessage() {} + +func (x *ConnectorServiceCleanupResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_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) +} + +func (x *ConnectorServiceCleanupResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ConnectorServiceCleanupResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type ConnectorServiceCleanupResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 ConnectorServiceCleanupResponse_builder) Build() *ConnectorServiceCleanupResponse { + m0 := &ConnectorServiceCleanupResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type ConnectorMetadata struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3"` + xxx_hidden_HelpUrl string `protobuf:"bytes,2,opt,name=help_url,json=helpUrl,proto3"` + xxx_hidden_Icon *AssetRef `protobuf:"bytes,3,opt,name=icon,proto3"` + xxx_hidden_Logo *AssetRef `protobuf:"bytes,4,opt,name=logo,proto3"` + xxx_hidden_Profile *structpb.Struct `protobuf:"bytes,5,opt,name=profile,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,6,rep,name=annotations,proto3"` + xxx_hidden_Description string `protobuf:"bytes,7,opt,name=description,proto3"` + xxx_hidden_Capabilities *ConnectorCapabilities `protobuf:"bytes,8,opt,name=capabilities,proto3"` + xxx_hidden_AccountCreationSchema *ConnectorAccountCreationSchema `protobuf:"bytes,9,opt,name=account_creation_schema,json=accountCreationSchema,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectorMetadata) Reset() { + *x = ConnectorMetadata{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectorMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectorMetadata) ProtoMessage() {} + +func (x *ConnectorMetadata) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_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) +} + +func (x *ConnectorMetadata) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *ConnectorMetadata) GetHelpUrl() string { + if x != nil { + return x.xxx_hidden_HelpUrl + } + return "" +} + +func (x *ConnectorMetadata) GetIcon() *AssetRef { + if x != nil { + return x.xxx_hidden_Icon + } + return nil +} + +func (x *ConnectorMetadata) GetLogo() *AssetRef { + if x != nil { + return x.xxx_hidden_Logo + } + return nil +} + +func (x *ConnectorMetadata) GetProfile() *structpb.Struct { + if x != nil { + return x.xxx_hidden_Profile + } + return nil +} + +func (x *ConnectorMetadata) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ConnectorMetadata) GetDescription() string { + if x != nil { + return x.xxx_hidden_Description + } + return "" +} + +func (x *ConnectorMetadata) GetCapabilities() *ConnectorCapabilities { + if x != nil { + return x.xxx_hidden_Capabilities + } + return nil +} + +func (x *ConnectorMetadata) GetAccountCreationSchema() *ConnectorAccountCreationSchema { + if x != nil { + return x.xxx_hidden_AccountCreationSchema + } + return nil +} + +func (x *ConnectorMetadata) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +func (x *ConnectorMetadata) SetHelpUrl(v string) { + x.xxx_hidden_HelpUrl = v +} + +func (x *ConnectorMetadata) SetIcon(v *AssetRef) { + x.xxx_hidden_Icon = v +} + +func (x *ConnectorMetadata) SetLogo(v *AssetRef) { + x.xxx_hidden_Logo = v +} + +func (x *ConnectorMetadata) SetProfile(v *structpb.Struct) { + x.xxx_hidden_Profile = v +} + +func (x *ConnectorMetadata) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *ConnectorMetadata) SetDescription(v string) { + x.xxx_hidden_Description = v +} + +func (x *ConnectorMetadata) SetCapabilities(v *ConnectorCapabilities) { + x.xxx_hidden_Capabilities = v +} + +func (x *ConnectorMetadata) SetAccountCreationSchema(v *ConnectorAccountCreationSchema) { + x.xxx_hidden_AccountCreationSchema = v +} + +func (x *ConnectorMetadata) HasIcon() bool { + if x == nil { + return false + } + return x.xxx_hidden_Icon != nil +} + +func (x *ConnectorMetadata) HasLogo() bool { + if x == nil { + return false + } + return x.xxx_hidden_Logo != nil +} + +func (x *ConnectorMetadata) HasProfile() bool { + if x == nil { + return false + } + return x.xxx_hidden_Profile != nil +} + +func (x *ConnectorMetadata) HasCapabilities() bool { + if x == nil { + return false + } + return x.xxx_hidden_Capabilities != nil +} + +func (x *ConnectorMetadata) HasAccountCreationSchema() bool { + if x == nil { + return false + } + return x.xxx_hidden_AccountCreationSchema != nil +} + +func (x *ConnectorMetadata) ClearIcon() { + x.xxx_hidden_Icon = nil +} + +func (x *ConnectorMetadata) ClearLogo() { + x.xxx_hidden_Logo = nil +} + +func (x *ConnectorMetadata) ClearProfile() { + x.xxx_hidden_Profile = nil +} + +func (x *ConnectorMetadata) ClearCapabilities() { + x.xxx_hidden_Capabilities = nil +} + +func (x *ConnectorMetadata) ClearAccountCreationSchema() { + x.xxx_hidden_AccountCreationSchema = nil +} + +type ConnectorMetadata_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DisplayName string + HelpUrl string + Icon *AssetRef + Logo *AssetRef + Profile *structpb.Struct + Annotations []*anypb.Any + Description string + Capabilities *ConnectorCapabilities + AccountCreationSchema *ConnectorAccountCreationSchema +} + +func (b0 ConnectorMetadata_builder) Build() *ConnectorMetadata { + m0 := &ConnectorMetadata{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_DisplayName = b.DisplayName + x.xxx_hidden_HelpUrl = b.HelpUrl + x.xxx_hidden_Icon = b.Icon + x.xxx_hidden_Logo = b.Logo + x.xxx_hidden_Profile = b.Profile + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_Description = b.Description + x.xxx_hidden_Capabilities = b.Capabilities + x.xxx_hidden_AccountCreationSchema = b.AccountCreationSchema + return m0 +} + +type CredentialDetails struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_CapabilityAccountProvisioning *CredentialDetailsAccountProvisioning `protobuf:"bytes,1,opt,name=capability_account_provisioning,json=capabilityAccountProvisioning,proto3"` + xxx_hidden_CapabilityCredentialRotation *CredentialDetailsCredentialRotation `protobuf:"bytes,2,opt,name=capability_credential_rotation,json=capabilityCredentialRotation,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CredentialDetails) Reset() { + *x = CredentialDetails{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CredentialDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CredentialDetails) ProtoMessage() {} + +func (x *CredentialDetails) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_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) +} + +func (x *CredentialDetails) GetCapabilityAccountProvisioning() *CredentialDetailsAccountProvisioning { + if x != nil { + return x.xxx_hidden_CapabilityAccountProvisioning + } + return nil +} + +func (x *CredentialDetails) GetCapabilityCredentialRotation() *CredentialDetailsCredentialRotation { + if x != nil { + return x.xxx_hidden_CapabilityCredentialRotation + } + return nil +} + +func (x *CredentialDetails) SetCapabilityAccountProvisioning(v *CredentialDetailsAccountProvisioning) { + x.xxx_hidden_CapabilityAccountProvisioning = v +} + +func (x *CredentialDetails) SetCapabilityCredentialRotation(v *CredentialDetailsCredentialRotation) { + x.xxx_hidden_CapabilityCredentialRotation = v +} + +func (x *CredentialDetails) HasCapabilityAccountProvisioning() bool { + if x == nil { + return false + } + return x.xxx_hidden_CapabilityAccountProvisioning != nil +} + +func (x *CredentialDetails) HasCapabilityCredentialRotation() bool { + if x == nil { + return false + } + return x.xxx_hidden_CapabilityCredentialRotation != nil +} + +func (x *CredentialDetails) ClearCapabilityAccountProvisioning() { + x.xxx_hidden_CapabilityAccountProvisioning = nil +} + +func (x *CredentialDetails) ClearCapabilityCredentialRotation() { + x.xxx_hidden_CapabilityCredentialRotation = nil +} + +type CredentialDetails_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + CapabilityAccountProvisioning *CredentialDetailsAccountProvisioning + CapabilityCredentialRotation *CredentialDetailsCredentialRotation +} + +func (b0 CredentialDetails_builder) Build() *CredentialDetails { + m0 := &CredentialDetails{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_CapabilityAccountProvisioning = b.CapabilityAccountProvisioning + x.xxx_hidden_CapabilityCredentialRotation = b.CapabilityCredentialRotation + return m0 +} + +type CredentialDetailsAccountProvisioning struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_SupportedCredentialOptions []CapabilityDetailCredentialOption `protobuf:"varint,1,rep,packed,name=supported_credential_options,json=supportedCredentialOptions,proto3,enum=c1.connector.v2.CapabilityDetailCredentialOption"` + xxx_hidden_PreferredCredentialOption CapabilityDetailCredentialOption `protobuf:"varint,2,opt,name=preferred_credential_option,json=preferredCredentialOption,proto3,enum=c1.connector.v2.CapabilityDetailCredentialOption"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CredentialDetailsAccountProvisioning) Reset() { + *x = CredentialDetailsAccountProvisioning{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CredentialDetailsAccountProvisioning) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CredentialDetailsAccountProvisioning) ProtoMessage() {} + +func (x *CredentialDetailsAccountProvisioning) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *CredentialDetailsAccountProvisioning) GetSupportedCredentialOptions() []CapabilityDetailCredentialOption { + if x != nil { + return x.xxx_hidden_SupportedCredentialOptions + } + return nil +} + +func (x *CredentialDetailsAccountProvisioning) GetPreferredCredentialOption() CapabilityDetailCredentialOption { + if x != nil { + return x.xxx_hidden_PreferredCredentialOption + } + return CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_UNSPECIFIED +} + +func (x *CredentialDetailsAccountProvisioning) SetSupportedCredentialOptions(v []CapabilityDetailCredentialOption) { + x.xxx_hidden_SupportedCredentialOptions = v +} + +func (x *CredentialDetailsAccountProvisioning) SetPreferredCredentialOption(v CapabilityDetailCredentialOption) { + x.xxx_hidden_PreferredCredentialOption = v +} + +type CredentialDetailsAccountProvisioning_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SupportedCredentialOptions []CapabilityDetailCredentialOption + PreferredCredentialOption CapabilityDetailCredentialOption +} + +func (b0 CredentialDetailsAccountProvisioning_builder) Build() *CredentialDetailsAccountProvisioning { + m0 := &CredentialDetailsAccountProvisioning{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_SupportedCredentialOptions = b.SupportedCredentialOptions + x.xxx_hidden_PreferredCredentialOption = b.PreferredCredentialOption + return m0 +} + +type CredentialDetailsCredentialRotation struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_SupportedCredentialOptions []CapabilityDetailCredentialOption `protobuf:"varint,1,rep,packed,name=supported_credential_options,json=supportedCredentialOptions,proto3,enum=c1.connector.v2.CapabilityDetailCredentialOption"` + xxx_hidden_PreferredCredentialOption CapabilityDetailCredentialOption `protobuf:"varint,2,opt,name=preferred_credential_option,json=preferredCredentialOption,proto3,enum=c1.connector.v2.CapabilityDetailCredentialOption"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CredentialDetailsCredentialRotation) Reset() { + *x = CredentialDetailsCredentialRotation{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CredentialDetailsCredentialRotation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CredentialDetailsCredentialRotation) ProtoMessage() {} + +func (x *CredentialDetailsCredentialRotation) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *CredentialDetailsCredentialRotation) GetSupportedCredentialOptions() []CapabilityDetailCredentialOption { + if x != nil { + return x.xxx_hidden_SupportedCredentialOptions + } + return nil +} + +func (x *CredentialDetailsCredentialRotation) GetPreferredCredentialOption() CapabilityDetailCredentialOption { + if x != nil { + return x.xxx_hidden_PreferredCredentialOption + } + return CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_UNSPECIFIED +} + +func (x *CredentialDetailsCredentialRotation) SetSupportedCredentialOptions(v []CapabilityDetailCredentialOption) { + x.xxx_hidden_SupportedCredentialOptions = v +} + +func (x *CredentialDetailsCredentialRotation) SetPreferredCredentialOption(v CapabilityDetailCredentialOption) { + x.xxx_hidden_PreferredCredentialOption = v +} + +type CredentialDetailsCredentialRotation_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SupportedCredentialOptions []CapabilityDetailCredentialOption + PreferredCredentialOption CapabilityDetailCredentialOption +} + +func (b0 CredentialDetailsCredentialRotation_builder) Build() *CredentialDetailsCredentialRotation { + m0 := &CredentialDetailsCredentialRotation{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_SupportedCredentialOptions = b.SupportedCredentialOptions + x.xxx_hidden_PreferredCredentialOption = b.PreferredCredentialOption + return m0 +} + +type ConnectorCapabilities struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ResourceTypeCapabilities *[]*ResourceTypeCapability `protobuf:"bytes,1,rep,name=resource_type_capabilities,json=resourceTypeCapabilities,proto3"` + xxx_hidden_ConnectorCapabilities []Capability `protobuf:"varint,2,rep,packed,name=connector_capabilities,json=connectorCapabilities,proto3,enum=c1.connector.v2.Capability"` + xxx_hidden_CredentialDetails *CredentialDetails `protobuf:"bytes,3,opt,name=credential_details,json=credentialDetails,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectorCapabilities) Reset() { + *x = ConnectorCapabilities{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectorCapabilities) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectorCapabilities) ProtoMessage() {} + +func (x *ConnectorCapabilities) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ConnectorCapabilities) GetResourceTypeCapabilities() []*ResourceTypeCapability { + if x != nil { + if x.xxx_hidden_ResourceTypeCapabilities != nil { + return *x.xxx_hidden_ResourceTypeCapabilities + } + } + return nil +} + +func (x *ConnectorCapabilities) GetConnectorCapabilities() []Capability { + if x != nil { + return x.xxx_hidden_ConnectorCapabilities + } + return nil +} + +func (x *ConnectorCapabilities) GetCredentialDetails() *CredentialDetails { + if x != nil { + return x.xxx_hidden_CredentialDetails + } + return nil +} + +func (x *ConnectorCapabilities) SetResourceTypeCapabilities(v []*ResourceTypeCapability) { + x.xxx_hidden_ResourceTypeCapabilities = &v +} + +func (x *ConnectorCapabilities) SetConnectorCapabilities(v []Capability) { + x.xxx_hidden_ConnectorCapabilities = v +} + +func (x *ConnectorCapabilities) SetCredentialDetails(v *CredentialDetails) { + x.xxx_hidden_CredentialDetails = v +} + +func (x *ConnectorCapabilities) HasCredentialDetails() bool { + if x == nil { + return false + } + return x.xxx_hidden_CredentialDetails != nil +} + +func (x *ConnectorCapabilities) ClearCredentialDetails() { + x.xxx_hidden_CredentialDetails = nil +} + +type ConnectorCapabilities_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceTypeCapabilities []*ResourceTypeCapability + ConnectorCapabilities []Capability + CredentialDetails *CredentialDetails +} + +func (b0 ConnectorCapabilities_builder) Build() *ConnectorCapabilities { + m0 := &ConnectorCapabilities{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ResourceTypeCapabilities = &b.ResourceTypeCapabilities + x.xxx_hidden_ConnectorCapabilities = b.ConnectorCapabilities + x.xxx_hidden_CredentialDetails = b.CredentialDetails + return m0 +} + +type ResourceTypeCapability struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ResourceType *ResourceType `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3"` + xxx_hidden_Capabilities []Capability `protobuf:"varint,2,rep,packed,name=capabilities,proto3,enum=c1.connector.v2.Capability"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceTypeCapability) Reset() { + *x = ResourceTypeCapability{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceTypeCapability) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceTypeCapability) ProtoMessage() {} + +func (x *ResourceTypeCapability) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_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) +} + +func (x *ResourceTypeCapability) GetResourceType() *ResourceType { + if x != nil { + return x.xxx_hidden_ResourceType + } + return nil +} + +func (x *ResourceTypeCapability) GetCapabilities() []Capability { + if x != nil { + return x.xxx_hidden_Capabilities + } + return nil +} + +func (x *ResourceTypeCapability) SetResourceType(v *ResourceType) { + x.xxx_hidden_ResourceType = v +} + +func (x *ResourceTypeCapability) SetCapabilities(v []Capability) { + x.xxx_hidden_Capabilities = v +} + +func (x *ResourceTypeCapability) HasResourceType() bool { + if x == nil { + return false + } + return x.xxx_hidden_ResourceType != nil +} + +func (x *ResourceTypeCapability) ClearResourceType() { + x.xxx_hidden_ResourceType = nil +} + +type ResourceTypeCapability_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceType *ResourceType + Capabilities []Capability +} + +func (b0 ResourceTypeCapability_builder) Build() *ResourceTypeCapability { + m0 := &ResourceTypeCapability{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ResourceType = b.ResourceType + x.xxx_hidden_Capabilities = b.Capabilities + return m0 +} + +type ConnectorServiceGetMetadataRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectorServiceGetMetadataRequest) Reset() { + *x = ConnectorServiceGetMetadataRequest{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectorServiceGetMetadataRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectorServiceGetMetadataRequest) ProtoMessage() {} + +func (x *ConnectorServiceGetMetadataRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_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) +} + +type ConnectorServiceGetMetadataRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 ConnectorServiceGetMetadataRequest_builder) Build() *ConnectorServiceGetMetadataRequest { + m0 := &ConnectorServiceGetMetadataRequest{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +type ConnectorServiceGetMetadataResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Metadata *ConnectorMetadata `protobuf:"bytes,1,opt,name=metadata,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectorServiceGetMetadataResponse) Reset() { + *x = ConnectorServiceGetMetadataResponse{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectorServiceGetMetadataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectorServiceGetMetadataResponse) ProtoMessage() {} + +func (x *ConnectorServiceGetMetadataResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ConnectorServiceGetMetadataResponse) GetMetadata() *ConnectorMetadata { + if x != nil { + return x.xxx_hidden_Metadata + } + return nil +} + +func (x *ConnectorServiceGetMetadataResponse) SetMetadata(v *ConnectorMetadata) { + x.xxx_hidden_Metadata = v +} + +func (x *ConnectorServiceGetMetadataResponse) HasMetadata() bool { + if x == nil { + return false + } + return x.xxx_hidden_Metadata != nil +} + +func (x *ConnectorServiceGetMetadataResponse) ClearMetadata() { + x.xxx_hidden_Metadata = nil +} + +type ConnectorServiceGetMetadataResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Metadata *ConnectorMetadata +} + +func (b0 ConnectorServiceGetMetadataResponse_builder) Build() *ConnectorServiceGetMetadataResponse { + m0 := &ConnectorServiceGetMetadataResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Metadata = b.Metadata + return m0 +} + +type ConnectorServiceValidateRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectorServiceValidateRequest) Reset() { + *x = ConnectorServiceValidateRequest{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectorServiceValidateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectorServiceValidateRequest) ProtoMessage() {} + +func (x *ConnectorServiceValidateRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +type ConnectorServiceValidateRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 ConnectorServiceValidateRequest_builder) Build() *ConnectorServiceValidateRequest { + m0 := &ConnectorServiceValidateRequest{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +// NOTE(morgabra) We're expecting correct grpc.Status responses +// for things like 401/403/500, etc +type ConnectorServiceValidateResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + xxx_hidden_SdkVersion string `protobuf:"bytes,2,opt,name=sdk_version,json=sdkVersion,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectorServiceValidateResponse) Reset() { + *x = ConnectorServiceValidateResponse{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectorServiceValidateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectorServiceValidateResponse) ProtoMessage() {} + +func (x *ConnectorServiceValidateResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_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) +} + +func (x *ConnectorServiceValidateResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ConnectorServiceValidateResponse) GetSdkVersion() string { + if x != nil { + return x.xxx_hidden_SdkVersion + } + return "" +} + +func (x *ConnectorServiceValidateResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *ConnectorServiceValidateResponse) SetSdkVersion(v string) { + x.xxx_hidden_SdkVersion = v +} + +type ConnectorServiceValidateResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any + SdkVersion string +} + +func (b0 ConnectorServiceValidateResponse_builder) Build() *ConnectorServiceValidateResponse { + m0 := &ConnectorServiceValidateResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_SdkVersion = b.SdkVersion + return m0 +} + +type ConnectorAccountCreationSchema struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_FieldMap map[string]*ConnectorAccountCreationSchema_Field `protobuf:"bytes,1,rep,name=field_map,json=fieldMap,proto3" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectorAccountCreationSchema) Reset() { + *x = ConnectorAccountCreationSchema{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectorAccountCreationSchema) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectorAccountCreationSchema) ProtoMessage() {} + +func (x *ConnectorAccountCreationSchema) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ConnectorAccountCreationSchema) GetFieldMap() map[string]*ConnectorAccountCreationSchema_Field { + if x != nil { + return x.xxx_hidden_FieldMap + } + return nil +} + +func (x *ConnectorAccountCreationSchema) SetFieldMap(v map[string]*ConnectorAccountCreationSchema_Field) { + x.xxx_hidden_FieldMap = v +} + +type ConnectorAccountCreationSchema_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + FieldMap map[string]*ConnectorAccountCreationSchema_Field +} + +func (b0 ConnectorAccountCreationSchema_builder) Build() *ConnectorAccountCreationSchema { + m0 := &ConnectorAccountCreationSchema{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_FieldMap = b.FieldMap + return m0 +} + +type ConnectorAccountCreationSchema_Field struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3"` + xxx_hidden_Required bool `protobuf:"varint,2,opt,name=required,proto3"` + xxx_hidden_Description string `protobuf:"bytes,3,opt,name=description,proto3"` + xxx_hidden_Placeholder string `protobuf:"bytes,4,opt,name=placeholder,proto3"` + xxx_hidden_Order int32 `protobuf:"varint,5,opt,name=order,proto3"` + xxx_hidden_Deprecated bool `protobuf:"varint,6,opt,name=deprecated,proto3"` + xxx_hidden_Field isConnectorAccountCreationSchema_Field_Field `protobuf_oneof:"field"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectorAccountCreationSchema_Field) Reset() { + *x = ConnectorAccountCreationSchema_Field{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectorAccountCreationSchema_Field) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectorAccountCreationSchema_Field) ProtoMessage() {} + +func (x *ConnectorAccountCreationSchema_Field) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_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) +} + +func (x *ConnectorAccountCreationSchema_Field) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *ConnectorAccountCreationSchema_Field) GetRequired() bool { + if x != nil { + return x.xxx_hidden_Required + } + return false +} + +func (x *ConnectorAccountCreationSchema_Field) GetDescription() string { + if x != nil { + return x.xxx_hidden_Description + } + return "" +} + +func (x *ConnectorAccountCreationSchema_Field) GetPlaceholder() string { + if x != nil { + return x.xxx_hidden_Placeholder + } + return "" +} + +func (x *ConnectorAccountCreationSchema_Field) GetOrder() int32 { + if x != nil { + return x.xxx_hidden_Order + } + return 0 +} + +func (x *ConnectorAccountCreationSchema_Field) GetDeprecated() bool { + if x != nil { + return x.xxx_hidden_Deprecated + } + return false +} + +func (x *ConnectorAccountCreationSchema_Field) GetStringField() *ConnectorAccountCreationSchema_StringField { + if x != nil { + if x, ok := x.xxx_hidden_Field.(*connectorAccountCreationSchema_Field_StringField); ok { + return x.StringField + } + } + return nil +} + +func (x *ConnectorAccountCreationSchema_Field) GetBoolField() *ConnectorAccountCreationSchema_BoolField { + if x != nil { + if x, ok := x.xxx_hidden_Field.(*connectorAccountCreationSchema_Field_BoolField); ok { + return x.BoolField + } + } + return nil +} + +func (x *ConnectorAccountCreationSchema_Field) GetStringListField() *ConnectorAccountCreationSchema_StringListField { + if x != nil { + if x, ok := x.xxx_hidden_Field.(*connectorAccountCreationSchema_Field_StringListField); ok { + return x.StringListField + } + } + return nil +} + +func (x *ConnectorAccountCreationSchema_Field) GetIntField() *ConnectorAccountCreationSchema_IntField { + if x != nil { + if x, ok := x.xxx_hidden_Field.(*connectorAccountCreationSchema_Field_IntField); ok { + return x.IntField + } + } + return nil +} + +func (x *ConnectorAccountCreationSchema_Field) GetMapField() *ConnectorAccountCreationSchema_MapField { + if x != nil { + if x, ok := x.xxx_hidden_Field.(*connectorAccountCreationSchema_Field_MapField); ok { + return x.MapField + } + } + return nil +} + +func (x *ConnectorAccountCreationSchema_Field) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +func (x *ConnectorAccountCreationSchema_Field) SetRequired(v bool) { + x.xxx_hidden_Required = v +} + +func (x *ConnectorAccountCreationSchema_Field) SetDescription(v string) { + x.xxx_hidden_Description = v +} + +func (x *ConnectorAccountCreationSchema_Field) SetPlaceholder(v string) { + x.xxx_hidden_Placeholder = v +} + +func (x *ConnectorAccountCreationSchema_Field) SetOrder(v int32) { + x.xxx_hidden_Order = v +} + +func (x *ConnectorAccountCreationSchema_Field) SetDeprecated(v bool) { + x.xxx_hidden_Deprecated = v +} + +func (x *ConnectorAccountCreationSchema_Field) SetStringField(v *ConnectorAccountCreationSchema_StringField) { + if v == nil { + x.xxx_hidden_Field = nil + return + } + x.xxx_hidden_Field = &connectorAccountCreationSchema_Field_StringField{v} +} + +func (x *ConnectorAccountCreationSchema_Field) SetBoolField(v *ConnectorAccountCreationSchema_BoolField) { + if v == nil { + x.xxx_hidden_Field = nil + return + } + x.xxx_hidden_Field = &connectorAccountCreationSchema_Field_BoolField{v} +} + +func (x *ConnectorAccountCreationSchema_Field) SetStringListField(v *ConnectorAccountCreationSchema_StringListField) { + if v == nil { + x.xxx_hidden_Field = nil + return + } + x.xxx_hidden_Field = &connectorAccountCreationSchema_Field_StringListField{v} +} + +func (x *ConnectorAccountCreationSchema_Field) SetIntField(v *ConnectorAccountCreationSchema_IntField) { + if v == nil { + x.xxx_hidden_Field = nil + return + } + x.xxx_hidden_Field = &connectorAccountCreationSchema_Field_IntField{v} +} + +func (x *ConnectorAccountCreationSchema_Field) SetMapField(v *ConnectorAccountCreationSchema_MapField) { + if v == nil { + x.xxx_hidden_Field = nil + return + } + x.xxx_hidden_Field = &connectorAccountCreationSchema_Field_MapField{v} +} + +func (x *ConnectorAccountCreationSchema_Field) HasField() bool { + if x == nil { + return false + } + return x.xxx_hidden_Field != nil +} + +func (x *ConnectorAccountCreationSchema_Field) HasStringField() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Field.(*connectorAccountCreationSchema_Field_StringField) + return ok +} + +func (x *ConnectorAccountCreationSchema_Field) HasBoolField() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Field.(*connectorAccountCreationSchema_Field_BoolField) + return ok +} + +func (x *ConnectorAccountCreationSchema_Field) HasStringListField() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Field.(*connectorAccountCreationSchema_Field_StringListField) + return ok +} + +func (x *ConnectorAccountCreationSchema_Field) HasIntField() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Field.(*connectorAccountCreationSchema_Field_IntField) + return ok +} + +func (x *ConnectorAccountCreationSchema_Field) HasMapField() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Field.(*connectorAccountCreationSchema_Field_MapField) + return ok +} + +func (x *ConnectorAccountCreationSchema_Field) ClearField() { + x.xxx_hidden_Field = nil +} + +func (x *ConnectorAccountCreationSchema_Field) ClearStringField() { + if _, ok := x.xxx_hidden_Field.(*connectorAccountCreationSchema_Field_StringField); ok { + x.xxx_hidden_Field = nil + } +} + +func (x *ConnectorAccountCreationSchema_Field) ClearBoolField() { + if _, ok := x.xxx_hidden_Field.(*connectorAccountCreationSchema_Field_BoolField); ok { + x.xxx_hidden_Field = nil + } +} + +func (x *ConnectorAccountCreationSchema_Field) ClearStringListField() { + if _, ok := x.xxx_hidden_Field.(*connectorAccountCreationSchema_Field_StringListField); ok { + x.xxx_hidden_Field = nil + } +} + +func (x *ConnectorAccountCreationSchema_Field) ClearIntField() { + if _, ok := x.xxx_hidden_Field.(*connectorAccountCreationSchema_Field_IntField); ok { + x.xxx_hidden_Field = nil + } +} + +func (x *ConnectorAccountCreationSchema_Field) ClearMapField() { + if _, ok := x.xxx_hidden_Field.(*connectorAccountCreationSchema_Field_MapField); ok { + x.xxx_hidden_Field = nil + } +} + +const ConnectorAccountCreationSchema_Field_Field_not_set_case case_ConnectorAccountCreationSchema_Field_Field = 0 +const ConnectorAccountCreationSchema_Field_StringField_case case_ConnectorAccountCreationSchema_Field_Field = 100 +const ConnectorAccountCreationSchema_Field_BoolField_case case_ConnectorAccountCreationSchema_Field_Field = 101 +const ConnectorAccountCreationSchema_Field_StringListField_case case_ConnectorAccountCreationSchema_Field_Field = 102 +const ConnectorAccountCreationSchema_Field_IntField_case case_ConnectorAccountCreationSchema_Field_Field = 103 +const ConnectorAccountCreationSchema_Field_MapField_case case_ConnectorAccountCreationSchema_Field_Field = 104 + +func (x *ConnectorAccountCreationSchema_Field) WhichField() case_ConnectorAccountCreationSchema_Field_Field { + if x == nil { + return ConnectorAccountCreationSchema_Field_Field_not_set_case + } + switch x.xxx_hidden_Field.(type) { + case *connectorAccountCreationSchema_Field_StringField: + return ConnectorAccountCreationSchema_Field_StringField_case + case *connectorAccountCreationSchema_Field_BoolField: + return ConnectorAccountCreationSchema_Field_BoolField_case + case *connectorAccountCreationSchema_Field_StringListField: + return ConnectorAccountCreationSchema_Field_StringListField_case + case *connectorAccountCreationSchema_Field_IntField: + return ConnectorAccountCreationSchema_Field_IntField_case + case *connectorAccountCreationSchema_Field_MapField: + return ConnectorAccountCreationSchema_Field_MapField_case + default: + return ConnectorAccountCreationSchema_Field_Field_not_set_case + } +} + +type ConnectorAccountCreationSchema_Field_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DisplayName string + Required bool + Description string + Placeholder string + Order int32 + Deprecated bool + // Fields of oneof xxx_hidden_Field: + StringField *ConnectorAccountCreationSchema_StringField + BoolField *ConnectorAccountCreationSchema_BoolField + StringListField *ConnectorAccountCreationSchema_StringListField + IntField *ConnectorAccountCreationSchema_IntField + MapField *ConnectorAccountCreationSchema_MapField + // -- end of xxx_hidden_Field +} + +func (b0 ConnectorAccountCreationSchema_Field_builder) Build() *ConnectorAccountCreationSchema_Field { + m0 := &ConnectorAccountCreationSchema_Field{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_DisplayName = b.DisplayName + x.xxx_hidden_Required = b.Required + x.xxx_hidden_Description = b.Description + x.xxx_hidden_Placeholder = b.Placeholder + x.xxx_hidden_Order = b.Order + x.xxx_hidden_Deprecated = b.Deprecated + if b.StringField != nil { + x.xxx_hidden_Field = &connectorAccountCreationSchema_Field_StringField{b.StringField} + } + if b.BoolField != nil { + x.xxx_hidden_Field = &connectorAccountCreationSchema_Field_BoolField{b.BoolField} + } + if b.StringListField != nil { + x.xxx_hidden_Field = &connectorAccountCreationSchema_Field_StringListField{b.StringListField} + } + if b.IntField != nil { + x.xxx_hidden_Field = &connectorAccountCreationSchema_Field_IntField{b.IntField} + } + if b.MapField != nil { + x.xxx_hidden_Field = &connectorAccountCreationSchema_Field_MapField{b.MapField} + } + return m0 +} + +type case_ConnectorAccountCreationSchema_Field_Field protoreflect.FieldNumber + +func (x case_ConnectorAccountCreationSchema_Field_Field) String() string { + md := file_c1_connector_v2_connector_proto_msgTypes[14].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isConnectorAccountCreationSchema_Field_Field interface { + isConnectorAccountCreationSchema_Field_Field() +} + +type connectorAccountCreationSchema_Field_StringField struct { + StringField *ConnectorAccountCreationSchema_StringField `protobuf:"bytes,100,opt,name=string_field,json=stringField,proto3,oneof"` +} + +type connectorAccountCreationSchema_Field_BoolField struct { + BoolField *ConnectorAccountCreationSchema_BoolField `protobuf:"bytes,101,opt,name=bool_field,json=boolField,proto3,oneof"` +} + +type connectorAccountCreationSchema_Field_StringListField struct { + StringListField *ConnectorAccountCreationSchema_StringListField `protobuf:"bytes,102,opt,name=string_list_field,json=stringListField,proto3,oneof"` +} + +type connectorAccountCreationSchema_Field_IntField struct { + IntField *ConnectorAccountCreationSchema_IntField `protobuf:"bytes,103,opt,name=int_field,json=intField,proto3,oneof"` +} + +type connectorAccountCreationSchema_Field_MapField struct { + MapField *ConnectorAccountCreationSchema_MapField `protobuf:"bytes,104,opt,name=map_field,json=mapField,proto3,oneof"` +} + +func (*connectorAccountCreationSchema_Field_StringField) isConnectorAccountCreationSchema_Field_Field() { +} + +func (*connectorAccountCreationSchema_Field_BoolField) isConnectorAccountCreationSchema_Field_Field() { +} + +func (*connectorAccountCreationSchema_Field_StringListField) isConnectorAccountCreationSchema_Field_Field() { +} + +func (*connectorAccountCreationSchema_Field_IntField) isConnectorAccountCreationSchema_Field_Field() { +} + +func (*connectorAccountCreationSchema_Field_MapField) isConnectorAccountCreationSchema_Field_Field() { +} + +type ConnectorAccountCreationSchema_StringField struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_DefaultValue *string `protobuf:"bytes,1,opt,name=default_value,json=defaultValue,proto3,oneof"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectorAccountCreationSchema_StringField) Reset() { + *x = ConnectorAccountCreationSchema_StringField{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectorAccountCreationSchema_StringField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectorAccountCreationSchema_StringField) ProtoMessage() {} + +func (x *ConnectorAccountCreationSchema_StringField) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ConnectorAccountCreationSchema_StringField) GetDefaultValue() string { + if x != nil { + if x.xxx_hidden_DefaultValue != nil { + return *x.xxx_hidden_DefaultValue + } + return "" + } + return "" +} + +func (x *ConnectorAccountCreationSchema_StringField) SetDefaultValue(v string) { + x.xxx_hidden_DefaultValue = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1) +} + +func (x *ConnectorAccountCreationSchema_StringField) HasDefaultValue() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *ConnectorAccountCreationSchema_StringField) ClearDefaultValue() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_DefaultValue = nil +} + +type ConnectorAccountCreationSchema_StringField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DefaultValue *string +} + +func (b0 ConnectorAccountCreationSchema_StringField_builder) Build() *ConnectorAccountCreationSchema_StringField { + m0 := &ConnectorAccountCreationSchema_StringField{} + b, x := &b0, m0 + _, _ = b, x + if b.DefaultValue != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1) + x.xxx_hidden_DefaultValue = b.DefaultValue + } + return m0 +} + +type ConnectorAccountCreationSchema_BoolField struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_DefaultValue bool `protobuf:"varint,1,opt,name=default_value,json=defaultValue,proto3,oneof"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectorAccountCreationSchema_BoolField) Reset() { + *x = ConnectorAccountCreationSchema_BoolField{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectorAccountCreationSchema_BoolField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectorAccountCreationSchema_BoolField) ProtoMessage() {} + +func (x *ConnectorAccountCreationSchema_BoolField) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ConnectorAccountCreationSchema_BoolField) GetDefaultValue() bool { + if x != nil { + return x.xxx_hidden_DefaultValue + } + return false +} + +func (x *ConnectorAccountCreationSchema_BoolField) SetDefaultValue(v bool) { + x.xxx_hidden_DefaultValue = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1) +} + +func (x *ConnectorAccountCreationSchema_BoolField) HasDefaultValue() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *ConnectorAccountCreationSchema_BoolField) ClearDefaultValue() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_DefaultValue = false +} + +type ConnectorAccountCreationSchema_BoolField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DefaultValue *bool +} + +func (b0 ConnectorAccountCreationSchema_BoolField_builder) Build() *ConnectorAccountCreationSchema_BoolField { + m0 := &ConnectorAccountCreationSchema_BoolField{} + b, x := &b0, m0 + _, _ = b, x + if b.DefaultValue != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1) + x.xxx_hidden_DefaultValue = *b.DefaultValue + } + return m0 +} + +type ConnectorAccountCreationSchema_StringListField struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_DefaultValue []string `protobuf:"bytes,1,rep,name=default_value,json=defaultValue,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectorAccountCreationSchema_StringListField) Reset() { + *x = ConnectorAccountCreationSchema_StringListField{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectorAccountCreationSchema_StringListField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectorAccountCreationSchema_StringListField) ProtoMessage() {} + +func (x *ConnectorAccountCreationSchema_StringListField) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ConnectorAccountCreationSchema_StringListField) GetDefaultValue() []string { + if x != nil { + return x.xxx_hidden_DefaultValue + } + return nil +} + +func (x *ConnectorAccountCreationSchema_StringListField) SetDefaultValue(v []string) { + x.xxx_hidden_DefaultValue = v +} + +type ConnectorAccountCreationSchema_StringListField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DefaultValue []string +} + +func (b0 ConnectorAccountCreationSchema_StringListField_builder) Build() *ConnectorAccountCreationSchema_StringListField { + m0 := &ConnectorAccountCreationSchema_StringListField{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_DefaultValue = b.DefaultValue + return m0 +} + +type ConnectorAccountCreationSchema_IntField struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_DefaultValue int32 `protobuf:"varint,1,opt,name=default_value,json=defaultValue,proto3,oneof"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectorAccountCreationSchema_IntField) Reset() { + *x = ConnectorAccountCreationSchema_IntField{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectorAccountCreationSchema_IntField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectorAccountCreationSchema_IntField) ProtoMessage() {} + +func (x *ConnectorAccountCreationSchema_IntField) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ConnectorAccountCreationSchema_IntField) GetDefaultValue() int32 { + if x != nil { + return x.xxx_hidden_DefaultValue + } + return 0 +} + +func (x *ConnectorAccountCreationSchema_IntField) SetDefaultValue(v int32) { + x.xxx_hidden_DefaultValue = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1) +} + +func (x *ConnectorAccountCreationSchema_IntField) HasDefaultValue() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 0) +} + +func (x *ConnectorAccountCreationSchema_IntField) ClearDefaultValue() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) + x.xxx_hidden_DefaultValue = 0 +} + +type ConnectorAccountCreationSchema_IntField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DefaultValue *int32 +} + +func (b0 ConnectorAccountCreationSchema_IntField_builder) Build() *ConnectorAccountCreationSchema_IntField { + m0 := &ConnectorAccountCreationSchema_IntField{} + b, x := &b0, m0 + _, _ = b, x + if b.DefaultValue != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1) + x.xxx_hidden_DefaultValue = *b.DefaultValue + } + return m0 +} + +type ConnectorAccountCreationSchema_MapField struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_DefaultValue map[string]*ConnectorAccountCreationSchema_Field `protobuf:"bytes,1,rep,name=default_value,json=defaultValue,proto3" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectorAccountCreationSchema_MapField) Reset() { + *x = ConnectorAccountCreationSchema_MapField{} + mi := &file_c1_connector_v2_connector_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectorAccountCreationSchema_MapField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectorAccountCreationSchema_MapField) ProtoMessage() {} + +func (x *ConnectorAccountCreationSchema_MapField) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_connector_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ConnectorAccountCreationSchema_MapField) GetDefaultValue() map[string]*ConnectorAccountCreationSchema_Field { + if x != nil { + return x.xxx_hidden_DefaultValue + } + return nil +} + +func (x *ConnectorAccountCreationSchema_MapField) SetDefaultValue(v map[string]*ConnectorAccountCreationSchema_Field) { + x.xxx_hidden_DefaultValue = v +} + +type ConnectorAccountCreationSchema_MapField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DefaultValue map[string]*ConnectorAccountCreationSchema_Field +} + +func (b0 ConnectorAccountCreationSchema_MapField_builder) Build() *ConnectorAccountCreationSchema_MapField { + m0 := &ConnectorAccountCreationSchema_MapField{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_DefaultValue = b.DefaultValue + return m0 +} + +var File_c1_connector_v2_connector_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_connector_proto_rawDesc = "" + + "\n" + + "\x1fc1/connector/v2/connector.proto\x12\x0fc1.connector.v2\x1a\x1bc1/connector/v2/asset.proto\x1a\x1ec1/connector/v2/resource.proto\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x17validate/validate.proto\"\x8d\x01\n" + + "\x1eConnectorServiceCleanupRequest\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x123\n" + + "\x0eactive_sync_id\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\factiveSyncId\"Y\n" + + "\x1fConnectorServiceCleanupResponse\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xa8\x04\n" + + "\x11ConnectorMetadata\x12-\n" + + "\fdisplay_name\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\vdisplayName\x125\n" + + "\bhelp_url\x18\x02 \x01(\tB\x1a\xfaB\x17r\x15 \x01(\x80\b:\bhttps://\xd0\x01\x01\x88\x01\x01R\ahelpUrl\x12-\n" + + "\x04icon\x18\x03 \x01(\v2\x19.c1.connector.v2.AssetRefR\x04icon\x12-\n" + + "\x04logo\x18\x04 \x01(\v2\x19.c1.connector.v2.AssetRefR\x04logo\x121\n" + + "\aprofile\x18\x05 \x01(\v2\x17.google.protobuf.StructR\aprofile\x126\n" + + "\vannotations\x18\x06 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12/\n" + + "\vdescription\x18\a \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80 \xd0\x01\x01R\vdescription\x12J\n" + + "\fcapabilities\x18\b \x01(\v2&.c1.connector.v2.ConnectorCapabilitiesR\fcapabilities\x12g\n" + + "\x17account_creation_schema\x18\t \x01(\v2/.c1.connector.v2.ConnectorAccountCreationSchemaR\x15accountCreationSchema\"\x8e\x02\n" + + "\x11CredentialDetails\x12}\n" + + "\x1fcapability_account_provisioning\x18\x01 \x01(\v25.c1.connector.v2.CredentialDetailsAccountProvisioningR\x1dcapabilityAccountProvisioning\x12z\n" + + "\x1ecapability_credential_rotation\x18\x02 \x01(\v24.c1.connector.v2.CredentialDetailsCredentialRotationR\x1ccapabilityCredentialRotation\"\x8e\x02\n" + + "$CredentialDetailsAccountProvisioning\x12s\n" + + "\x1csupported_credential_options\x18\x01 \x03(\x0e21.c1.connector.v2.CapabilityDetailCredentialOptionR\x1asupportedCredentialOptions\x12q\n" + + "\x1bpreferred_credential_option\x18\x02 \x01(\x0e21.c1.connector.v2.CapabilityDetailCredentialOptionR\x19preferredCredentialOption\"\x8d\x02\n" + + "#CredentialDetailsCredentialRotation\x12s\n" + + "\x1csupported_credential_options\x18\x01 \x03(\x0e21.c1.connector.v2.CapabilityDetailCredentialOptionR\x1asupportedCredentialOptions\x12q\n" + + "\x1bpreferred_credential_option\x18\x02 \x01(\x0e21.c1.connector.v2.CapabilityDetailCredentialOptionR\x19preferredCredentialOption\"\xa5\x02\n" + + "\x15ConnectorCapabilities\x12e\n" + + "\x1aresource_type_capabilities\x18\x01 \x03(\v2'.c1.connector.v2.ResourceTypeCapabilityR\x18resourceTypeCapabilities\x12R\n" + + "\x16connector_capabilities\x18\x02 \x03(\x0e2\x1b.c1.connector.v2.CapabilityR\x15connectorCapabilities\x12Q\n" + + "\x12credential_details\x18\x03 \x01(\v2\".c1.connector.v2.CredentialDetailsR\x11credentialDetails\"\x9d\x01\n" + + "\x16ResourceTypeCapability\x12B\n" + + "\rresource_type\x18\x01 \x01(\v2\x1d.c1.connector.v2.ResourceTypeR\fresourceType\x12?\n" + + "\fcapabilities\x18\x02 \x03(\x0e2\x1b.c1.connector.v2.CapabilityR\fcapabilities\"$\n" + + "\"ConnectorServiceGetMetadataRequest\"e\n" + + "#ConnectorServiceGetMetadataResponse\x12>\n" + + "\bmetadata\x18\x01 \x01(\v2\".c1.connector.v2.ConnectorMetadataR\bmetadata\"!\n" + + "\x1fConnectorServiceValidateRequest\"{\n" + + " ConnectorServiceValidateResponse\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12\x1f\n" + + "\vsdk_version\x18\x02 \x01(\tR\n" + + "sdkVersion\"\xa5\v\n" + + "\x1eConnectorAccountCreationSchema\x12Z\n" + + "\tfield_map\x18\x01 \x03(\v2=.c1.connector.v2.ConnectorAccountCreationSchema.FieldMapEntryR\bfieldMap\x1ar\n" + + "\rFieldMapEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12K\n" + + "\x05value\x18\x02 \x01(\v25.c1.connector.v2.ConnectorAccountCreationSchema.FieldR\x05value:\x028\x01\x1a\xa8\x05\n" + + "\x05Field\x12!\n" + + "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\x12\x1a\n" + + "\brequired\x18\x02 \x01(\bR\brequired\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\x12 \n" + + "\vplaceholder\x18\x04 \x01(\tR\vplaceholder\x12\x14\n" + + "\x05order\x18\x05 \x01(\x05R\x05order\x12\x1e\n" + + "\n" + + "deprecated\x18\x06 \x01(\bR\n" + + "deprecated\x12`\n" + + "\fstring_field\x18d \x01(\v2;.c1.connector.v2.ConnectorAccountCreationSchema.StringFieldH\x00R\vstringField\x12Z\n" + + "\n" + + "bool_field\x18e \x01(\v29.c1.connector.v2.ConnectorAccountCreationSchema.BoolFieldH\x00R\tboolField\x12m\n" + + "\x11string_list_field\x18f \x01(\v2?.c1.connector.v2.ConnectorAccountCreationSchema.StringListFieldH\x00R\x0fstringListField\x12W\n" + + "\tint_field\x18g \x01(\v28.c1.connector.v2.ConnectorAccountCreationSchema.IntFieldH\x00R\bintField\x12W\n" + + "\tmap_field\x18h \x01(\v28.c1.connector.v2.ConnectorAccountCreationSchema.MapFieldH\x00R\bmapFieldB\a\n" + + "\x05field\x1aI\n" + + "\vStringField\x12(\n" + + "\rdefault_value\x18\x01 \x01(\tH\x00R\fdefaultValue\x88\x01\x01B\x10\n" + + "\x0e_default_value\x1aG\n" + + "\tBoolField\x12(\n" + + "\rdefault_value\x18\x01 \x01(\bH\x00R\fdefaultValue\x88\x01\x01B\x10\n" + + "\x0e_default_value\x1a6\n" + + "\x0fStringListField\x12#\n" + + "\rdefault_value\x18\x01 \x03(\tR\fdefaultValue\x1aF\n" + + "\bIntField\x12(\n" + + "\rdefault_value\x18\x01 \x01(\x05H\x00R\fdefaultValue\x88\x01\x01B\x10\n" + + "\x0e_default_value\x1a\xf3\x01\n" + + "\bMapField\x12o\n" + + "\rdefault_value\x18\x01 \x03(\v2J.c1.connector.v2.ConnectorAccountCreationSchema.MapField.DefaultValueEntryR\fdefaultValue\x1av\n" + + "\x11DefaultValueEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12K\n" + + "\x05value\x18\x02 \x01(\v25.c1.connector.v2.ConnectorAccountCreationSchema.FieldR\x05value:\x028\x01*\x86\x03\n" + + "\n" + + "Capability\x12\x1a\n" + + "\x16CAPABILITY_UNSPECIFIED\x10\x00\x12\x18\n" + + "\x14CAPABILITY_PROVISION\x10\x01\x12\x13\n" + + "\x0fCAPABILITY_SYNC\x10\x02\x12\x19\n" + + "\x15CAPABILITY_EVENT_FEED\x10\x03\x12\x18\n" + + "\x14CAPABILITY_TICKETING\x10\x04\x12#\n" + + "\x1fCAPABILITY_ACCOUNT_PROVISIONING\x10\x05\x12\"\n" + + "\x1eCAPABILITY_CREDENTIAL_ROTATION\x10\x06\x12\x1e\n" + + "\x1aCAPABILITY_RESOURCE_CREATE\x10\a\x12\x1e\n" + + "\x1aCAPABILITY_RESOURCE_DELETE\x10\b\x12\x1b\n" + + "\x17CAPABILITY_SYNC_SECRETS\x10\t\x12\x16\n" + + "\x12CAPABILITY_ACTIONS\x10\n" + + "\x12\x1c\n" + + "\x18CAPABILITY_TARGETED_SYNC\x10\v\x12\x1c\n" + + "\x18CAPABILITY_EVENT_FEED_V2\x10\f*\xae\x02\n" + + " CapabilityDetailCredentialOption\x123\n" + + "/CAPABILITY_DETAIL_CREDENTIAL_OPTION_UNSPECIFIED\x10\x00\x123\n" + + "/CAPABILITY_DETAIL_CREDENTIAL_OPTION_NO_PASSWORD\x10\x01\x127\n" + + "3CAPABILITY_DETAIL_CREDENTIAL_OPTION_RANDOM_PASSWORD\x10\x02\x12+\n" + + "'CAPABILITY_DETAIL_CREDENTIAL_OPTION_SSO\x10\x03\x12:\n" + + "6CAPABILITY_DETAIL_CREDENTIAL_OPTION_ENCRYPTED_PASSWORD\x10\x042\xeb\x02\n" + + "\x10ConnectorService\x12x\n" + + "\vGetMetadata\x123.c1.connector.v2.ConnectorServiceGetMetadataRequest\x1a4.c1.connector.v2.ConnectorServiceGetMetadataResponse\x12o\n" + + "\bValidate\x120.c1.connector.v2.ConnectorServiceValidateRequest\x1a1.c1.connector.v2.ConnectorServiceValidateResponse\x12l\n" + + "\aCleanup\x12/.c1.connector.v2.ConnectorServiceCleanupRequest\x1a0.c1.connector.v2.ConnectorServiceCleanupResponseB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_connector_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_c1_connector_v2_connector_proto_msgTypes = make([]protoimpl.MessageInfo, 21) +var file_c1_connector_v2_connector_proto_goTypes = []any{ + (Capability)(0), // 0: c1.connector.v2.Capability + (CapabilityDetailCredentialOption)(0), // 1: c1.connector.v2.CapabilityDetailCredentialOption + (*ConnectorServiceCleanupRequest)(nil), // 2: c1.connector.v2.ConnectorServiceCleanupRequest + (*ConnectorServiceCleanupResponse)(nil), // 3: c1.connector.v2.ConnectorServiceCleanupResponse + (*ConnectorMetadata)(nil), // 4: c1.connector.v2.ConnectorMetadata + (*CredentialDetails)(nil), // 5: c1.connector.v2.CredentialDetails + (*CredentialDetailsAccountProvisioning)(nil), // 6: c1.connector.v2.CredentialDetailsAccountProvisioning + (*CredentialDetailsCredentialRotation)(nil), // 7: c1.connector.v2.CredentialDetailsCredentialRotation + (*ConnectorCapabilities)(nil), // 8: c1.connector.v2.ConnectorCapabilities + (*ResourceTypeCapability)(nil), // 9: c1.connector.v2.ResourceTypeCapability + (*ConnectorServiceGetMetadataRequest)(nil), // 10: c1.connector.v2.ConnectorServiceGetMetadataRequest + (*ConnectorServiceGetMetadataResponse)(nil), // 11: c1.connector.v2.ConnectorServiceGetMetadataResponse + (*ConnectorServiceValidateRequest)(nil), // 12: c1.connector.v2.ConnectorServiceValidateRequest + (*ConnectorServiceValidateResponse)(nil), // 13: c1.connector.v2.ConnectorServiceValidateResponse + (*ConnectorAccountCreationSchema)(nil), // 14: c1.connector.v2.ConnectorAccountCreationSchema + nil, // 15: c1.connector.v2.ConnectorAccountCreationSchema.FieldMapEntry + (*ConnectorAccountCreationSchema_Field)(nil), // 16: c1.connector.v2.ConnectorAccountCreationSchema.Field + (*ConnectorAccountCreationSchema_StringField)(nil), // 17: c1.connector.v2.ConnectorAccountCreationSchema.StringField + (*ConnectorAccountCreationSchema_BoolField)(nil), // 18: c1.connector.v2.ConnectorAccountCreationSchema.BoolField + (*ConnectorAccountCreationSchema_StringListField)(nil), // 19: c1.connector.v2.ConnectorAccountCreationSchema.StringListField + (*ConnectorAccountCreationSchema_IntField)(nil), // 20: c1.connector.v2.ConnectorAccountCreationSchema.IntField + (*ConnectorAccountCreationSchema_MapField)(nil), // 21: c1.connector.v2.ConnectorAccountCreationSchema.MapField + nil, // 22: c1.connector.v2.ConnectorAccountCreationSchema.MapField.DefaultValueEntry + (*anypb.Any)(nil), // 23: google.protobuf.Any + (*AssetRef)(nil), // 24: c1.connector.v2.AssetRef + (*structpb.Struct)(nil), // 25: google.protobuf.Struct + (*ResourceType)(nil), // 26: c1.connector.v2.ResourceType +} +var file_c1_connector_v2_connector_proto_depIdxs = []int32{ + 23, // 0: c1.connector.v2.ConnectorServiceCleanupRequest.annotations:type_name -> google.protobuf.Any + 23, // 1: c1.connector.v2.ConnectorServiceCleanupResponse.annotations:type_name -> google.protobuf.Any + 24, // 2: c1.connector.v2.ConnectorMetadata.icon:type_name -> c1.connector.v2.AssetRef + 24, // 3: c1.connector.v2.ConnectorMetadata.logo:type_name -> c1.connector.v2.AssetRef + 25, // 4: c1.connector.v2.ConnectorMetadata.profile:type_name -> google.protobuf.Struct + 23, // 5: c1.connector.v2.ConnectorMetadata.annotations:type_name -> google.protobuf.Any + 8, // 6: c1.connector.v2.ConnectorMetadata.capabilities:type_name -> c1.connector.v2.ConnectorCapabilities + 14, // 7: c1.connector.v2.ConnectorMetadata.account_creation_schema:type_name -> c1.connector.v2.ConnectorAccountCreationSchema + 6, // 8: c1.connector.v2.CredentialDetails.capability_account_provisioning:type_name -> c1.connector.v2.CredentialDetailsAccountProvisioning + 7, // 9: c1.connector.v2.CredentialDetails.capability_credential_rotation:type_name -> c1.connector.v2.CredentialDetailsCredentialRotation + 1, // 10: c1.connector.v2.CredentialDetailsAccountProvisioning.supported_credential_options:type_name -> c1.connector.v2.CapabilityDetailCredentialOption + 1, // 11: c1.connector.v2.CredentialDetailsAccountProvisioning.preferred_credential_option:type_name -> c1.connector.v2.CapabilityDetailCredentialOption + 1, // 12: c1.connector.v2.CredentialDetailsCredentialRotation.supported_credential_options:type_name -> c1.connector.v2.CapabilityDetailCredentialOption + 1, // 13: c1.connector.v2.CredentialDetailsCredentialRotation.preferred_credential_option:type_name -> c1.connector.v2.CapabilityDetailCredentialOption + 9, // 14: c1.connector.v2.ConnectorCapabilities.resource_type_capabilities:type_name -> c1.connector.v2.ResourceTypeCapability + 0, // 15: c1.connector.v2.ConnectorCapabilities.connector_capabilities:type_name -> c1.connector.v2.Capability + 5, // 16: c1.connector.v2.ConnectorCapabilities.credential_details:type_name -> c1.connector.v2.CredentialDetails + 26, // 17: c1.connector.v2.ResourceTypeCapability.resource_type:type_name -> c1.connector.v2.ResourceType + 0, // 18: c1.connector.v2.ResourceTypeCapability.capabilities:type_name -> c1.connector.v2.Capability + 4, // 19: c1.connector.v2.ConnectorServiceGetMetadataResponse.metadata:type_name -> c1.connector.v2.ConnectorMetadata + 23, // 20: c1.connector.v2.ConnectorServiceValidateResponse.annotations:type_name -> google.protobuf.Any + 15, // 21: c1.connector.v2.ConnectorAccountCreationSchema.field_map:type_name -> c1.connector.v2.ConnectorAccountCreationSchema.FieldMapEntry + 16, // 22: c1.connector.v2.ConnectorAccountCreationSchema.FieldMapEntry.value:type_name -> c1.connector.v2.ConnectorAccountCreationSchema.Field + 17, // 23: c1.connector.v2.ConnectorAccountCreationSchema.Field.string_field:type_name -> c1.connector.v2.ConnectorAccountCreationSchema.StringField + 18, // 24: c1.connector.v2.ConnectorAccountCreationSchema.Field.bool_field:type_name -> c1.connector.v2.ConnectorAccountCreationSchema.BoolField + 19, // 25: c1.connector.v2.ConnectorAccountCreationSchema.Field.string_list_field:type_name -> c1.connector.v2.ConnectorAccountCreationSchema.StringListField + 20, // 26: c1.connector.v2.ConnectorAccountCreationSchema.Field.int_field:type_name -> c1.connector.v2.ConnectorAccountCreationSchema.IntField + 21, // 27: c1.connector.v2.ConnectorAccountCreationSchema.Field.map_field:type_name -> c1.connector.v2.ConnectorAccountCreationSchema.MapField + 22, // 28: c1.connector.v2.ConnectorAccountCreationSchema.MapField.default_value:type_name -> c1.connector.v2.ConnectorAccountCreationSchema.MapField.DefaultValueEntry + 16, // 29: c1.connector.v2.ConnectorAccountCreationSchema.MapField.DefaultValueEntry.value:type_name -> c1.connector.v2.ConnectorAccountCreationSchema.Field + 10, // 30: c1.connector.v2.ConnectorService.GetMetadata:input_type -> c1.connector.v2.ConnectorServiceGetMetadataRequest + 12, // 31: c1.connector.v2.ConnectorService.Validate:input_type -> c1.connector.v2.ConnectorServiceValidateRequest + 2, // 32: c1.connector.v2.ConnectorService.Cleanup:input_type -> c1.connector.v2.ConnectorServiceCleanupRequest + 11, // 33: c1.connector.v2.ConnectorService.GetMetadata:output_type -> c1.connector.v2.ConnectorServiceGetMetadataResponse + 13, // 34: c1.connector.v2.ConnectorService.Validate:output_type -> c1.connector.v2.ConnectorServiceValidateResponse + 3, // 35: c1.connector.v2.ConnectorService.Cleanup:output_type -> c1.connector.v2.ConnectorServiceCleanupResponse + 33, // [33:36] is the sub-list for method output_type + 30, // [30:33] is the sub-list for method input_type + 30, // [30:30] is the sub-list for extension type_name + 30, // [30:30] is the sub-list for extension extendee + 0, // [0:30] is the sub-list for field type_name +} + +func init() { file_c1_connector_v2_connector_proto_init() } +func file_c1_connector_v2_connector_proto_init() { + if File_c1_connector_v2_connector_proto != nil { + return + } + file_c1_connector_v2_asset_proto_init() + file_c1_connector_v2_resource_proto_init() + file_c1_connector_v2_connector_proto_msgTypes[14].OneofWrappers = []any{ + (*connectorAccountCreationSchema_Field_StringField)(nil), + (*connectorAccountCreationSchema_Field_BoolField)(nil), + (*connectorAccountCreationSchema_Field_StringListField)(nil), + (*connectorAccountCreationSchema_Field_IntField)(nil), + (*connectorAccountCreationSchema_Field_MapField)(nil), + } + file_c1_connector_v2_connector_proto_msgTypes[15].OneofWrappers = []any{} + file_c1_connector_v2_connector_proto_msgTypes[16].OneofWrappers = []any{} + file_c1_connector_v2_connector_proto_msgTypes[18].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_connector_v2_connector_proto_rawDesc), len(file_c1_connector_v2_connector_proto_rawDesc)), + NumEnums: 2, + NumMessages: 21, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_c1_connector_v2_connector_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_connector_proto_depIdxs, + EnumInfos: file_c1_connector_v2_connector_proto_enumTypes, + MessageInfos: file_c1_connector_v2_connector_proto_msgTypes, + }.Build() + File_c1_connector_v2_connector_proto = out.File + file_c1_connector_v2_connector_proto_goTypes = nil + file_c1_connector_v2_connector_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/entitlement.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/entitlement.pb.go index ec6c1d0e..c996ec09 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/entitlement.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/entitlement.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/entitlement.proto +//go:build !protoopaque + package v2 import ( @@ -12,7 +14,6 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" anypb "google.golang.org/protobuf/types/known/anypb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -67,13 +68,8 @@ func (x Entitlement_PurposeValue) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use Entitlement_PurposeValue.Descriptor instead. -func (Entitlement_PurposeValue) EnumDescriptor() ([]byte, []int) { - return file_c1_connector_v2_entitlement_proto_rawDescGZIP(), []int{0, 0} -} - type Entitlement struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Resource *Resource `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -111,11 +107,6 @@ func (x *Entitlement) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Entitlement.ProtoReflect.Descriptor instead. -func (*Entitlement) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_entitlement_proto_rawDescGZIP(), []int{0} -} - func (x *Entitlement) GetResource() *Resource { if x != nil { return x.Resource @@ -172,12 +163,84 @@ func (x *Entitlement) GetSlug() string { return "" } +func (x *Entitlement) SetResource(v *Resource) { + x.Resource = v +} + +func (x *Entitlement) SetId(v string) { + x.Id = v +} + +func (x *Entitlement) SetDisplayName(v string) { + x.DisplayName = v +} + +func (x *Entitlement) SetDescription(v string) { + x.Description = v +} + +func (x *Entitlement) SetGrantableTo(v []*ResourceType) { + x.GrantableTo = v +} + +func (x *Entitlement) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *Entitlement) SetPurpose(v Entitlement_PurposeValue) { + x.Purpose = v +} + +func (x *Entitlement) SetSlug(v string) { + x.Slug = v +} + +func (x *Entitlement) HasResource() bool { + if x == nil { + return false + } + return x.Resource != nil +} + +func (x *Entitlement) ClearResource() { + x.Resource = nil +} + +type Entitlement_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resource *Resource + Id string + DisplayName string + Description string + GrantableTo []*ResourceType + Annotations []*anypb.Any + Purpose Entitlement_PurposeValue + Slug string +} + +func (b0 Entitlement_builder) Build() *Entitlement { + m0 := &Entitlement{} + b, x := &b0, m0 + _, _ = b, x + x.Resource = b.Resource + x.Id = b.Id + x.DisplayName = b.DisplayName + x.Description = b.Description + x.GrantableTo = b.GrantableTo + x.Annotations = b.Annotations + x.Purpose = b.Purpose + x.Slug = b.Slug + return m0 +} + type EntitlementsServiceListEntitlementsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Resource *Resource `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` PageSize uint32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3" json:"annotations,omitempty"` + ActiveSyncId string `protobuf:"bytes,5,opt,name=active_sync_id,json=activeSyncId,proto3" json:"active_sync_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -207,11 +270,6 @@ func (x *EntitlementsServiceListEntitlementsRequest) ProtoReflect() protoreflect return mi.MessageOf(x) } -// Deprecated: Use EntitlementsServiceListEntitlementsRequest.ProtoReflect.Descriptor instead. -func (*EntitlementsServiceListEntitlementsRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_entitlement_proto_rawDescGZIP(), []int{1} -} - func (x *EntitlementsServiceListEntitlementsRequest) GetResource() *Resource { if x != nil { return x.Resource @@ -240,8 +298,68 @@ func (x *EntitlementsServiceListEntitlementsRequest) GetAnnotations() []*anypb.A return nil } +func (x *EntitlementsServiceListEntitlementsRequest) GetActiveSyncId() string { + if x != nil { + return x.ActiveSyncId + } + return "" +} + +func (x *EntitlementsServiceListEntitlementsRequest) SetResource(v *Resource) { + x.Resource = v +} + +func (x *EntitlementsServiceListEntitlementsRequest) SetPageSize(v uint32) { + x.PageSize = v +} + +func (x *EntitlementsServiceListEntitlementsRequest) SetPageToken(v string) { + x.PageToken = v +} + +func (x *EntitlementsServiceListEntitlementsRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *EntitlementsServiceListEntitlementsRequest) SetActiveSyncId(v string) { + x.ActiveSyncId = v +} + +func (x *EntitlementsServiceListEntitlementsRequest) HasResource() bool { + if x == nil { + return false + } + return x.Resource != nil +} + +func (x *EntitlementsServiceListEntitlementsRequest) ClearResource() { + x.Resource = nil +} + +type EntitlementsServiceListEntitlementsRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resource *Resource + PageSize uint32 + PageToken string + Annotations []*anypb.Any + ActiveSyncId string +} + +func (b0 EntitlementsServiceListEntitlementsRequest_builder) Build() *EntitlementsServiceListEntitlementsRequest { + m0 := &EntitlementsServiceListEntitlementsRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Resource = b.Resource + x.PageSize = b.PageSize + x.PageToken = b.PageToken + x.Annotations = b.Annotations + x.ActiveSyncId = b.ActiveSyncId + return m0 +} + type EntitlementsServiceListEntitlementsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` List []*Entitlement `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` @@ -274,11 +392,6 @@ func (x *EntitlementsServiceListEntitlementsResponse) ProtoReflect() protoreflec return mi.MessageOf(x) } -// Deprecated: Use EntitlementsServiceListEntitlementsResponse.ProtoReflect.Descriptor instead. -func (*EntitlementsServiceListEntitlementsResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_entitlement_proto_rawDescGZIP(), []int{2} -} - func (x *EntitlementsServiceListEntitlementsResponse) GetList() []*Entitlement { if x != nil { return x.List @@ -300,108 +413,73 @@ func (x *EntitlementsServiceListEntitlementsResponse) GetAnnotations() []*anypb. return nil } -var File_c1_connector_v2_entitlement_proto protoreflect.FileDescriptor +func (x *EntitlementsServiceListEntitlementsResponse) SetList(v []*Entitlement) { + x.List = v +} + +func (x *EntitlementsServiceListEntitlementsResponse) SetNextPageToken(v string) { + x.NextPageToken = v +} -var file_c1_connector_v2_entitlement_proto_rawDesc = string([]byte{ - 0x0a, 0x21, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, - 0x32, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 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, 0x95, 0x04, 0x0a, 0x0b, 0x45, 0x6e, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3f, 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, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x20, 0x01, 0x28, 0x80, - 0x08, 0x52, 0x02, 0x69, 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, 0x2f, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 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, 0x40, 0x0a, 0x0c, 0x67, 0x72, 0x61, 0x6e, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, - 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, 0x52, 0x0b, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 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, 0x4d, 0x0a, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x29, 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, 0x2e, 0x50, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x08, - 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x73, 0x6c, 0x75, 0x67, 0x22, 0x69, 0x0a, 0x0c, 0x50, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, - 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x5f, - 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, - 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x5f, 0x56, 0x41, - 0x4c, 0x55, 0x45, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, - 0x22, 0xf3, 0x01, 0x0a, 0x2a, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 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, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x18, 0x02, 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, 0x03, 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, 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, 0xcf, 0x01, 0x0a, 0x2b, 0x45, 0x6e, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, - 0x20, 0x03, 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, 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, 0x32, 0xa5, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0x8d, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3b, 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, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x45, - 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3c, 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, - 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x6d, 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, -}) +func (x *EntitlementsServiceListEntitlementsResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} -var ( - file_c1_connector_v2_entitlement_proto_rawDescOnce sync.Once - file_c1_connector_v2_entitlement_proto_rawDescData []byte -) +type EntitlementsServiceListEntitlementsResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. -func file_c1_connector_v2_entitlement_proto_rawDescGZIP() []byte { - file_c1_connector_v2_entitlement_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_entitlement_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_entitlement_proto_rawDesc), len(file_c1_connector_v2_entitlement_proto_rawDesc))) - }) - return file_c1_connector_v2_entitlement_proto_rawDescData + List []*Entitlement + NextPageToken string + Annotations []*anypb.Any } +func (b0 EntitlementsServiceListEntitlementsResponse_builder) Build() *EntitlementsServiceListEntitlementsResponse { + m0 := &EntitlementsServiceListEntitlementsResponse{} + b, x := &b0, m0 + _, _ = b, x + x.List = b.List + x.NextPageToken = b.NextPageToken + x.Annotations = b.Annotations + return m0 +} + +var File_c1_connector_v2_entitlement_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_entitlement_proto_rawDesc = "" + + "\n" + + "!c1/connector/v2/entitlement.proto\x12\x0fc1.connector.v2\x1a\x1ec1/connector/v2/resource.proto\x1a\x19google/protobuf/any.proto\x1a\x17validate/validate.proto\"\x95\x04\n" + + "\vEntitlement\x12?\n" + + "\bresource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceB\b\xfaB\x05\x8a\x01\x02\x10\x01R\bresource\x12\x1a\n" + + "\x02id\x18\x02 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\x02id\x120\n" + + "\fdisplay_name\x18\x03 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\vdisplayName\x12/\n" + + "\vdescription\x18\x04 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\x10\xd0\x01\x01R\vdescription\x12@\n" + + "\fgrantable_to\x18\x05 \x03(\v2\x1d.c1.connector.v2.ResourceTypeR\vgrantableTo\x126\n" + + "\vannotations\x18\x06 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12M\n" + + "\apurpose\x18\a \x01(\x0e2).c1.connector.v2.Entitlement.PurposeValueB\b\xfaB\x05\x82\x01\x02\x10\x01R\apurpose\x12\x12\n" + + "\x04slug\x18\b \x01(\tR\x04slug\"i\n" + + "\fPurposeValue\x12\x1d\n" + + "\x19PURPOSE_VALUE_UNSPECIFIED\x10\x00\x12\x1c\n" + + "\x18PURPOSE_VALUE_ASSIGNMENT\x10\x01\x12\x1c\n" + + "\x18PURPOSE_VALUE_PERMISSION\x10\x02\"\xa8\x02\n" + + "*EntitlementsServiceListEntitlementsRequest\x125\n" + + "\bresource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\bresource\x12'\n" + + "\tpage_size\x18\x02 \x01(\rB\n" + + "\xfaB\a*\x05\x18\xfa\x01@\x01R\bpageSize\x12-\n" + + "\n" + + "page_token\x18\x03 \x01(\tB\x0e\xfaB\vr\t \x01(\x80\x80@\xd0\x01\x01R\tpageToken\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x123\n" + + "\x0eactive_sync_id\x18\x05 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\factiveSyncId\"\xcf\x01\n" + + "+EntitlementsServiceListEntitlementsResponse\x120\n" + + "\x04list\x18\x01 \x03(\v2\x1c.c1.connector.v2.EntitlementR\x04list\x126\n" + + "\x0fnext_page_token\x18\x02 \x01(\tB\x0e\xfaB\vr\t \x01(\x80\x80@\xd0\x01\x01R\rnextPageToken\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations2\xa5\x01\n" + + "\x13EntitlementsService\x12\x8d\x01\n" + + "\x10ListEntitlements\x12;.c1.connector.v2.EntitlementsServiceListEntitlementsRequest\x1a<.c1.connector.v2.EntitlementsServiceListEntitlementsResponseB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + var file_c1_connector_v2_entitlement_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_c1_connector_v2_entitlement_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_c1_connector_v2_entitlement_proto_goTypes = []any{ diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/entitlement.pb.validate.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/entitlement.pb.validate.go index 4f979076..013ab1bc 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/entitlement.pb.validate.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/entitlement.pb.validate.go @@ -413,6 +413,21 @@ func (m *EntitlementsServiceListEntitlementsRequest) validate(all bool) error { } + if m.GetActiveSyncId() != "" { + + if l := len(m.GetActiveSyncId()); l < 1 || l > 1024 { + err := EntitlementsServiceListEntitlementsRequestValidationError{ + field: "ActiveSyncId", + reason: "value length must be between 1 and 1024 bytes, inclusive", + } + if !all { + return err + } + errors = append(errors, err) + } + + } + if len(errors) > 0 { return EntitlementsServiceListEntitlementsRequestMultiError(errors) } diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/entitlement_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/entitlement_protoopaque.pb.go new file mode 100644 index 00000000..d9f09c90 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/entitlement_protoopaque.pb.go @@ -0,0 +1,546 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/entitlement.proto + +//go:build protoopaque + +package v2 + +import ( + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + reflect "reflect" + 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) +) + +type Entitlement_PurposeValue int32 + +const ( + Entitlement_PURPOSE_VALUE_UNSPECIFIED Entitlement_PurposeValue = 0 + Entitlement_PURPOSE_VALUE_ASSIGNMENT Entitlement_PurposeValue = 1 + Entitlement_PURPOSE_VALUE_PERMISSION Entitlement_PurposeValue = 2 +) + +// Enum value maps for Entitlement_PurposeValue. +var ( + Entitlement_PurposeValue_name = map[int32]string{ + 0: "PURPOSE_VALUE_UNSPECIFIED", + 1: "PURPOSE_VALUE_ASSIGNMENT", + 2: "PURPOSE_VALUE_PERMISSION", + } + Entitlement_PurposeValue_value = map[string]int32{ + "PURPOSE_VALUE_UNSPECIFIED": 0, + "PURPOSE_VALUE_ASSIGNMENT": 1, + "PURPOSE_VALUE_PERMISSION": 2, + } +) + +func (x Entitlement_PurposeValue) Enum() *Entitlement_PurposeValue { + p := new(Entitlement_PurposeValue) + *p = x + return p +} + +func (x Entitlement_PurposeValue) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Entitlement_PurposeValue) Descriptor() protoreflect.EnumDescriptor { + return file_c1_connector_v2_entitlement_proto_enumTypes[0].Descriptor() +} + +func (Entitlement_PurposeValue) Type() protoreflect.EnumType { + return &file_c1_connector_v2_entitlement_proto_enumTypes[0] +} + +func (x Entitlement_PurposeValue) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type Entitlement struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Resource *Resource `protobuf:"bytes,1,opt,name=resource,proto3"` + xxx_hidden_Id string `protobuf:"bytes,2,opt,name=id,proto3"` + xxx_hidden_DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3"` + xxx_hidden_Description string `protobuf:"bytes,4,opt,name=description,proto3"` + xxx_hidden_GrantableTo *[]*ResourceType `protobuf:"bytes,5,rep,name=grantable_to,json=grantableTo,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,6,rep,name=annotations,proto3"` + xxx_hidden_Purpose Entitlement_PurposeValue `protobuf:"varint,7,opt,name=purpose,proto3,enum=c1.connector.v2.Entitlement_PurposeValue"` + xxx_hidden_Slug string `protobuf:"bytes,8,opt,name=slug,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Entitlement) Reset() { + *x = Entitlement{} + mi := &file_c1_connector_v2_entitlement_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Entitlement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Entitlement) ProtoMessage() {} + +func (x *Entitlement) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_entitlement_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) +} + +func (x *Entitlement) GetResource() *Resource { + if x != nil { + return x.xxx_hidden_Resource + } + return nil +} + +func (x *Entitlement) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *Entitlement) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *Entitlement) GetDescription() string { + if x != nil { + return x.xxx_hidden_Description + } + return "" +} + +func (x *Entitlement) GetGrantableTo() []*ResourceType { + if x != nil { + if x.xxx_hidden_GrantableTo != nil { + return *x.xxx_hidden_GrantableTo + } + } + return nil +} + +func (x *Entitlement) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Entitlement) GetPurpose() Entitlement_PurposeValue { + if x != nil { + return x.xxx_hidden_Purpose + } + return Entitlement_PURPOSE_VALUE_UNSPECIFIED +} + +func (x *Entitlement) GetSlug() string { + if x != nil { + return x.xxx_hidden_Slug + } + return "" +} + +func (x *Entitlement) SetResource(v *Resource) { + x.xxx_hidden_Resource = v +} + +func (x *Entitlement) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *Entitlement) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +func (x *Entitlement) SetDescription(v string) { + x.xxx_hidden_Description = v +} + +func (x *Entitlement) SetGrantableTo(v []*ResourceType) { + x.xxx_hidden_GrantableTo = &v +} + +func (x *Entitlement) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *Entitlement) SetPurpose(v Entitlement_PurposeValue) { + x.xxx_hidden_Purpose = v +} + +func (x *Entitlement) SetSlug(v string) { + x.xxx_hidden_Slug = v +} + +func (x *Entitlement) HasResource() bool { + if x == nil { + return false + } + return x.xxx_hidden_Resource != nil +} + +func (x *Entitlement) ClearResource() { + x.xxx_hidden_Resource = nil +} + +type Entitlement_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resource *Resource + Id string + DisplayName string + Description string + GrantableTo []*ResourceType + Annotations []*anypb.Any + Purpose Entitlement_PurposeValue + Slug string +} + +func (b0 Entitlement_builder) Build() *Entitlement { + m0 := &Entitlement{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Resource = b.Resource + x.xxx_hidden_Id = b.Id + x.xxx_hidden_DisplayName = b.DisplayName + x.xxx_hidden_Description = b.Description + x.xxx_hidden_GrantableTo = &b.GrantableTo + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_Purpose = b.Purpose + x.xxx_hidden_Slug = b.Slug + return m0 +} + +type EntitlementsServiceListEntitlementsRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Resource *Resource `protobuf:"bytes,1,opt,name=resource,proto3"` + xxx_hidden_PageSize uint32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3"` + xxx_hidden_PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3"` + xxx_hidden_ActiveSyncId string `protobuf:"bytes,5,opt,name=active_sync_id,json=activeSyncId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EntitlementsServiceListEntitlementsRequest) Reset() { + *x = EntitlementsServiceListEntitlementsRequest{} + mi := &file_c1_connector_v2_entitlement_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EntitlementsServiceListEntitlementsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EntitlementsServiceListEntitlementsRequest) ProtoMessage() {} + +func (x *EntitlementsServiceListEntitlementsRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_entitlement_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) +} + +func (x *EntitlementsServiceListEntitlementsRequest) GetResource() *Resource { + if x != nil { + return x.xxx_hidden_Resource + } + return nil +} + +func (x *EntitlementsServiceListEntitlementsRequest) GetPageSize() uint32 { + if x != nil { + return x.xxx_hidden_PageSize + } + return 0 +} + +func (x *EntitlementsServiceListEntitlementsRequest) GetPageToken() string { + if x != nil { + return x.xxx_hidden_PageToken + } + return "" +} + +func (x *EntitlementsServiceListEntitlementsRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *EntitlementsServiceListEntitlementsRequest) GetActiveSyncId() string { + if x != nil { + return x.xxx_hidden_ActiveSyncId + } + return "" +} + +func (x *EntitlementsServiceListEntitlementsRequest) SetResource(v *Resource) { + x.xxx_hidden_Resource = v +} + +func (x *EntitlementsServiceListEntitlementsRequest) SetPageSize(v uint32) { + x.xxx_hidden_PageSize = v +} + +func (x *EntitlementsServiceListEntitlementsRequest) SetPageToken(v string) { + x.xxx_hidden_PageToken = v +} + +func (x *EntitlementsServiceListEntitlementsRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *EntitlementsServiceListEntitlementsRequest) SetActiveSyncId(v string) { + x.xxx_hidden_ActiveSyncId = v +} + +func (x *EntitlementsServiceListEntitlementsRequest) HasResource() bool { + if x == nil { + return false + } + return x.xxx_hidden_Resource != nil +} + +func (x *EntitlementsServiceListEntitlementsRequest) ClearResource() { + x.xxx_hidden_Resource = nil +} + +type EntitlementsServiceListEntitlementsRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resource *Resource + PageSize uint32 + PageToken string + Annotations []*anypb.Any + ActiveSyncId string +} + +func (b0 EntitlementsServiceListEntitlementsRequest_builder) Build() *EntitlementsServiceListEntitlementsRequest { + m0 := &EntitlementsServiceListEntitlementsRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Resource = b.Resource + x.xxx_hidden_PageSize = b.PageSize + x.xxx_hidden_PageToken = b.PageToken + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_ActiveSyncId = b.ActiveSyncId + return m0 +} + +type EntitlementsServiceListEntitlementsResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_List *[]*Entitlement `protobuf:"bytes,1,rep,name=list,proto3"` + xxx_hidden_NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EntitlementsServiceListEntitlementsResponse) Reset() { + *x = EntitlementsServiceListEntitlementsResponse{} + mi := &file_c1_connector_v2_entitlement_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EntitlementsServiceListEntitlementsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EntitlementsServiceListEntitlementsResponse) ProtoMessage() {} + +func (x *EntitlementsServiceListEntitlementsResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_entitlement_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) +} + +func (x *EntitlementsServiceListEntitlementsResponse) GetList() []*Entitlement { + if x != nil { + if x.xxx_hidden_List != nil { + return *x.xxx_hidden_List + } + } + return nil +} + +func (x *EntitlementsServiceListEntitlementsResponse) GetNextPageToken() string { + if x != nil { + return x.xxx_hidden_NextPageToken + } + return "" +} + +func (x *EntitlementsServiceListEntitlementsResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *EntitlementsServiceListEntitlementsResponse) SetList(v []*Entitlement) { + x.xxx_hidden_List = &v +} + +func (x *EntitlementsServiceListEntitlementsResponse) SetNextPageToken(v string) { + x.xxx_hidden_NextPageToken = v +} + +func (x *EntitlementsServiceListEntitlementsResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type EntitlementsServiceListEntitlementsResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + List []*Entitlement + NextPageToken string + Annotations []*anypb.Any +} + +func (b0 EntitlementsServiceListEntitlementsResponse_builder) Build() *EntitlementsServiceListEntitlementsResponse { + m0 := &EntitlementsServiceListEntitlementsResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_List = &b.List + x.xxx_hidden_NextPageToken = b.NextPageToken + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +var File_c1_connector_v2_entitlement_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_entitlement_proto_rawDesc = "" + + "\n" + + "!c1/connector/v2/entitlement.proto\x12\x0fc1.connector.v2\x1a\x1ec1/connector/v2/resource.proto\x1a\x19google/protobuf/any.proto\x1a\x17validate/validate.proto\"\x95\x04\n" + + "\vEntitlement\x12?\n" + + "\bresource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceB\b\xfaB\x05\x8a\x01\x02\x10\x01R\bresource\x12\x1a\n" + + "\x02id\x18\x02 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\x02id\x120\n" + + "\fdisplay_name\x18\x03 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\vdisplayName\x12/\n" + + "\vdescription\x18\x04 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\x10\xd0\x01\x01R\vdescription\x12@\n" + + "\fgrantable_to\x18\x05 \x03(\v2\x1d.c1.connector.v2.ResourceTypeR\vgrantableTo\x126\n" + + "\vannotations\x18\x06 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12M\n" + + "\apurpose\x18\a \x01(\x0e2).c1.connector.v2.Entitlement.PurposeValueB\b\xfaB\x05\x82\x01\x02\x10\x01R\apurpose\x12\x12\n" + + "\x04slug\x18\b \x01(\tR\x04slug\"i\n" + + "\fPurposeValue\x12\x1d\n" + + "\x19PURPOSE_VALUE_UNSPECIFIED\x10\x00\x12\x1c\n" + + "\x18PURPOSE_VALUE_ASSIGNMENT\x10\x01\x12\x1c\n" + + "\x18PURPOSE_VALUE_PERMISSION\x10\x02\"\xa8\x02\n" + + "*EntitlementsServiceListEntitlementsRequest\x125\n" + + "\bresource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\bresource\x12'\n" + + "\tpage_size\x18\x02 \x01(\rB\n" + + "\xfaB\a*\x05\x18\xfa\x01@\x01R\bpageSize\x12-\n" + + "\n" + + "page_token\x18\x03 \x01(\tB\x0e\xfaB\vr\t \x01(\x80\x80@\xd0\x01\x01R\tpageToken\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x123\n" + + "\x0eactive_sync_id\x18\x05 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\factiveSyncId\"\xcf\x01\n" + + "+EntitlementsServiceListEntitlementsResponse\x120\n" + + "\x04list\x18\x01 \x03(\v2\x1c.c1.connector.v2.EntitlementR\x04list\x126\n" + + "\x0fnext_page_token\x18\x02 \x01(\tB\x0e\xfaB\vr\t \x01(\x80\x80@\xd0\x01\x01R\rnextPageToken\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations2\xa5\x01\n" + + "\x13EntitlementsService\x12\x8d\x01\n" + + "\x10ListEntitlements\x12;.c1.connector.v2.EntitlementsServiceListEntitlementsRequest\x1a<.c1.connector.v2.EntitlementsServiceListEntitlementsResponseB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_entitlement_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_c1_connector_v2_entitlement_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_c1_connector_v2_entitlement_proto_goTypes = []any{ + (Entitlement_PurposeValue)(0), // 0: c1.connector.v2.Entitlement.PurposeValue + (*Entitlement)(nil), // 1: c1.connector.v2.Entitlement + (*EntitlementsServiceListEntitlementsRequest)(nil), // 2: c1.connector.v2.EntitlementsServiceListEntitlementsRequest + (*EntitlementsServiceListEntitlementsResponse)(nil), // 3: c1.connector.v2.EntitlementsServiceListEntitlementsResponse + (*Resource)(nil), // 4: c1.connector.v2.Resource + (*ResourceType)(nil), // 5: c1.connector.v2.ResourceType + (*anypb.Any)(nil), // 6: google.protobuf.Any +} +var file_c1_connector_v2_entitlement_proto_depIdxs = []int32{ + 4, // 0: c1.connector.v2.Entitlement.resource:type_name -> c1.connector.v2.Resource + 5, // 1: c1.connector.v2.Entitlement.grantable_to:type_name -> c1.connector.v2.ResourceType + 6, // 2: c1.connector.v2.Entitlement.annotations:type_name -> google.protobuf.Any + 0, // 3: c1.connector.v2.Entitlement.purpose:type_name -> c1.connector.v2.Entitlement.PurposeValue + 4, // 4: c1.connector.v2.EntitlementsServiceListEntitlementsRequest.resource:type_name -> c1.connector.v2.Resource + 6, // 5: c1.connector.v2.EntitlementsServiceListEntitlementsRequest.annotations:type_name -> google.protobuf.Any + 1, // 6: c1.connector.v2.EntitlementsServiceListEntitlementsResponse.list:type_name -> c1.connector.v2.Entitlement + 6, // 7: c1.connector.v2.EntitlementsServiceListEntitlementsResponse.annotations:type_name -> google.protobuf.Any + 2, // 8: c1.connector.v2.EntitlementsService.ListEntitlements:input_type -> c1.connector.v2.EntitlementsServiceListEntitlementsRequest + 3, // 9: c1.connector.v2.EntitlementsService.ListEntitlements:output_type -> c1.connector.v2.EntitlementsServiceListEntitlementsResponse + 9, // [9:10] is the sub-list for method output_type + 8, // [8:9] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_c1_connector_v2_entitlement_proto_init() } +func file_c1_connector_v2_entitlement_proto_init() { + if File_c1_connector_v2_entitlement_proto != nil { + return + } + file_c1_connector_v2_resource_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_connector_v2_entitlement_proto_rawDesc), len(file_c1_connector_v2_entitlement_proto_rawDesc)), + NumEnums: 1, + NumMessages: 3, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_c1_connector_v2_entitlement_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_entitlement_proto_depIdxs, + EnumInfos: file_c1_connector_v2_entitlement_proto_enumTypes, + MessageInfos: file_c1_connector_v2_entitlement_proto_msgTypes, + }.Build() + File_c1_connector_v2_entitlement_proto = out.File + file_c1_connector_v2_entitlement_proto_goTypes = nil + file_c1_connector_v2_entitlement_proto_depIdxs = nil +} 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 0da9efb1..0b4f4556 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 @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/event_feed.proto +//go:build !protoopaque + package v2 import ( @@ -13,7 +15,6 @@ import ( anypb "google.golang.org/protobuf/types/known/anypb" timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -30,6 +31,8 @@ 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. @@ -38,11 +41,15 @@ var ( 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, } ) @@ -68,13 +75,8 @@ 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"` + state protoimpl.MessageState `protogen:"hybrid.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"` @@ -112,11 +114,6 @@ func (x *ListEventsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListEventsRequest.ProtoReflect.Descriptor instead. -func (*ListEventsRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{0} -} - func (x *ListEventsRequest) GetCursor() string { if x != nil { return x.Cursor @@ -152,8 +149,64 @@ func (x *ListEventsRequest) GetEventFeedId() string { return "" } +func (x *ListEventsRequest) SetCursor(v string) { + x.Cursor = v +} + +func (x *ListEventsRequest) SetStartAt(v *timestamppb.Timestamp) { + x.StartAt = v +} + +func (x *ListEventsRequest) SetPageSize(v uint32) { + x.PageSize = v +} + +func (x *ListEventsRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *ListEventsRequest) SetEventFeedId(v string) { + x.EventFeedId = v +} + +func (x *ListEventsRequest) HasStartAt() bool { + if x == nil { + return false + } + return x.StartAt != nil +} + +func (x *ListEventsRequest) ClearStartAt() { + x.StartAt = nil +} + +type ListEventsRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Can function like a page token but also can be arbitrary to resume a feed at any point + Cursor string + StartAt *timestamppb.Timestamp + PageSize uint32 + Annotations []*anypb.Any + // Used to specify a specific event feed to list events from. + // If not provided, the connector will use the old event feed. + EventFeedId string +} + +func (b0 ListEventsRequest_builder) Build() *ListEventsRequest { + m0 := &ListEventsRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Cursor = b.Cursor + x.StartAt = b.StartAt + x.PageSize = b.PageSize + x.Annotations = b.Annotations + x.EventFeedId = b.EventFeedId + return m0 +} + type ListEventsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Events []*Event `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` HasMore bool `protobuf:"varint,3,opt,name=has_more,json=hasMore,proto3" json:"has_more,omitempty"` @@ -187,11 +240,6 @@ func (x *ListEventsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListEventsResponse.ProtoReflect.Descriptor instead. -func (*ListEventsResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{1} -} - func (x *ListEventsResponse) GetEvents() []*Event { if x != nil { return x.Events @@ -220,8 +268,44 @@ func (x *ListEventsResponse) GetAnnotations() []*anypb.Any { return nil } +func (x *ListEventsResponse) SetEvents(v []*Event) { + x.Events = v +} + +func (x *ListEventsResponse) SetCursor(v string) { + x.Cursor = v +} + +func (x *ListEventsResponse) SetHasMore(v bool) { + x.HasMore = v +} + +func (x *ListEventsResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type ListEventsResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Events []*Event + Cursor string + HasMore bool + Annotations []*anypb.Any +} + +func (b0 ListEventsResponse_builder) Build() *ListEventsResponse { + m0 := &ListEventsResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Events = b.Events + x.Cursor = b.Cursor + x.HasMore = b.HasMore + x.Annotations = b.Annotations + return m0 +} + type ListEventFeedsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -252,11 +336,6 @@ func (x *ListEventFeedsRequest) ProtoReflect() protoreflect.Message { 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 @@ -264,8 +343,26 @@ func (x *ListEventFeedsRequest) GetAnnotations() []*anypb.Any { return nil } +func (x *ListEventFeedsRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type ListEventFeedsRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 ListEventFeedsRequest_builder) Build() *ListEventFeedsRequest { + m0 := &ListEventFeedsRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + return m0 +} + type ListEventFeedsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.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 @@ -297,11 +394,6 @@ func (x *ListEventFeedsResponse) ProtoReflect() protoreflect.Message { 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 @@ -316,8 +408,32 @@ func (x *ListEventFeedsResponse) GetAnnotations() []*anypb.Any { return nil } +func (x *ListEventFeedsResponse) SetList(v []*EventFeedMetadata) { + x.List = v +} + +func (x *ListEventFeedsResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type ListEventFeedsResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + List []*EventFeedMetadata + Annotations []*anypb.Any +} + +func (b0 ListEventFeedsResponse_builder) Build() *ListEventFeedsResponse { + m0 := &ListEventFeedsResponse{} + b, x := &b0, m0 + _, _ = b, x + x.List = b.List + x.Annotations = b.Annotations + return m0 +} + type Event struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` OccurredAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=occurred_at,json=occurredAt,proto3" json:"occurred_at,omitempty"` // Each event has structs that will usually be mostly empty. @@ -329,6 +445,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"` @@ -361,11 +479,6 @@ func (x *Event) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Event.ProtoReflect.Descriptor instead. -func (*Event) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{4} -} - func (x *Event) GetId() string { if x != nil { return x.Id @@ -423,6 +536,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 @@ -430,6 +561,260 @@ func (x *Event) GetAnnotations() []*anypb.Any { return nil } +func (x *Event) SetId(v string) { + x.Id = v +} + +func (x *Event) SetOccurredAt(v *timestamppb.Timestamp) { + x.OccurredAt = v +} + +func (x *Event) SetUsageEvent(v *UsageEvent) { + if v == nil { + x.Event = nil + return + } + x.Event = &Event_UsageEvent{v} +} + +func (x *Event) SetGrantEvent(v *GrantEvent) { + if v == nil { + x.Event = nil + return + } + x.Event = &Event_GrantEvent{v} +} + +func (x *Event) SetRevokeEvent(v *RevokeEvent) { + if v == nil { + x.Event = nil + return + } + x.Event = &Event_RevokeEvent{v} +} + +func (x *Event) SetResourceChangeEvent(v *ResourceChangeEvent) { + if v == nil { + x.Event = nil + return + } + x.Event = &Event_ResourceChangeEvent{v} +} + +func (x *Event) SetCreateGrantEvent(v *CreateGrantEvent) { + if v == nil { + x.Event = nil + return + } + x.Event = &Event_CreateGrantEvent{v} +} + +func (x *Event) SetCreateRevokeEvent(v *CreateRevokeEvent) { + if v == nil { + x.Event = nil + return + } + x.Event = &Event_CreateRevokeEvent{v} +} + +func (x *Event) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *Event) HasOccurredAt() bool { + if x == nil { + return false + } + return x.OccurredAt != nil +} + +func (x *Event) HasEvent() bool { + if x == nil { + return false + } + return x.Event != nil +} + +func (x *Event) HasUsageEvent() bool { + if x == nil { + return false + } + _, ok := x.Event.(*Event_UsageEvent) + return ok +} + +func (x *Event) HasGrantEvent() bool { + if x == nil { + return false + } + _, ok := x.Event.(*Event_GrantEvent) + return ok +} + +func (x *Event) HasRevokeEvent() bool { + if x == nil { + return false + } + _, ok := x.Event.(*Event_RevokeEvent) + return ok +} + +func (x *Event) HasResourceChangeEvent() bool { + if x == nil { + return false + } + _, ok := x.Event.(*Event_ResourceChangeEvent) + return ok +} + +func (x *Event) HasCreateGrantEvent() bool { + if x == nil { + return false + } + _, ok := x.Event.(*Event_CreateGrantEvent) + return ok +} + +func (x *Event) HasCreateRevokeEvent() bool { + if x == nil { + return false + } + _, ok := x.Event.(*Event_CreateRevokeEvent) + return ok +} + +func (x *Event) ClearOccurredAt() { + x.OccurredAt = nil +} + +func (x *Event) ClearEvent() { + x.Event = nil +} + +func (x *Event) ClearUsageEvent() { + if _, ok := x.Event.(*Event_UsageEvent); ok { + x.Event = nil + } +} + +func (x *Event) ClearGrantEvent() { + if _, ok := x.Event.(*Event_GrantEvent); ok { + x.Event = nil + } +} + +func (x *Event) ClearRevokeEvent() { + if _, ok := x.Event.(*Event_RevokeEvent); ok { + x.Event = nil + } +} + +func (x *Event) ClearResourceChangeEvent() { + if _, ok := x.Event.(*Event_ResourceChangeEvent); ok { + x.Event = nil + } +} + +func (x *Event) ClearCreateGrantEvent() { + if _, ok := x.Event.(*Event_CreateGrantEvent); ok { + x.Event = nil + } +} + +func (x *Event) ClearCreateRevokeEvent() { + if _, ok := x.Event.(*Event_CreateRevokeEvent); ok { + x.Event = nil + } +} + +const Event_Event_not_set_case case_Event_Event = 0 +const Event_UsageEvent_case case_Event_Event = 100 +const Event_GrantEvent_case case_Event_Event = 101 +const Event_RevokeEvent_case case_Event_Event = 102 +const Event_ResourceChangeEvent_case case_Event_Event = 103 +const Event_CreateGrantEvent_case case_Event_Event = 104 +const Event_CreateRevokeEvent_case case_Event_Event = 105 + +func (x *Event) WhichEvent() case_Event_Event { + if x == nil { + return Event_Event_not_set_case + } + switch x.Event.(type) { + case *Event_UsageEvent: + return Event_UsageEvent_case + case *Event_GrantEvent: + return Event_GrantEvent_case + case *Event_RevokeEvent: + return Event_RevokeEvent_case + case *Event_ResourceChangeEvent: + return Event_ResourceChangeEvent_case + case *Event_CreateGrantEvent: + return Event_CreateGrantEvent_case + case *Event_CreateRevokeEvent: + return Event_CreateRevokeEvent_case + default: + return Event_Event_not_set_case + } +} + +type Event_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + OccurredAt *timestamppb.Timestamp + // Each event has structs that will usually be mostly empty. + // Stream consumer must be defensive about what it's reading + + // Fields of oneof Event: + UsageEvent *UsageEvent + GrantEvent *GrantEvent + RevokeEvent *RevokeEvent + ResourceChangeEvent *ResourceChangeEvent + CreateGrantEvent *CreateGrantEvent + CreateRevokeEvent *CreateRevokeEvent + // -- end of Event + // May contain resources for targets, actor, or items referenced in events + Annotations []*anypb.Any +} + +func (b0 Event_builder) Build() *Event { + m0 := &Event{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + x.OccurredAt = b.OccurredAt + if b.UsageEvent != nil { + x.Event = &Event_UsageEvent{b.UsageEvent} + } + if b.GrantEvent != nil { + x.Event = &Event_GrantEvent{b.GrantEvent} + } + if b.RevokeEvent != nil { + x.Event = &Event_RevokeEvent{b.RevokeEvent} + } + if b.ResourceChangeEvent != nil { + x.Event = &Event_ResourceChangeEvent{b.ResourceChangeEvent} + } + if b.CreateGrantEvent != nil { + x.Event = &Event_CreateGrantEvent{b.CreateGrantEvent} + } + if b.CreateRevokeEvent != nil { + x.Event = &Event_CreateRevokeEvent{b.CreateRevokeEvent} + } + x.Annotations = b.Annotations + return m0 +} + +type case_Event_Event protoreflect.FieldNumber + +func (x case_Event_Event) String() string { + md := file_c1_connector_v2_event_feed_proto_msgTypes[4].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + type isEvent_Event interface { isEvent_Event() } @@ -450,6 +835,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() {} @@ -458,8 +851,12 @@ 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"` + state protoimpl.MessageState `protogen:"hybrid.v1"` TargetResource *Resource `protobuf:"bytes,1,opt,name=target_resource,json=targetResource,proto3" json:"target_resource,omitempty"` ActorResource *Resource `protobuf:"bytes,2,opt,name=actor_resource,json=actorResource,proto3" json:"actor_resource,omitempty"` unknownFields protoimpl.UnknownFields @@ -491,11 +888,6 @@ func (x *UsageEvent) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UsageEvent.ProtoReflect.Descriptor instead. -func (*UsageEvent) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{5} -} - func (x *UsageEvent) GetTargetResource() *Resource { if x != nil { return x.TargetResource @@ -510,9 +902,55 @@ func (x *UsageEvent) GetActorResource() *Resource { return nil } +func (x *UsageEvent) SetTargetResource(v *Resource) { + x.TargetResource = v +} + +func (x *UsageEvent) SetActorResource(v *Resource) { + x.ActorResource = v +} + +func (x *UsageEvent) HasTargetResource() bool { + if x == nil { + return false + } + return x.TargetResource != nil +} + +func (x *UsageEvent) HasActorResource() bool { + if x == nil { + return false + } + return x.ActorResource != nil +} + +func (x *UsageEvent) ClearTargetResource() { + x.TargetResource = nil +} + +func (x *UsageEvent) ClearActorResource() { + x.ActorResource = nil +} + +type UsageEvent_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + TargetResource *Resource + ActorResource *Resource +} + +func (b0 UsageEvent_builder) Build() *UsageEvent { + m0 := &UsageEvent{} + b, x := &b0, m0 + _, _ = b, x + x.TargetResource = b.TargetResource + x.ActorResource = b.ActorResource + return m0 +} + // Unrelated to this effort, but valuable for other projects type GrantEvent struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Grant *Grant `protobuf:"bytes,1,opt,name=grant,proto3" json:"grant,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -543,11 +981,6 @@ func (x *GrantEvent) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrantEvent.ProtoReflect.Descriptor instead. -func (*GrantEvent) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{6} -} - func (x *GrantEvent) GetGrant() *Grant { if x != nil { return x.Grant @@ -555,8 +988,251 @@ func (x *GrantEvent) GetGrant() *Grant { return nil } +func (x *GrantEvent) SetGrant(v *Grant) { + x.Grant = v +} + +func (x *GrantEvent) HasGrant() bool { + if x == nil { + return false + } + return x.Grant != nil +} + +func (x *GrantEvent) ClearGrant() { + x.Grant = nil +} + +type GrantEvent_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Grant *Grant +} + +func (b0 GrantEvent_builder) Build() *GrantEvent { + m0 := &GrantEvent{} + b, x := &b0, m0 + _, _ = b, x + x.Grant = b.Grant + return m0 +} + +type CreateGrantEvent struct { + state protoimpl.MessageState `protogen:"hybrid.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) +} + +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 +} + +func (x *CreateGrantEvent) SetEntitlement(v *Entitlement) { + x.Entitlement = v +} + +func (x *CreateGrantEvent) SetPrincipal(v *Resource) { + x.Principal = v +} + +func (x *CreateGrantEvent) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *CreateGrantEvent) HasEntitlement() bool { + if x == nil { + return false + } + return x.Entitlement != nil +} + +func (x *CreateGrantEvent) HasPrincipal() bool { + if x == nil { + return false + } + return x.Principal != nil +} + +func (x *CreateGrantEvent) ClearEntitlement() { + x.Entitlement = nil +} + +func (x *CreateGrantEvent) ClearPrincipal() { + x.Principal = nil +} + +type CreateGrantEvent_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Entitlement *Entitlement + Principal *Resource + Annotations []*anypb.Any +} + +func (b0 CreateGrantEvent_builder) Build() *CreateGrantEvent { + m0 := &CreateGrantEvent{} + b, x := &b0, m0 + _, _ = b, x + x.Entitlement = b.Entitlement + x.Principal = b.Principal + x.Annotations = b.Annotations + return m0 +} + +type CreateRevokeEvent struct { + state protoimpl.MessageState `protogen:"hybrid.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) +} + +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 +} + +func (x *CreateRevokeEvent) SetEntitlement(v *Entitlement) { + x.Entitlement = v +} + +func (x *CreateRevokeEvent) SetPrincipal(v *Resource) { + x.Principal = v +} + +func (x *CreateRevokeEvent) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *CreateRevokeEvent) HasEntitlement() bool { + if x == nil { + return false + } + return x.Entitlement != nil +} + +func (x *CreateRevokeEvent) HasPrincipal() bool { + if x == nil { + return false + } + return x.Principal != nil +} + +func (x *CreateRevokeEvent) ClearEntitlement() { + x.Entitlement = nil +} + +func (x *CreateRevokeEvent) ClearPrincipal() { + x.Principal = nil +} + +type CreateRevokeEvent_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Entitlement *Entitlement + Principal *Resource + Annotations []*anypb.Any +} + +func (b0 CreateRevokeEvent_builder) Build() *CreateRevokeEvent { + m0 := &CreateRevokeEvent{} + b, x := &b0, m0 + _, _ = b, x + x.Entitlement = b.Entitlement + x.Principal = b.Principal + x.Annotations = b.Annotations + return m0 +} + type RevokeEvent struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.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"` unknownFields protoimpl.UnknownFields @@ -565,7 +1241,7 @@ type RevokeEvent struct { func (x *RevokeEvent) Reset() { *x = RevokeEvent{} - mi := &file_c1_connector_v2_event_feed_proto_msgTypes[7] + mi := &file_c1_connector_v2_event_feed_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -577,7 +1253,7 @@ func (x *RevokeEvent) String() string { func (*RevokeEvent) ProtoMessage() {} func (x *RevokeEvent) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_event_feed_proto_msgTypes[7] + mi := &file_c1_connector_v2_event_feed_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -588,11 +1264,6 @@ func (x *RevokeEvent) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RevokeEvent.ProtoReflect.Descriptor instead. -func (*RevokeEvent) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{7} -} - func (x *RevokeEvent) GetEntitlement() *Entitlement { if x != nil { return x.Entitlement @@ -607,9 +1278,55 @@ func (x *RevokeEvent) GetPrincipal() *Resource { return nil } +func (x *RevokeEvent) SetEntitlement(v *Entitlement) { + x.Entitlement = v +} + +func (x *RevokeEvent) SetPrincipal(v *Resource) { + x.Principal = v +} + +func (x *RevokeEvent) HasEntitlement() bool { + if x == nil { + return false + } + return x.Entitlement != nil +} + +func (x *RevokeEvent) HasPrincipal() bool { + if x == nil { + return false + } + return x.Principal != nil +} + +func (x *RevokeEvent) ClearEntitlement() { + x.Entitlement = nil +} + +func (x *RevokeEvent) ClearPrincipal() { + x.Principal = nil +} + +type RevokeEvent_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Entitlement *Entitlement + Principal *Resource +} + +func (b0 RevokeEvent_builder) Build() *RevokeEvent { + m0 := &RevokeEvent{} + b, x := &b0, m0 + _, _ = b, x + x.Entitlement = b.Entitlement + x.Principal = b.Principal + return m0 +} + // generic light weight event indicating a resource was changed type ResourceChangeEvent struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.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 @@ -618,7 +1335,7 @@ type ResourceChangeEvent struct { func (x *ResourceChangeEvent) Reset() { *x = ResourceChangeEvent{} - mi := &file_c1_connector_v2_event_feed_proto_msgTypes[8] + mi := &file_c1_connector_v2_event_feed_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -630,7 +1347,7 @@ func (x *ResourceChangeEvent) String() string { func (*ResourceChangeEvent) ProtoMessage() {} func (x *ResourceChangeEvent) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_event_feed_proto_msgTypes[8] + mi := &file_c1_connector_v2_event_feed_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -641,11 +1358,6 @@ func (x *ResourceChangeEvent) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ResourceChangeEvent.ProtoReflect.Descriptor instead. -func (*ResourceChangeEvent) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{8} -} - func (x *ResourceChangeEvent) GetResourceId() *ResourceId { if x != nil { return x.ResourceId @@ -660,8 +1372,54 @@ func (x *ResourceChangeEvent) GetParentResourceId() *ResourceId { return nil } +func (x *ResourceChangeEvent) SetResourceId(v *ResourceId) { + x.ResourceId = v +} + +func (x *ResourceChangeEvent) SetParentResourceId(v *ResourceId) { + x.ParentResourceId = v +} + +func (x *ResourceChangeEvent) HasResourceId() bool { + if x == nil { + return false + } + return x.ResourceId != nil +} + +func (x *ResourceChangeEvent) HasParentResourceId() bool { + if x == nil { + return false + } + return x.ParentResourceId != nil +} + +func (x *ResourceChangeEvent) ClearResourceId() { + x.ResourceId = nil +} + +func (x *ResourceChangeEvent) ClearParentResourceId() { + x.ParentResourceId = nil +} + +type ResourceChangeEvent_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceId *ResourceId + ParentResourceId *ResourceId +} + +func (b0 ResourceChangeEvent_builder) Build() *ResourceChangeEvent { + m0 := &ResourceChangeEvent{} + b, x := &b0, m0 + _, _ = b, x + x.ResourceId = b.ResourceId + x.ParentResourceId = b.ParentResourceId + return m0 +} + type EventFeedMetadata struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.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"` @@ -671,7 +1429,7 @@ type EventFeedMetadata struct { func (x *EventFeedMetadata) Reset() { *x = EventFeedMetadata{} - mi := &file_c1_connector_v2_event_feed_proto_msgTypes[9] + mi := &file_c1_connector_v2_event_feed_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -683,7 +1441,7 @@ func (x *EventFeedMetadata) String() string { func (*EventFeedMetadata) ProtoMessage() {} func (x *EventFeedMetadata) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_event_feed_proto_msgTypes[9] + mi := &file_c1_connector_v2_event_feed_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -694,11 +1452,6 @@ func (x *EventFeedMetadata) ProtoReflect() protoreflect.Message { 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{9} -} - func (x *EventFeedMetadata) GetId() string { if x != nil { return x.Id @@ -713,175 +1466,109 @@ func (x *EventFeedMetadata) GetSupportedEventTypes() []EventType { return nil } -var File_c1_connector_v2_event_feed_proto protoreflect.FileDescriptor +func (x *EventFeedMetadata) SetId(v string) { + x.Id = v +} -var file_c1_connector_v2_event_feed_proto_rawDesc = string([]byte{ - 0x0a, 0x20, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, - 0x32, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x0f, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x76, 0x32, 0x1a, 0x21, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 0x1a, 0x1f, - 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, 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, - 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 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, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x74, 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, 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, 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, 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, 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, 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, 0x69, 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, 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, -}) +func (x *EventFeedMetadata) SetSupportedEventTypes(v []EventType) { + x.SupportedEventTypes = v +} -var ( - file_c1_connector_v2_event_feed_proto_rawDescOnce sync.Once - file_c1_connector_v2_event_feed_proto_rawDescData []byte -) +type EventFeedMetadata_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. -func file_c1_connector_v2_event_feed_proto_rawDescGZIP() []byte { - file_c1_connector_v2_event_feed_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_event_feed_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_event_feed_proto_rawDesc), len(file_c1_connector_v2_event_feed_proto_rawDesc))) - }) - return file_c1_connector_v2_event_feed_proto_rawDescData + // unique identifier for the event feed + Id string + SupportedEventTypes []EventType +} + +func (b0 EventFeedMetadata_builder) Build() *EventFeedMetadata { + m0 := &EventFeedMetadata{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + x.SupportedEventTypes = b.SupportedEventTypes + return m0 } +var File_c1_connector_v2_event_feed_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_event_feed_proto_rawDesc = "" + + "\n" + + " c1/connector/v2/event_feed.proto\x12\x0fc1.connector.v2\x1a!c1/connector/v2/entitlement.proto\x1a\x1bc1/connector/v2/grant.proto\x1a\x1ec1/connector/v2/resource.proto\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17validate/validate.proto\"\x85\x02\n" + + "\x11ListEventsRequest\x12%\n" + + "\x06cursor\x18\x01 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80 \xd0\x01\x01R\x06cursor\x125\n" + + "\bstart_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\astartAt\x12'\n" + + "\tpage_size\x18\x03 \x01(\rB\n" + + "\xfaB\a*\x05\x18\xfa\x01@\x01R\bpageSize\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x121\n" + + "\revent_feed_id\x18\x05 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\veventFeedId\"\xbe\x01\n" + + "\x12ListEventsResponse\x12.\n" + + "\x06events\x18\x01 \x03(\v2\x16.c1.connector.v2.EventR\x06events\x12%\n" + + "\x06cursor\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80 \xd0\x01\x01R\x06cursor\x12\x19\n" + + "\bhas_more\x18\x03 \x01(\bR\ahasMore\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"O\n" + + "\x15ListEventFeedsRequest\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x88\x01\n" + + "\x16ListEventFeedsResponse\x126\n" + + "\x04list\x18\x01 \x03(\v2\".c1.connector.v2.EventFeedMetadataR\x04list\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xdd\x04\n" + + "\x05Event\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12;\n" + + "\voccurred_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "occurredAt\x12>\n" + + "\vusage_event\x18d \x01(\v2\x1b.c1.connector.v2.UsageEventH\x00R\n" + + "usageEvent\x12>\n" + + "\vgrant_event\x18e \x01(\v2\x1b.c1.connector.v2.GrantEventH\x00R\n" + + "grantEvent\x12A\n" + + "\frevoke_event\x18f \x01(\v2\x1c.c1.connector.v2.RevokeEventH\x00R\vrevokeEvent\x12Z\n" + + "\x15resource_change_event\x18g \x01(\v2$.c1.connector.v2.ResourceChangeEventH\x00R\x13resourceChangeEvent\x12Q\n" + + "\x12create_grant_event\x18h \x01(\v2!.c1.connector.v2.CreateGrantEventH\x00R\x10createGrantEvent\x12T\n" + + "\x13create_revoke_event\x18i \x01(\v2\".c1.connector.v2.CreateRevokeEventH\x00R\x11createRevokeEvent\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotationsB\a\n" + + "\x05event\"\x92\x01\n" + + "\n" + + "UsageEvent\x12B\n" + + "\x0ftarget_resource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\x0etargetResource\x12@\n" + + "\x0eactor_resource\x18\x02 \x01(\v2\x19.c1.connector.v2.ResourceR\ractorResource\":\n" + + "\n" + + "GrantEvent\x12,\n" + + "\x05grant\x18\x01 \x01(\v2\x16.c1.connector.v2.GrantR\x05grant\"\xd7\x01\n" + + "\x10CreateGrantEvent\x12H\n" + + "\ventitlement\x18\x01 \x01(\v2\x1c.c1.connector.v2.EntitlementB\b\xfaB\x05\x8a\x01\x02\x10\x01R\ventitlement\x12A\n" + + "\tprincipal\x18\x02 \x01(\v2\x19.c1.connector.v2.ResourceB\b\xfaB\x05\x8a\x01\x02\x10\x01R\tprincipal\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xd8\x01\n" + + "\x11CreateRevokeEvent\x12H\n" + + "\ventitlement\x18\x01 \x01(\v2\x1c.c1.connector.v2.EntitlementB\b\xfaB\x05\x8a\x01\x02\x10\x01R\ventitlement\x12A\n" + + "\tprincipal\x18\x02 \x01(\v2\x19.c1.connector.v2.ResourceB\b\xfaB\x05\x8a\x01\x02\x10\x01R\tprincipal\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x86\x01\n" + + "\vRevokeEvent\x12>\n" + + "\ventitlement\x18\x01 \x01(\v2\x1c.c1.connector.v2.EntitlementR\ventitlement\x127\n" + + "\tprincipal\x18\x02 \x01(\v2\x19.c1.connector.v2.ResourceR\tprincipal\"\xa8\x01\n" + + "\x13ResourceChangeEvent\x12F\n" + + "\vresource_id\x18\x01 \x01(\v2\x1b.c1.connector.v2.ResourceIdB\b\xfaB\x05\x8a\x01\x02\x10\x01R\n" + + "resourceId\x12I\n" + + "\x12parent_resource_id\x18\x02 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\x10parentResourceId\"\x90\x01\n" + + "\x11EventFeedMetadata\x12\x1a\n" + + "\x02id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\x02id\x12_\n" + + "\x15supported_event_types\x18\x02 \x03(\x0e2\x1a.c1.connector.v2.EventTypeB\x0f\xfaB\f\x92\x01\t\x18\x01\"\x05\x82\x01\x02\x10\x01R\x13supportedEventTypes*\xa4\x01\n" + + "\tEventType\x12\x1a\n" + + "\x16EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x14\n" + + "\x10EVENT_TYPE_USAGE\x10\x01\x12\x1e\n" + + "\x1aEVENT_TYPE_RESOURCE_CHANGE\x10\x04\x12\x1b\n" + + "\x17EVENT_TYPE_CREATE_GRANT\x10\x05\x12\x1c\n" + + "\x18EVENT_TYPE_CREATE_REVOKE\x10\x06\"\x04\b\x02\x10\x02\"\x04\b\x03\x10\x032\xc8\x01\n" + + "\fEventService\x12U\n" + + "\n" + + "ListEvents\x12\".c1.connector.v2.ListEventsRequest\x1a#.c1.connector.v2.ListEventsResponse\x12a\n" + + "\x0eListEventFeeds\x12&.c1.connector.v2.ListEventFeedsRequest\x1a'.c1.connector.v2.ListEventFeedsResponseB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + 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, 10) +var file_c1_connector_v2_event_feed_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_c1_connector_v2_event_feed_proto_goTypes = []any{ (EventType)(0), // 0: c1.connector.v2.EventType (*ListEventsRequest)(nil), // 1: c1.connector.v2.ListEventsRequest @@ -891,47 +1578,57 @@ var file_c1_connector_v2_event_feed_proto_goTypes = []any{ (*Event)(nil), // 5: c1.connector.v2.Event (*UsageEvent)(nil), // 6: c1.connector.v2.UsageEvent (*GrantEvent)(nil), // 7: c1.connector.v2.GrantEvent - (*RevokeEvent)(nil), // 8: c1.connector.v2.RevokeEvent - (*ResourceChangeEvent)(nil), // 9: c1.connector.v2.ResourceChangeEvent - (*EventFeedMetadata)(nil), // 10: c1.connector.v2.EventFeedMetadata - (*timestamppb.Timestamp)(nil), // 11: google.protobuf.Timestamp - (*anypb.Any)(nil), // 12: google.protobuf.Any - (*Resource)(nil), // 13: c1.connector.v2.Resource - (*Grant)(nil), // 14: c1.connector.v2.Grant - (*Entitlement)(nil), // 15: c1.connector.v2.Entitlement - (*ResourceId)(nil), // 16: c1.connector.v2.ResourceId + (*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{ - 11, // 0: c1.connector.v2.ListEventsRequest.start_at:type_name -> google.protobuf.Timestamp - 12, // 1: c1.connector.v2.ListEventsRequest.annotations:type_name -> google.protobuf.Any + 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 - 12, // 3: c1.connector.v2.ListEventsResponse.annotations:type_name -> google.protobuf.Any - 12, // 4: c1.connector.v2.ListEventFeedsRequest.annotations:type_name -> google.protobuf.Any - 10, // 5: c1.connector.v2.ListEventFeedsResponse.list:type_name -> c1.connector.v2.EventFeedMetadata - 12, // 6: c1.connector.v2.ListEventFeedsResponse.annotations:type_name -> google.protobuf.Any - 11, // 7: c1.connector.v2.Event.occurred_at:type_name -> google.protobuf.Timestamp + 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 - 8, // 10: c1.connector.v2.Event.revoke_event:type_name -> c1.connector.v2.RevokeEvent - 9, // 11: c1.connector.v2.Event.resource_change_event:type_name -> c1.connector.v2.ResourceChangeEvent - 12, // 12: c1.connector.v2.Event.annotations:type_name -> google.protobuf.Any - 13, // 13: c1.connector.v2.UsageEvent.target_resource:type_name -> c1.connector.v2.Resource - 13, // 14: c1.connector.v2.UsageEvent.actor_resource:type_name -> c1.connector.v2.Resource - 14, // 15: c1.connector.v2.GrantEvent.grant:type_name -> c1.connector.v2.Grant - 15, // 16: c1.connector.v2.RevokeEvent.entitlement:type_name -> c1.connector.v2.Entitlement - 13, // 17: c1.connector.v2.RevokeEvent.principal:type_name -> c1.connector.v2.Resource - 16, // 18: c1.connector.v2.ResourceChangeEvent.resource_id:type_name -> c1.connector.v2.ResourceId - 16, // 19: c1.connector.v2.ResourceChangeEvent.parent_resource_id:type_name -> c1.connector.v2.ResourceId - 0, // 20: c1.connector.v2.EventFeedMetadata.supported_event_types:type_name -> c1.connector.v2.EventType - 1, // 21: c1.connector.v2.EventService.ListEvents:input_type -> c1.connector.v2.ListEventsRequest - 3, // 22: c1.connector.v2.EventService.ListEventFeeds:input_type -> c1.connector.v2.ListEventFeedsRequest - 2, // 23: c1.connector.v2.EventService.ListEvents:output_type -> c1.connector.v2.ListEventsResponse - 4, // 24: c1.connector.v2.EventService.ListEventFeeds:output_type -> c1.connector.v2.ListEventFeedsResponse - 23, // [23:25] is the sub-list for method output_type - 21, // [21:23] is the sub-list for method input_type - 21, // [21:21] is the sub-list for extension type_name - 21, // [21:21] is the sub-list for extension extendee - 0, // [0:21] is the sub-list for field type_name + 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() } @@ -947,6 +1644,8 @@ func file_c1_connector_v2_event_feed_proto_init() { (*Event_GrantEvent)(nil), (*Event_RevokeEvent)(nil), (*Event_ResourceChangeEvent)(nil), + (*Event_CreateGrantEvent)(nil), + (*Event_CreateRevokeEvent)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -954,7 +1653,7 @@ func file_c1_connector_v2_event_feed_proto_init() { 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: 1, - NumMessages: 10, + NumMessages: 12, NumExtensions: 0, NumServices: 1, }, 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 bc384bf6..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 @@ -989,6 +989,88 @@ func (m *Event) validate(all bool) error { } } + 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 } @@ -1355,6 +1437,436 @@ var _ interface { ErrorName() string } = GrantEventValidationError{} +// 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 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 *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, CreateGrantEventValidationError{ + field: "Entitlement", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, CreateGrantEventValidationError{ + 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 CreateGrantEventValidationError{ + field: "Entitlement", + reason: "embedded message failed validation", + cause: err, + } + } + } + + 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, CreateGrantEventValidationError{ + field: "Principal", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, CreateGrantEventValidationError{ + 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 CreateGrantEventValidationError{ + 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, 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 CreateGrantEventMultiError(errors) + } + + return nil +} + +// 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 CreateGrantEventMultiError) 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 CreateGrantEventMultiError) AllErrors() []error { return m } + +// 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 + key bool +} + +// Field function returns field value. +func (e CreateGrantEventValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e CreateGrantEventValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e CreateGrantEventValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e CreateGrantEventValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e CreateGrantEventValidationError) ErrorName() string { return "CreateGrantEventValidationError" } + +// Error satisfies the builtin error interface +func (e CreateGrantEventValidationError) 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 %sCreateGrantEvent.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = CreateGrantEventValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = CreateGrantEventValidationError{} + +// 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 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 +// CreateRevokeEventMultiError, or nil if none found. +func (m *CreateRevokeEvent) ValidateAll() error { + return m.validate(true) +} + +func (m *CreateRevokeEvent) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if m.GetEntitlement() == nil { + err := CreateRevokeEventValidationError{ + 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, CreateRevokeEventValidationError{ + field: "Entitlement", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, CreateRevokeEventValidationError{ + 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 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.GetPrincipal()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + 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, CreateRevokeEventValidationError{ + 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 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 CreateRevokeEventMultiError(errors) + } + + return nil +} + +// 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 CreateRevokeEventMultiError) 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 CreateRevokeEventMultiError) AllErrors() []error { return m } + +// 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 + key bool +} + +// Field function returns field value. +func (e CreateRevokeEventValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e CreateRevokeEventValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e CreateRevokeEventValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e CreateRevokeEventValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e CreateRevokeEventValidationError) ErrorName() string { + return "CreateRevokeEventValidationError" +} + +// Error satisfies the builtin error interface +func (e CreateRevokeEventValidationError) 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 %sCreateRevokeEvent.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +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. diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/event_feed_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/event_feed_protoopaque.pb.go new file mode 100644 index 00000000..6433eddf --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/event_feed_protoopaque.pb.go @@ -0,0 +1,1663 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/event_feed.proto + +//go:build protoopaque + +package v2 + +import ( + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + 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) +) + +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) +} + +type ListEventsRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Cursor string `protobuf:"bytes,1,opt,name=cursor,proto3"` + xxx_hidden_StartAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_at,json=startAt,proto3"` + xxx_hidden_PageSize uint32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3"` + xxx_hidden_EventFeedId string `protobuf:"bytes,5,opt,name=event_feed_id,json=eventFeedId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListEventsRequest) Reset() { + *x = ListEventsRequest{} + mi := &file_c1_connector_v2_event_feed_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListEventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEventsRequest) ProtoMessage() {} + +func (x *ListEventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_event_feed_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) +} + +func (x *ListEventsRequest) GetCursor() string { + if x != nil { + return x.xxx_hidden_Cursor + } + return "" +} + +func (x *ListEventsRequest) GetStartAt() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_StartAt + } + return nil +} + +func (x *ListEventsRequest) GetPageSize() uint32 { + if x != nil { + return x.xxx_hidden_PageSize + } + return 0 +} + +func (x *ListEventsRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ListEventsRequest) GetEventFeedId() string { + if x != nil { + return x.xxx_hidden_EventFeedId + } + return "" +} + +func (x *ListEventsRequest) SetCursor(v string) { + x.xxx_hidden_Cursor = v +} + +func (x *ListEventsRequest) SetStartAt(v *timestamppb.Timestamp) { + x.xxx_hidden_StartAt = v +} + +func (x *ListEventsRequest) SetPageSize(v uint32) { + x.xxx_hidden_PageSize = v +} + +func (x *ListEventsRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *ListEventsRequest) SetEventFeedId(v string) { + x.xxx_hidden_EventFeedId = v +} + +func (x *ListEventsRequest) HasStartAt() bool { + if x == nil { + return false + } + return x.xxx_hidden_StartAt != nil +} + +func (x *ListEventsRequest) ClearStartAt() { + x.xxx_hidden_StartAt = nil +} + +type ListEventsRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Can function like a page token but also can be arbitrary to resume a feed at any point + Cursor string + StartAt *timestamppb.Timestamp + PageSize uint32 + Annotations []*anypb.Any + // Used to specify a specific event feed to list events from. + // If not provided, the connector will use the old event feed. + EventFeedId string +} + +func (b0 ListEventsRequest_builder) Build() *ListEventsRequest { + m0 := &ListEventsRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Cursor = b.Cursor + x.xxx_hidden_StartAt = b.StartAt + x.xxx_hidden_PageSize = b.PageSize + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_EventFeedId = b.EventFeedId + return m0 +} + +type ListEventsResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Events *[]*Event `protobuf:"bytes,1,rep,name=events,proto3"` + xxx_hidden_Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3"` + xxx_hidden_HasMore bool `protobuf:"varint,3,opt,name=has_more,json=hasMore,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListEventsResponse) Reset() { + *x = ListEventsResponse{} + mi := &file_c1_connector_v2_event_feed_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListEventsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEventsResponse) ProtoMessage() {} + +func (x *ListEventsResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_event_feed_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) +} + +func (x *ListEventsResponse) GetEvents() []*Event { + if x != nil { + if x.xxx_hidden_Events != nil { + return *x.xxx_hidden_Events + } + } + return nil +} + +func (x *ListEventsResponse) GetCursor() string { + if x != nil { + return x.xxx_hidden_Cursor + } + return "" +} + +func (x *ListEventsResponse) GetHasMore() bool { + if x != nil { + return x.xxx_hidden_HasMore + } + return false +} + +func (x *ListEventsResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ListEventsResponse) SetEvents(v []*Event) { + x.xxx_hidden_Events = &v +} + +func (x *ListEventsResponse) SetCursor(v string) { + x.xxx_hidden_Cursor = v +} + +func (x *ListEventsResponse) SetHasMore(v bool) { + x.xxx_hidden_HasMore = v +} + +func (x *ListEventsResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type ListEventsResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Events []*Event + Cursor string + HasMore bool + Annotations []*anypb.Any +} + +func (b0 ListEventsResponse_builder) Build() *ListEventsResponse { + m0 := &ListEventsResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Events = &b.Events + x.xxx_hidden_Cursor = b.Cursor + x.xxx_hidden_HasMore = b.HasMore + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type ListEventFeedsRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + 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) +} + +func (x *ListEventFeedsRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ListEventFeedsRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type ListEventFeedsRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 ListEventFeedsRequest_builder) Build() *ListEventFeedsRequest { + m0 := &ListEventFeedsRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type ListEventFeedsResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_List *[]*EventFeedMetadata `protobuf:"bytes,1,rep,name=list,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + 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) +} + +func (x *ListEventFeedsResponse) GetList() []*EventFeedMetadata { + if x != nil { + if x.xxx_hidden_List != nil { + return *x.xxx_hidden_List + } + } + return nil +} + +func (x *ListEventFeedsResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ListEventFeedsResponse) SetList(v []*EventFeedMetadata) { + x.xxx_hidden_List = &v +} + +func (x *ListEventFeedsResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type ListEventFeedsResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + List []*EventFeedMetadata + Annotations []*anypb.Any +} + +func (b0 ListEventFeedsResponse_builder) Build() *ListEventFeedsResponse { + m0 := &ListEventFeedsResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_List = &b.List + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type Event struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + xxx_hidden_OccurredAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=occurred_at,json=occurredAt,proto3"` + xxx_hidden_Event isEvent_Event `protobuf_oneof:"event"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Event) Reset() { + *x = Event{} + mi := &file_c1_connector_v2_event_feed_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Event) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Event) ProtoMessage() {} + +func (x *Event) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_event_feed_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Event) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *Event) GetOccurredAt() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_OccurredAt + } + return nil +} + +func (x *Event) GetUsageEvent() *UsageEvent { + if x != nil { + if x, ok := x.xxx_hidden_Event.(*event_UsageEvent); ok { + return x.UsageEvent + } + } + return nil +} + +func (x *Event) GetGrantEvent() *GrantEvent { + if x != nil { + if x, ok := x.xxx_hidden_Event.(*event_GrantEvent); ok { + return x.GrantEvent + } + } + return nil +} + +func (x *Event) GetRevokeEvent() *RevokeEvent { + if x != nil { + if x, ok := x.xxx_hidden_Event.(*event_RevokeEvent); ok { + return x.RevokeEvent + } + } + return nil +} + +func (x *Event) GetResourceChangeEvent() *ResourceChangeEvent { + if x != nil { + if x, ok := x.xxx_hidden_Event.(*event_ResourceChangeEvent); ok { + return x.ResourceChangeEvent + } + } + return nil +} + +func (x *Event) GetCreateGrantEvent() *CreateGrantEvent { + if x != nil { + if x, ok := x.xxx_hidden_Event.(*event_CreateGrantEvent); ok { + return x.CreateGrantEvent + } + } + return nil +} + +func (x *Event) GetCreateRevokeEvent() *CreateRevokeEvent { + if x != nil { + if x, ok := x.xxx_hidden_Event.(*event_CreateRevokeEvent); ok { + return x.CreateRevokeEvent + } + } + return nil +} + +func (x *Event) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Event) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *Event) SetOccurredAt(v *timestamppb.Timestamp) { + x.xxx_hidden_OccurredAt = v +} + +func (x *Event) SetUsageEvent(v *UsageEvent) { + if v == nil { + x.xxx_hidden_Event = nil + return + } + x.xxx_hidden_Event = &event_UsageEvent{v} +} + +func (x *Event) SetGrantEvent(v *GrantEvent) { + if v == nil { + x.xxx_hidden_Event = nil + return + } + x.xxx_hidden_Event = &event_GrantEvent{v} +} + +func (x *Event) SetRevokeEvent(v *RevokeEvent) { + if v == nil { + x.xxx_hidden_Event = nil + return + } + x.xxx_hidden_Event = &event_RevokeEvent{v} +} + +func (x *Event) SetResourceChangeEvent(v *ResourceChangeEvent) { + if v == nil { + x.xxx_hidden_Event = nil + return + } + x.xxx_hidden_Event = &event_ResourceChangeEvent{v} +} + +func (x *Event) SetCreateGrantEvent(v *CreateGrantEvent) { + if v == nil { + x.xxx_hidden_Event = nil + return + } + x.xxx_hidden_Event = &event_CreateGrantEvent{v} +} + +func (x *Event) SetCreateRevokeEvent(v *CreateRevokeEvent) { + if v == nil { + x.xxx_hidden_Event = nil + return + } + x.xxx_hidden_Event = &event_CreateRevokeEvent{v} +} + +func (x *Event) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *Event) HasOccurredAt() bool { + if x == nil { + return false + } + return x.xxx_hidden_OccurredAt != nil +} + +func (x *Event) HasEvent() bool { + if x == nil { + return false + } + return x.xxx_hidden_Event != nil +} + +func (x *Event) HasUsageEvent() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Event.(*event_UsageEvent) + return ok +} + +func (x *Event) HasGrantEvent() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Event.(*event_GrantEvent) + return ok +} + +func (x *Event) HasRevokeEvent() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Event.(*event_RevokeEvent) + return ok +} + +func (x *Event) HasResourceChangeEvent() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Event.(*event_ResourceChangeEvent) + return ok +} + +func (x *Event) HasCreateGrantEvent() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Event.(*event_CreateGrantEvent) + return ok +} + +func (x *Event) HasCreateRevokeEvent() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Event.(*event_CreateRevokeEvent) + return ok +} + +func (x *Event) ClearOccurredAt() { + x.xxx_hidden_OccurredAt = nil +} + +func (x *Event) ClearEvent() { + x.xxx_hidden_Event = nil +} + +func (x *Event) ClearUsageEvent() { + if _, ok := x.xxx_hidden_Event.(*event_UsageEvent); ok { + x.xxx_hidden_Event = nil + } +} + +func (x *Event) ClearGrantEvent() { + if _, ok := x.xxx_hidden_Event.(*event_GrantEvent); ok { + x.xxx_hidden_Event = nil + } +} + +func (x *Event) ClearRevokeEvent() { + if _, ok := x.xxx_hidden_Event.(*event_RevokeEvent); ok { + x.xxx_hidden_Event = nil + } +} + +func (x *Event) ClearResourceChangeEvent() { + if _, ok := x.xxx_hidden_Event.(*event_ResourceChangeEvent); ok { + x.xxx_hidden_Event = nil + } +} + +func (x *Event) ClearCreateGrantEvent() { + if _, ok := x.xxx_hidden_Event.(*event_CreateGrantEvent); ok { + x.xxx_hidden_Event = nil + } +} + +func (x *Event) ClearCreateRevokeEvent() { + if _, ok := x.xxx_hidden_Event.(*event_CreateRevokeEvent); ok { + x.xxx_hidden_Event = nil + } +} + +const Event_Event_not_set_case case_Event_Event = 0 +const Event_UsageEvent_case case_Event_Event = 100 +const Event_GrantEvent_case case_Event_Event = 101 +const Event_RevokeEvent_case case_Event_Event = 102 +const Event_ResourceChangeEvent_case case_Event_Event = 103 +const Event_CreateGrantEvent_case case_Event_Event = 104 +const Event_CreateRevokeEvent_case case_Event_Event = 105 + +func (x *Event) WhichEvent() case_Event_Event { + if x == nil { + return Event_Event_not_set_case + } + switch x.xxx_hidden_Event.(type) { + case *event_UsageEvent: + return Event_UsageEvent_case + case *event_GrantEvent: + return Event_GrantEvent_case + case *event_RevokeEvent: + return Event_RevokeEvent_case + case *event_ResourceChangeEvent: + return Event_ResourceChangeEvent_case + case *event_CreateGrantEvent: + return Event_CreateGrantEvent_case + case *event_CreateRevokeEvent: + return Event_CreateRevokeEvent_case + default: + return Event_Event_not_set_case + } +} + +type Event_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + OccurredAt *timestamppb.Timestamp + // Each event has structs that will usually be mostly empty. + // Stream consumer must be defensive about what it's reading + + // Fields of oneof xxx_hidden_Event: + UsageEvent *UsageEvent + GrantEvent *GrantEvent + RevokeEvent *RevokeEvent + ResourceChangeEvent *ResourceChangeEvent + CreateGrantEvent *CreateGrantEvent + CreateRevokeEvent *CreateRevokeEvent + // -- end of xxx_hidden_Event + // May contain resources for targets, actor, or items referenced in events + Annotations []*anypb.Any +} + +func (b0 Event_builder) Build() *Event { + m0 := &Event{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + x.xxx_hidden_OccurredAt = b.OccurredAt + if b.UsageEvent != nil { + x.xxx_hidden_Event = &event_UsageEvent{b.UsageEvent} + } + if b.GrantEvent != nil { + x.xxx_hidden_Event = &event_GrantEvent{b.GrantEvent} + } + if b.RevokeEvent != nil { + x.xxx_hidden_Event = &event_RevokeEvent{b.RevokeEvent} + } + if b.ResourceChangeEvent != nil { + x.xxx_hidden_Event = &event_ResourceChangeEvent{b.ResourceChangeEvent} + } + if b.CreateGrantEvent != nil { + x.xxx_hidden_Event = &event_CreateGrantEvent{b.CreateGrantEvent} + } + if b.CreateRevokeEvent != nil { + x.xxx_hidden_Event = &event_CreateRevokeEvent{b.CreateRevokeEvent} + } + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type case_Event_Event protoreflect.FieldNumber + +func (x case_Event_Event) String() string { + md := file_c1_connector_v2_event_feed_proto_msgTypes[4].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isEvent_Event interface { + isEvent_Event() +} + +type event_UsageEvent struct { + UsageEvent *UsageEvent `protobuf:"bytes,100,opt,name=usage_event,json=usageEvent,proto3,oneof"` +} + +type event_GrantEvent struct { + GrantEvent *GrantEvent `protobuf:"bytes,101,opt,name=grant_event,json=grantEvent,proto3,oneof"` +} + +type event_RevokeEvent struct { + RevokeEvent *RevokeEvent `protobuf:"bytes,102,opt,name=revoke_event,json=revokeEvent,proto3,oneof"` +} + +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() {} + +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:"opaque.v1"` + xxx_hidden_TargetResource *Resource `protobuf:"bytes,1,opt,name=target_resource,json=targetResource,proto3"` + xxx_hidden_ActorResource *Resource `protobuf:"bytes,2,opt,name=actor_resource,json=actorResource,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UsageEvent) Reset() { + *x = UsageEvent{} + mi := &file_c1_connector_v2_event_feed_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UsageEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UsageEvent) ProtoMessage() {} + +func (x *UsageEvent) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_event_feed_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *UsageEvent) GetTargetResource() *Resource { + if x != nil { + return x.xxx_hidden_TargetResource + } + return nil +} + +func (x *UsageEvent) GetActorResource() *Resource { + if x != nil { + return x.xxx_hidden_ActorResource + } + return nil +} + +func (x *UsageEvent) SetTargetResource(v *Resource) { + x.xxx_hidden_TargetResource = v +} + +func (x *UsageEvent) SetActorResource(v *Resource) { + x.xxx_hidden_ActorResource = v +} + +func (x *UsageEvent) HasTargetResource() bool { + if x == nil { + return false + } + return x.xxx_hidden_TargetResource != nil +} + +func (x *UsageEvent) HasActorResource() bool { + if x == nil { + return false + } + return x.xxx_hidden_ActorResource != nil +} + +func (x *UsageEvent) ClearTargetResource() { + x.xxx_hidden_TargetResource = nil +} + +func (x *UsageEvent) ClearActorResource() { + x.xxx_hidden_ActorResource = nil +} + +type UsageEvent_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + TargetResource *Resource + ActorResource *Resource +} + +func (b0 UsageEvent_builder) Build() *UsageEvent { + m0 := &UsageEvent{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_TargetResource = b.TargetResource + x.xxx_hidden_ActorResource = b.ActorResource + return m0 +} + +// Unrelated to this effort, but valuable for other projects +type GrantEvent struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Grant *Grant `protobuf:"bytes,1,opt,name=grant,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantEvent) Reset() { + *x = GrantEvent{} + mi := &file_c1_connector_v2_event_feed_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantEvent) ProtoMessage() {} + +func (x *GrantEvent) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_event_feed_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *GrantEvent) GetGrant() *Grant { + if x != nil { + return x.xxx_hidden_Grant + } + return nil +} + +func (x *GrantEvent) SetGrant(v *Grant) { + x.xxx_hidden_Grant = v +} + +func (x *GrantEvent) HasGrant() bool { + if x == nil { + return false + } + return x.xxx_hidden_Grant != nil +} + +func (x *GrantEvent) ClearGrant() { + x.xxx_hidden_Grant = nil +} + +type GrantEvent_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Grant *Grant +} + +func (b0 GrantEvent_builder) Build() *GrantEvent { + m0 := &GrantEvent{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Grant = b.Grant + return m0 +} + +type CreateGrantEvent struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Entitlement *Entitlement `protobuf:"bytes,1,opt,name=entitlement,proto3"` + xxx_hidden_Principal *Resource `protobuf:"bytes,2,opt,name=principal,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + 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) +} + +func (x *CreateGrantEvent) GetEntitlement() *Entitlement { + if x != nil { + return x.xxx_hidden_Entitlement + } + return nil +} + +func (x *CreateGrantEvent) GetPrincipal() *Resource { + if x != nil { + return x.xxx_hidden_Principal + } + return nil +} + +func (x *CreateGrantEvent) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *CreateGrantEvent) SetEntitlement(v *Entitlement) { + x.xxx_hidden_Entitlement = v +} + +func (x *CreateGrantEvent) SetPrincipal(v *Resource) { + x.xxx_hidden_Principal = v +} + +func (x *CreateGrantEvent) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *CreateGrantEvent) HasEntitlement() bool { + if x == nil { + return false + } + return x.xxx_hidden_Entitlement != nil +} + +func (x *CreateGrantEvent) HasPrincipal() bool { + if x == nil { + return false + } + return x.xxx_hidden_Principal != nil +} + +func (x *CreateGrantEvent) ClearEntitlement() { + x.xxx_hidden_Entitlement = nil +} + +func (x *CreateGrantEvent) ClearPrincipal() { + x.xxx_hidden_Principal = nil +} + +type CreateGrantEvent_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Entitlement *Entitlement + Principal *Resource + Annotations []*anypb.Any +} + +func (b0 CreateGrantEvent_builder) Build() *CreateGrantEvent { + m0 := &CreateGrantEvent{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Entitlement = b.Entitlement + x.xxx_hidden_Principal = b.Principal + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type CreateRevokeEvent struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Entitlement *Entitlement `protobuf:"bytes,1,opt,name=entitlement,proto3"` + xxx_hidden_Principal *Resource `protobuf:"bytes,2,opt,name=principal,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + 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) +} + +func (x *CreateRevokeEvent) GetEntitlement() *Entitlement { + if x != nil { + return x.xxx_hidden_Entitlement + } + return nil +} + +func (x *CreateRevokeEvent) GetPrincipal() *Resource { + if x != nil { + return x.xxx_hidden_Principal + } + return nil +} + +func (x *CreateRevokeEvent) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *CreateRevokeEvent) SetEntitlement(v *Entitlement) { + x.xxx_hidden_Entitlement = v +} + +func (x *CreateRevokeEvent) SetPrincipal(v *Resource) { + x.xxx_hidden_Principal = v +} + +func (x *CreateRevokeEvent) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *CreateRevokeEvent) HasEntitlement() bool { + if x == nil { + return false + } + return x.xxx_hidden_Entitlement != nil +} + +func (x *CreateRevokeEvent) HasPrincipal() bool { + if x == nil { + return false + } + return x.xxx_hidden_Principal != nil +} + +func (x *CreateRevokeEvent) ClearEntitlement() { + x.xxx_hidden_Entitlement = nil +} + +func (x *CreateRevokeEvent) ClearPrincipal() { + x.xxx_hidden_Principal = nil +} + +type CreateRevokeEvent_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Entitlement *Entitlement + Principal *Resource + Annotations []*anypb.Any +} + +func (b0 CreateRevokeEvent_builder) Build() *CreateRevokeEvent { + m0 := &CreateRevokeEvent{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Entitlement = b.Entitlement + x.xxx_hidden_Principal = b.Principal + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type RevokeEvent struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Entitlement *Entitlement `protobuf:"bytes,1,opt,name=entitlement,proto3"` + xxx_hidden_Principal *Resource `protobuf:"bytes,2,opt,name=principal,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RevokeEvent) Reset() { + *x = RevokeEvent{} + mi := &file_c1_connector_v2_event_feed_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RevokeEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RevokeEvent) ProtoMessage() {} + +func (x *RevokeEvent) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_event_feed_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *RevokeEvent) GetEntitlement() *Entitlement { + if x != nil { + return x.xxx_hidden_Entitlement + } + return nil +} + +func (x *RevokeEvent) GetPrincipal() *Resource { + if x != nil { + return x.xxx_hidden_Principal + } + return nil +} + +func (x *RevokeEvent) SetEntitlement(v *Entitlement) { + x.xxx_hidden_Entitlement = v +} + +func (x *RevokeEvent) SetPrincipal(v *Resource) { + x.xxx_hidden_Principal = v +} + +func (x *RevokeEvent) HasEntitlement() bool { + if x == nil { + return false + } + return x.xxx_hidden_Entitlement != nil +} + +func (x *RevokeEvent) HasPrincipal() bool { + if x == nil { + return false + } + return x.xxx_hidden_Principal != nil +} + +func (x *RevokeEvent) ClearEntitlement() { + x.xxx_hidden_Entitlement = nil +} + +func (x *RevokeEvent) ClearPrincipal() { + x.xxx_hidden_Principal = nil +} + +type RevokeEvent_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Entitlement *Entitlement + Principal *Resource +} + +func (b0 RevokeEvent_builder) Build() *RevokeEvent { + m0 := &RevokeEvent{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Entitlement = b.Entitlement + x.xxx_hidden_Principal = b.Principal + return m0 +} + +// generic light weight event indicating a resource was changed +type ResourceChangeEvent struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ResourceId *ResourceId `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3"` + xxx_hidden_ParentResourceId *ResourceId `protobuf:"bytes,2,opt,name=parent_resource_id,json=parentResourceId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceChangeEvent) Reset() { + *x = ResourceChangeEvent{} + mi := &file_c1_connector_v2_event_feed_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceChangeEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceChangeEvent) ProtoMessage() {} + +func (x *ResourceChangeEvent) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_event_feed_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ResourceChangeEvent) GetResourceId() *ResourceId { + if x != nil { + return x.xxx_hidden_ResourceId + } + return nil +} + +func (x *ResourceChangeEvent) GetParentResourceId() *ResourceId { + if x != nil { + return x.xxx_hidden_ParentResourceId + } + return nil +} + +func (x *ResourceChangeEvent) SetResourceId(v *ResourceId) { + x.xxx_hidden_ResourceId = v +} + +func (x *ResourceChangeEvent) SetParentResourceId(v *ResourceId) { + x.xxx_hidden_ParentResourceId = v +} + +func (x *ResourceChangeEvent) HasResourceId() bool { + if x == nil { + return false + } + return x.xxx_hidden_ResourceId != nil +} + +func (x *ResourceChangeEvent) HasParentResourceId() bool { + if x == nil { + return false + } + return x.xxx_hidden_ParentResourceId != nil +} + +func (x *ResourceChangeEvent) ClearResourceId() { + x.xxx_hidden_ResourceId = nil +} + +func (x *ResourceChangeEvent) ClearParentResourceId() { + x.xxx_hidden_ParentResourceId = nil +} + +type ResourceChangeEvent_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceId *ResourceId + ParentResourceId *ResourceId +} + +func (b0 ResourceChangeEvent_builder) Build() *ResourceChangeEvent { + m0 := &ResourceChangeEvent{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ResourceId = b.ResourceId + x.xxx_hidden_ParentResourceId = b.ParentResourceId + return m0 +} + +type EventFeedMetadata struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + xxx_hidden_SupportedEventTypes []EventType `protobuf:"varint,2,rep,packed,name=supported_event_types,json=supportedEventTypes,proto3,enum=c1.connector.v2.EventType"` + 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) +} + +func (x *EventFeedMetadata) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *EventFeedMetadata) GetSupportedEventTypes() []EventType { + if x != nil { + return x.xxx_hidden_SupportedEventTypes + } + return nil +} + +func (x *EventFeedMetadata) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *EventFeedMetadata) SetSupportedEventTypes(v []EventType) { + x.xxx_hidden_SupportedEventTypes = v +} + +type EventFeedMetadata_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // unique identifier for the event feed + Id string + SupportedEventTypes []EventType +} + +func (b0 EventFeedMetadata_builder) Build() *EventFeedMetadata { + m0 := &EventFeedMetadata{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + x.xxx_hidden_SupportedEventTypes = b.SupportedEventTypes + return m0 +} + +var File_c1_connector_v2_event_feed_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_event_feed_proto_rawDesc = "" + + "\n" + + " c1/connector/v2/event_feed.proto\x12\x0fc1.connector.v2\x1a!c1/connector/v2/entitlement.proto\x1a\x1bc1/connector/v2/grant.proto\x1a\x1ec1/connector/v2/resource.proto\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17validate/validate.proto\"\x85\x02\n" + + "\x11ListEventsRequest\x12%\n" + + "\x06cursor\x18\x01 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80 \xd0\x01\x01R\x06cursor\x125\n" + + "\bstart_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\astartAt\x12'\n" + + "\tpage_size\x18\x03 \x01(\rB\n" + + "\xfaB\a*\x05\x18\xfa\x01@\x01R\bpageSize\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x121\n" + + "\revent_feed_id\x18\x05 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\veventFeedId\"\xbe\x01\n" + + "\x12ListEventsResponse\x12.\n" + + "\x06events\x18\x01 \x03(\v2\x16.c1.connector.v2.EventR\x06events\x12%\n" + + "\x06cursor\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80 \xd0\x01\x01R\x06cursor\x12\x19\n" + + "\bhas_more\x18\x03 \x01(\bR\ahasMore\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"O\n" + + "\x15ListEventFeedsRequest\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x88\x01\n" + + "\x16ListEventFeedsResponse\x126\n" + + "\x04list\x18\x01 \x03(\v2\".c1.connector.v2.EventFeedMetadataR\x04list\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xdd\x04\n" + + "\x05Event\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12;\n" + + "\voccurred_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "occurredAt\x12>\n" + + "\vusage_event\x18d \x01(\v2\x1b.c1.connector.v2.UsageEventH\x00R\n" + + "usageEvent\x12>\n" + + "\vgrant_event\x18e \x01(\v2\x1b.c1.connector.v2.GrantEventH\x00R\n" + + "grantEvent\x12A\n" + + "\frevoke_event\x18f \x01(\v2\x1c.c1.connector.v2.RevokeEventH\x00R\vrevokeEvent\x12Z\n" + + "\x15resource_change_event\x18g \x01(\v2$.c1.connector.v2.ResourceChangeEventH\x00R\x13resourceChangeEvent\x12Q\n" + + "\x12create_grant_event\x18h \x01(\v2!.c1.connector.v2.CreateGrantEventH\x00R\x10createGrantEvent\x12T\n" + + "\x13create_revoke_event\x18i \x01(\v2\".c1.connector.v2.CreateRevokeEventH\x00R\x11createRevokeEvent\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotationsB\a\n" + + "\x05event\"\x92\x01\n" + + "\n" + + "UsageEvent\x12B\n" + + "\x0ftarget_resource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\x0etargetResource\x12@\n" + + "\x0eactor_resource\x18\x02 \x01(\v2\x19.c1.connector.v2.ResourceR\ractorResource\":\n" + + "\n" + + "GrantEvent\x12,\n" + + "\x05grant\x18\x01 \x01(\v2\x16.c1.connector.v2.GrantR\x05grant\"\xd7\x01\n" + + "\x10CreateGrantEvent\x12H\n" + + "\ventitlement\x18\x01 \x01(\v2\x1c.c1.connector.v2.EntitlementB\b\xfaB\x05\x8a\x01\x02\x10\x01R\ventitlement\x12A\n" + + "\tprincipal\x18\x02 \x01(\v2\x19.c1.connector.v2.ResourceB\b\xfaB\x05\x8a\x01\x02\x10\x01R\tprincipal\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xd8\x01\n" + + "\x11CreateRevokeEvent\x12H\n" + + "\ventitlement\x18\x01 \x01(\v2\x1c.c1.connector.v2.EntitlementB\b\xfaB\x05\x8a\x01\x02\x10\x01R\ventitlement\x12A\n" + + "\tprincipal\x18\x02 \x01(\v2\x19.c1.connector.v2.ResourceB\b\xfaB\x05\x8a\x01\x02\x10\x01R\tprincipal\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x86\x01\n" + + "\vRevokeEvent\x12>\n" + + "\ventitlement\x18\x01 \x01(\v2\x1c.c1.connector.v2.EntitlementR\ventitlement\x127\n" + + "\tprincipal\x18\x02 \x01(\v2\x19.c1.connector.v2.ResourceR\tprincipal\"\xa8\x01\n" + + "\x13ResourceChangeEvent\x12F\n" + + "\vresource_id\x18\x01 \x01(\v2\x1b.c1.connector.v2.ResourceIdB\b\xfaB\x05\x8a\x01\x02\x10\x01R\n" + + "resourceId\x12I\n" + + "\x12parent_resource_id\x18\x02 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\x10parentResourceId\"\x90\x01\n" + + "\x11EventFeedMetadata\x12\x1a\n" + + "\x02id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\x02id\x12_\n" + + "\x15supported_event_types\x18\x02 \x03(\x0e2\x1a.c1.connector.v2.EventTypeB\x0f\xfaB\f\x92\x01\t\x18\x01\"\x05\x82\x01\x02\x10\x01R\x13supportedEventTypes*\xa4\x01\n" + + "\tEventType\x12\x1a\n" + + "\x16EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x14\n" + + "\x10EVENT_TYPE_USAGE\x10\x01\x12\x1e\n" + + "\x1aEVENT_TYPE_RESOURCE_CHANGE\x10\x04\x12\x1b\n" + + "\x17EVENT_TYPE_CREATE_GRANT\x10\x05\x12\x1c\n" + + "\x18EVENT_TYPE_CREATE_REVOKE\x10\x06\"\x04\b\x02\x10\x02\"\x04\b\x03\x10\x032\xc8\x01\n" + + "\fEventService\x12U\n" + + "\n" + + "ListEvents\x12\".c1.connector.v2.ListEventsRequest\x1a#.c1.connector.v2.ListEventsResponse\x12a\n" + + "\x0eListEventFeeds\x12&.c1.connector.v2.ListEventFeedsRequest\x1a'.c1.connector.v2.ListEventFeedsResponseB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +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{ + (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{ + 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() } +func file_c1_connector_v2_event_feed_proto_init() { + if File_c1_connector_v2_event_feed_proto != nil { + return + } + 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[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: 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 + file_c1_connector_v2_event_feed_proto_goTypes = nil + file_c1_connector_v2_event_feed_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/grant.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/grant.pb.go index 2091c808..485decbe 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/grant.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/grant.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/grant.proto +//go:build !protoopaque + package v2 import ( @@ -12,7 +14,6 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" anypb "google.golang.org/protobuf/types/known/anypb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -24,7 +25,7 @@ const ( ) type GrantSources struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Sources map[string]*GrantSources_GrantSource `protobuf:"bytes,1,rep,name=sources,proto3" json:"sources,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -55,11 +56,6 @@ func (x *GrantSources) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrantSources.ProtoReflect.Descriptor instead. -func (*GrantSources) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_grant_proto_rawDescGZIP(), []int{0} -} - func (x *GrantSources) GetSources() map[string]*GrantSources_GrantSource { if x != nil { return x.Sources @@ -67,8 +63,26 @@ func (x *GrantSources) GetSources() map[string]*GrantSources_GrantSource { return nil } +func (x *GrantSources) SetSources(v map[string]*GrantSources_GrantSource) { + x.Sources = v +} + +type GrantSources_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Sources map[string]*GrantSources_GrantSource +} + +func (b0 GrantSources_builder) Build() *GrantSources { + m0 := &GrantSources{} + b, x := &b0, m0 + _, _ = b, x + x.Sources = b.Sources + return m0 +} + type Grant struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.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"` Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` @@ -103,11 +117,6 @@ func (x *Grant) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Grant.ProtoReflect.Descriptor instead. -func (*Grant) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_grant_proto_rawDescGZIP(), []int{1} -} - func (x *Grant) GetEntitlement() *Entitlement { if x != nil { return x.Entitlement @@ -143,12 +152,88 @@ func (x *Grant) GetAnnotations() []*anypb.Any { return nil } +func (x *Grant) SetEntitlement(v *Entitlement) { + x.Entitlement = v +} + +func (x *Grant) SetPrincipal(v *Resource) { + x.Principal = v +} + +func (x *Grant) SetId(v string) { + x.Id = v +} + +func (x *Grant) SetSources(v *GrantSources) { + x.Sources = v +} + +func (x *Grant) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *Grant) HasEntitlement() bool { + if x == nil { + return false + } + return x.Entitlement != nil +} + +func (x *Grant) HasPrincipal() bool { + if x == nil { + return false + } + return x.Principal != nil +} + +func (x *Grant) HasSources() bool { + if x == nil { + return false + } + return x.Sources != nil +} + +func (x *Grant) ClearEntitlement() { + x.Entitlement = nil +} + +func (x *Grant) ClearPrincipal() { + x.Principal = nil +} + +func (x *Grant) ClearSources() { + x.Sources = nil +} + +type Grant_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Entitlement *Entitlement + Principal *Resource + Id string + Sources *GrantSources + Annotations []*anypb.Any +} + +func (b0 Grant_builder) Build() *Grant { + m0 := &Grant{} + b, x := &b0, m0 + _, _ = b, x + x.Entitlement = b.Entitlement + x.Principal = b.Principal + x.Id = b.Id + x.Sources = b.Sources + x.Annotations = b.Annotations + return m0 +} + type GrantsServiceListGrantsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Resource *Resource `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` PageSize uint32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3" json:"annotations,omitempty"` + ActiveSyncId string `protobuf:"bytes,5,opt,name=active_sync_id,json=activeSyncId,proto3" json:"active_sync_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -178,11 +263,6 @@ func (x *GrantsServiceListGrantsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrantsServiceListGrantsRequest.ProtoReflect.Descriptor instead. -func (*GrantsServiceListGrantsRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_grant_proto_rawDescGZIP(), []int{2} -} - func (x *GrantsServiceListGrantsRequest) GetResource() *Resource { if x != nil { return x.Resource @@ -211,8 +291,68 @@ func (x *GrantsServiceListGrantsRequest) GetAnnotations() []*anypb.Any { return nil } +func (x *GrantsServiceListGrantsRequest) GetActiveSyncId() string { + if x != nil { + return x.ActiveSyncId + } + return "" +} + +func (x *GrantsServiceListGrantsRequest) SetResource(v *Resource) { + x.Resource = v +} + +func (x *GrantsServiceListGrantsRequest) SetPageSize(v uint32) { + x.PageSize = v +} + +func (x *GrantsServiceListGrantsRequest) SetPageToken(v string) { + x.PageToken = v +} + +func (x *GrantsServiceListGrantsRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *GrantsServiceListGrantsRequest) SetActiveSyncId(v string) { + x.ActiveSyncId = v +} + +func (x *GrantsServiceListGrantsRequest) HasResource() bool { + if x == nil { + return false + } + return x.Resource != nil +} + +func (x *GrantsServiceListGrantsRequest) ClearResource() { + x.Resource = nil +} + +type GrantsServiceListGrantsRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resource *Resource + PageSize uint32 + PageToken string + Annotations []*anypb.Any + ActiveSyncId string +} + +func (b0 GrantsServiceListGrantsRequest_builder) Build() *GrantsServiceListGrantsRequest { + m0 := &GrantsServiceListGrantsRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Resource = b.Resource + x.PageSize = b.PageSize + x.PageToken = b.PageToken + x.Annotations = b.Annotations + x.ActiveSyncId = b.ActiveSyncId + return m0 +} + type GrantsServiceListGrantsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` List []*Grant `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` @@ -245,11 +385,6 @@ func (x *GrantsServiceListGrantsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrantsServiceListGrantsResponse.ProtoReflect.Descriptor instead. -func (*GrantsServiceListGrantsResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_grant_proto_rawDescGZIP(), []int{3} -} - func (x *GrantsServiceListGrantsResponse) GetList() []*Grant { if x != nil { return x.List @@ -271,8 +406,38 @@ func (x *GrantsServiceListGrantsResponse) GetAnnotations() []*anypb.Any { return nil } +func (x *GrantsServiceListGrantsResponse) SetList(v []*Grant) { + x.List = v +} + +func (x *GrantsServiceListGrantsResponse) SetNextPageToken(v string) { + x.NextPageToken = v +} + +func (x *GrantsServiceListGrantsResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type GrantsServiceListGrantsResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + List []*Grant + NextPageToken string + Annotations []*anypb.Any +} + +func (b0 GrantsServiceListGrantsResponse_builder) Build() *GrantsServiceListGrantsResponse { + m0 := &GrantsServiceListGrantsResponse{} + b, x := &b0, m0 + _, _ = b, x + x.List = b.List + x.NextPageToken = b.NextPageToken + x.Annotations = b.Annotations + return m0 +} + type GrantManagerServiceGrantRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.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"` @@ -305,11 +470,6 @@ func (x *GrantManagerServiceGrantRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrantManagerServiceGrantRequest.ProtoReflect.Descriptor instead. -func (*GrantManagerServiceGrantRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_grant_proto_rawDescGZIP(), []int{4} -} - func (x *GrantManagerServiceGrantRequest) GetEntitlement() *Entitlement { if x != nil { return x.Entitlement @@ -331,8 +491,60 @@ func (x *GrantManagerServiceGrantRequest) GetAnnotations() []*anypb.Any { return nil } +func (x *GrantManagerServiceGrantRequest) SetEntitlement(v *Entitlement) { + x.Entitlement = v +} + +func (x *GrantManagerServiceGrantRequest) SetPrincipal(v *Resource) { + x.Principal = v +} + +func (x *GrantManagerServiceGrantRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *GrantManagerServiceGrantRequest) HasEntitlement() bool { + if x == nil { + return false + } + return x.Entitlement != nil +} + +func (x *GrantManagerServiceGrantRequest) HasPrincipal() bool { + if x == nil { + return false + } + return x.Principal != nil +} + +func (x *GrantManagerServiceGrantRequest) ClearEntitlement() { + x.Entitlement = nil +} + +func (x *GrantManagerServiceGrantRequest) ClearPrincipal() { + x.Principal = nil +} + +type GrantManagerServiceGrantRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Entitlement *Entitlement + Principal *Resource + Annotations []*anypb.Any +} + +func (b0 GrantManagerServiceGrantRequest_builder) Build() *GrantManagerServiceGrantRequest { + m0 := &GrantManagerServiceGrantRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Entitlement = b.Entitlement + x.Principal = b.Principal + x.Annotations = b.Annotations + return m0 +} + type GrantManagerServiceGrantResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` Grants []*Grant `protobuf:"bytes,2,rep,name=grants,proto3" json:"grants,omitempty"` unknownFields protoimpl.UnknownFields @@ -364,11 +576,6 @@ func (x *GrantManagerServiceGrantResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrantManagerServiceGrantResponse.ProtoReflect.Descriptor instead. -func (*GrantManagerServiceGrantResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_grant_proto_rawDescGZIP(), []int{5} -} - func (x *GrantManagerServiceGrantResponse) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -383,8 +590,32 @@ func (x *GrantManagerServiceGrantResponse) GetGrants() []*Grant { return nil } +func (x *GrantManagerServiceGrantResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *GrantManagerServiceGrantResponse) SetGrants(v []*Grant) { + x.Grants = v +} + +type GrantManagerServiceGrantResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any + Grants []*Grant +} + +func (b0 GrantManagerServiceGrantResponse_builder) Build() *GrantManagerServiceGrantResponse { + m0 := &GrantManagerServiceGrantResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + x.Grants = b.Grants + return m0 +} + type GrantManagerServiceRevokeRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Grant *Grant `protobuf:"bytes,1,opt,name=grant,proto3" json:"grant,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -416,11 +647,6 @@ func (x *GrantManagerServiceRevokeRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrantManagerServiceRevokeRequest.ProtoReflect.Descriptor instead. -func (*GrantManagerServiceRevokeRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_grant_proto_rawDescGZIP(), []int{6} -} - func (x *GrantManagerServiceRevokeRequest) GetGrant() *Grant { if x != nil { return x.Grant @@ -435,8 +661,43 @@ func (x *GrantManagerServiceRevokeRequest) GetAnnotations() []*anypb.Any { return nil } +func (x *GrantManagerServiceRevokeRequest) SetGrant(v *Grant) { + x.Grant = v +} + +func (x *GrantManagerServiceRevokeRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *GrantManagerServiceRevokeRequest) HasGrant() bool { + if x == nil { + return false + } + return x.Grant != nil +} + +func (x *GrantManagerServiceRevokeRequest) ClearGrant() { + x.Grant = nil +} + +type GrantManagerServiceRevokeRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Grant *Grant + Annotations []*anypb.Any +} + +func (b0 GrantManagerServiceRevokeRequest_builder) Build() *GrantManagerServiceRevokeRequest { + m0 := &GrantManagerServiceRevokeRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Grant = b.Grant + x.Annotations = b.Annotations + return m0 +} + type GrantManagerServiceRevokeResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -467,11 +728,6 @@ func (x *GrantManagerServiceRevokeResponse) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use GrantManagerServiceRevokeResponse.ProtoReflect.Descriptor instead. -func (*GrantManagerServiceRevokeResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_grant_proto_rawDescGZIP(), []int{7} -} - func (x *GrantManagerServiceRevokeResponse) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -479,8 +735,26 @@ func (x *GrantManagerServiceRevokeResponse) GetAnnotations() []*anypb.Any { return nil } +func (x *GrantManagerServiceRevokeResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type GrantManagerServiceRevokeResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 GrantManagerServiceRevokeResponse_builder) Build() *GrantManagerServiceRevokeResponse { + m0 := &GrantManagerServiceRevokeResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + return m0 +} + type GrantSources_GrantSource struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -510,163 +784,67 @@ func (x *GrantSources_GrantSource) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrantSources_GrantSource.ProtoReflect.Descriptor instead. -func (*GrantSources_GrantSource) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_grant_proto_rawDescGZIP(), []int{0, 0} +type GrantSources_GrantSource_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + } -var File_c1_connector_v2_grant_proto protoreflect.FileDescriptor +func (b0 GrantSources_GrantSource_builder) Build() *GrantSources_GrantSource { + m0 := &GrantSources_GrantSource{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} -var file_c1_connector_v2_grant_proto_rawDesc = string([]byte{ - 0x0a, 0x1b, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, - 0x32, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x63, - 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x21, - 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x2f, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x1e, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, - 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 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, 0xca, 0x01, 0x0a, 0x0c, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x0d, 0x0a, 0x0b, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x65, 0x0a, 0x0c, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3f, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, - 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0xab, 0x02, 0x0a, 0x05, 0x47, 0x72, 0x61, 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, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, - 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x20, 0x01, 0x28, 0x80, - 0x08, 0x52, 0x02, 0x69, 0x64, 0x12, 0x41, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x00, 0x52, - 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 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, 0xf1, 0x01, 0x0a, 0x1e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x3f, 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, - 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x02, 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, 0x03, 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, 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, 0xbd, 0x01, 0x0a, 0x1f, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, - 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, 0x47, 0x72, 0x61, 0x6e, 0x74, 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, 0xe6, 0x01, 0x0a, 0x1f, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 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, - 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, 0x8a, 0x01, - 0x0a, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 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, 0x12, 0x2e, 0x0a, 0x06, 0x67, 0x72, - 0x61, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 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, 0x06, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x92, 0x01, 0x0a, 0x20, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x36, 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, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, - 0x52, 0x05, 0x67, 0x72, 0x61, 0x6e, 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, - 0x5b, 0x0a, 0x21, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x6b, 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, 0x32, 0x80, 0x01, 0x0a, - 0x0d, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6f, - 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x63, - 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 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, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, - 0xf4, 0x01, 0x0a, 0x13, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6c, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x12, 0x30, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, - 0x76, 0x32, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 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, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x06, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, - 0x31, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, - 0x32, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 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 ( - file_c1_connector_v2_grant_proto_rawDescOnce sync.Once - file_c1_connector_v2_grant_proto_rawDescData []byte -) +var File_c1_connector_v2_grant_proto protoreflect.FileDescriptor -func file_c1_connector_v2_grant_proto_rawDescGZIP() []byte { - file_c1_connector_v2_grant_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_grant_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_grant_proto_rawDesc), len(file_c1_connector_v2_grant_proto_rawDesc))) - }) - return file_c1_connector_v2_grant_proto_rawDescData -} +const file_c1_connector_v2_grant_proto_rawDesc = "" + + "\n" + + "\x1bc1/connector/v2/grant.proto\x12\x0fc1.connector.v2\x1a!c1/connector/v2/entitlement.proto\x1a\x1ec1/connector/v2/resource.proto\x1a\x19google/protobuf/any.proto\x1a\x17validate/validate.proto\"\xca\x01\n" + + "\fGrantSources\x12D\n" + + "\asources\x18\x01 \x03(\v2*.c1.connector.v2.GrantSources.SourcesEntryR\asources\x1a\r\n" + + "\vGrantSource\x1ae\n" + + "\fSourcesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12?\n" + + "\x05value\x18\x02 \x01(\v2).c1.connector.v2.GrantSources.GrantSourceR\x05value:\x028\x01\"\xab\x02\n" + + "\x05Grant\x12H\n" + + "\ventitlement\x18\x01 \x01(\v2\x1c.c1.connector.v2.EntitlementB\b\xfaB\x05\x8a\x01\x02\x10\x01R\ventitlement\x12A\n" + + "\tprincipal\x18\x02 \x01(\v2\x19.c1.connector.v2.ResourceB\b\xfaB\x05\x8a\x01\x02\x10\x01R\tprincipal\x12\x1a\n" + + "\x02id\x18\x03 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\x02id\x12A\n" + + "\asources\x18\x05 \x01(\v2\x1d.c1.connector.v2.GrantSourcesB\b\xfaB\x05\x8a\x01\x02\x10\x00R\asources\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xa6\x02\n" + + "\x1eGrantsServiceListGrantsRequest\x12?\n" + + "\bresource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceB\b\xfaB\x05\x8a\x01\x02\x10\x01R\bresource\x12'\n" + + "\tpage_size\x18\x02 \x01(\rB\n" + + "\xfaB\a*\x05\x18\xfa\x01@\x01R\bpageSize\x12-\n" + + "\n" + + "page_token\x18\x03 \x01(\tB\x0e\xfaB\vr\t \x01(\x80\x80@\xd0\x01\x01R\tpageToken\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x123\n" + + "\x0eactive_sync_id\x18\x05 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\factiveSyncId\"\xbd\x01\n" + + "\x1fGrantsServiceListGrantsResponse\x12*\n" + + "\x04list\x18\x01 \x03(\v2\x16.c1.connector.v2.GrantR\x04list\x126\n" + + "\x0fnext_page_token\x18\x02 \x01(\tB\x0e\xfaB\vr\t \x01(\x80\x80@\xd0\x01\x01R\rnextPageToken\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xe6\x01\n" + + "\x1fGrantManagerServiceGrantRequest\x12H\n" + + "\ventitlement\x18\x01 \x01(\v2\x1c.c1.connector.v2.EntitlementB\b\xfaB\x05\x8a\x01\x02\x10\x01R\ventitlement\x12A\n" + + "\tprincipal\x18\x02 \x01(\v2\x19.c1.connector.v2.ResourceB\b\xfaB\x05\x8a\x01\x02\x10\x01R\tprincipal\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x8a\x01\n" + + " GrantManagerServiceGrantResponse\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12.\n" + + "\x06grants\x18\x02 \x03(\v2\x16.c1.connector.v2.GrantR\x06grants\"\x92\x01\n" + + " GrantManagerServiceRevokeRequest\x126\n" + + "\x05grant\x18\x01 \x01(\v2\x16.c1.connector.v2.GrantB\b\xfaB\x05\x8a\x01\x02\x10\x01R\x05grant\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"[\n" + + "!GrantManagerServiceRevokeResponse\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations2\x80\x01\n" + + "\rGrantsService\x12o\n" + + "\n" + + "ListGrants\x12/.c1.connector.v2.GrantsServiceListGrantsRequest\x1a0.c1.connector.v2.GrantsServiceListGrantsResponse2\xf4\x01\n" + + "\x13GrantManagerService\x12l\n" + + "\x05Grant\x120.c1.connector.v2.GrantManagerServiceGrantRequest\x1a1.c1.connector.v2.GrantManagerServiceGrantResponse\x12o\n" + + "\x06Revoke\x121.c1.connector.v2.GrantManagerServiceRevokeRequest\x1a2.c1.connector.v2.GrantManagerServiceRevokeResponseB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" var file_c1_connector_v2_grant_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_c1_connector_v2_grant_proto_goTypes = []any{ diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/grant.pb.validate.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/grant.pb.validate.go index 7d252857..a66db3e1 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/grant.pb.validate.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/grant.pb.validate.go @@ -558,6 +558,21 @@ func (m *GrantsServiceListGrantsRequest) validate(all bool) error { } + if m.GetActiveSyncId() != "" { + + if l := len(m.GetActiveSyncId()); l < 1 || l > 1024 { + err := GrantsServiceListGrantsRequestValidationError{ + field: "ActiveSyncId", + reason: "value length must be between 1 and 1024 bytes, inclusive", + } + if !all { + return err + } + errors = append(errors, err) + } + + } + if len(errors) > 0 { return GrantsServiceListGrantsRequestMultiError(errors) } diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/grant_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/grant_protoopaque.pb.go new file mode 100644 index 00000000..2aa8d446 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/grant_protoopaque.pb.go @@ -0,0 +1,939 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/grant.proto + +//go:build protoopaque + +package v2 + +import ( + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + reflect "reflect" + 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) +) + +type GrantSources struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Sources map[string]*GrantSources_GrantSource `protobuf:"bytes,1,rep,name=sources,proto3" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantSources) Reset() { + *x = GrantSources{} + mi := &file_c1_connector_v2_grant_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantSources) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantSources) ProtoMessage() {} + +func (x *GrantSources) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_grant_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) +} + +func (x *GrantSources) GetSources() map[string]*GrantSources_GrantSource { + if x != nil { + return x.xxx_hidden_Sources + } + return nil +} + +func (x *GrantSources) SetSources(v map[string]*GrantSources_GrantSource) { + x.xxx_hidden_Sources = v +} + +type GrantSources_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Sources map[string]*GrantSources_GrantSource +} + +func (b0 GrantSources_builder) Build() *GrantSources { + m0 := &GrantSources{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Sources = b.Sources + return m0 +} + +type Grant struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Entitlement *Entitlement `protobuf:"bytes,1,opt,name=entitlement,proto3"` + xxx_hidden_Principal *Resource `protobuf:"bytes,2,opt,name=principal,proto3"` + xxx_hidden_Id string `protobuf:"bytes,3,opt,name=id,proto3"` + xxx_hidden_Sources *GrantSources `protobuf:"bytes,5,opt,name=sources,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Grant) Reset() { + *x = Grant{} + mi := &file_c1_connector_v2_grant_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Grant) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Grant) ProtoMessage() {} + +func (x *Grant) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_grant_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) +} + +func (x *Grant) GetEntitlement() *Entitlement { + if x != nil { + return x.xxx_hidden_Entitlement + } + return nil +} + +func (x *Grant) GetPrincipal() *Resource { + if x != nil { + return x.xxx_hidden_Principal + } + return nil +} + +func (x *Grant) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *Grant) GetSources() *GrantSources { + if x != nil { + return x.xxx_hidden_Sources + } + return nil +} + +func (x *Grant) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Grant) SetEntitlement(v *Entitlement) { + x.xxx_hidden_Entitlement = v +} + +func (x *Grant) SetPrincipal(v *Resource) { + x.xxx_hidden_Principal = v +} + +func (x *Grant) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *Grant) SetSources(v *GrantSources) { + x.xxx_hidden_Sources = v +} + +func (x *Grant) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *Grant) HasEntitlement() bool { + if x == nil { + return false + } + return x.xxx_hidden_Entitlement != nil +} + +func (x *Grant) HasPrincipal() bool { + if x == nil { + return false + } + return x.xxx_hidden_Principal != nil +} + +func (x *Grant) HasSources() bool { + if x == nil { + return false + } + return x.xxx_hidden_Sources != nil +} + +func (x *Grant) ClearEntitlement() { + x.xxx_hidden_Entitlement = nil +} + +func (x *Grant) ClearPrincipal() { + x.xxx_hidden_Principal = nil +} + +func (x *Grant) ClearSources() { + x.xxx_hidden_Sources = nil +} + +type Grant_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Entitlement *Entitlement + Principal *Resource + Id string + Sources *GrantSources + Annotations []*anypb.Any +} + +func (b0 Grant_builder) Build() *Grant { + m0 := &Grant{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Entitlement = b.Entitlement + x.xxx_hidden_Principal = b.Principal + x.xxx_hidden_Id = b.Id + x.xxx_hidden_Sources = b.Sources + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type GrantsServiceListGrantsRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Resource *Resource `protobuf:"bytes,1,opt,name=resource,proto3"` + xxx_hidden_PageSize uint32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3"` + xxx_hidden_PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3"` + xxx_hidden_ActiveSyncId string `protobuf:"bytes,5,opt,name=active_sync_id,json=activeSyncId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantsServiceListGrantsRequest) Reset() { + *x = GrantsServiceListGrantsRequest{} + mi := &file_c1_connector_v2_grant_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantsServiceListGrantsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantsServiceListGrantsRequest) ProtoMessage() {} + +func (x *GrantsServiceListGrantsRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_grant_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) +} + +func (x *GrantsServiceListGrantsRequest) GetResource() *Resource { + if x != nil { + return x.xxx_hidden_Resource + } + return nil +} + +func (x *GrantsServiceListGrantsRequest) GetPageSize() uint32 { + if x != nil { + return x.xxx_hidden_PageSize + } + return 0 +} + +func (x *GrantsServiceListGrantsRequest) GetPageToken() string { + if x != nil { + return x.xxx_hidden_PageToken + } + return "" +} + +func (x *GrantsServiceListGrantsRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *GrantsServiceListGrantsRequest) GetActiveSyncId() string { + if x != nil { + return x.xxx_hidden_ActiveSyncId + } + return "" +} + +func (x *GrantsServiceListGrantsRequest) SetResource(v *Resource) { + x.xxx_hidden_Resource = v +} + +func (x *GrantsServiceListGrantsRequest) SetPageSize(v uint32) { + x.xxx_hidden_PageSize = v +} + +func (x *GrantsServiceListGrantsRequest) SetPageToken(v string) { + x.xxx_hidden_PageToken = v +} + +func (x *GrantsServiceListGrantsRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *GrantsServiceListGrantsRequest) SetActiveSyncId(v string) { + x.xxx_hidden_ActiveSyncId = v +} + +func (x *GrantsServiceListGrantsRequest) HasResource() bool { + if x == nil { + return false + } + return x.xxx_hidden_Resource != nil +} + +func (x *GrantsServiceListGrantsRequest) ClearResource() { + x.xxx_hidden_Resource = nil +} + +type GrantsServiceListGrantsRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resource *Resource + PageSize uint32 + PageToken string + Annotations []*anypb.Any + ActiveSyncId string +} + +func (b0 GrantsServiceListGrantsRequest_builder) Build() *GrantsServiceListGrantsRequest { + m0 := &GrantsServiceListGrantsRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Resource = b.Resource + x.xxx_hidden_PageSize = b.PageSize + x.xxx_hidden_PageToken = b.PageToken + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_ActiveSyncId = b.ActiveSyncId + return m0 +} + +type GrantsServiceListGrantsResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_List *[]*Grant `protobuf:"bytes,1,rep,name=list,proto3"` + xxx_hidden_NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantsServiceListGrantsResponse) Reset() { + *x = GrantsServiceListGrantsResponse{} + mi := &file_c1_connector_v2_grant_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantsServiceListGrantsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantsServiceListGrantsResponse) ProtoMessage() {} + +func (x *GrantsServiceListGrantsResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_grant_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) +} + +func (x *GrantsServiceListGrantsResponse) GetList() []*Grant { + if x != nil { + if x.xxx_hidden_List != nil { + return *x.xxx_hidden_List + } + } + return nil +} + +func (x *GrantsServiceListGrantsResponse) GetNextPageToken() string { + if x != nil { + return x.xxx_hidden_NextPageToken + } + return "" +} + +func (x *GrantsServiceListGrantsResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *GrantsServiceListGrantsResponse) SetList(v []*Grant) { + x.xxx_hidden_List = &v +} + +func (x *GrantsServiceListGrantsResponse) SetNextPageToken(v string) { + x.xxx_hidden_NextPageToken = v +} + +func (x *GrantsServiceListGrantsResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type GrantsServiceListGrantsResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + List []*Grant + NextPageToken string + Annotations []*anypb.Any +} + +func (b0 GrantsServiceListGrantsResponse_builder) Build() *GrantsServiceListGrantsResponse { + m0 := &GrantsServiceListGrantsResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_List = &b.List + x.xxx_hidden_NextPageToken = b.NextPageToken + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type GrantManagerServiceGrantRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Entitlement *Entitlement `protobuf:"bytes,1,opt,name=entitlement,proto3"` + xxx_hidden_Principal *Resource `protobuf:"bytes,2,opt,name=principal,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantManagerServiceGrantRequest) Reset() { + *x = GrantManagerServiceGrantRequest{} + mi := &file_c1_connector_v2_grant_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantManagerServiceGrantRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantManagerServiceGrantRequest) ProtoMessage() {} + +func (x *GrantManagerServiceGrantRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_grant_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *GrantManagerServiceGrantRequest) GetEntitlement() *Entitlement { + if x != nil { + return x.xxx_hidden_Entitlement + } + return nil +} + +func (x *GrantManagerServiceGrantRequest) GetPrincipal() *Resource { + if x != nil { + return x.xxx_hidden_Principal + } + return nil +} + +func (x *GrantManagerServiceGrantRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *GrantManagerServiceGrantRequest) SetEntitlement(v *Entitlement) { + x.xxx_hidden_Entitlement = v +} + +func (x *GrantManagerServiceGrantRequest) SetPrincipal(v *Resource) { + x.xxx_hidden_Principal = v +} + +func (x *GrantManagerServiceGrantRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *GrantManagerServiceGrantRequest) HasEntitlement() bool { + if x == nil { + return false + } + return x.xxx_hidden_Entitlement != nil +} + +func (x *GrantManagerServiceGrantRequest) HasPrincipal() bool { + if x == nil { + return false + } + return x.xxx_hidden_Principal != nil +} + +func (x *GrantManagerServiceGrantRequest) ClearEntitlement() { + x.xxx_hidden_Entitlement = nil +} + +func (x *GrantManagerServiceGrantRequest) ClearPrincipal() { + x.xxx_hidden_Principal = nil +} + +type GrantManagerServiceGrantRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Entitlement *Entitlement + Principal *Resource + Annotations []*anypb.Any +} + +func (b0 GrantManagerServiceGrantRequest_builder) Build() *GrantManagerServiceGrantRequest { + m0 := &GrantManagerServiceGrantRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Entitlement = b.Entitlement + x.xxx_hidden_Principal = b.Principal + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type GrantManagerServiceGrantResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + xxx_hidden_Grants *[]*Grant `protobuf:"bytes,2,rep,name=grants,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantManagerServiceGrantResponse) Reset() { + *x = GrantManagerServiceGrantResponse{} + mi := &file_c1_connector_v2_grant_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantManagerServiceGrantResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantManagerServiceGrantResponse) ProtoMessage() {} + +func (x *GrantManagerServiceGrantResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_grant_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *GrantManagerServiceGrantResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *GrantManagerServiceGrantResponse) GetGrants() []*Grant { + if x != nil { + if x.xxx_hidden_Grants != nil { + return *x.xxx_hidden_Grants + } + } + return nil +} + +func (x *GrantManagerServiceGrantResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *GrantManagerServiceGrantResponse) SetGrants(v []*Grant) { + x.xxx_hidden_Grants = &v +} + +type GrantManagerServiceGrantResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any + Grants []*Grant +} + +func (b0 GrantManagerServiceGrantResponse_builder) Build() *GrantManagerServiceGrantResponse { + m0 := &GrantManagerServiceGrantResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_Grants = &b.Grants + return m0 +} + +type GrantManagerServiceRevokeRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Grant *Grant `protobuf:"bytes,1,opt,name=grant,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantManagerServiceRevokeRequest) Reset() { + *x = GrantManagerServiceRevokeRequest{} + mi := &file_c1_connector_v2_grant_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantManagerServiceRevokeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantManagerServiceRevokeRequest) ProtoMessage() {} + +func (x *GrantManagerServiceRevokeRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_grant_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *GrantManagerServiceRevokeRequest) GetGrant() *Grant { + if x != nil { + return x.xxx_hidden_Grant + } + return nil +} + +func (x *GrantManagerServiceRevokeRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *GrantManagerServiceRevokeRequest) SetGrant(v *Grant) { + x.xxx_hidden_Grant = v +} + +func (x *GrantManagerServiceRevokeRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *GrantManagerServiceRevokeRequest) HasGrant() bool { + if x == nil { + return false + } + return x.xxx_hidden_Grant != nil +} + +func (x *GrantManagerServiceRevokeRequest) ClearGrant() { + x.xxx_hidden_Grant = nil +} + +type GrantManagerServiceRevokeRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Grant *Grant + Annotations []*anypb.Any +} + +func (b0 GrantManagerServiceRevokeRequest_builder) Build() *GrantManagerServiceRevokeRequest { + m0 := &GrantManagerServiceRevokeRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Grant = b.Grant + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type GrantManagerServiceRevokeResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantManagerServiceRevokeResponse) Reset() { + *x = GrantManagerServiceRevokeResponse{} + mi := &file_c1_connector_v2_grant_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantManagerServiceRevokeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantManagerServiceRevokeResponse) ProtoMessage() {} + +func (x *GrantManagerServiceRevokeResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_grant_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) +} + +func (x *GrantManagerServiceRevokeResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *GrantManagerServiceRevokeResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type GrantManagerServiceRevokeResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 GrantManagerServiceRevokeResponse_builder) Build() *GrantManagerServiceRevokeResponse { + m0 := &GrantManagerServiceRevokeResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type GrantSources_GrantSource struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantSources_GrantSource) Reset() { + *x = GrantSources_GrantSource{} + mi := &file_c1_connector_v2_grant_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantSources_GrantSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantSources_GrantSource) ProtoMessage() {} + +func (x *GrantSources_GrantSource) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_grant_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) +} + +type GrantSources_GrantSource_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 GrantSources_GrantSource_builder) Build() *GrantSources_GrantSource { + m0 := &GrantSources_GrantSource{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +var File_c1_connector_v2_grant_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_grant_proto_rawDesc = "" + + "\n" + + "\x1bc1/connector/v2/grant.proto\x12\x0fc1.connector.v2\x1a!c1/connector/v2/entitlement.proto\x1a\x1ec1/connector/v2/resource.proto\x1a\x19google/protobuf/any.proto\x1a\x17validate/validate.proto\"\xca\x01\n" + + "\fGrantSources\x12D\n" + + "\asources\x18\x01 \x03(\v2*.c1.connector.v2.GrantSources.SourcesEntryR\asources\x1a\r\n" + + "\vGrantSource\x1ae\n" + + "\fSourcesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12?\n" + + "\x05value\x18\x02 \x01(\v2).c1.connector.v2.GrantSources.GrantSourceR\x05value:\x028\x01\"\xab\x02\n" + + "\x05Grant\x12H\n" + + "\ventitlement\x18\x01 \x01(\v2\x1c.c1.connector.v2.EntitlementB\b\xfaB\x05\x8a\x01\x02\x10\x01R\ventitlement\x12A\n" + + "\tprincipal\x18\x02 \x01(\v2\x19.c1.connector.v2.ResourceB\b\xfaB\x05\x8a\x01\x02\x10\x01R\tprincipal\x12\x1a\n" + + "\x02id\x18\x03 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\x02id\x12A\n" + + "\asources\x18\x05 \x01(\v2\x1d.c1.connector.v2.GrantSourcesB\b\xfaB\x05\x8a\x01\x02\x10\x00R\asources\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xa6\x02\n" + + "\x1eGrantsServiceListGrantsRequest\x12?\n" + + "\bresource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceB\b\xfaB\x05\x8a\x01\x02\x10\x01R\bresource\x12'\n" + + "\tpage_size\x18\x02 \x01(\rB\n" + + "\xfaB\a*\x05\x18\xfa\x01@\x01R\bpageSize\x12-\n" + + "\n" + + "page_token\x18\x03 \x01(\tB\x0e\xfaB\vr\t \x01(\x80\x80@\xd0\x01\x01R\tpageToken\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x123\n" + + "\x0eactive_sync_id\x18\x05 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\factiveSyncId\"\xbd\x01\n" + + "\x1fGrantsServiceListGrantsResponse\x12*\n" + + "\x04list\x18\x01 \x03(\v2\x16.c1.connector.v2.GrantR\x04list\x126\n" + + "\x0fnext_page_token\x18\x02 \x01(\tB\x0e\xfaB\vr\t \x01(\x80\x80@\xd0\x01\x01R\rnextPageToken\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xe6\x01\n" + + "\x1fGrantManagerServiceGrantRequest\x12H\n" + + "\ventitlement\x18\x01 \x01(\v2\x1c.c1.connector.v2.EntitlementB\b\xfaB\x05\x8a\x01\x02\x10\x01R\ventitlement\x12A\n" + + "\tprincipal\x18\x02 \x01(\v2\x19.c1.connector.v2.ResourceB\b\xfaB\x05\x8a\x01\x02\x10\x01R\tprincipal\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x8a\x01\n" + + " GrantManagerServiceGrantResponse\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12.\n" + + "\x06grants\x18\x02 \x03(\v2\x16.c1.connector.v2.GrantR\x06grants\"\x92\x01\n" + + " GrantManagerServiceRevokeRequest\x126\n" + + "\x05grant\x18\x01 \x01(\v2\x16.c1.connector.v2.GrantB\b\xfaB\x05\x8a\x01\x02\x10\x01R\x05grant\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"[\n" + + "!GrantManagerServiceRevokeResponse\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations2\x80\x01\n" + + "\rGrantsService\x12o\n" + + "\n" + + "ListGrants\x12/.c1.connector.v2.GrantsServiceListGrantsRequest\x1a0.c1.connector.v2.GrantsServiceListGrantsResponse2\xf4\x01\n" + + "\x13GrantManagerService\x12l\n" + + "\x05Grant\x120.c1.connector.v2.GrantManagerServiceGrantRequest\x1a1.c1.connector.v2.GrantManagerServiceGrantResponse\x12o\n" + + "\x06Revoke\x121.c1.connector.v2.GrantManagerServiceRevokeRequest\x1a2.c1.connector.v2.GrantManagerServiceRevokeResponseB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_grant_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_c1_connector_v2_grant_proto_goTypes = []any{ + (*GrantSources)(nil), // 0: c1.connector.v2.GrantSources + (*Grant)(nil), // 1: c1.connector.v2.Grant + (*GrantsServiceListGrantsRequest)(nil), // 2: c1.connector.v2.GrantsServiceListGrantsRequest + (*GrantsServiceListGrantsResponse)(nil), // 3: c1.connector.v2.GrantsServiceListGrantsResponse + (*GrantManagerServiceGrantRequest)(nil), // 4: c1.connector.v2.GrantManagerServiceGrantRequest + (*GrantManagerServiceGrantResponse)(nil), // 5: c1.connector.v2.GrantManagerServiceGrantResponse + (*GrantManagerServiceRevokeRequest)(nil), // 6: c1.connector.v2.GrantManagerServiceRevokeRequest + (*GrantManagerServiceRevokeResponse)(nil), // 7: c1.connector.v2.GrantManagerServiceRevokeResponse + (*GrantSources_GrantSource)(nil), // 8: c1.connector.v2.GrantSources.GrantSource + nil, // 9: c1.connector.v2.GrantSources.SourcesEntry + (*Entitlement)(nil), // 10: c1.connector.v2.Entitlement + (*Resource)(nil), // 11: c1.connector.v2.Resource + (*anypb.Any)(nil), // 12: google.protobuf.Any +} +var file_c1_connector_v2_grant_proto_depIdxs = []int32{ + 9, // 0: c1.connector.v2.GrantSources.sources:type_name -> c1.connector.v2.GrantSources.SourcesEntry + 10, // 1: c1.connector.v2.Grant.entitlement:type_name -> c1.connector.v2.Entitlement + 11, // 2: c1.connector.v2.Grant.principal:type_name -> c1.connector.v2.Resource + 0, // 3: c1.connector.v2.Grant.sources:type_name -> c1.connector.v2.GrantSources + 12, // 4: c1.connector.v2.Grant.annotations:type_name -> google.protobuf.Any + 11, // 5: c1.connector.v2.GrantsServiceListGrantsRequest.resource:type_name -> c1.connector.v2.Resource + 12, // 6: c1.connector.v2.GrantsServiceListGrantsRequest.annotations:type_name -> google.protobuf.Any + 1, // 7: c1.connector.v2.GrantsServiceListGrantsResponse.list:type_name -> c1.connector.v2.Grant + 12, // 8: c1.connector.v2.GrantsServiceListGrantsResponse.annotations:type_name -> google.protobuf.Any + 10, // 9: c1.connector.v2.GrantManagerServiceGrantRequest.entitlement:type_name -> c1.connector.v2.Entitlement + 11, // 10: c1.connector.v2.GrantManagerServiceGrantRequest.principal:type_name -> c1.connector.v2.Resource + 12, // 11: c1.connector.v2.GrantManagerServiceGrantRequest.annotations:type_name -> google.protobuf.Any + 12, // 12: c1.connector.v2.GrantManagerServiceGrantResponse.annotations:type_name -> google.protobuf.Any + 1, // 13: c1.connector.v2.GrantManagerServiceGrantResponse.grants:type_name -> c1.connector.v2.Grant + 1, // 14: c1.connector.v2.GrantManagerServiceRevokeRequest.grant:type_name -> c1.connector.v2.Grant + 12, // 15: c1.connector.v2.GrantManagerServiceRevokeRequest.annotations:type_name -> google.protobuf.Any + 12, // 16: c1.connector.v2.GrantManagerServiceRevokeResponse.annotations:type_name -> google.protobuf.Any + 8, // 17: c1.connector.v2.GrantSources.SourcesEntry.value:type_name -> c1.connector.v2.GrantSources.GrantSource + 2, // 18: c1.connector.v2.GrantsService.ListGrants:input_type -> c1.connector.v2.GrantsServiceListGrantsRequest + 4, // 19: c1.connector.v2.GrantManagerService.Grant:input_type -> c1.connector.v2.GrantManagerServiceGrantRequest + 6, // 20: c1.connector.v2.GrantManagerService.Revoke:input_type -> c1.connector.v2.GrantManagerServiceRevokeRequest + 3, // 21: c1.connector.v2.GrantsService.ListGrants:output_type -> c1.connector.v2.GrantsServiceListGrantsResponse + 5, // 22: c1.connector.v2.GrantManagerService.Grant:output_type -> c1.connector.v2.GrantManagerServiceGrantResponse + 7, // 23: c1.connector.v2.GrantManagerService.Revoke:output_type -> c1.connector.v2.GrantManagerServiceRevokeResponse + 21, // [21:24] is the sub-list for method output_type + 18, // [18:21] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name +} + +func init() { file_c1_connector_v2_grant_proto_init() } +func file_c1_connector_v2_grant_proto_init() { + if File_c1_connector_v2_grant_proto != nil { + return + } + file_c1_connector_v2_entitlement_proto_init() + file_c1_connector_v2_resource_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_connector_v2_grant_proto_rawDesc), len(file_c1_connector_v2_grant_proto_rawDesc)), + NumEnums: 0, + NumMessages: 10, + NumExtensions: 0, + NumServices: 2, + }, + GoTypes: file_c1_connector_v2_grant_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_grant_proto_depIdxs, + MessageInfos: file_c1_connector_v2_grant_proto_msgTypes, + }.Build() + File_c1_connector_v2_grant_proto = out.File + file_c1_connector_v2_grant_proto_goTypes = nil + file_c1_connector_v2_grant_proto_depIdxs = nil +} 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 42bf6b92..f09a6418 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 @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/resource.proto +//go:build !protoopaque + package v2 import ( @@ -13,7 +15,6 @@ import ( anypb "google.golang.org/protobuf/types/known/anypb" structpb "google.golang.org/protobuf/types/known/structpb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -77,11 +78,6 @@ func (x ResourceType_Trait) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use ResourceType_Trait.Descriptor instead. -func (ResourceType_Trait) EnumDescriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{0, 0} -} - // FIXME(mstanbCO): call this something else? Should it just be a bool? Possibly just use an annotation? type Resource_CreationSource int32 @@ -127,13 +123,8 @@ func (x Resource_CreationSource) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use Resource_CreationSource.Descriptor instead. -func (Resource_CreationSource) EnumDescriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{20, 0} -} - type ResourceType struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` Traits []ResourceType_Trait `protobuf:"varint,3,rep,packed,name=traits,proto3,enum=c1.connector.v2.ResourceType_Trait" json:"traits,omitempty"` @@ -169,11 +160,6 @@ func (x *ResourceType) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ResourceType.ProtoReflect.Descriptor instead. -func (*ResourceType) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{0} -} - func (x *ResourceType) GetId() string { if x != nil { return x.Id @@ -216,12 +202,61 @@ func (x *ResourceType) GetSourcedExternally() bool { return false } +func (x *ResourceType) SetId(v string) { + x.Id = v +} + +func (x *ResourceType) SetDisplayName(v string) { + x.DisplayName = v +} + +func (x *ResourceType) SetTraits(v []ResourceType_Trait) { + x.Traits = v +} + +func (x *ResourceType) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *ResourceType) SetDescription(v string) { + x.Description = v +} + +func (x *ResourceType) SetSourcedExternally(v bool) { + x.SourcedExternally = v +} + +type ResourceType_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + DisplayName string + Traits []ResourceType_Trait + Annotations []*anypb.Any + Description string + SourcedExternally bool +} + +func (b0 ResourceType_builder) Build() *ResourceType { + m0 := &ResourceType{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + x.DisplayName = b.DisplayName + x.Traits = b.Traits + x.Annotations = b.Annotations + x.Description = b.Description + x.SourcedExternally = b.SourcedExternally + return m0 +} + type ResourceTypesServiceListResourceTypesRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Parent *Resource `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` PageSize uint32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3" json:"annotations,omitempty"` + ActiveSyncId string `protobuf:"bytes,5,opt,name=active_sync_id,json=activeSyncId,proto3" json:"active_sync_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -251,11 +286,6 @@ func (x *ResourceTypesServiceListResourceTypesRequest) ProtoReflect() protorefle return mi.MessageOf(x) } -// Deprecated: Use ResourceTypesServiceListResourceTypesRequest.ProtoReflect.Descriptor instead. -func (*ResourceTypesServiceListResourceTypesRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{1} -} - func (x *ResourceTypesServiceListResourceTypesRequest) GetParent() *Resource { if x != nil { return x.Parent @@ -284,8 +314,68 @@ func (x *ResourceTypesServiceListResourceTypesRequest) GetAnnotations() []*anypb return nil } +func (x *ResourceTypesServiceListResourceTypesRequest) GetActiveSyncId() string { + if x != nil { + return x.ActiveSyncId + } + return "" +} + +func (x *ResourceTypesServiceListResourceTypesRequest) SetParent(v *Resource) { + x.Parent = v +} + +func (x *ResourceTypesServiceListResourceTypesRequest) SetPageSize(v uint32) { + x.PageSize = v +} + +func (x *ResourceTypesServiceListResourceTypesRequest) SetPageToken(v string) { + x.PageToken = v +} + +func (x *ResourceTypesServiceListResourceTypesRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *ResourceTypesServiceListResourceTypesRequest) SetActiveSyncId(v string) { + x.ActiveSyncId = v +} + +func (x *ResourceTypesServiceListResourceTypesRequest) HasParent() bool { + if x == nil { + return false + } + return x.Parent != nil +} + +func (x *ResourceTypesServiceListResourceTypesRequest) ClearParent() { + x.Parent = nil +} + +type ResourceTypesServiceListResourceTypesRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Parent *Resource + PageSize uint32 + PageToken string + Annotations []*anypb.Any + ActiveSyncId string +} + +func (b0 ResourceTypesServiceListResourceTypesRequest_builder) Build() *ResourceTypesServiceListResourceTypesRequest { + m0 := &ResourceTypesServiceListResourceTypesRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Parent = b.Parent + x.PageSize = b.PageSize + x.PageToken = b.PageToken + x.Annotations = b.Annotations + x.ActiveSyncId = b.ActiveSyncId + return m0 +} + type ResourceTypesServiceListResourceTypesResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` List []*ResourceType `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` @@ -318,11 +408,6 @@ func (x *ResourceTypesServiceListResourceTypesResponse) ProtoReflect() protorefl return mi.MessageOf(x) } -// Deprecated: Use ResourceTypesServiceListResourceTypesResponse.ProtoReflect.Descriptor instead. -func (*ResourceTypesServiceListResourceTypesResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{2} -} - func (x *ResourceTypesServiceListResourceTypesResponse) GetList() []*ResourceType { if x != nil { return x.List @@ -344,8 +429,38 @@ func (x *ResourceTypesServiceListResourceTypesResponse) GetAnnotations() []*anyp return nil } +func (x *ResourceTypesServiceListResourceTypesResponse) SetList(v []*ResourceType) { + x.List = v +} + +func (x *ResourceTypesServiceListResourceTypesResponse) SetNextPageToken(v string) { + x.NextPageToken = v +} + +func (x *ResourceTypesServiceListResourceTypesResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type ResourceTypesServiceListResourceTypesResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + List []*ResourceType + NextPageToken string + Annotations []*anypb.Any +} + +func (b0 ResourceTypesServiceListResourceTypesResponse_builder) Build() *ResourceTypesServiceListResourceTypesResponse { + m0 := &ResourceTypesServiceListResourceTypesResponse{} + b, x := &b0, m0 + _, _ = b, x + x.List = b.List + x.NextPageToken = b.NextPageToken + x.Annotations = b.Annotations + return m0 +} + type CreateResourceRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Resource *Resource `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -376,11 +491,6 @@ func (x *CreateResourceRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateResourceRequest.ProtoReflect.Descriptor instead. -func (*CreateResourceRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{3} -} - func (x *CreateResourceRequest) GetResource() *Resource { if x != nil { return x.Resource @@ -388,8 +498,37 @@ func (x *CreateResourceRequest) GetResource() *Resource { return nil } +func (x *CreateResourceRequest) SetResource(v *Resource) { + x.Resource = v +} + +func (x *CreateResourceRequest) HasResource() bool { + if x == nil { + return false + } + return x.Resource != nil +} + +func (x *CreateResourceRequest) ClearResource() { + x.Resource = nil +} + +type CreateResourceRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resource *Resource +} + +func (b0 CreateResourceRequest_builder) Build() *CreateResourceRequest { + m0 := &CreateResourceRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Resource = b.Resource + return m0 +} + type CreateResourceResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Created *Resource `protobuf:"bytes,1,opt,name=created,proto3" json:"created,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -421,11 +560,6 @@ func (x *CreateResourceResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateResourceResponse.ProtoReflect.Descriptor instead. -func (*CreateResourceResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{4} -} - func (x *CreateResourceResponse) GetCreated() *Resource { if x != nil { return x.Created @@ -440,11 +574,47 @@ func (x *CreateResourceResponse) GetAnnotations() []*anypb.Any { return nil } +func (x *CreateResourceResponse) SetCreated(v *Resource) { + x.Created = v +} + +func (x *CreateResourceResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *CreateResourceResponse) HasCreated() bool { + if x == nil { + return false + } + return x.Created != nil +} + +func (x *CreateResourceResponse) ClearCreated() { + x.Created = nil +} + +type CreateResourceResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Created *Resource + Annotations []*anypb.Any +} + +func (b0 CreateResourceResponse_builder) Build() *CreateResourceResponse { + m0 := &CreateResourceResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Created = b.Created + x.Annotations = b.Annotations + return m0 +} + 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:"hybrid.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() { @@ -472,11 +642,6 @@ func (x *DeleteResourceRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteResourceRequest.ProtoReflect.Descriptor instead. -func (*DeleteResourceRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{5} -} - func (x *DeleteResourceRequest) GetResourceId() *ResourceId { if x != nil { return x.ResourceId @@ -484,8 +649,61 @@ func (x *DeleteResourceRequest) GetResourceId() *ResourceId { return nil } +func (x *DeleteResourceRequest) GetParentResourceId() *ResourceId { + if x != nil { + return x.ParentResourceId + } + return nil +} + +func (x *DeleteResourceRequest) SetResourceId(v *ResourceId) { + x.ResourceId = v +} + +func (x *DeleteResourceRequest) SetParentResourceId(v *ResourceId) { + x.ParentResourceId = v +} + +func (x *DeleteResourceRequest) HasResourceId() bool { + if x == nil { + return false + } + return x.ResourceId != nil +} + +func (x *DeleteResourceRequest) HasParentResourceId() bool { + if x == nil { + return false + } + return x.ParentResourceId != nil +} + +func (x *DeleteResourceRequest) ClearResourceId() { + x.ResourceId = nil +} + +func (x *DeleteResourceRequest) ClearParentResourceId() { + x.ParentResourceId = nil +} + +type DeleteResourceRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceId *ResourceId + ParentResourceId *ResourceId +} + +func (b0 DeleteResourceRequest_builder) Build() *DeleteResourceRequest { + m0 := &DeleteResourceRequest{} + b, x := &b0, m0 + _, _ = b, x + x.ResourceId = b.ResourceId + x.ParentResourceId = b.ParentResourceId + return m0 +} + type DeleteResourceResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -516,11 +734,6 @@ func (x *DeleteResourceResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteResourceResponse.ProtoReflect.Descriptor instead. -func (*DeleteResourceResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{6} -} - func (x *DeleteResourceResponse) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -528,11 +741,30 @@ func (x *DeleteResourceResponse) GetAnnotations() []*anypb.Any { return nil } +func (x *DeleteResourceResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type DeleteResourceResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 DeleteResourceResponse_builder) Build() *DeleteResourceResponse { + m0 := &DeleteResourceResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + return m0 +} + 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:"hybrid.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() { @@ -560,11 +792,6 @@ func (x *DeleteResourceV2Request) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteResourceV2Request.ProtoReflect.Descriptor instead. -func (*DeleteResourceV2Request) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{7} -} - func (x *DeleteResourceV2Request) GetResourceId() *ResourceId { if x != nil { return x.ResourceId @@ -572,8 +799,61 @@ func (x *DeleteResourceV2Request) GetResourceId() *ResourceId { return nil } +func (x *DeleteResourceV2Request) GetParentResourceId() *ResourceId { + if x != nil { + return x.ParentResourceId + } + return nil +} + +func (x *DeleteResourceV2Request) SetResourceId(v *ResourceId) { + x.ResourceId = v +} + +func (x *DeleteResourceV2Request) SetParentResourceId(v *ResourceId) { + x.ParentResourceId = v +} + +func (x *DeleteResourceV2Request) HasResourceId() bool { + if x == nil { + return false + } + return x.ResourceId != nil +} + +func (x *DeleteResourceV2Request) HasParentResourceId() bool { + if x == nil { + return false + } + return x.ParentResourceId != nil +} + +func (x *DeleteResourceV2Request) ClearResourceId() { + x.ResourceId = nil +} + +func (x *DeleteResourceV2Request) ClearParentResourceId() { + x.ParentResourceId = nil +} + +type DeleteResourceV2Request_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceId *ResourceId + ParentResourceId *ResourceId +} + +func (b0 DeleteResourceV2Request_builder) Build() *DeleteResourceV2Request { + m0 := &DeleteResourceV2Request{} + b, x := &b0, m0 + _, _ = b, x + x.ResourceId = b.ResourceId + x.ParentResourceId = b.ParentResourceId + return m0 +} + type DeleteResourceV2Response struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -604,11 +884,6 @@ func (x *DeleteResourceV2Response) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteResourceV2Response.ProtoReflect.Descriptor instead. -func (*DeleteResourceV2Response) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{8} -} - func (x *DeleteResourceV2Response) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -616,8 +891,26 @@ func (x *DeleteResourceV2Response) GetAnnotations() []*anypb.Any { return nil } +func (x *DeleteResourceV2Response) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type DeleteResourceV2Response_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 DeleteResourceV2Response_builder) Build() *DeleteResourceV2Response { + m0 := &DeleteResourceV2Response{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + return m0 +} + type RotateCredentialRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` ResourceId *ResourceId `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` CredentialOptions *CredentialOptions `protobuf:"bytes,2,opt,name=credential_options,json=credentialOptions,proto3" json:"credential_options,omitempty"` EncryptionConfigs []*EncryptionConfig `protobuf:"bytes,3,rep,name=encryption_configs,json=encryptionConfigs,proto3" json:"encryption_configs,omitempty"` @@ -650,11 +943,6 @@ func (x *RotateCredentialRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RotateCredentialRequest.ProtoReflect.Descriptor instead. -func (*RotateCredentialRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{9} -} - func (x *RotateCredentialRequest) GetResourceId() *ResourceId { if x != nil { return x.ResourceId @@ -676,8 +964,60 @@ func (x *RotateCredentialRequest) GetEncryptionConfigs() []*EncryptionConfig { return nil } +func (x *RotateCredentialRequest) SetResourceId(v *ResourceId) { + x.ResourceId = v +} + +func (x *RotateCredentialRequest) SetCredentialOptions(v *CredentialOptions) { + x.CredentialOptions = v +} + +func (x *RotateCredentialRequest) SetEncryptionConfigs(v []*EncryptionConfig) { + x.EncryptionConfigs = v +} + +func (x *RotateCredentialRequest) HasResourceId() bool { + if x == nil { + return false + } + return x.ResourceId != nil +} + +func (x *RotateCredentialRequest) HasCredentialOptions() bool { + if x == nil { + return false + } + return x.CredentialOptions != nil +} + +func (x *RotateCredentialRequest) ClearResourceId() { + x.ResourceId = nil +} + +func (x *RotateCredentialRequest) ClearCredentialOptions() { + x.CredentialOptions = nil +} + +type RotateCredentialRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceId *ResourceId + CredentialOptions *CredentialOptions + EncryptionConfigs []*EncryptionConfig +} + +func (b0 RotateCredentialRequest_builder) Build() *RotateCredentialRequest { + m0 := &RotateCredentialRequest{} + b, x := &b0, m0 + _, _ = b, x + x.ResourceId = b.ResourceId + x.CredentialOptions = b.CredentialOptions + x.EncryptionConfigs = b.EncryptionConfigs + return m0 +} + type RotateCredentialResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` EncryptedData []*EncryptedData `protobuf:"bytes,1,rep,name=encrypted_data,json=encryptedData,proto3" json:"encrypted_data,omitempty"` ResourceId *ResourceId `protobuf:"bytes,2,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` @@ -710,11 +1050,6 @@ func (x *RotateCredentialResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RotateCredentialResponse.ProtoReflect.Descriptor instead. -func (*RotateCredentialResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{10} -} - func (x *RotateCredentialResponse) GetEncryptedData() []*EncryptedData { if x != nil { return x.EncryptedData @@ -736,8 +1071,49 @@ func (x *RotateCredentialResponse) GetAnnotations() []*anypb.Any { return nil } +func (x *RotateCredentialResponse) SetEncryptedData(v []*EncryptedData) { + x.EncryptedData = v +} + +func (x *RotateCredentialResponse) SetResourceId(v *ResourceId) { + x.ResourceId = v +} + +func (x *RotateCredentialResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *RotateCredentialResponse) HasResourceId() bool { + if x == nil { + return false + } + return x.ResourceId != nil +} + +func (x *RotateCredentialResponse) ClearResourceId() { + x.ResourceId = nil +} + +type RotateCredentialResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + EncryptedData []*EncryptedData + ResourceId *ResourceId + Annotations []*anypb.Any +} + +func (b0 RotateCredentialResponse_builder) Build() *RotateCredentialResponse { + m0 := &RotateCredentialResponse{} + b, x := &b0, m0 + _, _ = b, x + x.EncryptedData = b.EncryptedData + x.ResourceId = b.ResourceId + x.Annotations = b.Annotations + return m0 +} + type AccountInfo struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Emails []*AccountInfo_Email `protobuf:"bytes,1,rep,name=emails,proto3" json:"emails,omitempty"` // The user's login Login string `protobuf:"bytes,2,opt,name=login,proto3" json:"login,omitempty"` @@ -773,11 +1149,6 @@ func (x *AccountInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AccountInfo.ProtoReflect.Descriptor instead. -func (*AccountInfo) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{11} -} - func (x *AccountInfo) GetEmails() []*AccountInfo_Email { if x != nil { return x.Emails @@ -806,16 +1177,67 @@ func (x *AccountInfo) GetProfile() *structpb.Struct { return nil } +func (x *AccountInfo) SetEmails(v []*AccountInfo_Email) { + x.Emails = v +} + +func (x *AccountInfo) SetLogin(v string) { + x.Login = v +} + +func (x *AccountInfo) SetLoginAliases(v []string) { + x.LoginAliases = v +} + +func (x *AccountInfo) SetProfile(v *structpb.Struct) { + x.Profile = v +} + +func (x *AccountInfo) HasProfile() bool { + if x == nil { + return false + } + return x.Profile != nil +} + +func (x *AccountInfo) ClearProfile() { + x.Profile = nil +} + +type AccountInfo_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Emails []*AccountInfo_Email + // The user's login + Login string + // Any additional login aliases for the user + LoginAliases []string + Profile *structpb.Struct +} + +func (b0 AccountInfo_builder) Build() *AccountInfo { + m0 := &AccountInfo{} + b, x := &b0, m0 + _, _ = b, x + x.Emails = b.Emails + x.Login = b.Login + x.LoginAliases = b.LoginAliases + x.Profile = b.Profile + return m0 +} + type CredentialOptions struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` // Types that are valid to be assigned to Options: // // *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() { @@ -843,11 +1265,6 @@ func (x *CredentialOptions) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CredentialOptions.ProtoReflect.Descriptor instead. -func (*CredentialOptions) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{12} -} - func (x *CredentialOptions) GetOptions() isCredentialOptions_Options { if x != nil { return x.Options @@ -882,12 +1299,197 @@ func (x *CredentialOptions) GetSso() *CredentialOptions_SSO { return nil } -type isCredentialOptions_Options interface { - isCredentialOptions_Options() +func (x *CredentialOptions) GetEncryptedPassword() *CredentialOptions_EncryptedPassword { + if x != nil { + if x, ok := x.Options.(*CredentialOptions_EncryptedPassword_); ok { + return x.EncryptedPassword + } + } + return nil } -type CredentialOptions_RandomPassword_ struct { - RandomPassword *CredentialOptions_RandomPassword `protobuf:"bytes,100,opt,name=random_password,json=randomPassword,proto3,oneof"` +func (x *CredentialOptions) GetForceChangeAtNextLogin() bool { + if x != nil { + return x.ForceChangeAtNextLogin + } + return false +} + +func (x *CredentialOptions) SetRandomPassword(v *CredentialOptions_RandomPassword) { + if v == nil { + x.Options = nil + return + } + x.Options = &CredentialOptions_RandomPassword_{v} +} + +func (x *CredentialOptions) SetNoPassword(v *CredentialOptions_NoPassword) { + if v == nil { + x.Options = nil + return + } + x.Options = &CredentialOptions_NoPassword_{v} +} + +func (x *CredentialOptions) SetSso(v *CredentialOptions_SSO) { + if v == nil { + x.Options = nil + return + } + x.Options = &CredentialOptions_Sso{v} +} + +func (x *CredentialOptions) SetEncryptedPassword(v *CredentialOptions_EncryptedPassword) { + if v == nil { + x.Options = nil + return + } + x.Options = &CredentialOptions_EncryptedPassword_{v} +} + +func (x *CredentialOptions) SetForceChangeAtNextLogin(v bool) { + x.ForceChangeAtNextLogin = v +} + +func (x *CredentialOptions) HasOptions() bool { + if x == nil { + return false + } + return x.Options != nil +} + +func (x *CredentialOptions) HasRandomPassword() bool { + if x == nil { + return false + } + _, ok := x.Options.(*CredentialOptions_RandomPassword_) + return ok +} + +func (x *CredentialOptions) HasNoPassword() bool { + if x == nil { + return false + } + _, ok := x.Options.(*CredentialOptions_NoPassword_) + return ok +} + +func (x *CredentialOptions) HasSso() bool { + if x == nil { + return false + } + _, ok := x.Options.(*CredentialOptions_Sso) + return ok +} + +func (x *CredentialOptions) HasEncryptedPassword() bool { + if x == nil { + return false + } + _, ok := x.Options.(*CredentialOptions_EncryptedPassword_) + return ok +} + +func (x *CredentialOptions) ClearOptions() { + x.Options = nil +} + +func (x *CredentialOptions) ClearRandomPassword() { + if _, ok := x.Options.(*CredentialOptions_RandomPassword_); ok { + x.Options = nil + } +} + +func (x *CredentialOptions) ClearNoPassword() { + if _, ok := x.Options.(*CredentialOptions_NoPassword_); ok { + x.Options = nil + } +} + +func (x *CredentialOptions) ClearSso() { + if _, ok := x.Options.(*CredentialOptions_Sso); ok { + x.Options = nil + } +} + +func (x *CredentialOptions) ClearEncryptedPassword() { + if _, ok := x.Options.(*CredentialOptions_EncryptedPassword_); ok { + x.Options = nil + } +} + +const CredentialOptions_Options_not_set_case case_CredentialOptions_Options = 0 +const CredentialOptions_RandomPassword_case case_CredentialOptions_Options = 100 +const CredentialOptions_NoPassword_case case_CredentialOptions_Options = 101 +const CredentialOptions_Sso_case case_CredentialOptions_Options = 102 +const CredentialOptions_EncryptedPassword_case case_CredentialOptions_Options = 103 + +func (x *CredentialOptions) WhichOptions() case_CredentialOptions_Options { + if x == nil { + return CredentialOptions_Options_not_set_case + } + switch x.Options.(type) { + case *CredentialOptions_RandomPassword_: + return CredentialOptions_RandomPassword_case + case *CredentialOptions_NoPassword_: + return CredentialOptions_NoPassword_case + case *CredentialOptions_Sso: + return CredentialOptions_Sso_case + case *CredentialOptions_EncryptedPassword_: + return CredentialOptions_EncryptedPassword_case + default: + return CredentialOptions_Options_not_set_case + } +} + +type CredentialOptions_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Fields of oneof Options: + RandomPassword *CredentialOptions_RandomPassword + NoPassword *CredentialOptions_NoPassword + Sso *CredentialOptions_SSO + EncryptedPassword *CredentialOptions_EncryptedPassword + // -- end of Options + ForceChangeAtNextLogin bool +} + +func (b0 CredentialOptions_builder) Build() *CredentialOptions { + m0 := &CredentialOptions{} + b, x := &b0, m0 + _, _ = b, x + if b.RandomPassword != nil { + x.Options = &CredentialOptions_RandomPassword_{b.RandomPassword} + } + if b.NoPassword != nil { + x.Options = &CredentialOptions_NoPassword_{b.NoPassword} + } + if b.Sso != nil { + x.Options = &CredentialOptions_Sso{b.Sso} + } + if b.EncryptedPassword != nil { + x.Options = &CredentialOptions_EncryptedPassword_{b.EncryptedPassword} + } + x.ForceChangeAtNextLogin = b.ForceChangeAtNextLogin + return m0 +} + +type case_CredentialOptions_Options protoreflect.FieldNumber + +func (x case_CredentialOptions_Options) String() string { + md := file_c1_connector_v2_resource_proto_msgTypes[12].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isCredentialOptions_Options interface { + isCredentialOptions_Options() +} + +type CredentialOptions_RandomPassword_ struct { + RandomPassword *CredentialOptions_RandomPassword `protobuf:"bytes,100,opt,name=random_password,json=randomPassword,proto3,oneof"` } type CredentialOptions_NoPassword_ struct { @@ -898,14 +1500,307 @@ 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:"hybrid.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) +} + +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 +} + +func (x *LocalCredentialOptions) SetRandomPassword(v *LocalCredentialOptions_RandomPassword) { + if v == nil { + x.Options = nil + return + } + x.Options = &LocalCredentialOptions_RandomPassword_{v} +} + +func (x *LocalCredentialOptions) SetNoPassword(v *LocalCredentialOptions_NoPassword) { + if v == nil { + x.Options = nil + return + } + x.Options = &LocalCredentialOptions_NoPassword_{v} +} + +func (x *LocalCredentialOptions) SetSso(v *LocalCredentialOptions_SSO) { + if v == nil { + x.Options = nil + return + } + x.Options = &LocalCredentialOptions_Sso{v} +} + +func (x *LocalCredentialOptions) SetPlaintextPassword(v *LocalCredentialOptions_PlaintextPassword) { + if v == nil { + x.Options = nil + return + } + x.Options = &LocalCredentialOptions_PlaintextPassword_{v} +} + +func (x *LocalCredentialOptions) SetForceChangeAtNextLogin(v bool) { + x.ForceChangeAtNextLogin = v +} + +func (x *LocalCredentialOptions) HasOptions() bool { + if x == nil { + return false + } + return x.Options != nil +} + +func (x *LocalCredentialOptions) HasRandomPassword() bool { + if x == nil { + return false + } + _, ok := x.Options.(*LocalCredentialOptions_RandomPassword_) + return ok +} + +func (x *LocalCredentialOptions) HasNoPassword() bool { + if x == nil { + return false + } + _, ok := x.Options.(*LocalCredentialOptions_NoPassword_) + return ok +} + +func (x *LocalCredentialOptions) HasSso() bool { + if x == nil { + return false + } + _, ok := x.Options.(*LocalCredentialOptions_Sso) + return ok +} + +func (x *LocalCredentialOptions) HasPlaintextPassword() bool { + if x == nil { + return false + } + _, ok := x.Options.(*LocalCredentialOptions_PlaintextPassword_) + return ok +} + +func (x *LocalCredentialOptions) ClearOptions() { + x.Options = nil +} + +func (x *LocalCredentialOptions) ClearRandomPassword() { + if _, ok := x.Options.(*LocalCredentialOptions_RandomPassword_); ok { + x.Options = nil + } +} + +func (x *LocalCredentialOptions) ClearNoPassword() { + if _, ok := x.Options.(*LocalCredentialOptions_NoPassword_); ok { + x.Options = nil + } +} + +func (x *LocalCredentialOptions) ClearSso() { + if _, ok := x.Options.(*LocalCredentialOptions_Sso); ok { + x.Options = nil + } +} + +func (x *LocalCredentialOptions) ClearPlaintextPassword() { + if _, ok := x.Options.(*LocalCredentialOptions_PlaintextPassword_); ok { + x.Options = nil + } +} + +const LocalCredentialOptions_Options_not_set_case case_LocalCredentialOptions_Options = 0 +const LocalCredentialOptions_RandomPassword_case case_LocalCredentialOptions_Options = 100 +const LocalCredentialOptions_NoPassword_case case_LocalCredentialOptions_Options = 101 +const LocalCredentialOptions_Sso_case case_LocalCredentialOptions_Options = 102 +const LocalCredentialOptions_PlaintextPassword_case case_LocalCredentialOptions_Options = 103 + +func (x *LocalCredentialOptions) WhichOptions() case_LocalCredentialOptions_Options { + if x == nil { + return LocalCredentialOptions_Options_not_set_case + } + switch x.Options.(type) { + case *LocalCredentialOptions_RandomPassword_: + return LocalCredentialOptions_RandomPassword_case + case *LocalCredentialOptions_NoPassword_: + return LocalCredentialOptions_NoPassword_case + case *LocalCredentialOptions_Sso: + return LocalCredentialOptions_Sso_case + case *LocalCredentialOptions_PlaintextPassword_: + return LocalCredentialOptions_PlaintextPassword_case + default: + return LocalCredentialOptions_Options_not_set_case + } +} + +type LocalCredentialOptions_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Fields of oneof Options: + RandomPassword *LocalCredentialOptions_RandomPassword + NoPassword *LocalCredentialOptions_NoPassword + Sso *LocalCredentialOptions_SSO + PlaintextPassword *LocalCredentialOptions_PlaintextPassword + // -- end of Options + ForceChangeAtNextLogin bool +} + +func (b0 LocalCredentialOptions_builder) Build() *LocalCredentialOptions { + m0 := &LocalCredentialOptions{} + b, x := &b0, m0 + _, _ = b, x + if b.RandomPassword != nil { + x.Options = &LocalCredentialOptions_RandomPassword_{b.RandomPassword} + } + if b.NoPassword != nil { + x.Options = &LocalCredentialOptions_NoPassword_{b.NoPassword} + } + if b.Sso != nil { + x.Options = &LocalCredentialOptions_Sso{b.Sso} + } + if b.PlaintextPassword != nil { + x.Options = &LocalCredentialOptions_PlaintextPassword_{b.PlaintextPassword} + } + x.ForceChangeAtNextLogin = b.ForceChangeAtNextLogin + return m0 +} + +type case_LocalCredentialOptions_Options protoreflect.FieldNumber + +func (x case_LocalCredentialOptions_Options) String() string { + md := file_c1_connector_v2_resource_proto_msgTypes[13].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +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"` + state protoimpl.MessageState `protogen:"hybrid.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 @@ -914,7 +1809,7 @@ type PasswordConstraint struct { func (x *PasswordConstraint) Reset() { *x = PasswordConstraint{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[13] + mi := &file_c1_connector_v2_resource_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -926,7 +1821,7 @@ func (x *PasswordConstraint) String() string { func (*PasswordConstraint) ProtoMessage() {} func (x *PasswordConstraint) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_resource_proto_msgTypes[13] + mi := &file_c1_connector_v2_resource_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -937,11 +1832,6 @@ func (x *PasswordConstraint) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PasswordConstraint.ProtoReflect.Descriptor instead. -func (*PasswordConstraint) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{13} -} - func (x *PasswordConstraint) GetCharSet() string { if x != nil { return x.CharSet @@ -956,8 +1846,32 @@ func (x *PasswordConstraint) GetMinCount() uint32 { return 0 } +func (x *PasswordConstraint) SetCharSet(v string) { + x.CharSet = v +} + +func (x *PasswordConstraint) SetMinCount(v uint32) { + x.MinCount = v +} + +type PasswordConstraint_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + CharSet string + MinCount uint32 +} + +func (b0 PasswordConstraint_builder) Build() *PasswordConstraint { + m0 := &PasswordConstraint{} + b, x := &b0, m0 + _, _ = b, x + x.CharSet = b.CharSet + x.MinCount = b.MinCount + return m0 +} + type CreateAccountRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` AccountInfo *AccountInfo `protobuf:"bytes,1,opt,name=account_info,json=accountInfo,proto3" json:"account_info,omitempty"` CredentialOptions *CredentialOptions `protobuf:"bytes,2,opt,name=credential_options,json=credentialOptions,proto3" json:"credential_options,omitempty"` EncryptionConfigs []*EncryptionConfig `protobuf:"bytes,3,rep,name=encryption_configs,json=encryptionConfigs,proto3" json:"encryption_configs,omitempty"` @@ -967,7 +1881,7 @@ type CreateAccountRequest struct { func (x *CreateAccountRequest) Reset() { *x = CreateAccountRequest{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[14] + mi := &file_c1_connector_v2_resource_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -979,7 +1893,7 @@ func (x *CreateAccountRequest) String() string { func (*CreateAccountRequest) ProtoMessage() {} func (x *CreateAccountRequest) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_resource_proto_msgTypes[14] + mi := &file_c1_connector_v2_resource_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -990,11 +1904,6 @@ func (x *CreateAccountRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateAccountRequest.ProtoReflect.Descriptor instead. -func (*CreateAccountRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{14} -} - func (x *CreateAccountRequest) GetAccountInfo() *AccountInfo { if x != nil { return x.AccountInfo @@ -1016,133 +1925,1008 @@ func (x *CreateAccountRequest) GetEncryptionConfigs() []*EncryptionConfig { return nil } -type CreateAccountResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - // Types that are valid to be assigned to Result: - // - // *CreateAccountResponse_Success - // *CreateAccountResponse_ActionRequired - Result isCreateAccountResponse_Result `protobuf_oneof:"result"` - EncryptedData []*EncryptedData `protobuf:"bytes,2,rep,name=encrypted_data,json=encryptedData,proto3" json:"encrypted_data,omitempty"` - Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache +func (x *CreateAccountRequest) SetAccountInfo(v *AccountInfo) { + x.AccountInfo = v +} + +func (x *CreateAccountRequest) SetCredentialOptions(v *CredentialOptions) { + x.CredentialOptions = v +} + +func (x *CreateAccountRequest) SetEncryptionConfigs(v []*EncryptionConfig) { + x.EncryptionConfigs = v +} + +func (x *CreateAccountRequest) HasAccountInfo() bool { + if x == nil { + return false + } + return x.AccountInfo != nil +} + +func (x *CreateAccountRequest) HasCredentialOptions() bool { + if x == nil { + return false + } + return x.CredentialOptions != nil +} + +func (x *CreateAccountRequest) ClearAccountInfo() { + x.AccountInfo = nil +} + +func (x *CreateAccountRequest) ClearCredentialOptions() { + x.CredentialOptions = nil +} + +type CreateAccountRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + AccountInfo *AccountInfo + CredentialOptions *CredentialOptions + EncryptionConfigs []*EncryptionConfig +} + +func (b0 CreateAccountRequest_builder) Build() *CreateAccountRequest { + m0 := &CreateAccountRequest{} + b, x := &b0, m0 + _, _ = b, x + x.AccountInfo = b.AccountInfo + x.CredentialOptions = b.CredentialOptions + x.EncryptionConfigs = b.EncryptionConfigs + return m0 +} + +type CreateAccountResponse struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // Types that are valid to be assigned to Result: + // + // *CreateAccountResponse_Success + // *CreateAccountResponse_ActionRequired + Result isCreateAccountResponse_Result `protobuf_oneof:"result"` + EncryptedData []*EncryptedData `protobuf:"bytes,2,rep,name=encrypted_data,json=encryptedData,proto3" json:"encrypted_data,omitempty"` + Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateAccountResponse) Reset() { + *x = CreateAccountResponse{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateAccountResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAccountResponse) ProtoMessage() {} + +func (x *CreateAccountResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *CreateAccountResponse) GetResult() isCreateAccountResponse_Result { + if x != nil { + return x.Result + } + return nil +} + +func (x *CreateAccountResponse) GetSuccess() *CreateAccountResponse_SuccessResult { + if x != nil { + if x, ok := x.Result.(*CreateAccountResponse_Success); ok { + return x.Success + } + } + return nil +} + +func (x *CreateAccountResponse) GetActionRequired() *CreateAccountResponse_ActionRequiredResult { + if x != nil { + if x, ok := x.Result.(*CreateAccountResponse_ActionRequired); ok { + return x.ActionRequired + } + } + return nil +} + +func (x *CreateAccountResponse) GetEncryptedData() []*EncryptedData { + if x != nil { + return x.EncryptedData + } + return nil +} + +func (x *CreateAccountResponse) GetAnnotations() []*anypb.Any { + if x != nil { + return x.Annotations + } + return nil +} + +func (x *CreateAccountResponse) SetSuccess(v *CreateAccountResponse_SuccessResult) { + if v == nil { + x.Result = nil + return + } + x.Result = &CreateAccountResponse_Success{v} +} + +func (x *CreateAccountResponse) SetActionRequired(v *CreateAccountResponse_ActionRequiredResult) { + if v == nil { + x.Result = nil + return + } + x.Result = &CreateAccountResponse_ActionRequired{v} +} + +func (x *CreateAccountResponse) SetEncryptedData(v []*EncryptedData) { + x.EncryptedData = v +} + +func (x *CreateAccountResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *CreateAccountResponse) HasResult() bool { + if x == nil { + return false + } + return x.Result != nil +} + +func (x *CreateAccountResponse) HasSuccess() bool { + if x == nil { + return false + } + _, ok := x.Result.(*CreateAccountResponse_Success) + return ok +} + +func (x *CreateAccountResponse) HasActionRequired() bool { + if x == nil { + return false + } + _, ok := x.Result.(*CreateAccountResponse_ActionRequired) + return ok +} + +func (x *CreateAccountResponse) ClearResult() { + x.Result = nil +} + +func (x *CreateAccountResponse) ClearSuccess() { + if _, ok := x.Result.(*CreateAccountResponse_Success); ok { + x.Result = nil + } +} + +func (x *CreateAccountResponse) ClearActionRequired() { + if _, ok := x.Result.(*CreateAccountResponse_ActionRequired); ok { + x.Result = nil + } +} + +const CreateAccountResponse_Result_not_set_case case_CreateAccountResponse_Result = 0 +const CreateAccountResponse_Success_case case_CreateAccountResponse_Result = 100 +const CreateAccountResponse_ActionRequired_case case_CreateAccountResponse_Result = 101 + +func (x *CreateAccountResponse) WhichResult() case_CreateAccountResponse_Result { + if x == nil { + return CreateAccountResponse_Result_not_set_case + } + switch x.Result.(type) { + case *CreateAccountResponse_Success: + return CreateAccountResponse_Success_case + case *CreateAccountResponse_ActionRequired: + return CreateAccountResponse_ActionRequired_case + default: + return CreateAccountResponse_Result_not_set_case + } +} + +type CreateAccountResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Fields of oneof Result: + Success *CreateAccountResponse_SuccessResult + ActionRequired *CreateAccountResponse_ActionRequiredResult + // -- end of Result + EncryptedData []*EncryptedData + Annotations []*anypb.Any +} + +func (b0 CreateAccountResponse_builder) Build() *CreateAccountResponse { + m0 := &CreateAccountResponse{} + b, x := &b0, m0 + _, _ = b, x + if b.Success != nil { + x.Result = &CreateAccountResponse_Success{b.Success} + } + if b.ActionRequired != nil { + x.Result = &CreateAccountResponse_ActionRequired{b.ActionRequired} + } + x.EncryptedData = b.EncryptedData + x.Annotations = b.Annotations + return m0 +} + +type case_CreateAccountResponse_Result protoreflect.FieldNumber + +func (x case_CreateAccountResponse_Result) String() string { + md := file_c1_connector_v2_resource_proto_msgTypes[16].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isCreateAccountResponse_Result interface { + isCreateAccountResponse_Result() +} + +type CreateAccountResponse_Success struct { + Success *CreateAccountResponse_SuccessResult `protobuf:"bytes,100,opt,name=success,proto3,oneof"` +} + +type CreateAccountResponse_ActionRequired struct { + ActionRequired *CreateAccountResponse_ActionRequiredResult `protobuf:"bytes,101,opt,name=action_required,json=actionRequired,proto3,oneof"` +} + +func (*CreateAccountResponse_Success) isCreateAccountResponse_Result() {} + +func (*CreateAccountResponse_ActionRequired) isCreateAccountResponse_Result() {} + +type EncryptedData struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` + // Deprecated: Marked as deprecated in c1/connector/v2/resource.proto. + KeyId string `protobuf:"bytes,2,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + Schema string `protobuf:"bytes,5,opt,name=schema,proto3" json:"schema,omitempty"` // optional + EncryptedBytes []byte `protobuf:"bytes,6,opt,name=encrypted_bytes,json=encryptedBytes,proto3" json:"encrypted_bytes,omitempty"` // if 'schema' is set, this should be JSON. + KeyIds []string `protobuf:"bytes,7,rep,name=key_ids,json=keyIds,proto3" json:"key_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EncryptedData) Reset() { + *x = EncryptedData{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EncryptedData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EncryptedData) ProtoMessage() {} + +func (x *EncryptedData) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *EncryptedData) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +// Deprecated: Marked as deprecated in c1/connector/v2/resource.proto. +func (x *EncryptedData) GetKeyId() string { + if x != nil { + return x.KeyId + } + return "" +} + +func (x *EncryptedData) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EncryptedData) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *EncryptedData) GetSchema() string { + if x != nil { + return x.Schema + } + return "" +} + +func (x *EncryptedData) GetEncryptedBytes() []byte { + if x != nil { + return x.EncryptedBytes + } + return nil +} + +func (x *EncryptedData) GetKeyIds() []string { + if x != nil { + return x.KeyIds + } + return nil +} + +func (x *EncryptedData) SetProvider(v string) { + x.Provider = v +} + +// Deprecated: Marked as deprecated in c1/connector/v2/resource.proto. +func (x *EncryptedData) SetKeyId(v string) { + x.KeyId = v +} + +func (x *EncryptedData) SetName(v string) { + x.Name = v +} + +func (x *EncryptedData) SetDescription(v string) { + x.Description = v +} + +func (x *EncryptedData) SetSchema(v string) { + x.Schema = v +} + +func (x *EncryptedData) SetEncryptedBytes(v []byte) { + if v == nil { + v = []byte{} + } + x.EncryptedBytes = v +} + +func (x *EncryptedData) SetKeyIds(v []string) { + x.KeyIds = v +} + +type EncryptedData_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Provider string + // Deprecated: Marked as deprecated in c1/connector/v2/resource.proto. + KeyId string + Name string + Description string + Schema string + EncryptedBytes []byte + KeyIds []string +} + +func (b0 EncryptedData_builder) Build() *EncryptedData { + m0 := &EncryptedData{} + b, x := &b0, m0 + _, _ = b, x + x.Provider = b.Provider + x.KeyId = b.KeyId + x.Name = b.Name + x.Description = b.Description + x.Schema = b.Schema + x.EncryptedBytes = b.EncryptedBytes + x.KeyIds = b.KeyIds + return m0 +} + +type PlaintextData struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + Schema string `protobuf:"bytes,3,opt,name=schema,proto3" json:"schema,omitempty"` // optional + Bytes []byte `protobuf:"bytes,4,opt,name=bytes,proto3" json:"bytes,omitempty"` // if 'schema' is set, this should be JSON. + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PlaintextData) Reset() { + *x = PlaintextData{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlaintextData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlaintextData) ProtoMessage() {} + +func (x *PlaintextData) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *PlaintextData) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PlaintextData) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *PlaintextData) GetSchema() string { + if x != nil { + return x.Schema + } + return "" +} + +func (x *PlaintextData) GetBytes() []byte { + if x != nil { + return x.Bytes + } + return nil +} + +func (x *PlaintextData) SetName(v string) { + x.Name = v +} + +func (x *PlaintextData) SetDescription(v string) { + x.Description = v +} + +func (x *PlaintextData) SetSchema(v string) { + x.Schema = v +} + +func (x *PlaintextData) SetBytes(v []byte) { + if v == nil { + v = []byte{} + } + x.Bytes = v +} + +type PlaintextData_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + Description string + Schema string + Bytes []byte +} + +func (b0 PlaintextData_builder) Build() *PlaintextData { + m0 := &PlaintextData{} + b, x := &b0, m0 + _, _ = b, x + x.Name = b.Name + x.Description = b.Description + x.Schema = b.Schema + x.Bytes = b.Bytes + return m0 +} + +type EncryptionConfig struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + Principal *Resource `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"` + Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` + KeyId string `protobuf:"bytes,3,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"` + // Types that are valid to be assigned to Config: + // + // *EncryptionConfig_JwkPublicKeyConfig + Config isEncryptionConfig_Config `protobuf_oneof:"config"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EncryptionConfig) Reset() { + *x = EncryptionConfig{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EncryptionConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EncryptionConfig) ProtoMessage() {} + +func (x *EncryptionConfig) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *EncryptionConfig) GetPrincipal() *Resource { + if x != nil { + return x.Principal + } + return nil +} + +func (x *EncryptionConfig) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *EncryptionConfig) GetKeyId() string { + if x != nil { + return x.KeyId + } + return "" +} + +func (x *EncryptionConfig) GetConfig() isEncryptionConfig_Config { + if x != nil { + return x.Config + } + return nil +} + +func (x *EncryptionConfig) GetJwkPublicKeyConfig() *EncryptionConfig_JWKPublicKeyConfig { + if x != nil { + if x, ok := x.Config.(*EncryptionConfig_JwkPublicKeyConfig); ok { + return x.JwkPublicKeyConfig + } + } + return nil +} + +func (x *EncryptionConfig) SetPrincipal(v *Resource) { + x.Principal = v +} + +func (x *EncryptionConfig) SetProvider(v string) { + x.Provider = v +} + +func (x *EncryptionConfig) SetKeyId(v string) { + x.KeyId = v +} + +func (x *EncryptionConfig) SetJwkPublicKeyConfig(v *EncryptionConfig_JWKPublicKeyConfig) { + if v == nil { + x.Config = nil + return + } + x.Config = &EncryptionConfig_JwkPublicKeyConfig{v} +} + +func (x *EncryptionConfig) HasPrincipal() bool { + if x == nil { + return false + } + return x.Principal != nil +} + +func (x *EncryptionConfig) HasConfig() bool { + if x == nil { + return false + } + return x.Config != nil +} + +func (x *EncryptionConfig) HasJwkPublicKeyConfig() bool { + if x == nil { + return false + } + _, ok := x.Config.(*EncryptionConfig_JwkPublicKeyConfig) + return ok +} + +func (x *EncryptionConfig) ClearPrincipal() { + x.Principal = nil +} + +func (x *EncryptionConfig) ClearConfig() { + x.Config = nil +} + +func (x *EncryptionConfig) ClearJwkPublicKeyConfig() { + if _, ok := x.Config.(*EncryptionConfig_JwkPublicKeyConfig); ok { + x.Config = nil + } +} + +const EncryptionConfig_Config_not_set_case case_EncryptionConfig_Config = 0 +const EncryptionConfig_JwkPublicKeyConfig_case case_EncryptionConfig_Config = 100 + +func (x *EncryptionConfig) WhichConfig() case_EncryptionConfig_Config { + if x == nil { + return EncryptionConfig_Config_not_set_case + } + switch x.Config.(type) { + case *EncryptionConfig_JwkPublicKeyConfig: + return EncryptionConfig_JwkPublicKeyConfig_case + default: + return EncryptionConfig_Config_not_set_case + } +} + +type EncryptionConfig_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Principal *Resource + Provider string + KeyId string + // Fields of oneof Config: + JwkPublicKeyConfig *EncryptionConfig_JWKPublicKeyConfig + // -- end of Config +} + +func (b0 EncryptionConfig_builder) Build() *EncryptionConfig { + m0 := &EncryptionConfig{} + b, x := &b0, m0 + _, _ = b, x + x.Principal = b.Principal + x.Provider = b.Provider + x.KeyId = b.KeyId + if b.JwkPublicKeyConfig != nil { + x.Config = &EncryptionConfig_JwkPublicKeyConfig{b.JwkPublicKeyConfig} + } + return m0 +} + +type case_EncryptionConfig_Config protoreflect.FieldNumber + +func (x case_EncryptionConfig_Config) String() string { + md := file_c1_connector_v2_resource_proto_msgTypes[19].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isEncryptionConfig_Config interface { + isEncryptionConfig_Config() +} + +type EncryptionConfig_JwkPublicKeyConfig struct { + JwkPublicKeyConfig *EncryptionConfig_JWKPublicKeyConfig `protobuf:"bytes,100,opt,name=jwk_public_key_config,json=jwkPublicKeyConfig,proto3,oneof"` +} + +func (*EncryptionConfig_JwkPublicKeyConfig) isEncryptionConfig_Config() {} + +type ResourceId struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` + Resource string `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"` + BatonResource bool `protobuf:"varint,3,opt,name=baton_resource,json=batonResource,proto3" json:"baton_resource,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceId) Reset() { + *x = ResourceId{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceId) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceId) ProtoMessage() {} + +func (x *ResourceId) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ResourceId) GetResourceType() string { + if x != nil { + return x.ResourceType + } + return "" +} + +func (x *ResourceId) GetResource() string { + if x != nil { + return x.Resource + } + return "" +} + +func (x *ResourceId) GetBatonResource() bool { + if x != nil { + return x.BatonResource + } + return false +} + +func (x *ResourceId) SetResourceType(v string) { + x.ResourceType = v +} + +func (x *ResourceId) SetResource(v string) { + x.Resource = v +} + +func (x *ResourceId) SetBatonResource(v bool) { + x.BatonResource = v +} + +type ResourceId_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceType string + Resource string + BatonResource bool +} + +func (b0 ResourceId_builder) Build() *ResourceId { + m0 := &ResourceId{} + b, x := &b0, m0 + _, _ = b, x + x.ResourceType = b.ResourceType + x.Resource = b.Resource + x.BatonResource = b.BatonResource + return m0 +} + +type Resource struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + Id *ResourceId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + ParentResourceId *ResourceId `protobuf:"bytes,2,opt,name=parent_resource_id,json=parentResourceId,proto3" json:"parent_resource_id,omitempty"` + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + Annotations []*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3" json:"annotations,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + BatonResource bool `protobuf:"varint,6,opt,name=baton_resource,json=batonResource,proto3" json:"baton_resource,omitempty"` + ExternalId *ExternalId `protobuf:"bytes,7,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` + CreationSource Resource_CreationSource `protobuf:"varint,8,opt,name=creation_source,json=creationSource,proto3,enum=c1.connector.v2.Resource_CreationSource" json:"creation_source,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Resource) Reset() { + *x = Resource{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Resource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Resource) ProtoMessage() {} + +func (x *Resource) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Resource) GetId() *ResourceId { + if x != nil { + return x.Id + } + return nil +} + +func (x *Resource) GetParentResourceId() *ResourceId { + if x != nil { + return x.ParentResourceId + } + return nil +} + +func (x *Resource) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Resource) GetAnnotations() []*anypb.Any { + if x != nil { + return x.Annotations + } + return nil +} + +func (x *Resource) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Resource) GetBatonResource() bool { + if x != nil { + return x.BatonResource + } + return false +} + +func (x *Resource) GetExternalId() *ExternalId { + if x != nil { + return x.ExternalId + } + return nil +} + +func (x *Resource) GetCreationSource() Resource_CreationSource { + if x != nil { + return x.CreationSource + } + return Resource_CREATION_SOURCE_UNSPECIFIED } -func (x *CreateAccountResponse) Reset() { - *x = CreateAccountResponse{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Resource) SetId(v *ResourceId) { + x.Id = v } -func (x *CreateAccountResponse) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *Resource) SetParentResourceId(v *ResourceId) { + x.ParentResourceId = v } -func (*CreateAccountResponse) ProtoMessage() {} +func (x *Resource) SetDisplayName(v string) { + x.DisplayName = v +} -func (x *CreateAccountResponse) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_resource_proto_msgTypes[15] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) +func (x *Resource) SetAnnotations(v []*anypb.Any) { + x.Annotations = v } -// Deprecated: Use CreateAccountResponse.ProtoReflect.Descriptor instead. -func (*CreateAccountResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{15} +func (x *Resource) SetDescription(v string) { + x.Description = v } -func (x *CreateAccountResponse) GetResult() isCreateAccountResponse_Result { - if x != nil { - return x.Result - } - return nil +func (x *Resource) SetBatonResource(v bool) { + x.BatonResource = v } -func (x *CreateAccountResponse) GetSuccess() *CreateAccountResponse_SuccessResult { - if x != nil { - if x, ok := x.Result.(*CreateAccountResponse_Success); ok { - return x.Success - } - } - return nil +func (x *Resource) SetExternalId(v *ExternalId) { + x.ExternalId = v } -func (x *CreateAccountResponse) GetActionRequired() *CreateAccountResponse_ActionRequiredResult { - if x != nil { - if x, ok := x.Result.(*CreateAccountResponse_ActionRequired); ok { - return x.ActionRequired - } +func (x *Resource) SetCreationSource(v Resource_CreationSource) { + x.CreationSource = v +} + +func (x *Resource) HasId() bool { + if x == nil { + return false } - return nil + return x.Id != nil } -func (x *CreateAccountResponse) GetEncryptedData() []*EncryptedData { - if x != nil { - return x.EncryptedData +func (x *Resource) HasParentResourceId() bool { + if x == nil { + return false } - return nil + return x.ParentResourceId != nil } -func (x *CreateAccountResponse) GetAnnotations() []*anypb.Any { - if x != nil { - return x.Annotations +func (x *Resource) HasExternalId() bool { + if x == nil { + return false } - return nil + return x.ExternalId != nil } -type isCreateAccountResponse_Result interface { - isCreateAccountResponse_Result() +func (x *Resource) ClearId() { + x.Id = nil } -type CreateAccountResponse_Success struct { - Success *CreateAccountResponse_SuccessResult `protobuf:"bytes,100,opt,name=success,proto3,oneof"` +func (x *Resource) ClearParentResourceId() { + x.ParentResourceId = nil } -type CreateAccountResponse_ActionRequired struct { - ActionRequired *CreateAccountResponse_ActionRequiredResult `protobuf:"bytes,101,opt,name=action_required,json=actionRequired,proto3,oneof"` +func (x *Resource) ClearExternalId() { + x.ExternalId = nil } -func (*CreateAccountResponse_Success) isCreateAccountResponse_Result() {} +type Resource_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. -func (*CreateAccountResponse_ActionRequired) isCreateAccountResponse_Result() {} + Id *ResourceId + ParentResourceId *ResourceId + DisplayName string + Annotations []*anypb.Any + Description string + BatonResource bool + ExternalId *ExternalId + CreationSource Resource_CreationSource +} -type EncryptedData struct { - state protoimpl.MessageState `protogen:"open.v1"` - Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` - // Deprecated: Marked as deprecated in c1/connector/v2/resource.proto. - KeyId string `protobuf:"bytes,2,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` - Schema string `protobuf:"bytes,5,opt,name=schema,proto3" json:"schema,omitempty"` // optional - EncryptedBytes []byte `protobuf:"bytes,6,opt,name=encrypted_bytes,json=encryptedBytes,proto3" json:"encrypted_bytes,omitempty"` // if 'schema' is set, this should be JSON. - KeyIds []string `protobuf:"bytes,7,rep,name=key_ids,json=keyIds,proto3" json:"key_ids,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache +func (b0 Resource_builder) Build() *Resource { + m0 := &Resource{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + x.ParentResourceId = b.ParentResourceId + x.DisplayName = b.DisplayName + x.Annotations = b.Annotations + x.Description = b.Description + x.BatonResource = b.BatonResource + x.ExternalId = b.ExternalId + x.CreationSource = b.CreationSource + return m0 } -func (x *EncryptedData) Reset() { - *x = EncryptedData{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[16] +type ResourcesServiceListResourcesRequest struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + ResourceTypeId string `protobuf:"bytes,1,opt,name=resource_type_id,json=resourceTypeId,proto3" json:"resource_type_id,omitempty"` + ParentResourceId *ResourceId `protobuf:"bytes,2,opt,name=parent_resource_id,json=parentResourceId,proto3" json:"parent_resource_id,omitempty"` + PageSize uint32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + Annotations []*anypb.Any `protobuf:"bytes,5,rep,name=annotations,proto3" json:"annotations,omitempty"` + ActiveSyncId string `protobuf:"bytes,6,opt,name=active_sync_id,json=activeSyncId,proto3" json:"active_sync_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourcesServiceListResourcesRequest) Reset() { + *x = ResourcesServiceListResourcesRequest{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *EncryptedData) String() string { +func (x *ResourcesServiceListResourcesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*EncryptedData) ProtoMessage() {} +func (*ResourcesServiceListResourcesRequest) ProtoMessage() {} -func (x *EncryptedData) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_resource_proto_msgTypes[16] +func (x *ResourcesServiceListResourcesRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1153,86 +2937,131 @@ func (x *EncryptedData) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use EncryptedData.ProtoReflect.Descriptor instead. -func (*EncryptedData) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{16} -} - -func (x *EncryptedData) GetProvider() string { +func (x *ResourcesServiceListResourcesRequest) GetResourceTypeId() string { if x != nil { - return x.Provider + return x.ResourceTypeId } return "" } -// Deprecated: Marked as deprecated in c1/connector/v2/resource.proto. -func (x *EncryptedData) GetKeyId() string { +func (x *ResourcesServiceListResourcesRequest) GetParentResourceId() *ResourceId { if x != nil { - return x.KeyId + return x.ParentResourceId } - return "" + return nil } -func (x *EncryptedData) GetName() string { +func (x *ResourcesServiceListResourcesRequest) GetPageSize() uint32 { if x != nil { - return x.Name + return x.PageSize } - return "" + return 0 } -func (x *EncryptedData) GetDescription() string { +func (x *ResourcesServiceListResourcesRequest) GetPageToken() string { if x != nil { - return x.Description + return x.PageToken } return "" } -func (x *EncryptedData) GetSchema() string { +func (x *ResourcesServiceListResourcesRequest) GetAnnotations() []*anypb.Any { if x != nil { - return x.Schema + return x.Annotations } - return "" + return nil } -func (x *EncryptedData) GetEncryptedBytes() []byte { +func (x *ResourcesServiceListResourcesRequest) GetActiveSyncId() string { if x != nil { - return x.EncryptedBytes + return x.ActiveSyncId } - return nil + return "" } -func (x *EncryptedData) GetKeyIds() []string { - if x != nil { - return x.KeyIds +func (x *ResourcesServiceListResourcesRequest) SetResourceTypeId(v string) { + x.ResourceTypeId = v +} + +func (x *ResourcesServiceListResourcesRequest) SetParentResourceId(v *ResourceId) { + x.ParentResourceId = v +} + +func (x *ResourcesServiceListResourcesRequest) SetPageSize(v uint32) { + x.PageSize = v +} + +func (x *ResourcesServiceListResourcesRequest) SetPageToken(v string) { + x.PageToken = v +} + +func (x *ResourcesServiceListResourcesRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *ResourcesServiceListResourcesRequest) SetActiveSyncId(v string) { + x.ActiveSyncId = v +} + +func (x *ResourcesServiceListResourcesRequest) HasParentResourceId() bool { + if x == nil { + return false } - return nil + return x.ParentResourceId != nil } -type PlaintextData struct { - state protoimpl.MessageState `protogen:"open.v1"` - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - Schema string `protobuf:"bytes,3,opt,name=schema,proto3" json:"schema,omitempty"` // optional - Bytes []byte `protobuf:"bytes,4,opt,name=bytes,proto3" json:"bytes,omitempty"` // if 'schema' is set, this should be JSON. +func (x *ResourcesServiceListResourcesRequest) ClearParentResourceId() { + x.ParentResourceId = nil +} + +type ResourcesServiceListResourcesRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceTypeId string + ParentResourceId *ResourceId + PageSize uint32 + PageToken string + Annotations []*anypb.Any + ActiveSyncId string +} + +func (b0 ResourcesServiceListResourcesRequest_builder) Build() *ResourcesServiceListResourcesRequest { + m0 := &ResourcesServiceListResourcesRequest{} + b, x := &b0, m0 + _, _ = b, x + x.ResourceTypeId = b.ResourceTypeId + x.ParentResourceId = b.ParentResourceId + x.PageSize = b.PageSize + x.PageToken = b.PageToken + x.Annotations = b.Annotations + x.ActiveSyncId = b.ActiveSyncId + return m0 +} + +type ResourcesServiceListResourcesResponse struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + List []*Resource `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *PlaintextData) Reset() { - *x = PlaintextData{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[17] +func (x *ResourcesServiceListResourcesResponse) Reset() { + *x = ResourcesServiceListResourcesResponse{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *PlaintextData) String() string { +func (x *ResourcesServiceListResourcesResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PlaintextData) ProtoMessage() {} +func (*ResourcesServiceListResourcesResponse) ProtoMessage() {} -func (x *PlaintextData) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_resource_proto_msgTypes[17] +func (x *ResourcesServiceListResourcesResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1243,67 +3072,82 @@ func (x *PlaintextData) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PlaintextData.ProtoReflect.Descriptor instead. -func (*PlaintextData) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{17} -} - -func (x *PlaintextData) GetName() string { +func (x *ResourcesServiceListResourcesResponse) GetList() []*Resource { if x != nil { - return x.Name + return x.List } - return "" + return nil } -func (x *PlaintextData) GetDescription() string { +func (x *ResourcesServiceListResourcesResponse) GetNextPageToken() string { if x != nil { - return x.Description + return x.NextPageToken } return "" } -func (x *PlaintextData) GetSchema() string { +func (x *ResourcesServiceListResourcesResponse) GetAnnotations() []*anypb.Any { if x != nil { - return x.Schema + return x.Annotations } - return "" + return nil } -func (x *PlaintextData) GetBytes() []byte { - if x != nil { - return x.Bytes - } - return nil +func (x *ResourcesServiceListResourcesResponse) SetList(v []*Resource) { + x.List = v } -type EncryptionConfig struct { - state protoimpl.MessageState `protogen:"open.v1"` - Principal *Resource `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"` - Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` - KeyId string `protobuf:"bytes,3,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"` - // Types that are valid to be assigned to Config: - // - // *EncryptionConfig_JwkPublicKeyConfig - Config isEncryptionConfig_Config `protobuf_oneof:"config"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache +func (x *ResourcesServiceListResourcesResponse) SetNextPageToken(v string) { + x.NextPageToken = v } -func (x *EncryptionConfig) Reset() { - *x = EncryptionConfig{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[18] +func (x *ResourcesServiceListResourcesResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type ResourcesServiceListResourcesResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + List []*Resource + NextPageToken string + Annotations []*anypb.Any +} + +func (b0 ResourcesServiceListResourcesResponse_builder) Build() *ResourcesServiceListResourcesResponse { + m0 := &ResourcesServiceListResourcesResponse{} + b, x := &b0, m0 + _, _ = b, x + x.List = b.List + x.NextPageToken = b.NextPageToken + x.Annotations = b.Annotations + return m0 +} + +type ResourceGetterServiceGetResourceRequest struct { + state protoimpl.MessageState `protogen:"hybrid.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"` + Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` + ActiveSyncId string `protobuf:"bytes,4,opt,name=active_sync_id,json=activeSyncId,proto3" json:"active_sync_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceGetterServiceGetResourceRequest) Reset() { + *x = ResourceGetterServiceGetResourceRequest{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *EncryptionConfig) String() string { +func (x *ResourceGetterServiceGetResourceRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*EncryptionConfig) ProtoMessage() {} +func (*ResourceGetterServiceGetResourceRequest) ProtoMessage() {} -func (x *EncryptionConfig) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_resource_proto_msgTypes[18] +func (x *ResourceGetterServiceGetResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1314,82 +3158,115 @@ func (x *EncryptionConfig) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use EncryptionConfig.ProtoReflect.Descriptor instead. -func (*EncryptionConfig) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{18} +func (x *ResourceGetterServiceGetResourceRequest) GetResourceId() *ResourceId { + if x != nil { + return x.ResourceId + } + return nil } -func (x *EncryptionConfig) GetPrincipal() *Resource { +func (x *ResourceGetterServiceGetResourceRequest) GetParentResourceId() *ResourceId { if x != nil { - return x.Principal + return x.ParentResourceId } return nil } -func (x *EncryptionConfig) GetProvider() string { +func (x *ResourceGetterServiceGetResourceRequest) GetAnnotations() []*anypb.Any { if x != nil { - return x.Provider + return x.Annotations } - return "" + return nil } -func (x *EncryptionConfig) GetKeyId() string { +func (x *ResourceGetterServiceGetResourceRequest) GetActiveSyncId() string { if x != nil { - return x.KeyId + return x.ActiveSyncId } return "" } -func (x *EncryptionConfig) GetConfig() isEncryptionConfig_Config { - if x != nil { - return x.Config +func (x *ResourceGetterServiceGetResourceRequest) SetResourceId(v *ResourceId) { + x.ResourceId = v +} + +func (x *ResourceGetterServiceGetResourceRequest) SetParentResourceId(v *ResourceId) { + x.ParentResourceId = v +} + +func (x *ResourceGetterServiceGetResourceRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *ResourceGetterServiceGetResourceRequest) SetActiveSyncId(v string) { + x.ActiveSyncId = v +} + +func (x *ResourceGetterServiceGetResourceRequest) HasResourceId() bool { + if x == nil { + return false } - return nil + return x.ResourceId != nil } -func (x *EncryptionConfig) GetJwkPublicKeyConfig() *EncryptionConfig_JWKPublicKeyConfig { - if x != nil { - if x, ok := x.Config.(*EncryptionConfig_JwkPublicKeyConfig); ok { - return x.JwkPublicKeyConfig - } +func (x *ResourceGetterServiceGetResourceRequest) HasParentResourceId() bool { + if x == nil { + return false } - return nil + return x.ParentResourceId != nil } -type isEncryptionConfig_Config interface { - isEncryptionConfig_Config() +func (x *ResourceGetterServiceGetResourceRequest) ClearResourceId() { + x.ResourceId = nil } -type EncryptionConfig_JwkPublicKeyConfig struct { - JwkPublicKeyConfig *EncryptionConfig_JWKPublicKeyConfig `protobuf:"bytes,100,opt,name=jwk_public_key_config,json=jwkPublicKeyConfig,proto3,oneof"` +func (x *ResourceGetterServiceGetResourceRequest) ClearParentResourceId() { + x.ParentResourceId = nil } -func (*EncryptionConfig_JwkPublicKeyConfig) isEncryptionConfig_Config() {} +type ResourceGetterServiceGetResourceRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. -type ResourceId struct { - state protoimpl.MessageState `protogen:"open.v1"` - ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` - Resource string `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"` - BatonResource bool `protobuf:"varint,3,opt,name=baton_resource,json=batonResource,proto3" json:"baton_resource,omitempty"` + ResourceId *ResourceId + ParentResourceId *ResourceId + Annotations []*anypb.Any + ActiveSyncId string +} + +func (b0 ResourceGetterServiceGetResourceRequest_builder) Build() *ResourceGetterServiceGetResourceRequest { + m0 := &ResourceGetterServiceGetResourceRequest{} + b, x := &b0, m0 + _, _ = b, x + x.ResourceId = b.ResourceId + x.ParentResourceId = b.ParentResourceId + x.Annotations = b.Annotations + x.ActiveSyncId = b.ActiveSyncId + return m0 +} + +type ResourceGetterServiceGetResourceResponse struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + Resource *Resource `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` + Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *ResourceId) Reset() { - *x = ResourceId{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[19] +func (x *ResourceGetterServiceGetResourceResponse) Reset() { + *x = ResourceGetterServiceGetResourceResponse{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *ResourceId) String() string { +func (x *ResourceGetterServiceGetResourceResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ResourceId) ProtoMessage() {} +func (*ResourceGetterServiceGetResourceResponse) ProtoMessage() {} -func (x *ResourceId) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_resource_proto_msgTypes[19] +func (x *ResourceGetterServiceGetResourceResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1400,61 +3277,79 @@ func (x *ResourceId) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ResourceId.ProtoReflect.Descriptor instead. -func (*ResourceId) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{19} -} - -func (x *ResourceId) GetResourceType() string { +func (x *ResourceGetterServiceGetResourceResponse) GetResource() *Resource { if x != nil { - return x.ResourceType + return x.Resource } - return "" + return nil } -func (x *ResourceId) GetResource() string { +func (x *ResourceGetterServiceGetResourceResponse) GetAnnotations() []*anypb.Any { if x != nil { - return x.Resource + return x.Annotations } - return "" + return nil } -func (x *ResourceId) GetBatonResource() bool { - if x != nil { - return x.BatonResource +func (x *ResourceGetterServiceGetResourceResponse) SetResource(v *Resource) { + x.Resource = v +} + +func (x *ResourceGetterServiceGetResourceResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *ResourceGetterServiceGetResourceResponse) HasResource() bool { + if x == nil { + return false } - return false + return x.Resource != nil } -type Resource struct { - state protoimpl.MessageState `protogen:"open.v1"` - Id *ResourceId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - ParentResourceId *ResourceId `protobuf:"bytes,2,opt,name=parent_resource_id,json=parentResourceId,proto3" json:"parent_resource_id,omitempty"` - DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - Annotations []*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3" json:"annotations,omitempty"` - Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` - BatonResource bool `protobuf:"varint,6,opt,name=baton_resource,json=batonResource,proto3" json:"baton_resource,omitempty"` - ExternalId *ExternalId `protobuf:"bytes,7,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` - CreationSource Resource_CreationSource `protobuf:"varint,8,opt,name=creation_source,json=creationSource,proto3,enum=c1.connector.v2.Resource_CreationSource" json:"creation_source,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache +func (x *ResourceGetterServiceGetResourceResponse) ClearResource() { + x.Resource = nil } -func (x *Resource) Reset() { - *x = Resource{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[20] +type ResourceGetterServiceGetResourceResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resource *Resource + Annotations []*anypb.Any +} + +func (b0 ResourceGetterServiceGetResourceResponse_builder) Build() *ResourceGetterServiceGetResourceResponse { + m0 := &ResourceGetterServiceGetResourceResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Resource = b.Resource + x.Annotations = b.Annotations + return m0 +} + +type ExternalId struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Link string `protobuf:"bytes,2,opt,name=link,proto3" json:"link,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExternalId) Reset() { + *x = ExternalId{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *Resource) String() string { +func (x *ExternalId) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Resource) ProtoMessage() {} +func (*ExternalId) ProtoMessage() {} -func (x *Resource) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_resource_proto_msgTypes[20] +func (x *ExternalId) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1465,93 +3360,81 @@ func (x *Resource) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Resource.ProtoReflect.Descriptor instead. -func (*Resource) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{20} -} - -func (x *Resource) GetId() *ResourceId { +func (x *ExternalId) GetId() string { if x != nil { return x.Id } - return nil + return "" } -func (x *Resource) GetParentResourceId() *ResourceId { +func (x *ExternalId) GetLink() string { if x != nil { - return x.ParentResourceId + return x.Link } - return nil + return "" } -func (x *Resource) GetDisplayName() string { +func (x *ExternalId) GetDescription() string { if x != nil { - return x.DisplayName + return x.Description } return "" } -func (x *Resource) GetAnnotations() []*anypb.Any { - if x != nil { - return x.Annotations - } - return nil +func (x *ExternalId) SetId(v string) { + x.Id = v } -func (x *Resource) GetDescription() string { - if x != nil { - return x.Description - } - return "" +func (x *ExternalId) SetLink(v string) { + x.Link = v } -func (x *Resource) GetBatonResource() bool { - if x != nil { - return x.BatonResource - } - return false +func (x *ExternalId) SetDescription(v string) { + x.Description = v } -func (x *Resource) GetExternalId() *ExternalId { - if x != nil { - return x.ExternalId - } - return nil +type ExternalId_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + Link string + Description string } -func (x *Resource) GetCreationSource() Resource_CreationSource { - if x != nil { - return x.CreationSource - } - return Resource_CREATION_SOURCE_UNSPECIFIED +func (b0 ExternalId_builder) Build() *ExternalId { + m0 := &ExternalId{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + x.Link = b.Link + x.Description = b.Description + return m0 } -type ResourcesServiceListResourcesRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - ResourceTypeId string `protobuf:"bytes,1,opt,name=resource_type_id,json=resourceTypeId,proto3" json:"resource_type_id,omitempty"` - ParentResourceId *ResourceId `protobuf:"bytes,2,opt,name=parent_resource_id,json=parentResourceId,proto3" json:"parent_resource_id,omitempty"` - PageSize uint32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` - Annotations []*anypb.Any `protobuf:"bytes,5,rep,name=annotations,proto3" json:"annotations,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache +type AccountInfo_Email struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // Indicates if this is the user's primary email. Only one entry can be marked as primary. + IsPrimary bool `protobuf:"varint,2,opt,name=is_primary,json=isPrimary,proto3" json:"is_primary,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *ResourcesServiceListResourcesRequest) Reset() { - *x = ResourcesServiceListResourcesRequest{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[21] +func (x *AccountInfo_Email) Reset() { + *x = AccountInfo_Email{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *ResourcesServiceListResourcesRequest) String() string { +func (x *AccountInfo_Email) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ResourcesServiceListResourcesRequest) ProtoMessage() {} +func (*AccountInfo_Email) ProtoMessage() {} -func (x *ResourcesServiceListResourcesRequest) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_resource_proto_msgTypes[21] +func (x *AccountInfo_Email) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1562,70 +3445,68 @@ func (x *ResourcesServiceListResourcesRequest) ProtoReflect() protoreflect.Messa return mi.MessageOf(x) } -// Deprecated: Use ResourcesServiceListResourcesRequest.ProtoReflect.Descriptor instead. -func (*ResourcesServiceListResourcesRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{21} -} - -func (x *ResourcesServiceListResourcesRequest) GetResourceTypeId() string { +func (x *AccountInfo_Email) GetAddress() string { if x != nil { - return x.ResourceTypeId + return x.Address } return "" } -func (x *ResourcesServiceListResourcesRequest) GetParentResourceId() *ResourceId { +func (x *AccountInfo_Email) GetIsPrimary() bool { if x != nil { - return x.ParentResourceId + return x.IsPrimary } - return nil + return false } -func (x *ResourcesServiceListResourcesRequest) GetPageSize() uint32 { - if x != nil { - return x.PageSize - } - return 0 +func (x *AccountInfo_Email) SetAddress(v string) { + x.Address = v } -func (x *ResourcesServiceListResourcesRequest) GetPageToken() string { - if x != nil { - return x.PageToken - } - return "" +func (x *AccountInfo_Email) SetIsPrimary(v bool) { + x.IsPrimary = v } -func (x *ResourcesServiceListResourcesRequest) GetAnnotations() []*anypb.Any { - if x != nil { - return x.Annotations - } - return nil +type AccountInfo_Email_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Address string + // Indicates if this is the user's primary email. Only one entry can be marked as primary. + IsPrimary bool } -type ResourcesServiceListResourcesResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - List []*Resource `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` - Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` +func (b0 AccountInfo_Email_builder) Build() *AccountInfo_Email { + m0 := &AccountInfo_Email{} + b, x := &b0, m0 + _, _ = b, x + x.Address = b.Address + x.IsPrimary = b.IsPrimary + return m0 +} + +type CredentialOptions_RandomPassword struct { + state protoimpl.MessageState `protogen:"hybrid.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 *ResourcesServiceListResourcesResponse) Reset() { - *x = ResourcesServiceListResourcesResponse{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[22] +func (x *CredentialOptions_RandomPassword) Reset() { + *x = CredentialOptions_RandomPassword{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *ResourcesServiceListResourcesResponse) String() string { +func (x *CredentialOptions_RandomPassword) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ResourcesServiceListResourcesResponse) ProtoMessage() {} +func (*CredentialOptions_RandomPassword) ProtoMessage() {} -func (x *ResourcesServiceListResourcesResponse) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_resource_proto_msgTypes[22] +func (x *CredentialOptions_RandomPassword) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1636,56 +3517,65 @@ func (x *ResourcesServiceListResourcesResponse) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use ResourcesServiceListResourcesResponse.ProtoReflect.Descriptor instead. -func (*ResourcesServiceListResourcesResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{22} +func (x *CredentialOptions_RandomPassword) GetLength() int64 { + if x != nil { + return x.Length + } + return 0 } -func (x *ResourcesServiceListResourcesResponse) GetList() []*Resource { +func (x *CredentialOptions_RandomPassword) GetConstraints() []*PasswordConstraint { if x != nil { - return x.List + return x.Constraints } return nil } -func (x *ResourcesServiceListResourcesResponse) GetNextPageToken() string { - if x != nil { - return x.NextPageToken - } - return "" +func (x *CredentialOptions_RandomPassword) SetLength(v int64) { + x.Length = v } -func (x *ResourcesServiceListResourcesResponse) GetAnnotations() []*anypb.Any { - if x != nil { - return x.Annotations - } - return nil +func (x *CredentialOptions_RandomPassword) SetConstraints(v []*PasswordConstraint) { + x.Constraints = v } -type ResourceGetterServiceGetResourceRequest struct { - 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"` - Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache +type CredentialOptions_RandomPassword_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Length int64 + Constraints []*PasswordConstraint +} + +func (b0 CredentialOptions_RandomPassword_builder) Build() *CredentialOptions_RandomPassword { + m0 := &CredentialOptions_RandomPassword{} + b, x := &b0, m0 + _, _ = b, x + x.Length = b.Length + x.Constraints = b.Constraints + return m0 +} + +type CredentialOptions_NoPassword struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *ResourceGetterServiceGetResourceRequest) Reset() { - *x = ResourceGetterServiceGetResourceRequest{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[23] +func (x *CredentialOptions_NoPassword) Reset() { + *x = CredentialOptions_NoPassword{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *ResourceGetterServiceGetResourceRequest) String() string { +func (x *CredentialOptions_NoPassword) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ResourceGetterServiceGetResourceRequest) ProtoMessage() {} +func (*CredentialOptions_NoPassword) ProtoMessage() {} -func (x *ResourceGetterServiceGetResourceRequest) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_resource_proto_msgTypes[23] +func (x *CredentialOptions_NoPassword) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1696,55 +3586,40 @@ func (x *ResourceGetterServiceGetResourceRequest) ProtoReflect() protoreflect.Me return mi.MessageOf(x) } -// Deprecated: Use ResourceGetterServiceGetResourceRequest.ProtoReflect.Descriptor instead. -func (*ResourceGetterServiceGetResourceRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{23} -} - -func (x *ResourceGetterServiceGetResourceRequest) GetResourceId() *ResourceId { - if x != nil { - return x.ResourceId - } - return nil -} +type CredentialOptions_NoPassword_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. -func (x *ResourceGetterServiceGetResourceRequest) GetParentResourceId() *ResourceId { - if x != nil { - return x.ParentResourceId - } - return nil } -func (x *ResourceGetterServiceGetResourceRequest) GetAnnotations() []*anypb.Any { - if x != nil { - return x.Annotations - } - return nil +func (b0 CredentialOptions_NoPassword_builder) Build() *CredentialOptions_NoPassword { + m0 := &CredentialOptions_NoPassword{} + b, x := &b0, m0 + _, _ = b, x + return m0 } -type ResourceGetterServiceGetResourceResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - Resource *Resource `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` - Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` +type CredentialOptions_SSO struct { + state protoimpl.MessageState `protogen:"hybrid.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 *ResourceGetterServiceGetResourceResponse) Reset() { - *x = ResourceGetterServiceGetResourceResponse{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[24] +func (x *CredentialOptions_SSO) Reset() { + *x = CredentialOptions_SSO{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *ResourceGetterServiceGetResourceResponse) String() string { +func (x *CredentialOptions_SSO) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ResourceGetterServiceGetResourceResponse) ProtoMessage() {} +func (*CredentialOptions_SSO) ProtoMessage() {} -func (x *ResourceGetterServiceGetResourceResponse) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_resource_proto_msgTypes[24] +func (x *CredentialOptions_SSO) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1755,49 +3630,53 @@ func (x *ResourceGetterServiceGetResourceResponse) ProtoReflect() protoreflect.M return mi.MessageOf(x) } -// Deprecated: Use ResourceGetterServiceGetResourceResponse.ProtoReflect.Descriptor instead. -func (*ResourceGetterServiceGetResourceResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{24} -} - -func (x *ResourceGetterServiceGetResourceResponse) GetResource() *Resource { +func (x *CredentialOptions_SSO) GetSsoProvider() string { if x != nil { - return x.Resource + return x.SsoProvider } - return nil + return "" } -func (x *ResourceGetterServiceGetResourceResponse) GetAnnotations() []*anypb.Any { - if x != nil { - return x.Annotations - } - return nil +func (x *CredentialOptions_SSO) SetSsoProvider(v string) { + x.SsoProvider = v } -type ExternalId struct { - state protoimpl.MessageState `protogen:"open.v1"` - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Link string `protobuf:"bytes,2,opt,name=link,proto3" json:"link,omitempty"` - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache +type CredentialOptions_SSO_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SsoProvider string } -func (x *ExternalId) Reset() { - *x = ExternalId{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[25] +func (b0 CredentialOptions_SSO_builder) Build() *CredentialOptions_SSO { + m0 := &CredentialOptions_SSO{} + b, x := &b0, m0 + _, _ = b, x + x.SsoProvider = b.SsoProvider + return m0 +} + +type CredentialOptions_EncryptedPassword struct { + state protoimpl.MessageState `protogen:"hybrid.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 *ExternalId) String() string { +func (x *CredentialOptions_EncryptedPassword) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ExternalId) ProtoMessage() {} +func (*CredentialOptions_EncryptedPassword) ProtoMessage() {} -func (x *ExternalId) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_resource_proto_msgTypes[25] +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 { @@ -1808,56 +3687,54 @@ func (x *ExternalId) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ExternalId.ProtoReflect.Descriptor instead. -func (*ExternalId) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{25} -} - -func (x *ExternalId) GetId() string { +func (x *CredentialOptions_EncryptedPassword) GetEncryptedPasswords() []*EncryptedData { if x != nil { - return x.Id + return x.EncryptedPasswords } - return "" + return nil } -func (x *ExternalId) GetLink() string { - if x != nil { - return x.Link - } - return "" +func (x *CredentialOptions_EncryptedPassword) SetEncryptedPasswords(v []*EncryptedData) { + x.EncryptedPasswords = v } -func (x *ExternalId) GetDescription() string { - if x != nil { - return x.Description - } - return "" +type CredentialOptions_EncryptedPassword_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + EncryptedPasswords []*EncryptedData } -type AccountInfo_Email struct { - state protoimpl.MessageState `protogen:"open.v1"` - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - // Indicates if this is the user's primary email. Only one entry can be marked as primary. - IsPrimary bool `protobuf:"varint,2,opt,name=is_primary,json=isPrimary,proto3" json:"is_primary,omitempty"` +func (b0 CredentialOptions_EncryptedPassword_builder) Build() *CredentialOptions_EncryptedPassword { + m0 := &CredentialOptions_EncryptedPassword{} + b, x := &b0, m0 + _, _ = b, x + x.EncryptedPasswords = b.EncryptedPasswords + return m0 +} + +type LocalCredentialOptions_RandomPassword struct { + state protoimpl.MessageState `protogen:"hybrid.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 *AccountInfo_Email) Reset() { - *x = AccountInfo_Email{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[26] +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 *AccountInfo_Email) String() string { +func (x *LocalCredentialOptions_RandomPassword) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AccountInfo_Email) ProtoMessage() {} +func (*LocalCredentialOptions_RandomPassword) ProtoMessage() {} -func (x *AccountInfo_Email) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_resource_proto_msgTypes[26] +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 { @@ -1868,48 +3745,65 @@ func (x *AccountInfo_Email) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AccountInfo_Email.ProtoReflect.Descriptor instead. -func (*AccountInfo_Email) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{11, 0} -} - -func (x *AccountInfo_Email) GetAddress() string { +func (x *LocalCredentialOptions_RandomPassword) GetLength() int64 { if x != nil { - return x.Address + return x.Length } - return "" + return 0 } -func (x *AccountInfo_Email) GetIsPrimary() bool { +func (x *LocalCredentialOptions_RandomPassword) GetConstraints() []*PasswordConstraint { if x != nil { - return x.IsPrimary + return x.Constraints } - return false + return nil } -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"` +func (x *LocalCredentialOptions_RandomPassword) SetLength(v int64) { + x.Length = v +} + +func (x *LocalCredentialOptions_RandomPassword) SetConstraints(v []*PasswordConstraint) { + x.Constraints = v +} + +type LocalCredentialOptions_RandomPassword_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Length int64 + Constraints []*PasswordConstraint +} + +func (b0 LocalCredentialOptions_RandomPassword_builder) Build() *LocalCredentialOptions_RandomPassword { + m0 := &LocalCredentialOptions_RandomPassword{} + b, x := &b0, m0 + _, _ = b, x + x.Length = b.Length + x.Constraints = b.Constraints + return m0 +} + +type LocalCredentialOptions_NoPassword struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *CredentialOptions_RandomPassword) Reset() { - *x = CredentialOptions_RandomPassword{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[27] +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 *CredentialOptions_RandomPassword) String() string { +func (x *LocalCredentialOptions_NoPassword) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CredentialOptions_RandomPassword) ProtoMessage() {} +func (*LocalCredentialOptions_NoPassword) ProtoMessage() {} -func (x *CredentialOptions_RandomPassword) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_resource_proto_msgTypes[27] +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 { @@ -1920,46 +3814,40 @@ func (x *CredentialOptions_RandomPassword) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CredentialOptions_RandomPassword.ProtoReflect.Descriptor instead. -func (*CredentialOptions_RandomPassword) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{12, 0} -} +type LocalCredentialOptions_NoPassword_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. -func (x *CredentialOptions_RandomPassword) GetLength() int64 { - if x != nil { - return x.Length - } - return 0 } -func (x *CredentialOptions_RandomPassword) GetConstraints() []*PasswordConstraint { - if x != nil { - return x.Constraints - } - return nil +func (b0 LocalCredentialOptions_NoPassword_builder) Build() *LocalCredentialOptions_NoPassword { + m0 := &LocalCredentialOptions_NoPassword{} + b, x := &b0, m0 + _, _ = b, x + return m0 } -type CredentialOptions_NoPassword struct { - state protoimpl.MessageState `protogen:"open.v1"` +type LocalCredentialOptions_SSO struct { + state protoimpl.MessageState `protogen:"hybrid.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 *CredentialOptions_NoPassword) Reset() { - *x = CredentialOptions_NoPassword{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[28] +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 *CredentialOptions_NoPassword) String() string { +func (x *LocalCredentialOptions_SSO) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CredentialOptions_NoPassword) ProtoMessage() {} +func (*LocalCredentialOptions_SSO) ProtoMessage() {} -func (x *CredentialOptions_NoPassword) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_resource_proto_msgTypes[28] +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 { @@ -1970,33 +3858,53 @@ func (x *CredentialOptions_NoPassword) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CredentialOptions_NoPassword.ProtoReflect.Descriptor instead. -func (*CredentialOptions_NoPassword) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{12, 1} +func (x *LocalCredentialOptions_SSO) GetSsoProvider() string { + if x != nil { + return x.SsoProvider + } + return "" } -type CredentialOptions_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) SetSsoProvider(v string) { + x.SsoProvider = v } -func (x *CredentialOptions_SSO) Reset() { - *x = CredentialOptions_SSO{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[29] +type LocalCredentialOptions_SSO_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SsoProvider string +} + +func (b0 LocalCredentialOptions_SSO_builder) Build() *LocalCredentialOptions_SSO { + m0 := &LocalCredentialOptions_SSO{} + b, x := &b0, m0 + _, _ = b, x + x.SsoProvider = b.SsoProvider + return m0 +} + +type LocalCredentialOptions_PlaintextPassword struct { + state protoimpl.MessageState `protogen:"hybrid.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 *CredentialOptions_SSO) String() string { +func (x *LocalCredentialOptions_PlaintextPassword) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CredentialOptions_SSO) ProtoMessage() {} +func (*LocalCredentialOptions_PlaintextPassword) ProtoMessage() {} -func (x *CredentialOptions_SSO) ProtoReflect() protoreflect.Message { - mi := &file_c1_connector_v2_resource_proto_msgTypes[29] +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 { @@ -2007,20 +3915,33 @@ func (x *CredentialOptions_SSO) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CredentialOptions_SSO.ProtoReflect.Descriptor instead. -func (*CredentialOptions_SSO) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{12, 2} -} - -func (x *CredentialOptions_SSO) GetSsoProvider() string { +func (x *LocalCredentialOptions_PlaintextPassword) GetPlaintextPassword() string { if x != nil { - return x.SsoProvider + return x.PlaintextPassword } return "" } +func (x *LocalCredentialOptions_PlaintextPassword) SetPlaintextPassword(v string) { + x.PlaintextPassword = v +} + +type LocalCredentialOptions_PlaintextPassword_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + PlaintextPassword string +} + +func (b0 LocalCredentialOptions_PlaintextPassword_builder) Build() *LocalCredentialOptions_PlaintextPassword { + m0 := &LocalCredentialOptions_PlaintextPassword{} + b, x := &b0, m0 + _, _ = b, x + x.PlaintextPassword = b.PlaintextPassword + return m0 +} + type CreateAccountResponse_SuccessResult struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Resource *Resource `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` IsCreateAccountResult bool `protobuf:"varint,2,opt,name=is_create_account_result,json=isCreateAccountResult,proto3" json:"is_create_account_result,omitempty"` unknownFields protoimpl.UnknownFields @@ -2029,7 +3950,7 @@ type CreateAccountResponse_SuccessResult struct { func (x *CreateAccountResponse_SuccessResult) Reset() { *x = CreateAccountResponse_SuccessResult{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[30] + mi := &file_c1_connector_v2_resource_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2041,7 +3962,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[30] + mi := &file_c1_connector_v2_resource_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2052,11 +3973,6 @@ func (x *CreateAccountResponse_SuccessResult) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use CreateAccountResponse_SuccessResult.ProtoReflect.Descriptor instead. -func (*CreateAccountResponse_SuccessResult) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{15, 0} -} - func (x *CreateAccountResponse_SuccessResult) GetResource() *Resource { if x != nil { return x.Resource @@ -2071,8 +3987,43 @@ func (x *CreateAccountResponse_SuccessResult) GetIsCreateAccountResult() bool { return false } +func (x *CreateAccountResponse_SuccessResult) SetResource(v *Resource) { + x.Resource = v +} + +func (x *CreateAccountResponse_SuccessResult) SetIsCreateAccountResult(v bool) { + x.IsCreateAccountResult = v +} + +func (x *CreateAccountResponse_SuccessResult) HasResource() bool { + if x == nil { + return false + } + return x.Resource != nil +} + +func (x *CreateAccountResponse_SuccessResult) ClearResource() { + x.Resource = nil +} + +type CreateAccountResponse_SuccessResult_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resource *Resource + IsCreateAccountResult bool +} + +func (b0 CreateAccountResponse_SuccessResult_builder) Build() *CreateAccountResponse_SuccessResult { + m0 := &CreateAccountResponse_SuccessResult{} + b, x := &b0, m0 + _, _ = b, x + x.Resource = b.Resource + x.IsCreateAccountResult = b.IsCreateAccountResult + return m0 +} + type CreateAccountResponse_ActionRequiredResult struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Resource *Resource `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` IsCreateAccountResult bool `protobuf:"varint,3,opt,name=is_create_account_result,json=isCreateAccountResult,proto3" json:"is_create_account_result,omitempty"` @@ -2082,7 +4033,7 @@ type CreateAccountResponse_ActionRequiredResult struct { func (x *CreateAccountResponse_ActionRequiredResult) Reset() { *x = CreateAccountResponse_ActionRequiredResult{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[31] + mi := &file_c1_connector_v2_resource_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2094,7 +4045,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[31] + mi := &file_c1_connector_v2_resource_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2105,11 +4056,6 @@ func (x *CreateAccountResponse_ActionRequiredResult) ProtoReflect() protoreflect return mi.MessageOf(x) } -// Deprecated: Use CreateAccountResponse_ActionRequiredResult.ProtoReflect.Descriptor instead. -func (*CreateAccountResponse_ActionRequiredResult) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{15, 1} -} - func (x *CreateAccountResponse_ActionRequiredResult) GetResource() *Resource { if x != nil { return x.Resource @@ -2131,8 +4077,49 @@ func (x *CreateAccountResponse_ActionRequiredResult) GetIsCreateAccountResult() return false } +func (x *CreateAccountResponse_ActionRequiredResult) SetResource(v *Resource) { + x.Resource = v +} + +func (x *CreateAccountResponse_ActionRequiredResult) SetMessage(v string) { + x.Message = v +} + +func (x *CreateAccountResponse_ActionRequiredResult) SetIsCreateAccountResult(v bool) { + x.IsCreateAccountResult = v +} + +func (x *CreateAccountResponse_ActionRequiredResult) HasResource() bool { + if x == nil { + return false + } + return x.Resource != nil +} + +func (x *CreateAccountResponse_ActionRequiredResult) ClearResource() { + x.Resource = nil +} + +type CreateAccountResponse_ActionRequiredResult_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resource *Resource + Message string + IsCreateAccountResult bool +} + +func (b0 CreateAccountResponse_ActionRequiredResult_builder) Build() *CreateAccountResponse_ActionRequiredResult { + m0 := &CreateAccountResponse_ActionRequiredResult{} + b, x := &b0, m0 + _, _ = b, x + x.Resource = b.Resource + x.Message = b.Message + x.IsCreateAccountResult = b.IsCreateAccountResult + return m0 +} + type EncryptionConfig_JWKPublicKeyConfig struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` PubKey []byte `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -2140,7 +4127,7 @@ type EncryptionConfig_JWKPublicKeyConfig struct { func (x *EncryptionConfig_JWKPublicKeyConfig) Reset() { *x = EncryptionConfig_JWKPublicKeyConfig{} - mi := &file_c1_connector_v2_resource_proto_msgTypes[32] + mi := &file_c1_connector_v2_resource_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2152,7 +4139,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[32] + mi := &file_c1_connector_v2_resource_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2163,11 +4150,6 @@ func (x *EncryptionConfig_JWKPublicKeyConfig) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use EncryptionConfig_JWKPublicKeyConfig.ProtoReflect.Descriptor instead. -func (*EncryptionConfig_JWKPublicKeyConfig) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{18, 0} -} - func (x *EncryptionConfig_JWKPublicKeyConfig) GetPubKey() []byte { if x != nil { return x.PubKey @@ -2175,482 +4157,246 @@ func (x *EncryptionConfig_JWKPublicKeyConfig) GetPubKey() []byte { return nil } -var File_c1_connector_v2_resource_proto protoreflect.FileDescriptor +func (x *EncryptionConfig_JWKPublicKeyConfig) SetPubKey(v []byte) { + if v == nil { + v = []byte{} + } + x.PubKey = v +} -var file_c1_connector_v2_resource_proto_rawDesc = string([]byte{ - 0x0a, 0x1e, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, - 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x0f, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, - 0x32, 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, 0x1a, 0x1c, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 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, 0xb4, 0x03, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x54, 0x79, 0x70, 0x65, 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, 0x30, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 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, 0x4c, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0e, 0x32, 0x23, 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, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x74, 0x42, 0x0f, 0xfa, 0x42, 0x0c, 0x92, 0x01, 0x09, 0x18, - 0x01, 0x22, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x72, 0x61, 0x69, 0x74, 0x73, - 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, 0x20, 0xd0, 0x01, 0x01, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x64, 0x45, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x22, 0x70, 0x0a, 0x05, 0x54, 0x72, 0x61, 0x69, - 0x74, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x52, 0x41, 0x49, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x52, 0x41, 0x49, - 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x52, 0x41, 0x49, - 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x52, 0x41, - 0x49, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x52, 0x41, - 0x49, 0x54, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x52, 0x41, 0x49, - 0x54, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, 0x10, 0x05, 0x22, 0xf1, 0x01, 0x0a, 0x2c, 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, 0x12, 0x31, 0x0a, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 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, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x27, - 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 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, 0x03, 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, 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, 0xd2, - 0x01, 0x0a, 0x2d, 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, - 0x12, 0x31, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, - 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, 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, 0x4e, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 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, 0x22, 0x85, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, - 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 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, 0x07, 0x63, 0x72, 0x65, 0x61, - 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, - 0xbe, 0x03, 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, 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, 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, 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, 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, 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, -}) +type EncryptionConfig_JWKPublicKeyConfig_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. -var ( - file_c1_connector_v2_resource_proto_rawDescOnce sync.Once - file_c1_connector_v2_resource_proto_rawDescData []byte -) + PubKey []byte +} -func file_c1_connector_v2_resource_proto_rawDescGZIP() []byte { - file_c1_connector_v2_resource_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_resource_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_resource_proto_rawDesc), len(file_c1_connector_v2_resource_proto_rawDesc))) - }) - return file_c1_connector_v2_resource_proto_rawDescData +func (b0 EncryptionConfig_JWKPublicKeyConfig_builder) Build() *EncryptionConfig_JWKPublicKeyConfig { + m0 := &EncryptionConfig_JWKPublicKeyConfig{} + b, x := &b0, m0 + _, _ = b, x + x.PubKey = b.PubKey + return m0 } +var File_c1_connector_v2_resource_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_resource_proto_rawDesc = "" + + "\n" + + "\x1ec1/connector/v2/resource.proto\x12\x0fc1.connector.v2\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x17validate/validate.proto\"\xb4\x03\n" + + "\fResourceType\x12\x1a\n" + + "\x02id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\x02id\x120\n" + + "\fdisplay_name\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\vdisplayName\x12L\n" + + "\x06traits\x18\x03 \x03(\x0e2#.c1.connector.v2.ResourceType.TraitB\x0f\xfaB\f\x92\x01\t\x18\x01\"\x05\x82\x01\x02\x10\x01R\x06traits\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12/\n" + + "\vdescription\x18\x05 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80 \xd0\x01\x01R\vdescription\x12-\n" + + "\x12sourced_externally\x18\x06 \x01(\bR\x11sourcedExternally\"p\n" + + "\x05Trait\x12\x15\n" + + "\x11TRAIT_UNSPECIFIED\x10\x00\x12\x0e\n" + + "\n" + + "TRAIT_USER\x10\x01\x12\x0f\n" + + "\vTRAIT_GROUP\x10\x02\x12\x0e\n" + + "\n" + + "TRAIT_ROLE\x10\x03\x12\r\n" + + "\tTRAIT_APP\x10\x04\x12\x10\n" + + "\fTRAIT_SECRET\x10\x05\"\xa6\x02\n" + + ",ResourceTypesServiceListResourceTypesRequest\x121\n" + + "\x06parent\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\x06parent\x12'\n" + + "\tpage_size\x18\x02 \x01(\rB\n" + + "\xfaB\a*\x05\x18\xfa\x01@\x01R\bpageSize\x12-\n" + + "\n" + + "page_token\x18\x03 \x01(\tB\x0e\xfaB\vr\t \x01(\x80\x80@\xd0\x01\x01R\tpageToken\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x123\n" + + "\x0eactive_sync_id\x18\x05 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\factiveSyncId\"\xd2\x01\n" + + "-ResourceTypesServiceListResourceTypesResponse\x121\n" + + "\x04list\x18\x01 \x03(\v2\x1d.c1.connector.v2.ResourceTypeR\x04list\x126\n" + + "\x0fnext_page_token\x18\x02 \x01(\tB\x0e\xfaB\vr\t \x01(\x80\x80@\xd0\x01\x01R\rnextPageToken\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"N\n" + + "\x15CreateResourceRequest\x125\n" + + "\bresource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\bresource\"\x85\x01\n" + + "\x16CreateResourceResponse\x123\n" + + "\acreated\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\acreated\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xa0\x01\n" + + "\x15DeleteResourceRequest\x12<\n" + + "\vresource_id\x18\x01 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\n" + + "resourceId\x12I\n" + + "\x12parent_resource_id\x18\x02 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\x10parentResourceId\"P\n" + + "\x16DeleteResourceResponse\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xa2\x01\n" + + "\x17DeleteResourceV2Request\x12<\n" + + "\vresource_id\x18\x01 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\n" + + "resourceId\x12I\n" + + "\x12parent_resource_id\x18\x02 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\x10parentResourceId\"R\n" + + "\x18DeleteResourceV2Response\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xfc\x01\n" + + "\x17RotateCredentialRequest\x12<\n" + + "\vresource_id\x18\x01 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\n" + + "resourceId\x12Q\n" + + "\x12credential_options\x18\x02 \x01(\v2\".c1.connector.v2.CredentialOptionsR\x11credentialOptions\x12P\n" + + "\x12encryption_configs\x18\x03 \x03(\v2!.c1.connector.v2.EncryptionConfigR\x11encryptionConfigs\"\xd7\x01\n" + + "\x18RotateCredentialResponse\x12E\n" + + "\x0eencrypted_data\x18\x01 \x03(\v2\x1e.c1.connector.v2.EncryptedDataR\rencryptedData\x12<\n" + + "\vresource_id\x18\x02 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\n" + + "resourceId\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x82\x02\n" + + "\vAccountInfo\x12:\n" + + "\x06emails\x18\x01 \x03(\v2\".c1.connector.v2.AccountInfo.EmailR\x06emails\x12\x14\n" + + "\x05login\x18\x02 \x01(\tR\x05login\x12#\n" + + "\rlogin_aliases\x18\x03 \x03(\tR\floginAliases\x121\n" + + "\aprofile\x18\x04 \x01(\v2\x17.google.protobuf.StructR\aprofile\x1aI\n" + + "\x05Email\x12!\n" + + "\aaddress\x18\x01 \x01(\tB\a\xfaB\x04r\x02`\x01R\aaddress\x12\x1d\n" + + "\n" + + "is_primary\x18\x02 \x01(\bR\tisPrimary\"\xd1\x05\n" + + "\x11CredentialOptions\x12\\\n" + + "\x0frandom_password\x18d \x01(\v21.c1.connector.v2.CredentialOptions.RandomPasswordH\x00R\x0erandomPassword\x12P\n" + + "\vno_password\x18e \x01(\v2-.c1.connector.v2.CredentialOptions.NoPasswordH\x00R\n" + + "noPassword\x12:\n" + + "\x03sso\x18f \x01(\v2&.c1.connector.v2.CredentialOptions.SSOH\x00R\x03sso\x12e\n" + + "\x12encrypted_password\x18g \x01(\v24.c1.connector.v2.CredentialOptions.EncryptedPasswordH\x00R\x11encryptedPassword\x12:\n" + + "\x1aforce_change_at_next_login\x18\x01 \x01(\bR\x16forceChangeAtNextLogin\x1az\n" + + "\x0eRandomPassword\x12!\n" + + "\x06length\x18\x01 \x01(\x03B\t\xfaB\x06\"\x04\x18@(\bR\x06length\x12E\n" + + "\vconstraints\x18\x02 \x03(\v2#.c1.connector.v2.PasswordConstraintR\vconstraints\x1a\f\n" + + "\n" + + "NoPassword\x1a(\n" + + "\x03SSO\x12!\n" + + "\fsso_provider\x18\x01 \x01(\tR\vssoProvider\x1an\n" + + "\x11EncryptedPassword\x12Y\n" + + "\x13encrypted_passwords\x18\x01 \x03(\v2\x1e.c1.connector.v2.EncryptedDataB\b\xfaB\x05\x92\x01\x02\b\x01R\x12encryptedPasswordsB\t\n" + + "\aoptions\"\xbe\x05\n" + + "\x16LocalCredentialOptions\x12a\n" + + "\x0frandom_password\x18d \x01(\v26.c1.connector.v2.LocalCredentialOptions.RandomPasswordH\x00R\x0erandomPassword\x12U\n" + + "\vno_password\x18e \x01(\v22.c1.connector.v2.LocalCredentialOptions.NoPasswordH\x00R\n" + + "noPassword\x12?\n" + + "\x03sso\x18f \x01(\v2+.c1.connector.v2.LocalCredentialOptions.SSOH\x00R\x03sso\x12j\n" + + "\x12plaintext_password\x18g \x01(\v29.c1.connector.v2.LocalCredentialOptions.PlaintextPasswordH\x00R\x11plaintextPassword\x12:\n" + + "\x1aforce_change_at_next_login\x18\x01 \x01(\bR\x16forceChangeAtNextLogin\x1az\n" + + "\x0eRandomPassword\x12!\n" + + "\x06length\x18\x01 \x01(\x03B\t\xfaB\x06\"\x04\x18@(\bR\x06length\x12E\n" + + "\vconstraints\x18\x02 \x03(\v2#.c1.connector.v2.PasswordConstraintR\vconstraints\x1a\f\n" + + "\n" + + "NoPassword\x1a(\n" + + "\x03SSO\x12!\n" + + "\fsso_provider\x18\x01 \x01(\tR\vssoProvider\x1aB\n" + + "\x11PlaintextPassword\x12-\n" + + "\x12plaintext_password\x18\x01 \x01(\tR\x11plaintextPasswordB\t\n" + + "\aoptions\"L\n" + + "\x12PasswordConstraint\x12\x19\n" + + "\bchar_set\x18\x01 \x01(\tR\acharSet\x12\x1b\n" + + "\tmin_count\x18\x02 \x01(\rR\bminCount\"\xfc\x01\n" + + "\x14CreateAccountRequest\x12?\n" + + "\faccount_info\x18\x01 \x01(\v2\x1c.c1.connector.v2.AccountInfoR\vaccountInfo\x12Q\n" + + "\x12credential_options\x18\x02 \x01(\v2\".c1.connector.v2.CredentialOptionsR\x11credentialOptions\x12P\n" + + "\x12encryption_configs\x18\x03 \x03(\v2!.c1.connector.v2.EncryptionConfigR\x11encryptionConfigs\"\xfe\x04\n" + + "\x15CreateAccountResponse\x12P\n" + + "\asuccess\x18d \x01(\v24.c1.connector.v2.CreateAccountResponse.SuccessResultH\x00R\asuccess\x12f\n" + + "\x0faction_required\x18e \x01(\v2;.c1.connector.v2.CreateAccountResponse.ActionRequiredResultH\x00R\x0eactionRequired\x12E\n" + + "\x0eencrypted_data\x18\x02 \x03(\v2\x1e.c1.connector.v2.EncryptedDataR\rencryptedData\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1a\x7f\n" + + "\rSuccessResult\x125\n" + + "\bresource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\bresource\x127\n" + + "\x18is_create_account_result\x18\x02 \x01(\bR\x15isCreateAccountResult\x1a\xa0\x01\n" + + "\x14ActionRequiredResult\x125\n" + + "\bresource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\bresource\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\x127\n" + + "\x18is_create_account_result\x18\x03 \x01(\bR\x15isCreateAccountResultB\b\n" + + "\x06result\"\xd6\x01\n" + + "\rEncryptedData\x12\x1a\n" + + "\bprovider\x18\x01 \x01(\tR\bprovider\x12\x19\n" + + "\x06key_id\x18\x02 \x01(\tB\x02\x18\x01R\x05keyId\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12 \n" + + "\vdescription\x18\x04 \x01(\tR\vdescription\x12\x16\n" + + "\x06schema\x18\x05 \x01(\tR\x06schema\x12'\n" + + "\x0fencrypted_bytes\x18\x06 \x01(\fR\x0eencryptedBytes\x12\x17\n" + + "\akey_ids\x18\a \x03(\tR\x06keyIds\"s\n" + + "\rPlaintextData\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12 \n" + + "\vdescription\x18\x02 \x01(\tR\vdescription\x12\x16\n" + + "\x06schema\x18\x03 \x01(\tR\x06schema\x12\x14\n" + + "\x05bytes\x18\x04 \x01(\fR\x05bytes\"\xa2\x02\n" + + "\x10EncryptionConfig\x127\n" + + "\tprincipal\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\tprincipal\x12\x1a\n" + + "\bprovider\x18\x02 \x01(\tR\bprovider\x12\x15\n" + + "\x06key_id\x18\x03 \x01(\tR\x05keyId\x12i\n" + + "\x15jwk_public_key_config\x18d \x01(\v24.c1.connector.v2.EncryptionConfig.JWKPublicKeyConfigH\x00R\x12jwkPublicKeyConfig\x1a-\n" + + "\x12JWKPublicKeyConfig\x12\x17\n" + + "\apub_key\x18\x01 \x01(\fR\x06pubKeyB\b\n" + + "\x06config\"\x8c\x01\n" + + "\n" + + "ResourceId\x12/\n" + + "\rresource_type\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\fresourceType\x12&\n" + + "\bresource\x18\x02 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\bresource\x12%\n" + + "\x0ebaton_resource\x18\x03 \x01(\bR\rbatonResource\"\xf0\x04\n" + + "\bResource\x12+\n" + + "\x02id\x18\x01 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\x02id\x12I\n" + + "\x12parent_resource_id\x18\x02 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\x10parentResourceId\x120\n" + + "\fdisplay_name\x18\x03 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\vdisplayName\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12/\n" + + "\vdescription\x18\x05 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\x10\xd0\x01\x01R\vdescription\x12%\n" + + "\x0ebaton_resource\x18\x06 \x01(\bR\rbatonResource\x12<\n" + + "\vexternal_id\x18\a \x01(\v2\x1b.c1.connector.v2.ExternalIdR\n" + + "externalId\x12Q\n" + + "\x0fcreation_source\x18\b \x01(\x0e2(.c1.connector.v2.Resource.CreationSourceR\x0ecreationSource\"\x98\x01\n" + + "\x0eCreationSource\x12\x1f\n" + + "\x1bCREATION_SOURCE_UNSPECIFIED\x10\x00\x12,\n" + + "(CREATION_SOURCE_CONNECTOR_LIST_RESOURCES\x10\x01\x127\n" + + "3CREATION_SOURCE_CONNECTOR_LIST_GRANTS_PRINCIPAL_JIT\x10\x02\"\xf6\x02\n" + + "$ResourcesServiceListResourcesRequest\x124\n" + + "\x10resource_type_id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\x0eresourceTypeId\x12S\n" + + "\x12parent_resource_id\x18\x02 \x01(\v2\x1b.c1.connector.v2.ResourceIdB\b\xfaB\x05\x8a\x01\x02\x10\x00R\x10parentResourceId\x12'\n" + + "\tpage_size\x18\x03 \x01(\rB\n" + + "\xfaB\a*\x05\x18\xfa\x01@\x01R\bpageSize\x12-\n" + + "\n" + + "page_token\x18\x04 \x01(\tB\x0e\xfaB\vr\t \x01(\x80\x80@\xd0\x01\x01R\tpageToken\x126\n" + + "\vannotations\x18\x05 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x123\n" + + "\x0eactive_sync_id\x18\x06 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\factiveSyncId\"\xc6\x01\n" + + "%ResourcesServiceListResourcesResponse\x12-\n" + + "\x04list\x18\x01 \x03(\v2\x19.c1.connector.v2.ResourceR\x04list\x126\n" + + "\x0fnext_page_token\x18\x02 \x01(\tB\x0e\xfaB\vr\t \x01(\x80\x80@\xd0\x01\x01R\rnextPageToken\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xa9\x02\n" + + "'ResourceGetterServiceGetResourceRequest\x12<\n" + + "\vresource_id\x18\x01 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\n" + + "resourceId\x12S\n" + + "\x12parent_resource_id\x18\x02 \x01(\v2\x1b.c1.connector.v2.ResourceIdB\b\xfaB\x05\x8a\x01\x02\x10\x00R\x10parentResourceId\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x123\n" + + "\x0eactive_sync_id\x18\x04 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\factiveSyncId\"\x99\x01\n" + + "(ResourceGetterServiceGetResourceResponse\x125\n" + + "\bresource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\bresource\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"R\n" + + "\n" + + "ExternalId\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04link\x18\x02 \x01(\tR\x04link\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription2\xab\x01\n" + + "\x14ResourceTypesService\x12\x92\x01\n" + + "\x11ListResourceTypes\x12=.c1.connector.v2.ResourceTypesServiceListResourceTypesRequest\x1a>.c1.connector.v2.ResourceTypesServiceListResourceTypesResponse2\x92\x01\n" + + "\x10ResourcesService\x12~\n" + + "\rListResources\x125.c1.connector.v2.ResourcesServiceListResourcesRequest\x1a6.c1.connector.v2.ResourcesServiceListResourcesResponse2\x9c\x01\n" + + "\x15ResourceGetterService\x12\x82\x01\n" + + "\vGetResource\x128.c1.connector.v2.ResourceGetterServiceGetResourceRequest\x1a9.c1.connector.v2.ResourceGetterServiceGetResourceResponse2\xde\x01\n" + + "\x16ResourceManagerService\x12a\n" + + "\x0eCreateResource\x12&.c1.connector.v2.CreateResourceRequest\x1a'.c1.connector.v2.CreateResourceResponse\x12a\n" + + "\x0eDeleteResource\x12&.c1.connector.v2.DeleteResourceRequest\x1a'.c1.connector.v2.DeleteResourceResponse2\x81\x01\n" + + "\x16ResourceDeleterService\x12g\n" + + "\x10DeleteResourceV2\x12(.c1.connector.v2.DeleteResourceV2Request\x1a).c1.connector.v2.DeleteResourceV2Response2\x83\x01\n" + + "\x18CredentialManagerService\x12g\n" + + "\x10RotateCredential\x12(.c1.connector.v2.RotateCredentialRequest\x1a).c1.connector.v2.RotateCredentialResponse2w\n" + + "\x15AccountManagerService\x12^\n" + + "\rCreateAccount\x12%.c1.connector.v2.CreateAccountRequest\x1a&.c1.connector.v2.CreateAccountResponseB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + var file_c1_connector_v2_resource_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_c1_connector_v2_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 33) +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 @@ -2667,101 +4413,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 - (*PasswordConstraint)(nil), // 15: c1.connector.v2.PasswordConstraint - (*CreateAccountRequest)(nil), // 16: c1.connector.v2.CreateAccountRequest - (*CreateAccountResponse)(nil), // 17: c1.connector.v2.CreateAccountResponse - (*EncryptedData)(nil), // 18: c1.connector.v2.EncryptedData - (*PlaintextData)(nil), // 19: c1.connector.v2.PlaintextData - (*EncryptionConfig)(nil), // 20: c1.connector.v2.EncryptionConfig - (*ResourceId)(nil), // 21: c1.connector.v2.ResourceId - (*Resource)(nil), // 22: c1.connector.v2.Resource - (*ResourcesServiceListResourcesRequest)(nil), // 23: c1.connector.v2.ResourcesServiceListResourcesRequest - (*ResourcesServiceListResourcesResponse)(nil), // 24: c1.connector.v2.ResourcesServiceListResourcesResponse - (*ResourceGetterServiceGetResourceRequest)(nil), // 25: c1.connector.v2.ResourceGetterServiceGetResourceRequest - (*ResourceGetterServiceGetResourceResponse)(nil), // 26: c1.connector.v2.ResourceGetterServiceGetResourceResponse - (*ExternalId)(nil), // 27: c1.connector.v2.ExternalId - (*AccountInfo_Email)(nil), // 28: c1.connector.v2.AccountInfo.Email - (*CredentialOptions_RandomPassword)(nil), // 29: c1.connector.v2.CredentialOptions.RandomPassword - (*CredentialOptions_NoPassword)(nil), // 30: c1.connector.v2.CredentialOptions.NoPassword - (*CredentialOptions_SSO)(nil), // 31: c1.connector.v2.CredentialOptions.SSO - (*CreateAccountResponse_SuccessResult)(nil), // 32: c1.connector.v2.CreateAccountResponse.SuccessResult - (*CreateAccountResponse_ActionRequiredResult)(nil), // 33: c1.connector.v2.CreateAccountResponse.ActionRequiredResult - (*EncryptionConfig_JWKPublicKeyConfig)(nil), // 34: c1.connector.v2.EncryptionConfig.JWKPublicKeyConfig - (*anypb.Any)(nil), // 35: google.protobuf.Any - (*structpb.Struct)(nil), // 36: 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 - 35, // 1: c1.connector.v2.ResourceType.annotations:type_name -> google.protobuf.Any - 22, // 2: c1.connector.v2.ResourceTypesServiceListResourceTypesRequest.parent:type_name -> c1.connector.v2.Resource - 35, // 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 - 35, // 5: c1.connector.v2.ResourceTypesServiceListResourceTypesResponse.annotations:type_name -> google.protobuf.Any - 22, // 6: c1.connector.v2.CreateResourceRequest.resource:type_name -> c1.connector.v2.Resource - 22, // 7: c1.connector.v2.CreateResourceResponse.created:type_name -> c1.connector.v2.Resource - 35, // 8: c1.connector.v2.CreateResourceResponse.annotations:type_name -> google.protobuf.Any - 21, // 9: c1.connector.v2.DeleteResourceRequest.resource_id:type_name -> c1.connector.v2.ResourceId - 35, // 10: c1.connector.v2.DeleteResourceResponse.annotations:type_name -> google.protobuf.Any - 21, // 11: c1.connector.v2.DeleteResourceV2Request.resource_id:type_name -> c1.connector.v2.ResourceId - 35, // 12: c1.connector.v2.DeleteResourceV2Response.annotations:type_name -> google.protobuf.Any - 21, // 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 - 20, // 15: c1.connector.v2.RotateCredentialRequest.encryption_configs:type_name -> c1.connector.v2.EncryptionConfig - 18, // 16: c1.connector.v2.RotateCredentialResponse.encrypted_data:type_name -> c1.connector.v2.EncryptedData - 21, // 17: c1.connector.v2.RotateCredentialResponse.resource_id:type_name -> c1.connector.v2.ResourceId - 35, // 18: c1.connector.v2.RotateCredentialResponse.annotations:type_name -> google.protobuf.Any - 28, // 19: c1.connector.v2.AccountInfo.emails:type_name -> c1.connector.v2.AccountInfo.Email - 36, // 20: c1.connector.v2.AccountInfo.profile:type_name -> google.protobuf.Struct - 29, // 21: c1.connector.v2.CredentialOptions.random_password:type_name -> c1.connector.v2.CredentialOptions.RandomPassword - 30, // 22: c1.connector.v2.CredentialOptions.no_password:type_name -> c1.connector.v2.CredentialOptions.NoPassword - 31, // 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 - 20, // 26: c1.connector.v2.CreateAccountRequest.encryption_configs:type_name -> c1.connector.v2.EncryptionConfig - 32, // 27: c1.connector.v2.CreateAccountResponse.success:type_name -> c1.connector.v2.CreateAccountResponse.SuccessResult - 33, // 28: c1.connector.v2.CreateAccountResponse.action_required:type_name -> c1.connector.v2.CreateAccountResponse.ActionRequiredResult - 18, // 29: c1.connector.v2.CreateAccountResponse.encrypted_data:type_name -> c1.connector.v2.EncryptedData - 35, // 30: c1.connector.v2.CreateAccountResponse.annotations:type_name -> google.protobuf.Any - 22, // 31: c1.connector.v2.EncryptionConfig.principal:type_name -> c1.connector.v2.Resource - 34, // 32: c1.connector.v2.EncryptionConfig.jwk_public_key_config:type_name -> c1.connector.v2.EncryptionConfig.JWKPublicKeyConfig - 21, // 33: c1.connector.v2.Resource.id:type_name -> c1.connector.v2.ResourceId - 21, // 34: c1.connector.v2.Resource.parent_resource_id:type_name -> c1.connector.v2.ResourceId - 35, // 35: c1.connector.v2.Resource.annotations:type_name -> google.protobuf.Any - 27, // 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 - 21, // 38: c1.connector.v2.ResourcesServiceListResourcesRequest.parent_resource_id:type_name -> c1.connector.v2.ResourceId - 35, // 39: c1.connector.v2.ResourcesServiceListResourcesRequest.annotations:type_name -> google.protobuf.Any - 22, // 40: c1.connector.v2.ResourcesServiceListResourcesResponse.list:type_name -> c1.connector.v2.Resource - 35, // 41: c1.connector.v2.ResourcesServiceListResourcesResponse.annotations:type_name -> google.protobuf.Any - 21, // 42: c1.connector.v2.ResourceGetterServiceGetResourceRequest.resource_id:type_name -> c1.connector.v2.ResourceId - 21, // 43: c1.connector.v2.ResourceGetterServiceGetResourceRequest.parent_resource_id:type_name -> c1.connector.v2.ResourceId - 35, // 44: c1.connector.v2.ResourceGetterServiceGetResourceRequest.annotations:type_name -> google.protobuf.Any - 22, // 45: c1.connector.v2.ResourceGetterServiceGetResourceResponse.resource:type_name -> c1.connector.v2.Resource - 35, // 46: c1.connector.v2.ResourceGetterServiceGetResourceResponse.annotations:type_name -> google.protobuf.Any - 15, // 47: c1.connector.v2.CredentialOptions.RandomPassword.constraints:type_name -> c1.connector.v2.PasswordConstraint - 22, // 48: c1.connector.v2.CreateAccountResponse.SuccessResult.resource:type_name -> c1.connector.v2.Resource - 22, // 49: c1.connector.v2.CreateAccountResponse.ActionRequiredResult.resource:type_name -> c1.connector.v2.Resource - 3, // 50: c1.connector.v2.ResourceTypesService.ListResourceTypes:input_type -> c1.connector.v2.ResourceTypesServiceListResourceTypesRequest - 23, // 51: c1.connector.v2.ResourcesService.ListResources:input_type -> c1.connector.v2.ResourcesServiceListResourcesRequest - 25, // 52: c1.connector.v2.ResourceGetterService.GetResource:input_type -> c1.connector.v2.ResourceGetterServiceGetResourceRequest - 5, // 53: c1.connector.v2.ResourceManagerService.CreateResource:input_type -> c1.connector.v2.CreateResourceRequest - 7, // 54: c1.connector.v2.ResourceManagerService.DeleteResource:input_type -> c1.connector.v2.DeleteResourceRequest - 9, // 55: c1.connector.v2.ResourceDeleterService.DeleteResourceV2:input_type -> c1.connector.v2.DeleteResourceV2Request - 11, // 56: c1.connector.v2.CredentialManagerService.RotateCredential:input_type -> c1.connector.v2.RotateCredentialRequest - 16, // 57: c1.connector.v2.AccountManagerService.CreateAccount:input_type -> c1.connector.v2.CreateAccountRequest - 4, // 58: c1.connector.v2.ResourceTypesService.ListResourceTypes:output_type -> c1.connector.v2.ResourceTypesServiceListResourceTypesResponse - 24, // 59: c1.connector.v2.ResourcesService.ListResources:output_type -> c1.connector.v2.ResourcesServiceListResourcesResponse - 26, // 60: c1.connector.v2.ResourceGetterService.GetResource:output_type -> c1.connector.v2.ResourceGetterServiceGetResourceResponse - 6, // 61: c1.connector.v2.ResourceManagerService.CreateResource:output_type -> c1.connector.v2.CreateResourceResponse - 8, // 62: c1.connector.v2.ResourceManagerService.DeleteResource:output_type -> c1.connector.v2.DeleteResourceResponse - 10, // 63: c1.connector.v2.ResourceDeleterService.DeleteResourceV2:output_type -> c1.connector.v2.DeleteResourceV2Response - 12, // 64: c1.connector.v2.CredentialManagerService.RotateCredential:output_type -> c1.connector.v2.RotateCredentialResponse - 17, // 65: c1.connector.v2.AccountManagerService.CreateAccount:output_type -> c1.connector.v2.CreateAccountResponse - 58, // [58:66] is the sub-list for method output_type - 50, // [50:58] is the sub-list for method input_type - 50, // [50:50] is the sub-list for extension type_name - 50, // [50:50] is the sub-list for extension extendee - 0, // [0:50] 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() } @@ -2773,12 +4534,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[15].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[18].OneofWrappers = []any{ + file_c1_connector_v2_resource_proto_msgTypes[19].OneofWrappers = []any{ (*EncryptionConfig_JwkPublicKeyConfig)(nil), } type x struct{} @@ -2787,7 +4555,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: 33, + 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 db1dd836..48fa3515 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 @@ -359,6 +359,21 @@ func (m *ResourceTypesServiceListResourceTypesRequest) validate(all bool) error } + if m.GetActiveSyncId() != "" { + + if l := len(m.GetActiveSyncId()); l < 1 || l > 1024 { + err := ResourceTypesServiceListResourceTypesRequestValidationError{ + field: "ActiveSyncId", + reason: "value length must be between 1 and 1024 bytes, inclusive", + } + if !all { + return err + } + errors = append(errors, err) + } + + } + if len(errors) > 0 { return ResourceTypesServiceListResourceTypesRequestMultiError(errors) } @@ -981,6 +996,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 +1292,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 +2116,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 +2242,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,67 +2367,340 @@ var _ interface { ErrorName() string } = CredentialOptionsValidationError{} -// Validate checks the field values on PasswordConstraint 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 *PasswordConstraint) Validate() error { +func (m *LocalCredentialOptions) Validate() error { return m.validate(false) } -// ValidateAll checks the field values on PasswordConstraint 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 -// PasswordConstraintMultiError, or nil if none found. -func (m *PasswordConstraint) ValidateAll() error { +// LocalCredentialOptionsMultiError, or nil if none found. +func (m *LocalCredentialOptions) ValidateAll() error { return m.validate(true) } -func (m *PasswordConstraint) validate(all bool) error { +func (m *LocalCredentialOptions) validate(all bool) error { if m == nil { return nil } var errors []error - // no validation rules for CharSet - - // no validation rules for MinCount + // no validation rules for ForceChangeAtNextLogin - if len(errors) > 0 { - return PasswordConstraintMultiError(errors) - } + switch v := m.Options.(type) { + case *LocalCredentialOptions_RandomPassword_: + if v == nil { + err := LocalCredentialOptionsValidationError{ + field: "Options", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } - return nil -} + 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 { + return LocalCredentialOptionsValidationError{ + field: "RandomPassword", + reason: "embedded message failed validation", + cause: err, + } + } + } -// PasswordConstraintMultiError is an error wrapping multiple validation errors -// returned by PasswordConstraint.ValidateAll() if the designated constraints -// aren't met. -type PasswordConstraintMultiError []error + 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) + } -// Error returns a concatenation of all the error messages it wraps. -func (m PasswordConstraintMultiError) Error() string { - msgs := make([]string, 0, len(m)) - for _, err := range m { - msgs = append(msgs, err.Error()) - } - return strings.Join(msgs, "; ") -} + 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, + } + } + } -// AllErrors returns a list of validation violation errors. -func (m PasswordConstraintMultiError) AllErrors() []error { return m } + 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) + } -// 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 - key bool -} + 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 { + return LocalCredentialOptionsValidationError{ + field: "Sso", + reason: "embedded message failed validation", + cause: err, + } + } + } -// Field function returns field value. -func (e PasswordConstraintValidationError) Field() string { return e.field } + 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) + } + + if all { + switch v := interface{}(m.GetPlaintextPassword()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + 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, LocalCredentialOptionsValidationError{ + field: "PlaintextPassword", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetPlaintextPassword()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return LocalCredentialOptionsValidationError{ + field: "PlaintextPassword", + reason: "embedded message failed validation", + cause: err, + } + } + } + + default: + _ = v // ensures v is used + } + + if len(errors) > 0 { + return LocalCredentialOptionsMultiError(errors) + } + + return nil +} + +// LocalCredentialOptionsMultiError is an error wrapping multiple validation +// errors returned by LocalCredentialOptions.ValidateAll() if the designated +// constraints aren't met. +type LocalCredentialOptionsMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m LocalCredentialOptionsMultiError) 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 LocalCredentialOptionsMultiError) AllErrors() []error { return m } + +// 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 + key bool +} + +// Field function returns field value. +func (e LocalCredentialOptionsValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e LocalCredentialOptionsValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e LocalCredentialOptionsValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e LocalCredentialOptionsValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e LocalCredentialOptionsValidationError) ErrorName() string { + return "LocalCredentialOptionsValidationError" +} + +// Error satisfies the builtin error interface +func (e LocalCredentialOptionsValidationError) 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 %sLocalCredentialOptions.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = LocalCredentialOptionsValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = LocalCredentialOptionsValidationError{} + +// 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 *PasswordConstraint) Validate() error { + return m.validate(false) +} + +// 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 +// PasswordConstraintMultiError, or nil if none found. +func (m *PasswordConstraint) ValidateAll() error { + return m.validate(true) +} + +func (m *PasswordConstraint) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for CharSet + + // no validation rules for MinCount + + if len(errors) > 0 { + return PasswordConstraintMultiError(errors) + } + + return nil +} + +// 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 PasswordConstraintMultiError) 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 PasswordConstraintMultiError) AllErrors() []error { return m } + +// 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 + key bool +} + +// Field function returns field value. +func (e PasswordConstraintValidationError) Field() string { return e.field } // Reason function returns reason value. func (e PasswordConstraintValidationError) Reason() string { return e.reason } @@ -3711,6 +4100,21 @@ func (m *ResourcesServiceListResourcesRequest) validate(all bool) error { } + if m.GetActiveSyncId() != "" { + + if l := len(m.GetActiveSyncId()); l < 1 || l > 1024 { + err := ResourcesServiceListResourcesRequestValidationError{ + field: "ActiveSyncId", + reason: "value length must be between 1 and 1024 bytes, inclusive", + } + if !all { + return err + } + errors = append(errors, err) + } + + } + if len(errors) > 0 { return ResourcesServiceListResourcesRequestMultiError(errors) } @@ -4097,6 +4501,21 @@ func (m *ResourceGetterServiceGetResourceRequest) validate(all bool) error { } + if m.GetActiveSyncId() != "" { + + if l := len(m.GetActiveSyncId()); l < 1 || l > 1024 { + err := ResourceGetterServiceGetResourceRequestValidationError{ + field: "ActiveSyncId", + reason: "value length must be between 1 and 1024 bytes, inclusive", + } + if !all { + return err + } + errors = append(errors, err) + } + + } + if len(errors) > 0 { return ResourceGetterServiceGetResourceRequestMultiError(errors) } @@ -4976,6 +5395,623 @@ var _ interface { ErrorName() string } = CredentialOptions_SSOValidationError{} +// 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 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 *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, + } + } + } + + } + + if len(errors) > 0 { + return CredentialOptions_EncryptedPasswordMultiError(errors) + } + + return nil +} + +// 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 CredentialOptions_EncryptedPasswordMultiError) 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 CredentialOptions_EncryptedPasswordMultiError) AllErrors() []error { return m } + +// 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 + key bool +} + +// Field function returns field value. +func (e CredentialOptions_EncryptedPasswordValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e CredentialOptions_EncryptedPasswordValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e CredentialOptions_EncryptedPasswordValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e CredentialOptions_EncryptedPasswordValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e CredentialOptions_EncryptedPasswordValidationError) ErrorName() string { + return "CredentialOptions_EncryptedPasswordValidationError" +} + +// Error satisfies the builtin error interface +func (e CredentialOptions_EncryptedPasswordValidationError) 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 %sCredentialOptions_EncryptedPassword.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = CredentialOptions_EncryptedPasswordValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = CredentialOptions_EncryptedPasswordValidationError{} + +// 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 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 *LocalCredentialOptions_RandomPassword) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + 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 + } + errors = append(errors, err) + } + + 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, 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, + } + } + } + + } + + if len(errors) > 0 { + return LocalCredentialOptions_RandomPasswordMultiError(errors) + } + + return nil +} + +// 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 LocalCredentialOptions_RandomPasswordMultiError) 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 LocalCredentialOptions_RandomPasswordMultiError) AllErrors() []error { return m } + +// 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 + key bool +} + +// Field function returns field value. +func (e LocalCredentialOptions_RandomPasswordValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e LocalCredentialOptions_RandomPasswordValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e LocalCredentialOptions_RandomPasswordValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e LocalCredentialOptions_RandomPasswordValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e LocalCredentialOptions_RandomPasswordValidationError) ErrorName() string { + return "LocalCredentialOptions_RandomPasswordValidationError" +} + +// Error satisfies the builtin error interface +func (e LocalCredentialOptions_RandomPasswordValidationError) 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 %sLocalCredentialOptions_RandomPassword.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = LocalCredentialOptions_RandomPasswordValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = LocalCredentialOptions_RandomPasswordValidationError{} + +// 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 *LocalCredentialOptions_NoPassword) Validate() error { + return m.validate(false) +} + +// 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 *LocalCredentialOptions_NoPassword) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return LocalCredentialOptions_NoPasswordMultiError(errors) + } + + return nil +} + +// LocalCredentialOptions_NoPasswordMultiError is an error wrapping multiple +// validation errors returned by +// LocalCredentialOptions_NoPassword.ValidateAll() if the designated +// constraints aren't met. +type LocalCredentialOptions_NoPasswordMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m LocalCredentialOptions_NoPasswordMultiError) 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 LocalCredentialOptions_NoPasswordMultiError) AllErrors() []error { return m } + +// LocalCredentialOptions_NoPasswordValidationError is the validation error +// returned by LocalCredentialOptions_NoPassword.Validate if the designated +// constraints aren't met. +type LocalCredentialOptions_NoPasswordValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e LocalCredentialOptions_NoPasswordValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e LocalCredentialOptions_NoPasswordValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e LocalCredentialOptions_NoPasswordValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e LocalCredentialOptions_NoPasswordValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e LocalCredentialOptions_NoPasswordValidationError) ErrorName() string { + return "LocalCredentialOptions_NoPasswordValidationError" +} + +// Error satisfies the builtin error interface +func (e LocalCredentialOptions_NoPasswordValidationError) 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 %sLocalCredentialOptions_NoPassword.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = LocalCredentialOptions_NoPasswordValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = LocalCredentialOptions_NoPasswordValidationError{} + +// 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 *LocalCredentialOptions_SSO) Validate() error { + return m.validate(false) +} + +// 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 +// LocalCredentialOptions_SSOMultiError, or nil if none found. +func (m *LocalCredentialOptions_SSO) ValidateAll() error { + return m.validate(true) +} + +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 LocalCredentialOptions_SSOMultiError(errors) + } + + return nil +} + +// LocalCredentialOptions_SSOMultiError is an error wrapping multiple +// validation errors returned by LocalCredentialOptions_SSO.ValidateAll() if +// the designated constraints aren't met. +type LocalCredentialOptions_SSOMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m LocalCredentialOptions_SSOMultiError) 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 LocalCredentialOptions_SSOMultiError) AllErrors() []error { return m } + +// 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 + key bool +} + +// Field function returns field value. +func (e LocalCredentialOptions_SSOValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e LocalCredentialOptions_SSOValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e LocalCredentialOptions_SSOValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e LocalCredentialOptions_SSOValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e LocalCredentialOptions_SSOValidationError) ErrorName() string { + return "LocalCredentialOptions_SSOValidationError" +} + +// Error satisfies the builtin error interface +func (e LocalCredentialOptions_SSOValidationError) 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 %sLocalCredentialOptions_SSO.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = LocalCredentialOptions_SSOValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = LocalCredentialOptions_SSOValidationError{} + +// 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 +// 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 *LocalCredentialOptions_PlaintextPassword) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for PlaintextPassword + + if len(errors) > 0 { + return LocalCredentialOptions_PlaintextPasswordMultiError(errors) + } + + return nil +} + +// LocalCredentialOptions_PlaintextPasswordMultiError is an error wrapping +// multiple validation errors returned by +// LocalCredentialOptions_PlaintextPassword.ValidateAll() if the designated +// constraints aren't met. +type LocalCredentialOptions_PlaintextPasswordMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m LocalCredentialOptions_PlaintextPasswordMultiError) 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 LocalCredentialOptions_PlaintextPasswordMultiError) AllErrors() []error { return m } + +// 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 + key bool +} + +// Field function returns field value. +func (e LocalCredentialOptions_PlaintextPasswordValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e LocalCredentialOptions_PlaintextPasswordValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e LocalCredentialOptions_PlaintextPasswordValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e LocalCredentialOptions_PlaintextPasswordValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e LocalCredentialOptions_PlaintextPasswordValidationError) ErrorName() string { + return "LocalCredentialOptions_PlaintextPasswordValidationError" +} + +// Error satisfies the builtin error interface +func (e LocalCredentialOptions_PlaintextPasswordValidationError) 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 %sLocalCredentialOptions_PlaintextPassword.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = LocalCredentialOptions_PlaintextPasswordValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = LocalCredentialOptions_PlaintextPasswordValidationError{} + // Validate checks the field values on CreateAccountResponse_SuccessResult 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 diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/resource_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/resource_protoopaque.pb.go new file mode 100644 index 00000000..f0285145 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/resource_protoopaque.pb.go @@ -0,0 +1,4565 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/resource.proto + +//go:build protoopaque + +package v2 + +import ( + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + structpb "google.golang.org/protobuf/types/known/structpb" + reflect "reflect" + 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) +) + +type ResourceType_Trait int32 + +const ( + ResourceType_TRAIT_UNSPECIFIED ResourceType_Trait = 0 + ResourceType_TRAIT_USER ResourceType_Trait = 1 + ResourceType_TRAIT_GROUP ResourceType_Trait = 2 + ResourceType_TRAIT_ROLE ResourceType_Trait = 3 + ResourceType_TRAIT_APP ResourceType_Trait = 4 + ResourceType_TRAIT_SECRET ResourceType_Trait = 5 +) + +// Enum value maps for ResourceType_Trait. +var ( + ResourceType_Trait_name = map[int32]string{ + 0: "TRAIT_UNSPECIFIED", + 1: "TRAIT_USER", + 2: "TRAIT_GROUP", + 3: "TRAIT_ROLE", + 4: "TRAIT_APP", + 5: "TRAIT_SECRET", + } + ResourceType_Trait_value = map[string]int32{ + "TRAIT_UNSPECIFIED": 0, + "TRAIT_USER": 1, + "TRAIT_GROUP": 2, + "TRAIT_ROLE": 3, + "TRAIT_APP": 4, + "TRAIT_SECRET": 5, + } +) + +func (x ResourceType_Trait) Enum() *ResourceType_Trait { + p := new(ResourceType_Trait) + *p = x + return p +} + +func (x ResourceType_Trait) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ResourceType_Trait) Descriptor() protoreflect.EnumDescriptor { + return file_c1_connector_v2_resource_proto_enumTypes[0].Descriptor() +} + +func (ResourceType_Trait) Type() protoreflect.EnumType { + return &file_c1_connector_v2_resource_proto_enumTypes[0] +} + +func (x ResourceType_Trait) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// FIXME(mstanbCO): call this something else? Should it just be a bool? Possibly just use an annotation? +type Resource_CreationSource int32 + +const ( + Resource_CREATION_SOURCE_UNSPECIFIED Resource_CreationSource = 0 + Resource_CREATION_SOURCE_CONNECTOR_LIST_RESOURCES Resource_CreationSource = 1 + Resource_CREATION_SOURCE_CONNECTOR_LIST_GRANTS_PRINCIPAL_JIT Resource_CreationSource = 2 +) + +// Enum value maps for Resource_CreationSource. +var ( + Resource_CreationSource_name = map[int32]string{ + 0: "CREATION_SOURCE_UNSPECIFIED", + 1: "CREATION_SOURCE_CONNECTOR_LIST_RESOURCES", + 2: "CREATION_SOURCE_CONNECTOR_LIST_GRANTS_PRINCIPAL_JIT", + } + Resource_CreationSource_value = map[string]int32{ + "CREATION_SOURCE_UNSPECIFIED": 0, + "CREATION_SOURCE_CONNECTOR_LIST_RESOURCES": 1, + "CREATION_SOURCE_CONNECTOR_LIST_GRANTS_PRINCIPAL_JIT": 2, + } +) + +func (x Resource_CreationSource) Enum() *Resource_CreationSource { + p := new(Resource_CreationSource) + *p = x + return p +} + +func (x Resource_CreationSource) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Resource_CreationSource) Descriptor() protoreflect.EnumDescriptor { + return file_c1_connector_v2_resource_proto_enumTypes[1].Descriptor() +} + +func (Resource_CreationSource) Type() protoreflect.EnumType { + return &file_c1_connector_v2_resource_proto_enumTypes[1] +} + +func (x Resource_CreationSource) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type ResourceType struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + xxx_hidden_DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3"` + xxx_hidden_Traits []ResourceType_Trait `protobuf:"varint,3,rep,packed,name=traits,proto3,enum=c1.connector.v2.ResourceType_Trait"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3"` + xxx_hidden_Description string `protobuf:"bytes,5,opt,name=description,proto3"` + xxx_hidden_SourcedExternally bool `protobuf:"varint,6,opt,name=sourced_externally,json=sourcedExternally,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceType) Reset() { + *x = ResourceType{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceType) ProtoMessage() {} + +func (x *ResourceType) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_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) +} + +func (x *ResourceType) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *ResourceType) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *ResourceType) GetTraits() []ResourceType_Trait { + if x != nil { + return x.xxx_hidden_Traits + } + return nil +} + +func (x *ResourceType) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ResourceType) GetDescription() string { + if x != nil { + return x.xxx_hidden_Description + } + return "" +} + +func (x *ResourceType) GetSourcedExternally() bool { + if x != nil { + return x.xxx_hidden_SourcedExternally + } + return false +} + +func (x *ResourceType) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *ResourceType) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +func (x *ResourceType) SetTraits(v []ResourceType_Trait) { + x.xxx_hidden_Traits = v +} + +func (x *ResourceType) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *ResourceType) SetDescription(v string) { + x.xxx_hidden_Description = v +} + +func (x *ResourceType) SetSourcedExternally(v bool) { + x.xxx_hidden_SourcedExternally = v +} + +type ResourceType_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + DisplayName string + Traits []ResourceType_Trait + Annotations []*anypb.Any + Description string + SourcedExternally bool +} + +func (b0 ResourceType_builder) Build() *ResourceType { + m0 := &ResourceType{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + x.xxx_hidden_DisplayName = b.DisplayName + x.xxx_hidden_Traits = b.Traits + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_Description = b.Description + x.xxx_hidden_SourcedExternally = b.SourcedExternally + return m0 +} + +type ResourceTypesServiceListResourceTypesRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Parent *Resource `protobuf:"bytes,1,opt,name=parent,proto3"` + xxx_hidden_PageSize uint32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3"` + xxx_hidden_PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3"` + xxx_hidden_ActiveSyncId string `protobuf:"bytes,5,opt,name=active_sync_id,json=activeSyncId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceTypesServiceListResourceTypesRequest) Reset() { + *x = ResourceTypesServiceListResourceTypesRequest{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceTypesServiceListResourceTypesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceTypesServiceListResourceTypesRequest) ProtoMessage() {} + +func (x *ResourceTypesServiceListResourceTypesRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_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) +} + +func (x *ResourceTypesServiceListResourceTypesRequest) GetParent() *Resource { + if x != nil { + return x.xxx_hidden_Parent + } + return nil +} + +func (x *ResourceTypesServiceListResourceTypesRequest) GetPageSize() uint32 { + if x != nil { + return x.xxx_hidden_PageSize + } + return 0 +} + +func (x *ResourceTypesServiceListResourceTypesRequest) GetPageToken() string { + if x != nil { + return x.xxx_hidden_PageToken + } + return "" +} + +func (x *ResourceTypesServiceListResourceTypesRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ResourceTypesServiceListResourceTypesRequest) GetActiveSyncId() string { + if x != nil { + return x.xxx_hidden_ActiveSyncId + } + return "" +} + +func (x *ResourceTypesServiceListResourceTypesRequest) SetParent(v *Resource) { + x.xxx_hidden_Parent = v +} + +func (x *ResourceTypesServiceListResourceTypesRequest) SetPageSize(v uint32) { + x.xxx_hidden_PageSize = v +} + +func (x *ResourceTypesServiceListResourceTypesRequest) SetPageToken(v string) { + x.xxx_hidden_PageToken = v +} + +func (x *ResourceTypesServiceListResourceTypesRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *ResourceTypesServiceListResourceTypesRequest) SetActiveSyncId(v string) { + x.xxx_hidden_ActiveSyncId = v +} + +func (x *ResourceTypesServiceListResourceTypesRequest) HasParent() bool { + if x == nil { + return false + } + return x.xxx_hidden_Parent != nil +} + +func (x *ResourceTypesServiceListResourceTypesRequest) ClearParent() { + x.xxx_hidden_Parent = nil +} + +type ResourceTypesServiceListResourceTypesRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Parent *Resource + PageSize uint32 + PageToken string + Annotations []*anypb.Any + ActiveSyncId string +} + +func (b0 ResourceTypesServiceListResourceTypesRequest_builder) Build() *ResourceTypesServiceListResourceTypesRequest { + m0 := &ResourceTypesServiceListResourceTypesRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Parent = b.Parent + x.xxx_hidden_PageSize = b.PageSize + x.xxx_hidden_PageToken = b.PageToken + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_ActiveSyncId = b.ActiveSyncId + return m0 +} + +type ResourceTypesServiceListResourceTypesResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_List *[]*ResourceType `protobuf:"bytes,1,rep,name=list,proto3"` + xxx_hidden_NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceTypesServiceListResourceTypesResponse) Reset() { + *x = ResourceTypesServiceListResourceTypesResponse{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceTypesServiceListResourceTypesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceTypesServiceListResourceTypesResponse) ProtoMessage() {} + +func (x *ResourceTypesServiceListResourceTypesResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_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) +} + +func (x *ResourceTypesServiceListResourceTypesResponse) GetList() []*ResourceType { + if x != nil { + if x.xxx_hidden_List != nil { + return *x.xxx_hidden_List + } + } + return nil +} + +func (x *ResourceTypesServiceListResourceTypesResponse) GetNextPageToken() string { + if x != nil { + return x.xxx_hidden_NextPageToken + } + return "" +} + +func (x *ResourceTypesServiceListResourceTypesResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ResourceTypesServiceListResourceTypesResponse) SetList(v []*ResourceType) { + x.xxx_hidden_List = &v +} + +func (x *ResourceTypesServiceListResourceTypesResponse) SetNextPageToken(v string) { + x.xxx_hidden_NextPageToken = v +} + +func (x *ResourceTypesServiceListResourceTypesResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type ResourceTypesServiceListResourceTypesResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + List []*ResourceType + NextPageToken string + Annotations []*anypb.Any +} + +func (b0 ResourceTypesServiceListResourceTypesResponse_builder) Build() *ResourceTypesServiceListResourceTypesResponse { + m0 := &ResourceTypesServiceListResourceTypesResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_List = &b.List + x.xxx_hidden_NextPageToken = b.NextPageToken + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type CreateResourceRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Resource *Resource `protobuf:"bytes,1,opt,name=resource,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateResourceRequest) Reset() { + *x = CreateResourceRequest{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateResourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateResourceRequest) ProtoMessage() {} + +func (x *CreateResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_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) +} + +func (x *CreateResourceRequest) GetResource() *Resource { + if x != nil { + return x.xxx_hidden_Resource + } + return nil +} + +func (x *CreateResourceRequest) SetResource(v *Resource) { + x.xxx_hidden_Resource = v +} + +func (x *CreateResourceRequest) HasResource() bool { + if x == nil { + return false + } + return x.xxx_hidden_Resource != nil +} + +func (x *CreateResourceRequest) ClearResource() { + x.xxx_hidden_Resource = nil +} + +type CreateResourceRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resource *Resource +} + +func (b0 CreateResourceRequest_builder) Build() *CreateResourceRequest { + m0 := &CreateResourceRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Resource = b.Resource + return m0 +} + +type CreateResourceResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Created *Resource `protobuf:"bytes,1,opt,name=created,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateResourceResponse) Reset() { + *x = CreateResourceResponse{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateResourceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateResourceResponse) ProtoMessage() {} + +func (x *CreateResourceResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *CreateResourceResponse) GetCreated() *Resource { + if x != nil { + return x.xxx_hidden_Created + } + return nil +} + +func (x *CreateResourceResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *CreateResourceResponse) SetCreated(v *Resource) { + x.xxx_hidden_Created = v +} + +func (x *CreateResourceResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *CreateResourceResponse) HasCreated() bool { + if x == nil { + return false + } + return x.xxx_hidden_Created != nil +} + +func (x *CreateResourceResponse) ClearCreated() { + x.xxx_hidden_Created = nil +} + +type CreateResourceResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Created *Resource + Annotations []*anypb.Any +} + +func (b0 CreateResourceResponse_builder) Build() *CreateResourceResponse { + m0 := &CreateResourceResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Created = b.Created + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type DeleteResourceRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ResourceId *ResourceId `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3"` + xxx_hidden_ParentResourceId *ResourceId `protobuf:"bytes,2,opt,name=parent_resource_id,json=parentResourceId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteResourceRequest) Reset() { + *x = DeleteResourceRequest{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteResourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteResourceRequest) ProtoMessage() {} + +func (x *DeleteResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *DeleteResourceRequest) GetResourceId() *ResourceId { + if x != nil { + return x.xxx_hidden_ResourceId + } + return nil +} + +func (x *DeleteResourceRequest) GetParentResourceId() *ResourceId { + if x != nil { + return x.xxx_hidden_ParentResourceId + } + return nil +} + +func (x *DeleteResourceRequest) SetResourceId(v *ResourceId) { + x.xxx_hidden_ResourceId = v +} + +func (x *DeleteResourceRequest) SetParentResourceId(v *ResourceId) { + x.xxx_hidden_ParentResourceId = v +} + +func (x *DeleteResourceRequest) HasResourceId() bool { + if x == nil { + return false + } + return x.xxx_hidden_ResourceId != nil +} + +func (x *DeleteResourceRequest) HasParentResourceId() bool { + if x == nil { + return false + } + return x.xxx_hidden_ParentResourceId != nil +} + +func (x *DeleteResourceRequest) ClearResourceId() { + x.xxx_hidden_ResourceId = nil +} + +func (x *DeleteResourceRequest) ClearParentResourceId() { + x.xxx_hidden_ParentResourceId = nil +} + +type DeleteResourceRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceId *ResourceId + ParentResourceId *ResourceId +} + +func (b0 DeleteResourceRequest_builder) Build() *DeleteResourceRequest { + m0 := &DeleteResourceRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ResourceId = b.ResourceId + x.xxx_hidden_ParentResourceId = b.ParentResourceId + return m0 +} + +type DeleteResourceResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteResourceResponse) Reset() { + *x = DeleteResourceResponse{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteResourceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteResourceResponse) ProtoMessage() {} + +func (x *DeleteResourceResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *DeleteResourceResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *DeleteResourceResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type DeleteResourceResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 DeleteResourceResponse_builder) Build() *DeleteResourceResponse { + m0 := &DeleteResourceResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type DeleteResourceV2Request struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ResourceId *ResourceId `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3"` + xxx_hidden_ParentResourceId *ResourceId `protobuf:"bytes,2,opt,name=parent_resource_id,json=parentResourceId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteResourceV2Request) Reset() { + *x = DeleteResourceV2Request{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteResourceV2Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteResourceV2Request) ProtoMessage() {} + +func (x *DeleteResourceV2Request) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_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) +} + +func (x *DeleteResourceV2Request) GetResourceId() *ResourceId { + if x != nil { + return x.xxx_hidden_ResourceId + } + return nil +} + +func (x *DeleteResourceV2Request) GetParentResourceId() *ResourceId { + if x != nil { + return x.xxx_hidden_ParentResourceId + } + return nil +} + +func (x *DeleteResourceV2Request) SetResourceId(v *ResourceId) { + x.xxx_hidden_ResourceId = v +} + +func (x *DeleteResourceV2Request) SetParentResourceId(v *ResourceId) { + x.xxx_hidden_ParentResourceId = v +} + +func (x *DeleteResourceV2Request) HasResourceId() bool { + if x == nil { + return false + } + return x.xxx_hidden_ResourceId != nil +} + +func (x *DeleteResourceV2Request) HasParentResourceId() bool { + if x == nil { + return false + } + return x.xxx_hidden_ParentResourceId != nil +} + +func (x *DeleteResourceV2Request) ClearResourceId() { + x.xxx_hidden_ResourceId = nil +} + +func (x *DeleteResourceV2Request) ClearParentResourceId() { + x.xxx_hidden_ParentResourceId = nil +} + +type DeleteResourceV2Request_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceId *ResourceId + ParentResourceId *ResourceId +} + +func (b0 DeleteResourceV2Request_builder) Build() *DeleteResourceV2Request { + m0 := &DeleteResourceV2Request{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ResourceId = b.ResourceId + x.xxx_hidden_ParentResourceId = b.ParentResourceId + return m0 +} + +type DeleteResourceV2Response struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteResourceV2Response) Reset() { + *x = DeleteResourceV2Response{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteResourceV2Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteResourceV2Response) ProtoMessage() {} + +func (x *DeleteResourceV2Response) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_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) +} + +func (x *DeleteResourceV2Response) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *DeleteResourceV2Response) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type DeleteResourceV2Response_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 DeleteResourceV2Response_builder) Build() *DeleteResourceV2Response { + m0 := &DeleteResourceV2Response{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type RotateCredentialRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ResourceId *ResourceId `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3"` + xxx_hidden_CredentialOptions *CredentialOptions `protobuf:"bytes,2,opt,name=credential_options,json=credentialOptions,proto3"` + xxx_hidden_EncryptionConfigs *[]*EncryptionConfig `protobuf:"bytes,3,rep,name=encryption_configs,json=encryptionConfigs,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RotateCredentialRequest) Reset() { + *x = RotateCredentialRequest{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RotateCredentialRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RotateCredentialRequest) ProtoMessage() {} + +func (x *RotateCredentialRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *RotateCredentialRequest) GetResourceId() *ResourceId { + if x != nil { + return x.xxx_hidden_ResourceId + } + return nil +} + +func (x *RotateCredentialRequest) GetCredentialOptions() *CredentialOptions { + if x != nil { + return x.xxx_hidden_CredentialOptions + } + return nil +} + +func (x *RotateCredentialRequest) GetEncryptionConfigs() []*EncryptionConfig { + if x != nil { + if x.xxx_hidden_EncryptionConfigs != nil { + return *x.xxx_hidden_EncryptionConfigs + } + } + return nil +} + +func (x *RotateCredentialRequest) SetResourceId(v *ResourceId) { + x.xxx_hidden_ResourceId = v +} + +func (x *RotateCredentialRequest) SetCredentialOptions(v *CredentialOptions) { + x.xxx_hidden_CredentialOptions = v +} + +func (x *RotateCredentialRequest) SetEncryptionConfigs(v []*EncryptionConfig) { + x.xxx_hidden_EncryptionConfigs = &v +} + +func (x *RotateCredentialRequest) HasResourceId() bool { + if x == nil { + return false + } + return x.xxx_hidden_ResourceId != nil +} + +func (x *RotateCredentialRequest) HasCredentialOptions() bool { + if x == nil { + return false + } + return x.xxx_hidden_CredentialOptions != nil +} + +func (x *RotateCredentialRequest) ClearResourceId() { + x.xxx_hidden_ResourceId = nil +} + +func (x *RotateCredentialRequest) ClearCredentialOptions() { + x.xxx_hidden_CredentialOptions = nil +} + +type RotateCredentialRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceId *ResourceId + CredentialOptions *CredentialOptions + EncryptionConfigs []*EncryptionConfig +} + +func (b0 RotateCredentialRequest_builder) Build() *RotateCredentialRequest { + m0 := &RotateCredentialRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ResourceId = b.ResourceId + x.xxx_hidden_CredentialOptions = b.CredentialOptions + x.xxx_hidden_EncryptionConfigs = &b.EncryptionConfigs + return m0 +} + +type RotateCredentialResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_EncryptedData *[]*EncryptedData `protobuf:"bytes,1,rep,name=encrypted_data,json=encryptedData,proto3"` + xxx_hidden_ResourceId *ResourceId `protobuf:"bytes,2,opt,name=resource_id,json=resourceId,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RotateCredentialResponse) Reset() { + *x = RotateCredentialResponse{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RotateCredentialResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RotateCredentialResponse) ProtoMessage() {} + +func (x *RotateCredentialResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *RotateCredentialResponse) GetEncryptedData() []*EncryptedData { + if x != nil { + if x.xxx_hidden_EncryptedData != nil { + return *x.xxx_hidden_EncryptedData + } + } + return nil +} + +func (x *RotateCredentialResponse) GetResourceId() *ResourceId { + if x != nil { + return x.xxx_hidden_ResourceId + } + return nil +} + +func (x *RotateCredentialResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *RotateCredentialResponse) SetEncryptedData(v []*EncryptedData) { + x.xxx_hidden_EncryptedData = &v +} + +func (x *RotateCredentialResponse) SetResourceId(v *ResourceId) { + x.xxx_hidden_ResourceId = v +} + +func (x *RotateCredentialResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *RotateCredentialResponse) HasResourceId() bool { + if x == nil { + return false + } + return x.xxx_hidden_ResourceId != nil +} + +func (x *RotateCredentialResponse) ClearResourceId() { + x.xxx_hidden_ResourceId = nil +} + +type RotateCredentialResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + EncryptedData []*EncryptedData + ResourceId *ResourceId + Annotations []*anypb.Any +} + +func (b0 RotateCredentialResponse_builder) Build() *RotateCredentialResponse { + m0 := &RotateCredentialResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_EncryptedData = &b.EncryptedData + x.xxx_hidden_ResourceId = b.ResourceId + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type AccountInfo struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Emails *[]*AccountInfo_Email `protobuf:"bytes,1,rep,name=emails,proto3"` + xxx_hidden_Login string `protobuf:"bytes,2,opt,name=login,proto3"` + xxx_hidden_LoginAliases []string `protobuf:"bytes,3,rep,name=login_aliases,json=loginAliases,proto3"` + xxx_hidden_Profile *structpb.Struct `protobuf:"bytes,4,opt,name=profile,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AccountInfo) Reset() { + *x = AccountInfo{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AccountInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountInfo) ProtoMessage() {} + +func (x *AccountInfo) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_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) +} + +func (x *AccountInfo) GetEmails() []*AccountInfo_Email { + if x != nil { + if x.xxx_hidden_Emails != nil { + return *x.xxx_hidden_Emails + } + } + return nil +} + +func (x *AccountInfo) GetLogin() string { + if x != nil { + return x.xxx_hidden_Login + } + return "" +} + +func (x *AccountInfo) GetLoginAliases() []string { + if x != nil { + return x.xxx_hidden_LoginAliases + } + return nil +} + +func (x *AccountInfo) GetProfile() *structpb.Struct { + if x != nil { + return x.xxx_hidden_Profile + } + return nil +} + +func (x *AccountInfo) SetEmails(v []*AccountInfo_Email) { + x.xxx_hidden_Emails = &v +} + +func (x *AccountInfo) SetLogin(v string) { + x.xxx_hidden_Login = v +} + +func (x *AccountInfo) SetLoginAliases(v []string) { + x.xxx_hidden_LoginAliases = v +} + +func (x *AccountInfo) SetProfile(v *structpb.Struct) { + x.xxx_hidden_Profile = v +} + +func (x *AccountInfo) HasProfile() bool { + if x == nil { + return false + } + return x.xxx_hidden_Profile != nil +} + +func (x *AccountInfo) ClearProfile() { + x.xxx_hidden_Profile = nil +} + +type AccountInfo_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Emails []*AccountInfo_Email + // The user's login + Login string + // Any additional login aliases for the user + LoginAliases []string + Profile *structpb.Struct +} + +func (b0 AccountInfo_builder) Build() *AccountInfo { + m0 := &AccountInfo{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Emails = &b.Emails + x.xxx_hidden_Login = b.Login + x.xxx_hidden_LoginAliases = b.LoginAliases + x.xxx_hidden_Profile = b.Profile + return m0 +} + +type CredentialOptions struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Options isCredentialOptions_Options `protobuf_oneof:"options"` + xxx_hidden_ForceChangeAtNextLogin bool `protobuf:"varint,1,opt,name=force_change_at_next_login,json=forceChangeAtNextLogin,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CredentialOptions) Reset() { + *x = CredentialOptions{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CredentialOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CredentialOptions) ProtoMessage() {} + +func (x *CredentialOptions) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *CredentialOptions) GetRandomPassword() *CredentialOptions_RandomPassword { + if x != nil { + if x, ok := x.xxx_hidden_Options.(*credentialOptions_RandomPassword_); ok { + return x.RandomPassword + } + } + return nil +} + +func (x *CredentialOptions) GetNoPassword() *CredentialOptions_NoPassword { + if x != nil { + if x, ok := x.xxx_hidden_Options.(*credentialOptions_NoPassword_); ok { + return x.NoPassword + } + } + return nil +} + +func (x *CredentialOptions) GetSso() *CredentialOptions_SSO { + if x != nil { + if x, ok := x.xxx_hidden_Options.(*credentialOptions_Sso); ok { + return x.Sso + } + } + return nil +} + +func (x *CredentialOptions) GetEncryptedPassword() *CredentialOptions_EncryptedPassword { + if x != nil { + if x, ok := x.xxx_hidden_Options.(*credentialOptions_EncryptedPassword_); ok { + return x.EncryptedPassword + } + } + return nil +} + +func (x *CredentialOptions) GetForceChangeAtNextLogin() bool { + if x != nil { + return x.xxx_hidden_ForceChangeAtNextLogin + } + return false +} + +func (x *CredentialOptions) SetRandomPassword(v *CredentialOptions_RandomPassword) { + if v == nil { + x.xxx_hidden_Options = nil + return + } + x.xxx_hidden_Options = &credentialOptions_RandomPassword_{v} +} + +func (x *CredentialOptions) SetNoPassword(v *CredentialOptions_NoPassword) { + if v == nil { + x.xxx_hidden_Options = nil + return + } + x.xxx_hidden_Options = &credentialOptions_NoPassword_{v} +} + +func (x *CredentialOptions) SetSso(v *CredentialOptions_SSO) { + if v == nil { + x.xxx_hidden_Options = nil + return + } + x.xxx_hidden_Options = &credentialOptions_Sso{v} +} + +func (x *CredentialOptions) SetEncryptedPassword(v *CredentialOptions_EncryptedPassword) { + if v == nil { + x.xxx_hidden_Options = nil + return + } + x.xxx_hidden_Options = &credentialOptions_EncryptedPassword_{v} +} + +func (x *CredentialOptions) SetForceChangeAtNextLogin(v bool) { + x.xxx_hidden_ForceChangeAtNextLogin = v +} + +func (x *CredentialOptions) HasOptions() bool { + if x == nil { + return false + } + return x.xxx_hidden_Options != nil +} + +func (x *CredentialOptions) HasRandomPassword() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Options.(*credentialOptions_RandomPassword_) + return ok +} + +func (x *CredentialOptions) HasNoPassword() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Options.(*credentialOptions_NoPassword_) + return ok +} + +func (x *CredentialOptions) HasSso() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Options.(*credentialOptions_Sso) + return ok +} + +func (x *CredentialOptions) HasEncryptedPassword() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Options.(*credentialOptions_EncryptedPassword_) + return ok +} + +func (x *CredentialOptions) ClearOptions() { + x.xxx_hidden_Options = nil +} + +func (x *CredentialOptions) ClearRandomPassword() { + if _, ok := x.xxx_hidden_Options.(*credentialOptions_RandomPassword_); ok { + x.xxx_hidden_Options = nil + } +} + +func (x *CredentialOptions) ClearNoPassword() { + if _, ok := x.xxx_hidden_Options.(*credentialOptions_NoPassword_); ok { + x.xxx_hidden_Options = nil + } +} + +func (x *CredentialOptions) ClearSso() { + if _, ok := x.xxx_hidden_Options.(*credentialOptions_Sso); ok { + x.xxx_hidden_Options = nil + } +} + +func (x *CredentialOptions) ClearEncryptedPassword() { + if _, ok := x.xxx_hidden_Options.(*credentialOptions_EncryptedPassword_); ok { + x.xxx_hidden_Options = nil + } +} + +const CredentialOptions_Options_not_set_case case_CredentialOptions_Options = 0 +const CredentialOptions_RandomPassword_case case_CredentialOptions_Options = 100 +const CredentialOptions_NoPassword_case case_CredentialOptions_Options = 101 +const CredentialOptions_Sso_case case_CredentialOptions_Options = 102 +const CredentialOptions_EncryptedPassword_case case_CredentialOptions_Options = 103 + +func (x *CredentialOptions) WhichOptions() case_CredentialOptions_Options { + if x == nil { + return CredentialOptions_Options_not_set_case + } + switch x.xxx_hidden_Options.(type) { + case *credentialOptions_RandomPassword_: + return CredentialOptions_RandomPassword_case + case *credentialOptions_NoPassword_: + return CredentialOptions_NoPassword_case + case *credentialOptions_Sso: + return CredentialOptions_Sso_case + case *credentialOptions_EncryptedPassword_: + return CredentialOptions_EncryptedPassword_case + default: + return CredentialOptions_Options_not_set_case + } +} + +type CredentialOptions_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Fields of oneof xxx_hidden_Options: + RandomPassword *CredentialOptions_RandomPassword + NoPassword *CredentialOptions_NoPassword + Sso *CredentialOptions_SSO + EncryptedPassword *CredentialOptions_EncryptedPassword + // -- end of xxx_hidden_Options + ForceChangeAtNextLogin bool +} + +func (b0 CredentialOptions_builder) Build() *CredentialOptions { + m0 := &CredentialOptions{} + b, x := &b0, m0 + _, _ = b, x + if b.RandomPassword != nil { + x.xxx_hidden_Options = &credentialOptions_RandomPassword_{b.RandomPassword} + } + if b.NoPassword != nil { + x.xxx_hidden_Options = &credentialOptions_NoPassword_{b.NoPassword} + } + if b.Sso != nil { + x.xxx_hidden_Options = &credentialOptions_Sso{b.Sso} + } + if b.EncryptedPassword != nil { + x.xxx_hidden_Options = &credentialOptions_EncryptedPassword_{b.EncryptedPassword} + } + x.xxx_hidden_ForceChangeAtNextLogin = b.ForceChangeAtNextLogin + return m0 +} + +type case_CredentialOptions_Options protoreflect.FieldNumber + +func (x case_CredentialOptions_Options) String() string { + md := file_c1_connector_v2_resource_proto_msgTypes[12].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isCredentialOptions_Options interface { + isCredentialOptions_Options() +} + +type credentialOptions_RandomPassword_ struct { + RandomPassword *CredentialOptions_RandomPassword `protobuf:"bytes,100,opt,name=random_password,json=randomPassword,proto3,oneof"` +} + +type credentialOptions_NoPassword_ struct { + NoPassword *CredentialOptions_NoPassword `protobuf:"bytes,101,opt,name=no_password,json=noPassword,proto3,oneof"` +} + +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:"opaque.v1"` + xxx_hidden_Options isLocalCredentialOptions_Options `protobuf_oneof:"options"` + xxx_hidden_ForceChangeAtNextLogin bool `protobuf:"varint,1,opt,name=force_change_at_next_login,json=forceChangeAtNextLogin,proto3"` + 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) +} + +func (x *LocalCredentialOptions) GetRandomPassword() *LocalCredentialOptions_RandomPassword { + if x != nil { + if x, ok := x.xxx_hidden_Options.(*localCredentialOptions_RandomPassword_); ok { + return x.RandomPassword + } + } + return nil +} + +func (x *LocalCredentialOptions) GetNoPassword() *LocalCredentialOptions_NoPassword { + if x != nil { + if x, ok := x.xxx_hidden_Options.(*localCredentialOptions_NoPassword_); ok { + return x.NoPassword + } + } + return nil +} + +func (x *LocalCredentialOptions) GetSso() *LocalCredentialOptions_SSO { + if x != nil { + if x, ok := x.xxx_hidden_Options.(*localCredentialOptions_Sso); ok { + return x.Sso + } + } + return nil +} + +func (x *LocalCredentialOptions) GetPlaintextPassword() *LocalCredentialOptions_PlaintextPassword { + if x != nil { + if x, ok := x.xxx_hidden_Options.(*localCredentialOptions_PlaintextPassword_); ok { + return x.PlaintextPassword + } + } + return nil +} + +func (x *LocalCredentialOptions) GetForceChangeAtNextLogin() bool { + if x != nil { + return x.xxx_hidden_ForceChangeAtNextLogin + } + return false +} + +func (x *LocalCredentialOptions) SetRandomPassword(v *LocalCredentialOptions_RandomPassword) { + if v == nil { + x.xxx_hidden_Options = nil + return + } + x.xxx_hidden_Options = &localCredentialOptions_RandomPassword_{v} +} + +func (x *LocalCredentialOptions) SetNoPassword(v *LocalCredentialOptions_NoPassword) { + if v == nil { + x.xxx_hidden_Options = nil + return + } + x.xxx_hidden_Options = &localCredentialOptions_NoPassword_{v} +} + +func (x *LocalCredentialOptions) SetSso(v *LocalCredentialOptions_SSO) { + if v == nil { + x.xxx_hidden_Options = nil + return + } + x.xxx_hidden_Options = &localCredentialOptions_Sso{v} +} + +func (x *LocalCredentialOptions) SetPlaintextPassword(v *LocalCredentialOptions_PlaintextPassword) { + if v == nil { + x.xxx_hidden_Options = nil + return + } + x.xxx_hidden_Options = &localCredentialOptions_PlaintextPassword_{v} +} + +func (x *LocalCredentialOptions) SetForceChangeAtNextLogin(v bool) { + x.xxx_hidden_ForceChangeAtNextLogin = v +} + +func (x *LocalCredentialOptions) HasOptions() bool { + if x == nil { + return false + } + return x.xxx_hidden_Options != nil +} + +func (x *LocalCredentialOptions) HasRandomPassword() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Options.(*localCredentialOptions_RandomPassword_) + return ok +} + +func (x *LocalCredentialOptions) HasNoPassword() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Options.(*localCredentialOptions_NoPassword_) + return ok +} + +func (x *LocalCredentialOptions) HasSso() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Options.(*localCredentialOptions_Sso) + return ok +} + +func (x *LocalCredentialOptions) HasPlaintextPassword() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Options.(*localCredentialOptions_PlaintextPassword_) + return ok +} + +func (x *LocalCredentialOptions) ClearOptions() { + x.xxx_hidden_Options = nil +} + +func (x *LocalCredentialOptions) ClearRandomPassword() { + if _, ok := x.xxx_hidden_Options.(*localCredentialOptions_RandomPassword_); ok { + x.xxx_hidden_Options = nil + } +} + +func (x *LocalCredentialOptions) ClearNoPassword() { + if _, ok := x.xxx_hidden_Options.(*localCredentialOptions_NoPassword_); ok { + x.xxx_hidden_Options = nil + } +} + +func (x *LocalCredentialOptions) ClearSso() { + if _, ok := x.xxx_hidden_Options.(*localCredentialOptions_Sso); ok { + x.xxx_hidden_Options = nil + } +} + +func (x *LocalCredentialOptions) ClearPlaintextPassword() { + if _, ok := x.xxx_hidden_Options.(*localCredentialOptions_PlaintextPassword_); ok { + x.xxx_hidden_Options = nil + } +} + +const LocalCredentialOptions_Options_not_set_case case_LocalCredentialOptions_Options = 0 +const LocalCredentialOptions_RandomPassword_case case_LocalCredentialOptions_Options = 100 +const LocalCredentialOptions_NoPassword_case case_LocalCredentialOptions_Options = 101 +const LocalCredentialOptions_Sso_case case_LocalCredentialOptions_Options = 102 +const LocalCredentialOptions_PlaintextPassword_case case_LocalCredentialOptions_Options = 103 + +func (x *LocalCredentialOptions) WhichOptions() case_LocalCredentialOptions_Options { + if x == nil { + return LocalCredentialOptions_Options_not_set_case + } + switch x.xxx_hidden_Options.(type) { + case *localCredentialOptions_RandomPassword_: + return LocalCredentialOptions_RandomPassword_case + case *localCredentialOptions_NoPassword_: + return LocalCredentialOptions_NoPassword_case + case *localCredentialOptions_Sso: + return LocalCredentialOptions_Sso_case + case *localCredentialOptions_PlaintextPassword_: + return LocalCredentialOptions_PlaintextPassword_case + default: + return LocalCredentialOptions_Options_not_set_case + } +} + +type LocalCredentialOptions_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Fields of oneof xxx_hidden_Options: + RandomPassword *LocalCredentialOptions_RandomPassword + NoPassword *LocalCredentialOptions_NoPassword + Sso *LocalCredentialOptions_SSO + PlaintextPassword *LocalCredentialOptions_PlaintextPassword + // -- end of xxx_hidden_Options + ForceChangeAtNextLogin bool +} + +func (b0 LocalCredentialOptions_builder) Build() *LocalCredentialOptions { + m0 := &LocalCredentialOptions{} + b, x := &b0, m0 + _, _ = b, x + if b.RandomPassword != nil { + x.xxx_hidden_Options = &localCredentialOptions_RandomPassword_{b.RandomPassword} + } + if b.NoPassword != nil { + x.xxx_hidden_Options = &localCredentialOptions_NoPassword_{b.NoPassword} + } + if b.Sso != nil { + x.xxx_hidden_Options = &localCredentialOptions_Sso{b.Sso} + } + if b.PlaintextPassword != nil { + x.xxx_hidden_Options = &localCredentialOptions_PlaintextPassword_{b.PlaintextPassword} + } + x.xxx_hidden_ForceChangeAtNextLogin = b.ForceChangeAtNextLogin + return m0 +} + +type case_LocalCredentialOptions_Options protoreflect.FieldNumber + +func (x case_LocalCredentialOptions_Options) String() string { + md := file_c1_connector_v2_resource_proto_msgTypes[13].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +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:"opaque.v1"` + xxx_hidden_CharSet string `protobuf:"bytes,1,opt,name=char_set,json=charSet,proto3"` + xxx_hidden_MinCount uint32 `protobuf:"varint,2,opt,name=min_count,json=minCount,proto3"` + 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) +} + +func (x *PasswordConstraint) GetCharSet() string { + if x != nil { + return x.xxx_hidden_CharSet + } + return "" +} + +func (x *PasswordConstraint) GetMinCount() uint32 { + if x != nil { + return x.xxx_hidden_MinCount + } + return 0 +} + +func (x *PasswordConstraint) SetCharSet(v string) { + x.xxx_hidden_CharSet = v +} + +func (x *PasswordConstraint) SetMinCount(v uint32) { + x.xxx_hidden_MinCount = v +} + +type PasswordConstraint_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + CharSet string + MinCount uint32 +} + +func (b0 PasswordConstraint_builder) Build() *PasswordConstraint { + m0 := &PasswordConstraint{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_CharSet = b.CharSet + x.xxx_hidden_MinCount = b.MinCount + return m0 +} + +type CreateAccountRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_AccountInfo *AccountInfo `protobuf:"bytes,1,opt,name=account_info,json=accountInfo,proto3"` + xxx_hidden_CredentialOptions *CredentialOptions `protobuf:"bytes,2,opt,name=credential_options,json=credentialOptions,proto3"` + xxx_hidden_EncryptionConfigs *[]*EncryptionConfig `protobuf:"bytes,3,rep,name=encryption_configs,json=encryptionConfigs,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateAccountRequest) Reset() { + *x = CreateAccountRequest{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateAccountRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAccountRequest) ProtoMessage() {} + +func (x *CreateAccountRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *CreateAccountRequest) GetAccountInfo() *AccountInfo { + if x != nil { + return x.xxx_hidden_AccountInfo + } + return nil +} + +func (x *CreateAccountRequest) GetCredentialOptions() *CredentialOptions { + if x != nil { + return x.xxx_hidden_CredentialOptions + } + return nil +} + +func (x *CreateAccountRequest) GetEncryptionConfigs() []*EncryptionConfig { + if x != nil { + if x.xxx_hidden_EncryptionConfigs != nil { + return *x.xxx_hidden_EncryptionConfigs + } + } + return nil +} + +func (x *CreateAccountRequest) SetAccountInfo(v *AccountInfo) { + x.xxx_hidden_AccountInfo = v +} + +func (x *CreateAccountRequest) SetCredentialOptions(v *CredentialOptions) { + x.xxx_hidden_CredentialOptions = v +} + +func (x *CreateAccountRequest) SetEncryptionConfigs(v []*EncryptionConfig) { + x.xxx_hidden_EncryptionConfigs = &v +} + +func (x *CreateAccountRequest) HasAccountInfo() bool { + if x == nil { + return false + } + return x.xxx_hidden_AccountInfo != nil +} + +func (x *CreateAccountRequest) HasCredentialOptions() bool { + if x == nil { + return false + } + return x.xxx_hidden_CredentialOptions != nil +} + +func (x *CreateAccountRequest) ClearAccountInfo() { + x.xxx_hidden_AccountInfo = nil +} + +func (x *CreateAccountRequest) ClearCredentialOptions() { + x.xxx_hidden_CredentialOptions = nil +} + +type CreateAccountRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + AccountInfo *AccountInfo + CredentialOptions *CredentialOptions + EncryptionConfigs []*EncryptionConfig +} + +func (b0 CreateAccountRequest_builder) Build() *CreateAccountRequest { + m0 := &CreateAccountRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_AccountInfo = b.AccountInfo + x.xxx_hidden_CredentialOptions = b.CredentialOptions + x.xxx_hidden_EncryptionConfigs = &b.EncryptionConfigs + return m0 +} + +type CreateAccountResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Result isCreateAccountResponse_Result `protobuf_oneof:"result"` + xxx_hidden_EncryptedData *[]*EncryptedData `protobuf:"bytes,2,rep,name=encrypted_data,json=encryptedData,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateAccountResponse) Reset() { + *x = CreateAccountResponse{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateAccountResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAccountResponse) ProtoMessage() {} + +func (x *CreateAccountResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *CreateAccountResponse) GetSuccess() *CreateAccountResponse_SuccessResult { + if x != nil { + if x, ok := x.xxx_hidden_Result.(*createAccountResponse_Success); ok { + return x.Success + } + } + return nil +} + +func (x *CreateAccountResponse) GetActionRequired() *CreateAccountResponse_ActionRequiredResult { + if x != nil { + if x, ok := x.xxx_hidden_Result.(*createAccountResponse_ActionRequired); ok { + return x.ActionRequired + } + } + return nil +} + +func (x *CreateAccountResponse) GetEncryptedData() []*EncryptedData { + if x != nil { + if x.xxx_hidden_EncryptedData != nil { + return *x.xxx_hidden_EncryptedData + } + } + return nil +} + +func (x *CreateAccountResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *CreateAccountResponse) SetSuccess(v *CreateAccountResponse_SuccessResult) { + if v == nil { + x.xxx_hidden_Result = nil + return + } + x.xxx_hidden_Result = &createAccountResponse_Success{v} +} + +func (x *CreateAccountResponse) SetActionRequired(v *CreateAccountResponse_ActionRequiredResult) { + if v == nil { + x.xxx_hidden_Result = nil + return + } + x.xxx_hidden_Result = &createAccountResponse_ActionRequired{v} +} + +func (x *CreateAccountResponse) SetEncryptedData(v []*EncryptedData) { + x.xxx_hidden_EncryptedData = &v +} + +func (x *CreateAccountResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *CreateAccountResponse) HasResult() bool { + if x == nil { + return false + } + return x.xxx_hidden_Result != nil +} + +func (x *CreateAccountResponse) HasSuccess() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Result.(*createAccountResponse_Success) + return ok +} + +func (x *CreateAccountResponse) HasActionRequired() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Result.(*createAccountResponse_ActionRequired) + return ok +} + +func (x *CreateAccountResponse) ClearResult() { + x.xxx_hidden_Result = nil +} + +func (x *CreateAccountResponse) ClearSuccess() { + if _, ok := x.xxx_hidden_Result.(*createAccountResponse_Success); ok { + x.xxx_hidden_Result = nil + } +} + +func (x *CreateAccountResponse) ClearActionRequired() { + if _, ok := x.xxx_hidden_Result.(*createAccountResponse_ActionRequired); ok { + x.xxx_hidden_Result = nil + } +} + +const CreateAccountResponse_Result_not_set_case case_CreateAccountResponse_Result = 0 +const CreateAccountResponse_Success_case case_CreateAccountResponse_Result = 100 +const CreateAccountResponse_ActionRequired_case case_CreateAccountResponse_Result = 101 + +func (x *CreateAccountResponse) WhichResult() case_CreateAccountResponse_Result { + if x == nil { + return CreateAccountResponse_Result_not_set_case + } + switch x.xxx_hidden_Result.(type) { + case *createAccountResponse_Success: + return CreateAccountResponse_Success_case + case *createAccountResponse_ActionRequired: + return CreateAccountResponse_ActionRequired_case + default: + return CreateAccountResponse_Result_not_set_case + } +} + +type CreateAccountResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Fields of oneof xxx_hidden_Result: + Success *CreateAccountResponse_SuccessResult + ActionRequired *CreateAccountResponse_ActionRequiredResult + // -- end of xxx_hidden_Result + EncryptedData []*EncryptedData + Annotations []*anypb.Any +} + +func (b0 CreateAccountResponse_builder) Build() *CreateAccountResponse { + m0 := &CreateAccountResponse{} + b, x := &b0, m0 + _, _ = b, x + if b.Success != nil { + x.xxx_hidden_Result = &createAccountResponse_Success{b.Success} + } + if b.ActionRequired != nil { + x.xxx_hidden_Result = &createAccountResponse_ActionRequired{b.ActionRequired} + } + x.xxx_hidden_EncryptedData = &b.EncryptedData + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type case_CreateAccountResponse_Result protoreflect.FieldNumber + +func (x case_CreateAccountResponse_Result) String() string { + md := file_c1_connector_v2_resource_proto_msgTypes[16].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isCreateAccountResponse_Result interface { + isCreateAccountResponse_Result() +} + +type createAccountResponse_Success struct { + Success *CreateAccountResponse_SuccessResult `protobuf:"bytes,100,opt,name=success,proto3,oneof"` +} + +type createAccountResponse_ActionRequired struct { + ActionRequired *CreateAccountResponse_ActionRequiredResult `protobuf:"bytes,101,opt,name=action_required,json=actionRequired,proto3,oneof"` +} + +func (*createAccountResponse_Success) isCreateAccountResponse_Result() {} + +func (*createAccountResponse_ActionRequired) isCreateAccountResponse_Result() {} + +type EncryptedData struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Provider string `protobuf:"bytes,1,opt,name=provider,proto3"` + xxx_hidden_KeyId string `protobuf:"bytes,2,opt,name=key_id,json=keyId,proto3"` + xxx_hidden_Name string `protobuf:"bytes,3,opt,name=name,proto3"` + xxx_hidden_Description string `protobuf:"bytes,4,opt,name=description,proto3"` + xxx_hidden_Schema string `protobuf:"bytes,5,opt,name=schema,proto3"` + xxx_hidden_EncryptedBytes []byte `protobuf:"bytes,6,opt,name=encrypted_bytes,json=encryptedBytes,proto3"` + xxx_hidden_KeyIds []string `protobuf:"bytes,7,rep,name=key_ids,json=keyIds,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EncryptedData) Reset() { + *x = EncryptedData{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EncryptedData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EncryptedData) ProtoMessage() {} + +func (x *EncryptedData) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *EncryptedData) GetProvider() string { + if x != nil { + return x.xxx_hidden_Provider + } + return "" +} + +// Deprecated: Marked as deprecated in c1/connector/v2/resource.proto. +func (x *EncryptedData) GetKeyId() string { + if x != nil { + return x.xxx_hidden_KeyId + } + return "" +} + +func (x *EncryptedData) GetName() string { + if x != nil { + return x.xxx_hidden_Name + } + return "" +} + +func (x *EncryptedData) GetDescription() string { + if x != nil { + return x.xxx_hidden_Description + } + return "" +} + +func (x *EncryptedData) GetSchema() string { + if x != nil { + return x.xxx_hidden_Schema + } + return "" +} + +func (x *EncryptedData) GetEncryptedBytes() []byte { + if x != nil { + return x.xxx_hidden_EncryptedBytes + } + return nil +} + +func (x *EncryptedData) GetKeyIds() []string { + if x != nil { + return x.xxx_hidden_KeyIds + } + return nil +} + +func (x *EncryptedData) SetProvider(v string) { + x.xxx_hidden_Provider = v +} + +// Deprecated: Marked as deprecated in c1/connector/v2/resource.proto. +func (x *EncryptedData) SetKeyId(v string) { + x.xxx_hidden_KeyId = v +} + +func (x *EncryptedData) SetName(v string) { + x.xxx_hidden_Name = v +} + +func (x *EncryptedData) SetDescription(v string) { + x.xxx_hidden_Description = v +} + +func (x *EncryptedData) SetSchema(v string) { + x.xxx_hidden_Schema = v +} + +func (x *EncryptedData) SetEncryptedBytes(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_EncryptedBytes = v +} + +func (x *EncryptedData) SetKeyIds(v []string) { + x.xxx_hidden_KeyIds = v +} + +type EncryptedData_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Provider string + // Deprecated: Marked as deprecated in c1/connector/v2/resource.proto. + KeyId string + Name string + Description string + Schema string + EncryptedBytes []byte + KeyIds []string +} + +func (b0 EncryptedData_builder) Build() *EncryptedData { + m0 := &EncryptedData{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Provider = b.Provider + x.xxx_hidden_KeyId = b.KeyId + x.xxx_hidden_Name = b.Name + x.xxx_hidden_Description = b.Description + x.xxx_hidden_Schema = b.Schema + x.xxx_hidden_EncryptedBytes = b.EncryptedBytes + x.xxx_hidden_KeyIds = b.KeyIds + return m0 +} + +type PlaintextData struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Name string `protobuf:"bytes,1,opt,name=name,proto3"` + xxx_hidden_Description string `protobuf:"bytes,2,opt,name=description,proto3"` + xxx_hidden_Schema string `protobuf:"bytes,3,opt,name=schema,proto3"` + xxx_hidden_Bytes []byte `protobuf:"bytes,4,opt,name=bytes,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PlaintextData) Reset() { + *x = PlaintextData{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlaintextData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlaintextData) ProtoMessage() {} + +func (x *PlaintextData) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *PlaintextData) GetName() string { + if x != nil { + return x.xxx_hidden_Name + } + return "" +} + +func (x *PlaintextData) GetDescription() string { + if x != nil { + return x.xxx_hidden_Description + } + return "" +} + +func (x *PlaintextData) GetSchema() string { + if x != nil { + return x.xxx_hidden_Schema + } + return "" +} + +func (x *PlaintextData) GetBytes() []byte { + if x != nil { + return x.xxx_hidden_Bytes + } + return nil +} + +func (x *PlaintextData) SetName(v string) { + x.xxx_hidden_Name = v +} + +func (x *PlaintextData) SetDescription(v string) { + x.xxx_hidden_Description = v +} + +func (x *PlaintextData) SetSchema(v string) { + x.xxx_hidden_Schema = v +} + +func (x *PlaintextData) SetBytes(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_Bytes = v +} + +type PlaintextData_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + Description string + Schema string + Bytes []byte +} + +func (b0 PlaintextData_builder) Build() *PlaintextData { + m0 := &PlaintextData{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Name = b.Name + x.xxx_hidden_Description = b.Description + x.xxx_hidden_Schema = b.Schema + x.xxx_hidden_Bytes = b.Bytes + return m0 +} + +type EncryptionConfig struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Principal *Resource `protobuf:"bytes,1,opt,name=principal,proto3"` + xxx_hidden_Provider string `protobuf:"bytes,2,opt,name=provider,proto3"` + xxx_hidden_KeyId string `protobuf:"bytes,3,opt,name=key_id,json=keyId,proto3"` + xxx_hidden_Config isEncryptionConfig_Config `protobuf_oneof:"config"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EncryptionConfig) Reset() { + *x = EncryptionConfig{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EncryptionConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EncryptionConfig) ProtoMessage() {} + +func (x *EncryptionConfig) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *EncryptionConfig) GetPrincipal() *Resource { + if x != nil { + return x.xxx_hidden_Principal + } + return nil +} + +func (x *EncryptionConfig) GetProvider() string { + if x != nil { + return x.xxx_hidden_Provider + } + return "" +} + +func (x *EncryptionConfig) GetKeyId() string { + if x != nil { + return x.xxx_hidden_KeyId + } + return "" +} + +func (x *EncryptionConfig) GetJwkPublicKeyConfig() *EncryptionConfig_JWKPublicKeyConfig { + if x != nil { + if x, ok := x.xxx_hidden_Config.(*encryptionConfig_JwkPublicKeyConfig); ok { + return x.JwkPublicKeyConfig + } + } + return nil +} + +func (x *EncryptionConfig) SetPrincipal(v *Resource) { + x.xxx_hidden_Principal = v +} + +func (x *EncryptionConfig) SetProvider(v string) { + x.xxx_hidden_Provider = v +} + +func (x *EncryptionConfig) SetKeyId(v string) { + x.xxx_hidden_KeyId = v +} + +func (x *EncryptionConfig) SetJwkPublicKeyConfig(v *EncryptionConfig_JWKPublicKeyConfig) { + if v == nil { + x.xxx_hidden_Config = nil + return + } + x.xxx_hidden_Config = &encryptionConfig_JwkPublicKeyConfig{v} +} + +func (x *EncryptionConfig) HasPrincipal() bool { + if x == nil { + return false + } + return x.xxx_hidden_Principal != nil +} + +func (x *EncryptionConfig) HasConfig() bool { + if x == nil { + return false + } + return x.xxx_hidden_Config != nil +} + +func (x *EncryptionConfig) HasJwkPublicKeyConfig() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Config.(*encryptionConfig_JwkPublicKeyConfig) + return ok +} + +func (x *EncryptionConfig) ClearPrincipal() { + x.xxx_hidden_Principal = nil +} + +func (x *EncryptionConfig) ClearConfig() { + x.xxx_hidden_Config = nil +} + +func (x *EncryptionConfig) ClearJwkPublicKeyConfig() { + if _, ok := x.xxx_hidden_Config.(*encryptionConfig_JwkPublicKeyConfig); ok { + x.xxx_hidden_Config = nil + } +} + +const EncryptionConfig_Config_not_set_case case_EncryptionConfig_Config = 0 +const EncryptionConfig_JwkPublicKeyConfig_case case_EncryptionConfig_Config = 100 + +func (x *EncryptionConfig) WhichConfig() case_EncryptionConfig_Config { + if x == nil { + return EncryptionConfig_Config_not_set_case + } + switch x.xxx_hidden_Config.(type) { + case *encryptionConfig_JwkPublicKeyConfig: + return EncryptionConfig_JwkPublicKeyConfig_case + default: + return EncryptionConfig_Config_not_set_case + } +} + +type EncryptionConfig_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Principal *Resource + Provider string + KeyId string + // Fields of oneof xxx_hidden_Config: + JwkPublicKeyConfig *EncryptionConfig_JWKPublicKeyConfig + // -- end of xxx_hidden_Config +} + +func (b0 EncryptionConfig_builder) Build() *EncryptionConfig { + m0 := &EncryptionConfig{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Principal = b.Principal + x.xxx_hidden_Provider = b.Provider + x.xxx_hidden_KeyId = b.KeyId + if b.JwkPublicKeyConfig != nil { + x.xxx_hidden_Config = &encryptionConfig_JwkPublicKeyConfig{b.JwkPublicKeyConfig} + } + return m0 +} + +type case_EncryptionConfig_Config protoreflect.FieldNumber + +func (x case_EncryptionConfig_Config) String() string { + md := file_c1_connector_v2_resource_proto_msgTypes[19].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isEncryptionConfig_Config interface { + isEncryptionConfig_Config() +} + +type encryptionConfig_JwkPublicKeyConfig struct { + JwkPublicKeyConfig *EncryptionConfig_JWKPublicKeyConfig `protobuf:"bytes,100,opt,name=jwk_public_key_config,json=jwkPublicKeyConfig,proto3,oneof"` +} + +func (*encryptionConfig_JwkPublicKeyConfig) isEncryptionConfig_Config() {} + +type ResourceId struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3"` + xxx_hidden_Resource string `protobuf:"bytes,2,opt,name=resource,proto3"` + xxx_hidden_BatonResource bool `protobuf:"varint,3,opt,name=baton_resource,json=batonResource,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceId) Reset() { + *x = ResourceId{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceId) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceId) ProtoMessage() {} + +func (x *ResourceId) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ResourceId) GetResourceType() string { + if x != nil { + return x.xxx_hidden_ResourceType + } + return "" +} + +func (x *ResourceId) GetResource() string { + if x != nil { + return x.xxx_hidden_Resource + } + return "" +} + +func (x *ResourceId) GetBatonResource() bool { + if x != nil { + return x.xxx_hidden_BatonResource + } + return false +} + +func (x *ResourceId) SetResourceType(v string) { + x.xxx_hidden_ResourceType = v +} + +func (x *ResourceId) SetResource(v string) { + x.xxx_hidden_Resource = v +} + +func (x *ResourceId) SetBatonResource(v bool) { + x.xxx_hidden_BatonResource = v +} + +type ResourceId_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceType string + Resource string + BatonResource bool +} + +func (b0 ResourceId_builder) Build() *ResourceId { + m0 := &ResourceId{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ResourceType = b.ResourceType + x.xxx_hidden_Resource = b.Resource + x.xxx_hidden_BatonResource = b.BatonResource + return m0 +} + +type Resource struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id *ResourceId `protobuf:"bytes,1,opt,name=id,proto3"` + xxx_hidden_ParentResourceId *ResourceId `protobuf:"bytes,2,opt,name=parent_resource_id,json=parentResourceId,proto3"` + xxx_hidden_DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3"` + xxx_hidden_Description string `protobuf:"bytes,5,opt,name=description,proto3"` + xxx_hidden_BatonResource bool `protobuf:"varint,6,opt,name=baton_resource,json=batonResource,proto3"` + xxx_hidden_ExternalId *ExternalId `protobuf:"bytes,7,opt,name=external_id,json=externalId,proto3"` + xxx_hidden_CreationSource Resource_CreationSource `protobuf:"varint,8,opt,name=creation_source,json=creationSource,proto3,enum=c1.connector.v2.Resource_CreationSource"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Resource) Reset() { + *x = Resource{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Resource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Resource) ProtoMessage() {} + +func (x *Resource) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Resource) GetId() *ResourceId { + if x != nil { + return x.xxx_hidden_Id + } + return nil +} + +func (x *Resource) GetParentResourceId() *ResourceId { + if x != nil { + return x.xxx_hidden_ParentResourceId + } + return nil +} + +func (x *Resource) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *Resource) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Resource) GetDescription() string { + if x != nil { + return x.xxx_hidden_Description + } + return "" +} + +func (x *Resource) GetBatonResource() bool { + if x != nil { + return x.xxx_hidden_BatonResource + } + return false +} + +func (x *Resource) GetExternalId() *ExternalId { + if x != nil { + return x.xxx_hidden_ExternalId + } + return nil +} + +func (x *Resource) GetCreationSource() Resource_CreationSource { + if x != nil { + return x.xxx_hidden_CreationSource + } + return Resource_CREATION_SOURCE_UNSPECIFIED +} + +func (x *Resource) SetId(v *ResourceId) { + x.xxx_hidden_Id = v +} + +func (x *Resource) SetParentResourceId(v *ResourceId) { + x.xxx_hidden_ParentResourceId = v +} + +func (x *Resource) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +func (x *Resource) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *Resource) SetDescription(v string) { + x.xxx_hidden_Description = v +} + +func (x *Resource) SetBatonResource(v bool) { + x.xxx_hidden_BatonResource = v +} + +func (x *Resource) SetExternalId(v *ExternalId) { + x.xxx_hidden_ExternalId = v +} + +func (x *Resource) SetCreationSource(v Resource_CreationSource) { + x.xxx_hidden_CreationSource = v +} + +func (x *Resource) HasId() bool { + if x == nil { + return false + } + return x.xxx_hidden_Id != nil +} + +func (x *Resource) HasParentResourceId() bool { + if x == nil { + return false + } + return x.xxx_hidden_ParentResourceId != nil +} + +func (x *Resource) HasExternalId() bool { + if x == nil { + return false + } + return x.xxx_hidden_ExternalId != nil +} + +func (x *Resource) ClearId() { + x.xxx_hidden_Id = nil +} + +func (x *Resource) ClearParentResourceId() { + x.xxx_hidden_ParentResourceId = nil +} + +func (x *Resource) ClearExternalId() { + x.xxx_hidden_ExternalId = nil +} + +type Resource_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id *ResourceId + ParentResourceId *ResourceId + DisplayName string + Annotations []*anypb.Any + Description string + BatonResource bool + ExternalId *ExternalId + CreationSource Resource_CreationSource +} + +func (b0 Resource_builder) Build() *Resource { + m0 := &Resource{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + x.xxx_hidden_ParentResourceId = b.ParentResourceId + x.xxx_hidden_DisplayName = b.DisplayName + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_Description = b.Description + x.xxx_hidden_BatonResource = b.BatonResource + x.xxx_hidden_ExternalId = b.ExternalId + x.xxx_hidden_CreationSource = b.CreationSource + return m0 +} + +type ResourcesServiceListResourcesRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ResourceTypeId string `protobuf:"bytes,1,opt,name=resource_type_id,json=resourceTypeId,proto3"` + xxx_hidden_ParentResourceId *ResourceId `protobuf:"bytes,2,opt,name=parent_resource_id,json=parentResourceId,proto3"` + xxx_hidden_PageSize uint32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3"` + xxx_hidden_PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,5,rep,name=annotations,proto3"` + xxx_hidden_ActiveSyncId string `protobuf:"bytes,6,opt,name=active_sync_id,json=activeSyncId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourcesServiceListResourcesRequest) Reset() { + *x = ResourcesServiceListResourcesRequest{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourcesServiceListResourcesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourcesServiceListResourcesRequest) ProtoMessage() {} + +func (x *ResourcesServiceListResourcesRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ResourcesServiceListResourcesRequest) GetResourceTypeId() string { + if x != nil { + return x.xxx_hidden_ResourceTypeId + } + return "" +} + +func (x *ResourcesServiceListResourcesRequest) GetParentResourceId() *ResourceId { + if x != nil { + return x.xxx_hidden_ParentResourceId + } + return nil +} + +func (x *ResourcesServiceListResourcesRequest) GetPageSize() uint32 { + if x != nil { + return x.xxx_hidden_PageSize + } + return 0 +} + +func (x *ResourcesServiceListResourcesRequest) GetPageToken() string { + if x != nil { + return x.xxx_hidden_PageToken + } + return "" +} + +func (x *ResourcesServiceListResourcesRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ResourcesServiceListResourcesRequest) GetActiveSyncId() string { + if x != nil { + return x.xxx_hidden_ActiveSyncId + } + return "" +} + +func (x *ResourcesServiceListResourcesRequest) SetResourceTypeId(v string) { + x.xxx_hidden_ResourceTypeId = v +} + +func (x *ResourcesServiceListResourcesRequest) SetParentResourceId(v *ResourceId) { + x.xxx_hidden_ParentResourceId = v +} + +func (x *ResourcesServiceListResourcesRequest) SetPageSize(v uint32) { + x.xxx_hidden_PageSize = v +} + +func (x *ResourcesServiceListResourcesRequest) SetPageToken(v string) { + x.xxx_hidden_PageToken = v +} + +func (x *ResourcesServiceListResourcesRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *ResourcesServiceListResourcesRequest) SetActiveSyncId(v string) { + x.xxx_hidden_ActiveSyncId = v +} + +func (x *ResourcesServiceListResourcesRequest) HasParentResourceId() bool { + if x == nil { + return false + } + return x.xxx_hidden_ParentResourceId != nil +} + +func (x *ResourcesServiceListResourcesRequest) ClearParentResourceId() { + x.xxx_hidden_ParentResourceId = nil +} + +type ResourcesServiceListResourcesRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceTypeId string + ParentResourceId *ResourceId + PageSize uint32 + PageToken string + Annotations []*anypb.Any + ActiveSyncId string +} + +func (b0 ResourcesServiceListResourcesRequest_builder) Build() *ResourcesServiceListResourcesRequest { + m0 := &ResourcesServiceListResourcesRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ResourceTypeId = b.ResourceTypeId + x.xxx_hidden_ParentResourceId = b.ParentResourceId + x.xxx_hidden_PageSize = b.PageSize + x.xxx_hidden_PageToken = b.PageToken + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_ActiveSyncId = b.ActiveSyncId + return m0 +} + +type ResourcesServiceListResourcesResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_List *[]*Resource `protobuf:"bytes,1,rep,name=list,proto3"` + xxx_hidden_NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourcesServiceListResourcesResponse) Reset() { + *x = ResourcesServiceListResourcesResponse{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourcesServiceListResourcesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourcesServiceListResourcesResponse) ProtoMessage() {} + +func (x *ResourcesServiceListResourcesResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ResourcesServiceListResourcesResponse) GetList() []*Resource { + if x != nil { + if x.xxx_hidden_List != nil { + return *x.xxx_hidden_List + } + } + return nil +} + +func (x *ResourcesServiceListResourcesResponse) GetNextPageToken() string { + if x != nil { + return x.xxx_hidden_NextPageToken + } + return "" +} + +func (x *ResourcesServiceListResourcesResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ResourcesServiceListResourcesResponse) SetList(v []*Resource) { + x.xxx_hidden_List = &v +} + +func (x *ResourcesServiceListResourcesResponse) SetNextPageToken(v string) { + x.xxx_hidden_NextPageToken = v +} + +func (x *ResourcesServiceListResourcesResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type ResourcesServiceListResourcesResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + List []*Resource + NextPageToken string + Annotations []*anypb.Any +} + +func (b0 ResourcesServiceListResourcesResponse_builder) Build() *ResourcesServiceListResourcesResponse { + m0 := &ResourcesServiceListResourcesResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_List = &b.List + x.xxx_hidden_NextPageToken = b.NextPageToken + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type ResourceGetterServiceGetResourceRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ResourceId *ResourceId `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3"` + xxx_hidden_ParentResourceId *ResourceId `protobuf:"bytes,2,opt,name=parent_resource_id,json=parentResourceId,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + xxx_hidden_ActiveSyncId string `protobuf:"bytes,4,opt,name=active_sync_id,json=activeSyncId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceGetterServiceGetResourceRequest) Reset() { + *x = ResourceGetterServiceGetResourceRequest{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceGetterServiceGetResourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceGetterServiceGetResourceRequest) ProtoMessage() {} + +func (x *ResourceGetterServiceGetResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ResourceGetterServiceGetResourceRequest) GetResourceId() *ResourceId { + if x != nil { + return x.xxx_hidden_ResourceId + } + return nil +} + +func (x *ResourceGetterServiceGetResourceRequest) GetParentResourceId() *ResourceId { + if x != nil { + return x.xxx_hidden_ParentResourceId + } + return nil +} + +func (x *ResourceGetterServiceGetResourceRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ResourceGetterServiceGetResourceRequest) GetActiveSyncId() string { + if x != nil { + return x.xxx_hidden_ActiveSyncId + } + return "" +} + +func (x *ResourceGetterServiceGetResourceRequest) SetResourceId(v *ResourceId) { + x.xxx_hidden_ResourceId = v +} + +func (x *ResourceGetterServiceGetResourceRequest) SetParentResourceId(v *ResourceId) { + x.xxx_hidden_ParentResourceId = v +} + +func (x *ResourceGetterServiceGetResourceRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *ResourceGetterServiceGetResourceRequest) SetActiveSyncId(v string) { + x.xxx_hidden_ActiveSyncId = v +} + +func (x *ResourceGetterServiceGetResourceRequest) HasResourceId() bool { + if x == nil { + return false + } + return x.xxx_hidden_ResourceId != nil +} + +func (x *ResourceGetterServiceGetResourceRequest) HasParentResourceId() bool { + if x == nil { + return false + } + return x.xxx_hidden_ParentResourceId != nil +} + +func (x *ResourceGetterServiceGetResourceRequest) ClearResourceId() { + x.xxx_hidden_ResourceId = nil +} + +func (x *ResourceGetterServiceGetResourceRequest) ClearParentResourceId() { + x.xxx_hidden_ParentResourceId = nil +} + +type ResourceGetterServiceGetResourceRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceId *ResourceId + ParentResourceId *ResourceId + Annotations []*anypb.Any + ActiveSyncId string +} + +func (b0 ResourceGetterServiceGetResourceRequest_builder) Build() *ResourceGetterServiceGetResourceRequest { + m0 := &ResourceGetterServiceGetResourceRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ResourceId = b.ResourceId + x.xxx_hidden_ParentResourceId = b.ParentResourceId + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_ActiveSyncId = b.ActiveSyncId + return m0 +} + +type ResourceGetterServiceGetResourceResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Resource *Resource `protobuf:"bytes,1,opt,name=resource,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceGetterServiceGetResourceResponse) Reset() { + *x = ResourceGetterServiceGetResourceResponse{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceGetterServiceGetResourceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceGetterServiceGetResourceResponse) ProtoMessage() {} + +func (x *ResourceGetterServiceGetResourceResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ResourceGetterServiceGetResourceResponse) GetResource() *Resource { + if x != nil { + return x.xxx_hidden_Resource + } + return nil +} + +func (x *ResourceGetterServiceGetResourceResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ResourceGetterServiceGetResourceResponse) SetResource(v *Resource) { + x.xxx_hidden_Resource = v +} + +func (x *ResourceGetterServiceGetResourceResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *ResourceGetterServiceGetResourceResponse) HasResource() bool { + if x == nil { + return false + } + return x.xxx_hidden_Resource != nil +} + +func (x *ResourceGetterServiceGetResourceResponse) ClearResource() { + x.xxx_hidden_Resource = nil +} + +type ResourceGetterServiceGetResourceResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resource *Resource + Annotations []*anypb.Any +} + +func (b0 ResourceGetterServiceGetResourceResponse_builder) Build() *ResourceGetterServiceGetResourceResponse { + m0 := &ResourceGetterServiceGetResourceResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Resource = b.Resource + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type ExternalId struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + xxx_hidden_Link string `protobuf:"bytes,2,opt,name=link,proto3"` + xxx_hidden_Description string `protobuf:"bytes,3,opt,name=description,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExternalId) Reset() { + *x = ExternalId{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExternalId) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalId) ProtoMessage() {} + +func (x *ExternalId) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ExternalId) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *ExternalId) GetLink() string { + if x != nil { + return x.xxx_hidden_Link + } + return "" +} + +func (x *ExternalId) GetDescription() string { + if x != nil { + return x.xxx_hidden_Description + } + return "" +} + +func (x *ExternalId) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *ExternalId) SetLink(v string) { + x.xxx_hidden_Link = v +} + +func (x *ExternalId) SetDescription(v string) { + x.xxx_hidden_Description = v +} + +type ExternalId_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + Link string + Description string +} + +func (b0 ExternalId_builder) Build() *ExternalId { + m0 := &ExternalId{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + x.xxx_hidden_Link = b.Link + x.xxx_hidden_Description = b.Description + return m0 +} + +type AccountInfo_Email struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Address string `protobuf:"bytes,1,opt,name=address,proto3"` + xxx_hidden_IsPrimary bool `protobuf:"varint,2,opt,name=is_primary,json=isPrimary,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AccountInfo_Email) Reset() { + *x = AccountInfo_Email{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AccountInfo_Email) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountInfo_Email) ProtoMessage() {} + +func (x *AccountInfo_Email) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *AccountInfo_Email) GetAddress() string { + if x != nil { + return x.xxx_hidden_Address + } + return "" +} + +func (x *AccountInfo_Email) GetIsPrimary() bool { + if x != nil { + return x.xxx_hidden_IsPrimary + } + return false +} + +func (x *AccountInfo_Email) SetAddress(v string) { + x.xxx_hidden_Address = v +} + +func (x *AccountInfo_Email) SetIsPrimary(v bool) { + x.xxx_hidden_IsPrimary = v +} + +type AccountInfo_Email_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Address string + // Indicates if this is the user's primary email. Only one entry can be marked as primary. + IsPrimary bool +} + +func (b0 AccountInfo_Email_builder) Build() *AccountInfo_Email { + m0 := &AccountInfo_Email{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Address = b.Address + x.xxx_hidden_IsPrimary = b.IsPrimary + return m0 +} + +type CredentialOptions_RandomPassword struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Length int64 `protobuf:"varint,1,opt,name=length,proto3"` + xxx_hidden_Constraints *[]*PasswordConstraint `protobuf:"bytes,2,rep,name=constraints,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CredentialOptions_RandomPassword) Reset() { + *x = CredentialOptions_RandomPassword{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CredentialOptions_RandomPassword) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CredentialOptions_RandomPassword) ProtoMessage() {} + +func (x *CredentialOptions_RandomPassword) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *CredentialOptions_RandomPassword) GetLength() int64 { + if x != nil { + return x.xxx_hidden_Length + } + return 0 +} + +func (x *CredentialOptions_RandomPassword) GetConstraints() []*PasswordConstraint { + if x != nil { + if x.xxx_hidden_Constraints != nil { + return *x.xxx_hidden_Constraints + } + } + return nil +} + +func (x *CredentialOptions_RandomPassword) SetLength(v int64) { + x.xxx_hidden_Length = v +} + +func (x *CredentialOptions_RandomPassword) SetConstraints(v []*PasswordConstraint) { + x.xxx_hidden_Constraints = &v +} + +type CredentialOptions_RandomPassword_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Length int64 + Constraints []*PasswordConstraint +} + +func (b0 CredentialOptions_RandomPassword_builder) Build() *CredentialOptions_RandomPassword { + m0 := &CredentialOptions_RandomPassword{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Length = b.Length + x.xxx_hidden_Constraints = &b.Constraints + return m0 +} + +type CredentialOptions_NoPassword struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CredentialOptions_NoPassword) Reset() { + *x = CredentialOptions_NoPassword{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CredentialOptions_NoPassword) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CredentialOptions_NoPassword) ProtoMessage() {} + +func (x *CredentialOptions_NoPassword) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +type CredentialOptions_NoPassword_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 CredentialOptions_NoPassword_builder) Build() *CredentialOptions_NoPassword { + m0 := &CredentialOptions_NoPassword{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +type CredentialOptions_SSO struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_SsoProvider string `protobuf:"bytes,1,opt,name=sso_provider,json=ssoProvider,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CredentialOptions_SSO) Reset() { + *x = CredentialOptions_SSO{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CredentialOptions_SSO) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CredentialOptions_SSO) ProtoMessage() {} + +func (x *CredentialOptions_SSO) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *CredentialOptions_SSO) GetSsoProvider() string { + if x != nil { + return x.xxx_hidden_SsoProvider + } + return "" +} + +func (x *CredentialOptions_SSO) SetSsoProvider(v string) { + x.xxx_hidden_SsoProvider = v +} + +type CredentialOptions_SSO_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SsoProvider string +} + +func (b0 CredentialOptions_SSO_builder) Build() *CredentialOptions_SSO { + m0 := &CredentialOptions_SSO{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_SsoProvider = b.SsoProvider + return m0 +} + +type CredentialOptions_EncryptedPassword struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_EncryptedPasswords *[]*EncryptedData `protobuf:"bytes,1,rep,name=encrypted_passwords,json=encryptedPasswords,proto3"` + 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) +} + +func (x *CredentialOptions_EncryptedPassword) GetEncryptedPasswords() []*EncryptedData { + if x != nil { + if x.xxx_hidden_EncryptedPasswords != nil { + return *x.xxx_hidden_EncryptedPasswords + } + } + return nil +} + +func (x *CredentialOptions_EncryptedPassword) SetEncryptedPasswords(v []*EncryptedData) { + x.xxx_hidden_EncryptedPasswords = &v +} + +type CredentialOptions_EncryptedPassword_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + EncryptedPasswords []*EncryptedData +} + +func (b0 CredentialOptions_EncryptedPassword_builder) Build() *CredentialOptions_EncryptedPassword { + m0 := &CredentialOptions_EncryptedPassword{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_EncryptedPasswords = &b.EncryptedPasswords + return m0 +} + +type LocalCredentialOptions_RandomPassword struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Length int64 `protobuf:"varint,1,opt,name=length,proto3"` + xxx_hidden_Constraints *[]*PasswordConstraint `protobuf:"bytes,2,rep,name=constraints,proto3"` + 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) +} + +func (x *LocalCredentialOptions_RandomPassword) GetLength() int64 { + if x != nil { + return x.xxx_hidden_Length + } + return 0 +} + +func (x *LocalCredentialOptions_RandomPassword) GetConstraints() []*PasswordConstraint { + if x != nil { + if x.xxx_hidden_Constraints != nil { + return *x.xxx_hidden_Constraints + } + } + return nil +} + +func (x *LocalCredentialOptions_RandomPassword) SetLength(v int64) { + x.xxx_hidden_Length = v +} + +func (x *LocalCredentialOptions_RandomPassword) SetConstraints(v []*PasswordConstraint) { + x.xxx_hidden_Constraints = &v +} + +type LocalCredentialOptions_RandomPassword_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Length int64 + Constraints []*PasswordConstraint +} + +func (b0 LocalCredentialOptions_RandomPassword_builder) Build() *LocalCredentialOptions_RandomPassword { + m0 := &LocalCredentialOptions_RandomPassword{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Length = b.Length + x.xxx_hidden_Constraints = &b.Constraints + return m0 +} + +type LocalCredentialOptions_NoPassword struct { + state protoimpl.MessageState `protogen:"opaque.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) +} + +type LocalCredentialOptions_NoPassword_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 LocalCredentialOptions_NoPassword_builder) Build() *LocalCredentialOptions_NoPassword { + m0 := &LocalCredentialOptions_NoPassword{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +type LocalCredentialOptions_SSO struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_SsoProvider string `protobuf:"bytes,1,opt,name=sso_provider,json=ssoProvider,proto3"` + 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) +} + +func (x *LocalCredentialOptions_SSO) GetSsoProvider() string { + if x != nil { + return x.xxx_hidden_SsoProvider + } + return "" +} + +func (x *LocalCredentialOptions_SSO) SetSsoProvider(v string) { + x.xxx_hidden_SsoProvider = v +} + +type LocalCredentialOptions_SSO_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SsoProvider string +} + +func (b0 LocalCredentialOptions_SSO_builder) Build() *LocalCredentialOptions_SSO { + m0 := &LocalCredentialOptions_SSO{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_SsoProvider = b.SsoProvider + return m0 +} + +type LocalCredentialOptions_PlaintextPassword struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_PlaintextPassword string `protobuf:"bytes,1,opt,name=plaintext_password,json=plaintextPassword,proto3"` + 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) +} + +func (x *LocalCredentialOptions_PlaintextPassword) GetPlaintextPassword() string { + if x != nil { + return x.xxx_hidden_PlaintextPassword + } + return "" +} + +func (x *LocalCredentialOptions_PlaintextPassword) SetPlaintextPassword(v string) { + x.xxx_hidden_PlaintextPassword = v +} + +type LocalCredentialOptions_PlaintextPassword_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + PlaintextPassword string +} + +func (b0 LocalCredentialOptions_PlaintextPassword_builder) Build() *LocalCredentialOptions_PlaintextPassword { + m0 := &LocalCredentialOptions_PlaintextPassword{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_PlaintextPassword = b.PlaintextPassword + return m0 +} + +type CreateAccountResponse_SuccessResult struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Resource *Resource `protobuf:"bytes,1,opt,name=resource,proto3"` + xxx_hidden_IsCreateAccountResult bool `protobuf:"varint,2,opt,name=is_create_account_result,json=isCreateAccountResult,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateAccountResponse_SuccessResult) Reset() { + *x = CreateAccountResponse_SuccessResult{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateAccountResponse_SuccessResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAccountResponse_SuccessResult) ProtoMessage() {} + +func (x *CreateAccountResponse_SuccessResult) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *CreateAccountResponse_SuccessResult) GetResource() *Resource { + if x != nil { + return x.xxx_hidden_Resource + } + return nil +} + +func (x *CreateAccountResponse_SuccessResult) GetIsCreateAccountResult() bool { + if x != nil { + return x.xxx_hidden_IsCreateAccountResult + } + return false +} + +func (x *CreateAccountResponse_SuccessResult) SetResource(v *Resource) { + x.xxx_hidden_Resource = v +} + +func (x *CreateAccountResponse_SuccessResult) SetIsCreateAccountResult(v bool) { + x.xxx_hidden_IsCreateAccountResult = v +} + +func (x *CreateAccountResponse_SuccessResult) HasResource() bool { + if x == nil { + return false + } + return x.xxx_hidden_Resource != nil +} + +func (x *CreateAccountResponse_SuccessResult) ClearResource() { + x.xxx_hidden_Resource = nil +} + +type CreateAccountResponse_SuccessResult_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resource *Resource + IsCreateAccountResult bool +} + +func (b0 CreateAccountResponse_SuccessResult_builder) Build() *CreateAccountResponse_SuccessResult { + m0 := &CreateAccountResponse_SuccessResult{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Resource = b.Resource + x.xxx_hidden_IsCreateAccountResult = b.IsCreateAccountResult + return m0 +} + +type CreateAccountResponse_ActionRequiredResult struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Resource *Resource `protobuf:"bytes,1,opt,name=resource,proto3"` + xxx_hidden_Message string `protobuf:"bytes,2,opt,name=message,proto3"` + xxx_hidden_IsCreateAccountResult bool `protobuf:"varint,3,opt,name=is_create_account_result,json=isCreateAccountResult,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateAccountResponse_ActionRequiredResult) Reset() { + *x = CreateAccountResponse_ActionRequiredResult{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateAccountResponse_ActionRequiredResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAccountResponse_ActionRequiredResult) ProtoMessage() {} + +func (x *CreateAccountResponse_ActionRequiredResult) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *CreateAccountResponse_ActionRequiredResult) GetResource() *Resource { + if x != nil { + return x.xxx_hidden_Resource + } + return nil +} + +func (x *CreateAccountResponse_ActionRequiredResult) GetMessage() string { + if x != nil { + return x.xxx_hidden_Message + } + return "" +} + +func (x *CreateAccountResponse_ActionRequiredResult) GetIsCreateAccountResult() bool { + if x != nil { + return x.xxx_hidden_IsCreateAccountResult + } + return false +} + +func (x *CreateAccountResponse_ActionRequiredResult) SetResource(v *Resource) { + x.xxx_hidden_Resource = v +} + +func (x *CreateAccountResponse_ActionRequiredResult) SetMessage(v string) { + x.xxx_hidden_Message = v +} + +func (x *CreateAccountResponse_ActionRequiredResult) SetIsCreateAccountResult(v bool) { + x.xxx_hidden_IsCreateAccountResult = v +} + +func (x *CreateAccountResponse_ActionRequiredResult) HasResource() bool { + if x == nil { + return false + } + return x.xxx_hidden_Resource != nil +} + +func (x *CreateAccountResponse_ActionRequiredResult) ClearResource() { + x.xxx_hidden_Resource = nil +} + +type CreateAccountResponse_ActionRequiredResult_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resource *Resource + Message string + IsCreateAccountResult bool +} + +func (b0 CreateAccountResponse_ActionRequiredResult_builder) Build() *CreateAccountResponse_ActionRequiredResult { + m0 := &CreateAccountResponse_ActionRequiredResult{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Resource = b.Resource + x.xxx_hidden_Message = b.Message + x.xxx_hidden_IsCreateAccountResult = b.IsCreateAccountResult + return m0 +} + +type EncryptionConfig_JWKPublicKeyConfig struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_PubKey []byte `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EncryptionConfig_JWKPublicKeyConfig) Reset() { + *x = EncryptionConfig_JWKPublicKeyConfig{} + mi := &file_c1_connector_v2_resource_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EncryptionConfig_JWKPublicKeyConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EncryptionConfig_JWKPublicKeyConfig) ProtoMessage() {} + +func (x *EncryptionConfig_JWKPublicKeyConfig) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_resource_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *EncryptionConfig_JWKPublicKeyConfig) GetPubKey() []byte { + if x != nil { + return x.xxx_hidden_PubKey + } + return nil +} + +func (x *EncryptionConfig_JWKPublicKeyConfig) SetPubKey(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_PubKey = v +} + +type EncryptionConfig_JWKPublicKeyConfig_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + PubKey []byte +} + +func (b0 EncryptionConfig_JWKPublicKeyConfig_builder) Build() *EncryptionConfig_JWKPublicKeyConfig { + m0 := &EncryptionConfig_JWKPublicKeyConfig{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_PubKey = b.PubKey + return m0 +} + +var File_c1_connector_v2_resource_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_resource_proto_rawDesc = "" + + "\n" + + "\x1ec1/connector/v2/resource.proto\x12\x0fc1.connector.v2\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x17validate/validate.proto\"\xb4\x03\n" + + "\fResourceType\x12\x1a\n" + + "\x02id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\x02id\x120\n" + + "\fdisplay_name\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\vdisplayName\x12L\n" + + "\x06traits\x18\x03 \x03(\x0e2#.c1.connector.v2.ResourceType.TraitB\x0f\xfaB\f\x92\x01\t\x18\x01\"\x05\x82\x01\x02\x10\x01R\x06traits\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12/\n" + + "\vdescription\x18\x05 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80 \xd0\x01\x01R\vdescription\x12-\n" + + "\x12sourced_externally\x18\x06 \x01(\bR\x11sourcedExternally\"p\n" + + "\x05Trait\x12\x15\n" + + "\x11TRAIT_UNSPECIFIED\x10\x00\x12\x0e\n" + + "\n" + + "TRAIT_USER\x10\x01\x12\x0f\n" + + "\vTRAIT_GROUP\x10\x02\x12\x0e\n" + + "\n" + + "TRAIT_ROLE\x10\x03\x12\r\n" + + "\tTRAIT_APP\x10\x04\x12\x10\n" + + "\fTRAIT_SECRET\x10\x05\"\xa6\x02\n" + + ",ResourceTypesServiceListResourceTypesRequest\x121\n" + + "\x06parent\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\x06parent\x12'\n" + + "\tpage_size\x18\x02 \x01(\rB\n" + + "\xfaB\a*\x05\x18\xfa\x01@\x01R\bpageSize\x12-\n" + + "\n" + + "page_token\x18\x03 \x01(\tB\x0e\xfaB\vr\t \x01(\x80\x80@\xd0\x01\x01R\tpageToken\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x123\n" + + "\x0eactive_sync_id\x18\x05 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\factiveSyncId\"\xd2\x01\n" + + "-ResourceTypesServiceListResourceTypesResponse\x121\n" + + "\x04list\x18\x01 \x03(\v2\x1d.c1.connector.v2.ResourceTypeR\x04list\x126\n" + + "\x0fnext_page_token\x18\x02 \x01(\tB\x0e\xfaB\vr\t \x01(\x80\x80@\xd0\x01\x01R\rnextPageToken\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"N\n" + + "\x15CreateResourceRequest\x125\n" + + "\bresource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\bresource\"\x85\x01\n" + + "\x16CreateResourceResponse\x123\n" + + "\acreated\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\acreated\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xa0\x01\n" + + "\x15DeleteResourceRequest\x12<\n" + + "\vresource_id\x18\x01 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\n" + + "resourceId\x12I\n" + + "\x12parent_resource_id\x18\x02 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\x10parentResourceId\"P\n" + + "\x16DeleteResourceResponse\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xa2\x01\n" + + "\x17DeleteResourceV2Request\x12<\n" + + "\vresource_id\x18\x01 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\n" + + "resourceId\x12I\n" + + "\x12parent_resource_id\x18\x02 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\x10parentResourceId\"R\n" + + "\x18DeleteResourceV2Response\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xfc\x01\n" + + "\x17RotateCredentialRequest\x12<\n" + + "\vresource_id\x18\x01 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\n" + + "resourceId\x12Q\n" + + "\x12credential_options\x18\x02 \x01(\v2\".c1.connector.v2.CredentialOptionsR\x11credentialOptions\x12P\n" + + "\x12encryption_configs\x18\x03 \x03(\v2!.c1.connector.v2.EncryptionConfigR\x11encryptionConfigs\"\xd7\x01\n" + + "\x18RotateCredentialResponse\x12E\n" + + "\x0eencrypted_data\x18\x01 \x03(\v2\x1e.c1.connector.v2.EncryptedDataR\rencryptedData\x12<\n" + + "\vresource_id\x18\x02 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\n" + + "resourceId\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x82\x02\n" + + "\vAccountInfo\x12:\n" + + "\x06emails\x18\x01 \x03(\v2\".c1.connector.v2.AccountInfo.EmailR\x06emails\x12\x14\n" + + "\x05login\x18\x02 \x01(\tR\x05login\x12#\n" + + "\rlogin_aliases\x18\x03 \x03(\tR\floginAliases\x121\n" + + "\aprofile\x18\x04 \x01(\v2\x17.google.protobuf.StructR\aprofile\x1aI\n" + + "\x05Email\x12!\n" + + "\aaddress\x18\x01 \x01(\tB\a\xfaB\x04r\x02`\x01R\aaddress\x12\x1d\n" + + "\n" + + "is_primary\x18\x02 \x01(\bR\tisPrimary\"\xd1\x05\n" + + "\x11CredentialOptions\x12\\\n" + + "\x0frandom_password\x18d \x01(\v21.c1.connector.v2.CredentialOptions.RandomPasswordH\x00R\x0erandomPassword\x12P\n" + + "\vno_password\x18e \x01(\v2-.c1.connector.v2.CredentialOptions.NoPasswordH\x00R\n" + + "noPassword\x12:\n" + + "\x03sso\x18f \x01(\v2&.c1.connector.v2.CredentialOptions.SSOH\x00R\x03sso\x12e\n" + + "\x12encrypted_password\x18g \x01(\v24.c1.connector.v2.CredentialOptions.EncryptedPasswordH\x00R\x11encryptedPassword\x12:\n" + + "\x1aforce_change_at_next_login\x18\x01 \x01(\bR\x16forceChangeAtNextLogin\x1az\n" + + "\x0eRandomPassword\x12!\n" + + "\x06length\x18\x01 \x01(\x03B\t\xfaB\x06\"\x04\x18@(\bR\x06length\x12E\n" + + "\vconstraints\x18\x02 \x03(\v2#.c1.connector.v2.PasswordConstraintR\vconstraints\x1a\f\n" + + "\n" + + "NoPassword\x1a(\n" + + "\x03SSO\x12!\n" + + "\fsso_provider\x18\x01 \x01(\tR\vssoProvider\x1an\n" + + "\x11EncryptedPassword\x12Y\n" + + "\x13encrypted_passwords\x18\x01 \x03(\v2\x1e.c1.connector.v2.EncryptedDataB\b\xfaB\x05\x92\x01\x02\b\x01R\x12encryptedPasswordsB\t\n" + + "\aoptions\"\xbe\x05\n" + + "\x16LocalCredentialOptions\x12a\n" + + "\x0frandom_password\x18d \x01(\v26.c1.connector.v2.LocalCredentialOptions.RandomPasswordH\x00R\x0erandomPassword\x12U\n" + + "\vno_password\x18e \x01(\v22.c1.connector.v2.LocalCredentialOptions.NoPasswordH\x00R\n" + + "noPassword\x12?\n" + + "\x03sso\x18f \x01(\v2+.c1.connector.v2.LocalCredentialOptions.SSOH\x00R\x03sso\x12j\n" + + "\x12plaintext_password\x18g \x01(\v29.c1.connector.v2.LocalCredentialOptions.PlaintextPasswordH\x00R\x11plaintextPassword\x12:\n" + + "\x1aforce_change_at_next_login\x18\x01 \x01(\bR\x16forceChangeAtNextLogin\x1az\n" + + "\x0eRandomPassword\x12!\n" + + "\x06length\x18\x01 \x01(\x03B\t\xfaB\x06\"\x04\x18@(\bR\x06length\x12E\n" + + "\vconstraints\x18\x02 \x03(\v2#.c1.connector.v2.PasswordConstraintR\vconstraints\x1a\f\n" + + "\n" + + "NoPassword\x1a(\n" + + "\x03SSO\x12!\n" + + "\fsso_provider\x18\x01 \x01(\tR\vssoProvider\x1aB\n" + + "\x11PlaintextPassword\x12-\n" + + "\x12plaintext_password\x18\x01 \x01(\tR\x11plaintextPasswordB\t\n" + + "\aoptions\"L\n" + + "\x12PasswordConstraint\x12\x19\n" + + "\bchar_set\x18\x01 \x01(\tR\acharSet\x12\x1b\n" + + "\tmin_count\x18\x02 \x01(\rR\bminCount\"\xfc\x01\n" + + "\x14CreateAccountRequest\x12?\n" + + "\faccount_info\x18\x01 \x01(\v2\x1c.c1.connector.v2.AccountInfoR\vaccountInfo\x12Q\n" + + "\x12credential_options\x18\x02 \x01(\v2\".c1.connector.v2.CredentialOptionsR\x11credentialOptions\x12P\n" + + "\x12encryption_configs\x18\x03 \x03(\v2!.c1.connector.v2.EncryptionConfigR\x11encryptionConfigs\"\xfe\x04\n" + + "\x15CreateAccountResponse\x12P\n" + + "\asuccess\x18d \x01(\v24.c1.connector.v2.CreateAccountResponse.SuccessResultH\x00R\asuccess\x12f\n" + + "\x0faction_required\x18e \x01(\v2;.c1.connector.v2.CreateAccountResponse.ActionRequiredResultH\x00R\x0eactionRequired\x12E\n" + + "\x0eencrypted_data\x18\x02 \x03(\v2\x1e.c1.connector.v2.EncryptedDataR\rencryptedData\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1a\x7f\n" + + "\rSuccessResult\x125\n" + + "\bresource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\bresource\x127\n" + + "\x18is_create_account_result\x18\x02 \x01(\bR\x15isCreateAccountResult\x1a\xa0\x01\n" + + "\x14ActionRequiredResult\x125\n" + + "\bresource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\bresource\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\x127\n" + + "\x18is_create_account_result\x18\x03 \x01(\bR\x15isCreateAccountResultB\b\n" + + "\x06result\"\xd6\x01\n" + + "\rEncryptedData\x12\x1a\n" + + "\bprovider\x18\x01 \x01(\tR\bprovider\x12\x19\n" + + "\x06key_id\x18\x02 \x01(\tB\x02\x18\x01R\x05keyId\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12 \n" + + "\vdescription\x18\x04 \x01(\tR\vdescription\x12\x16\n" + + "\x06schema\x18\x05 \x01(\tR\x06schema\x12'\n" + + "\x0fencrypted_bytes\x18\x06 \x01(\fR\x0eencryptedBytes\x12\x17\n" + + "\akey_ids\x18\a \x03(\tR\x06keyIds\"s\n" + + "\rPlaintextData\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12 \n" + + "\vdescription\x18\x02 \x01(\tR\vdescription\x12\x16\n" + + "\x06schema\x18\x03 \x01(\tR\x06schema\x12\x14\n" + + "\x05bytes\x18\x04 \x01(\fR\x05bytes\"\xa2\x02\n" + + "\x10EncryptionConfig\x127\n" + + "\tprincipal\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\tprincipal\x12\x1a\n" + + "\bprovider\x18\x02 \x01(\tR\bprovider\x12\x15\n" + + "\x06key_id\x18\x03 \x01(\tR\x05keyId\x12i\n" + + "\x15jwk_public_key_config\x18d \x01(\v24.c1.connector.v2.EncryptionConfig.JWKPublicKeyConfigH\x00R\x12jwkPublicKeyConfig\x1a-\n" + + "\x12JWKPublicKeyConfig\x12\x17\n" + + "\apub_key\x18\x01 \x01(\fR\x06pubKeyB\b\n" + + "\x06config\"\x8c\x01\n" + + "\n" + + "ResourceId\x12/\n" + + "\rresource_type\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\fresourceType\x12&\n" + + "\bresource\x18\x02 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\bresource\x12%\n" + + "\x0ebaton_resource\x18\x03 \x01(\bR\rbatonResource\"\xf0\x04\n" + + "\bResource\x12+\n" + + "\x02id\x18\x01 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\x02id\x12I\n" + + "\x12parent_resource_id\x18\x02 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\x10parentResourceId\x120\n" + + "\fdisplay_name\x18\x03 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\vdisplayName\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12/\n" + + "\vdescription\x18\x05 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\x10\xd0\x01\x01R\vdescription\x12%\n" + + "\x0ebaton_resource\x18\x06 \x01(\bR\rbatonResource\x12<\n" + + "\vexternal_id\x18\a \x01(\v2\x1b.c1.connector.v2.ExternalIdR\n" + + "externalId\x12Q\n" + + "\x0fcreation_source\x18\b \x01(\x0e2(.c1.connector.v2.Resource.CreationSourceR\x0ecreationSource\"\x98\x01\n" + + "\x0eCreationSource\x12\x1f\n" + + "\x1bCREATION_SOURCE_UNSPECIFIED\x10\x00\x12,\n" + + "(CREATION_SOURCE_CONNECTOR_LIST_RESOURCES\x10\x01\x127\n" + + "3CREATION_SOURCE_CONNECTOR_LIST_GRANTS_PRINCIPAL_JIT\x10\x02\"\xf6\x02\n" + + "$ResourcesServiceListResourcesRequest\x124\n" + + "\x10resource_type_id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\x0eresourceTypeId\x12S\n" + + "\x12parent_resource_id\x18\x02 \x01(\v2\x1b.c1.connector.v2.ResourceIdB\b\xfaB\x05\x8a\x01\x02\x10\x00R\x10parentResourceId\x12'\n" + + "\tpage_size\x18\x03 \x01(\rB\n" + + "\xfaB\a*\x05\x18\xfa\x01@\x01R\bpageSize\x12-\n" + + "\n" + + "page_token\x18\x04 \x01(\tB\x0e\xfaB\vr\t \x01(\x80\x80@\xd0\x01\x01R\tpageToken\x126\n" + + "\vannotations\x18\x05 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x123\n" + + "\x0eactive_sync_id\x18\x06 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\factiveSyncId\"\xc6\x01\n" + + "%ResourcesServiceListResourcesResponse\x12-\n" + + "\x04list\x18\x01 \x03(\v2\x19.c1.connector.v2.ResourceR\x04list\x126\n" + + "\x0fnext_page_token\x18\x02 \x01(\tB\x0e\xfaB\vr\t \x01(\x80\x80@\xd0\x01\x01R\rnextPageToken\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xa9\x02\n" + + "'ResourceGetterServiceGetResourceRequest\x12<\n" + + "\vresource_id\x18\x01 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\n" + + "resourceId\x12S\n" + + "\x12parent_resource_id\x18\x02 \x01(\v2\x1b.c1.connector.v2.ResourceIdB\b\xfaB\x05\x8a\x01\x02\x10\x00R\x10parentResourceId\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x123\n" + + "\x0eactive_sync_id\x18\x04 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\b\xd0\x01\x01R\factiveSyncId\"\x99\x01\n" + + "(ResourceGetterServiceGetResourceResponse\x125\n" + + "\bresource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\bresource\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"R\n" + + "\n" + + "ExternalId\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04link\x18\x02 \x01(\tR\x04link\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription2\xab\x01\n" + + "\x14ResourceTypesService\x12\x92\x01\n" + + "\x11ListResourceTypes\x12=.c1.connector.v2.ResourceTypesServiceListResourceTypesRequest\x1a>.c1.connector.v2.ResourceTypesServiceListResourceTypesResponse2\x92\x01\n" + + "\x10ResourcesService\x12~\n" + + "\rListResources\x125.c1.connector.v2.ResourcesServiceListResourcesRequest\x1a6.c1.connector.v2.ResourcesServiceListResourcesResponse2\x9c\x01\n" + + "\x15ResourceGetterService\x12\x82\x01\n" + + "\vGetResource\x128.c1.connector.v2.ResourceGetterServiceGetResourceRequest\x1a9.c1.connector.v2.ResourceGetterServiceGetResourceResponse2\xde\x01\n" + + "\x16ResourceManagerService\x12a\n" + + "\x0eCreateResource\x12&.c1.connector.v2.CreateResourceRequest\x1a'.c1.connector.v2.CreateResourceResponse\x12a\n" + + "\x0eDeleteResource\x12&.c1.connector.v2.DeleteResourceRequest\x1a'.c1.connector.v2.DeleteResourceResponse2\x81\x01\n" + + "\x16ResourceDeleterService\x12g\n" + + "\x10DeleteResourceV2\x12(.c1.connector.v2.DeleteResourceV2Request\x1a).c1.connector.v2.DeleteResourceV2Response2\x83\x01\n" + + "\x18CredentialManagerService\x12g\n" + + "\x10RotateCredential\x12(.c1.connector.v2.RotateCredentialRequest\x1a).c1.connector.v2.RotateCredentialResponse2w\n" + + "\x15AccountManagerService\x12^\n" + + "\rCreateAccount\x12%.c1.connector.v2.CreateAccountRequest\x1a&.c1.connector.v2.CreateAccountResponseB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_resource_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +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 + (*ResourceType)(nil), // 2: c1.connector.v2.ResourceType + (*ResourceTypesServiceListResourceTypesRequest)(nil), // 3: c1.connector.v2.ResourceTypesServiceListResourceTypesRequest + (*ResourceTypesServiceListResourceTypesResponse)(nil), // 4: c1.connector.v2.ResourceTypesServiceListResourceTypesResponse + (*CreateResourceRequest)(nil), // 5: c1.connector.v2.CreateResourceRequest + (*CreateResourceResponse)(nil), // 6: c1.connector.v2.CreateResourceResponse + (*DeleteResourceRequest)(nil), // 7: c1.connector.v2.DeleteResourceRequest + (*DeleteResourceResponse)(nil), // 8: c1.connector.v2.DeleteResourceResponse + (*DeleteResourceV2Request)(nil), // 9: c1.connector.v2.DeleteResourceV2Request + (*DeleteResourceV2Response)(nil), // 10: c1.connector.v2.DeleteResourceV2Response + (*RotateCredentialRequest)(nil), // 11: c1.connector.v2.RotateCredentialRequest + (*RotateCredentialResponse)(nil), // 12: c1.connector.v2.RotateCredentialResponse + (*AccountInfo)(nil), // 13: c1.connector.v2.AccountInfo + (*CredentialOptions)(nil), // 14: c1.connector.v2.CredentialOptions + (*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 + 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 + 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() } +func file_c1_connector_v2_resource_proto_init() { + if File_c1_connector_v2_resource_proto != nil { + return + } + file_c1_connector_v2_resource_proto_msgTypes[12].OneofWrappers = []any{ + (*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[16].OneofWrappers = []any{ + (*createAccountResponse_Success)(nil), + (*createAccountResponse_ActionRequired)(nil), + } + file_c1_connector_v2_resource_proto_msgTypes[19].OneofWrappers = []any{ + (*encryptionConfig_JwkPublicKeyConfig)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + 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: 39, + NumExtensions: 0, + NumServices: 7, + }, + GoTypes: file_c1_connector_v2_resource_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_resource_proto_depIdxs, + EnumInfos: file_c1_connector_v2_resource_proto_enumTypes, + MessageInfos: file_c1_connector_v2_resource_proto_msgTypes, + }.Build() + File_c1_connector_v2_resource_proto = out.File + file_c1_connector_v2_resource_proto_goTypes = nil + file_c1_connector_v2_resource_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/ticket.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/ticket.pb.go index f659e0d8..a13a28a6 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/ticket.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/ticket.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector/v2/ticket.proto +//go:build !protoopaque + package v2 import ( @@ -14,7 +16,6 @@ import ( timestamppb "google.golang.org/protobuf/types/known/timestamppb" wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -26,7 +27,7 @@ const ( ) type TicketSchema struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` Types []*TicketType `protobuf:"bytes,3,rep,name=types,proto3" json:"types,omitempty"` @@ -62,11 +63,6 @@ func (x *TicketSchema) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TicketSchema.ProtoReflect.Descriptor instead. -func (*TicketSchema) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{0} -} - func (x *TicketSchema) GetId() string { if x != nil { return x.Id @@ -109,8 +105,56 @@ func (x *TicketSchema) GetAnnotations() []*anypb.Any { return nil } +func (x *TicketSchema) SetId(v string) { + x.Id = v +} + +func (x *TicketSchema) SetDisplayName(v string) { + x.DisplayName = v +} + +func (x *TicketSchema) SetTypes(v []*TicketType) { + x.Types = v +} + +func (x *TicketSchema) SetStatuses(v []*TicketStatus) { + x.Statuses = v +} + +func (x *TicketSchema) SetCustomFields(v map[string]*TicketCustomField) { + x.CustomFields = v +} + +func (x *TicketSchema) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type TicketSchema_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + DisplayName string + Types []*TicketType + Statuses []*TicketStatus + CustomFields map[string]*TicketCustomField + Annotations []*anypb.Any +} + +func (b0 TicketSchema_builder) Build() *TicketSchema { + m0 := &TicketSchema{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + x.DisplayName = b.DisplayName + x.Types = b.Types + x.Statuses = b.Statuses + x.CustomFields = b.CustomFields + x.Annotations = b.Annotations + return m0 +} + type TicketCustomField struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` Required bool `protobuf:"varint,3,opt,name=required,proto3" json:"required,omitempty"` @@ -156,11 +200,6 @@ func (x *TicketCustomField) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TicketCustomField.ProtoReflect.Descriptor instead. -func (*TicketCustomField) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{1} -} - func (x *TicketCustomField) GetId() string { if x != nil { return x.Id @@ -277,6 +316,338 @@ func (x *TicketCustomField) GetAnnotations() []*anypb.Any { return nil } +func (x *TicketCustomField) SetId(v string) { + x.Id = v +} + +func (x *TicketCustomField) SetDisplayName(v string) { + x.DisplayName = v +} + +func (x *TicketCustomField) SetRequired(v bool) { + x.Required = v +} + +func (x *TicketCustomField) SetStringValue(v *TicketCustomFieldStringValue) { + if v == nil { + x.Value = nil + return + } + x.Value = &TicketCustomField_StringValue{v} +} + +func (x *TicketCustomField) SetStringValues(v *TicketCustomFieldStringValues) { + if v == nil { + x.Value = nil + return + } + x.Value = &TicketCustomField_StringValues{v} +} + +func (x *TicketCustomField) SetBoolValue(v *TicketCustomFieldBoolValue) { + if v == nil { + x.Value = nil + return + } + x.Value = &TicketCustomField_BoolValue{v} +} + +func (x *TicketCustomField) SetTimestampValue(v *TicketCustomFieldTimestampValue) { + if v == nil { + x.Value = nil + return + } + x.Value = &TicketCustomField_TimestampValue{v} +} + +func (x *TicketCustomField) SetPickStringValue(v *TicketCustomFieldPickStringValue) { + if v == nil { + x.Value = nil + return + } + x.Value = &TicketCustomField_PickStringValue{v} +} + +func (x *TicketCustomField) SetPickMultipleStringValues(v *TicketCustomFieldPickMultipleStringValues) { + if v == nil { + x.Value = nil + return + } + x.Value = &TicketCustomField_PickMultipleStringValues{v} +} + +func (x *TicketCustomField) SetPickObjectValue(v *TicketCustomFieldPickObjectValue) { + if v == nil { + x.Value = nil + return + } + x.Value = &TicketCustomField_PickObjectValue{v} +} + +func (x *TicketCustomField) SetPickMultipleObjectValues(v *TicketCustomFieldPickMultipleObjectValues) { + if v == nil { + x.Value = nil + return + } + x.Value = &TicketCustomField_PickMultipleObjectValues{v} +} + +func (x *TicketCustomField) SetNumberValue(v *TicketCustomFieldNumberValue) { + if v == nil { + x.Value = nil + return + } + x.Value = &TicketCustomField_NumberValue{v} +} + +func (x *TicketCustomField) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *TicketCustomField) HasValue() bool { + if x == nil { + return false + } + return x.Value != nil +} + +func (x *TicketCustomField) HasStringValue() bool { + if x == nil { + return false + } + _, ok := x.Value.(*TicketCustomField_StringValue) + return ok +} + +func (x *TicketCustomField) HasStringValues() bool { + if x == nil { + return false + } + _, ok := x.Value.(*TicketCustomField_StringValues) + return ok +} + +func (x *TicketCustomField) HasBoolValue() bool { + if x == nil { + return false + } + _, ok := x.Value.(*TicketCustomField_BoolValue) + return ok +} + +func (x *TicketCustomField) HasTimestampValue() bool { + if x == nil { + return false + } + _, ok := x.Value.(*TicketCustomField_TimestampValue) + return ok +} + +func (x *TicketCustomField) HasPickStringValue() bool { + if x == nil { + return false + } + _, ok := x.Value.(*TicketCustomField_PickStringValue) + return ok +} + +func (x *TicketCustomField) HasPickMultipleStringValues() bool { + if x == nil { + return false + } + _, ok := x.Value.(*TicketCustomField_PickMultipleStringValues) + return ok +} + +func (x *TicketCustomField) HasPickObjectValue() bool { + if x == nil { + return false + } + _, ok := x.Value.(*TicketCustomField_PickObjectValue) + return ok +} + +func (x *TicketCustomField) HasPickMultipleObjectValues() bool { + if x == nil { + return false + } + _, ok := x.Value.(*TicketCustomField_PickMultipleObjectValues) + return ok +} + +func (x *TicketCustomField) HasNumberValue() bool { + if x == nil { + return false + } + _, ok := x.Value.(*TicketCustomField_NumberValue) + return ok +} + +func (x *TicketCustomField) ClearValue() { + x.Value = nil +} + +func (x *TicketCustomField) ClearStringValue() { + if _, ok := x.Value.(*TicketCustomField_StringValue); ok { + x.Value = nil + } +} + +func (x *TicketCustomField) ClearStringValues() { + if _, ok := x.Value.(*TicketCustomField_StringValues); ok { + x.Value = nil + } +} + +func (x *TicketCustomField) ClearBoolValue() { + if _, ok := x.Value.(*TicketCustomField_BoolValue); ok { + x.Value = nil + } +} + +func (x *TicketCustomField) ClearTimestampValue() { + if _, ok := x.Value.(*TicketCustomField_TimestampValue); ok { + x.Value = nil + } +} + +func (x *TicketCustomField) ClearPickStringValue() { + if _, ok := x.Value.(*TicketCustomField_PickStringValue); ok { + x.Value = nil + } +} + +func (x *TicketCustomField) ClearPickMultipleStringValues() { + if _, ok := x.Value.(*TicketCustomField_PickMultipleStringValues); ok { + x.Value = nil + } +} + +func (x *TicketCustomField) ClearPickObjectValue() { + if _, ok := x.Value.(*TicketCustomField_PickObjectValue); ok { + x.Value = nil + } +} + +func (x *TicketCustomField) ClearPickMultipleObjectValues() { + if _, ok := x.Value.(*TicketCustomField_PickMultipleObjectValues); ok { + x.Value = nil + } +} + +func (x *TicketCustomField) ClearNumberValue() { + if _, ok := x.Value.(*TicketCustomField_NumberValue); ok { + x.Value = nil + } +} + +const TicketCustomField_Value_not_set_case case_TicketCustomField_Value = 0 +const TicketCustomField_StringValue_case case_TicketCustomField_Value = 100 +const TicketCustomField_StringValues_case case_TicketCustomField_Value = 101 +const TicketCustomField_BoolValue_case case_TicketCustomField_Value = 102 +const TicketCustomField_TimestampValue_case case_TicketCustomField_Value = 103 +const TicketCustomField_PickStringValue_case case_TicketCustomField_Value = 104 +const TicketCustomField_PickMultipleStringValues_case case_TicketCustomField_Value = 105 +const TicketCustomField_PickObjectValue_case case_TicketCustomField_Value = 106 +const TicketCustomField_PickMultipleObjectValues_case case_TicketCustomField_Value = 107 +const TicketCustomField_NumberValue_case case_TicketCustomField_Value = 108 + +func (x *TicketCustomField) WhichValue() case_TicketCustomField_Value { + if x == nil { + return TicketCustomField_Value_not_set_case + } + switch x.Value.(type) { + case *TicketCustomField_StringValue: + return TicketCustomField_StringValue_case + case *TicketCustomField_StringValues: + return TicketCustomField_StringValues_case + case *TicketCustomField_BoolValue: + return TicketCustomField_BoolValue_case + case *TicketCustomField_TimestampValue: + return TicketCustomField_TimestampValue_case + case *TicketCustomField_PickStringValue: + return TicketCustomField_PickStringValue_case + case *TicketCustomField_PickMultipleStringValues: + return TicketCustomField_PickMultipleStringValues_case + case *TicketCustomField_PickObjectValue: + return TicketCustomField_PickObjectValue_case + case *TicketCustomField_PickMultipleObjectValues: + return TicketCustomField_PickMultipleObjectValues_case + case *TicketCustomField_NumberValue: + return TicketCustomField_NumberValue_case + default: + return TicketCustomField_Value_not_set_case + } +} + +type TicketCustomField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + DisplayName string + Required bool + // Fields of oneof Value: + StringValue *TicketCustomFieldStringValue + StringValues *TicketCustomFieldStringValues + BoolValue *TicketCustomFieldBoolValue + TimestampValue *TicketCustomFieldTimestampValue + PickStringValue *TicketCustomFieldPickStringValue + PickMultipleStringValues *TicketCustomFieldPickMultipleStringValues + PickObjectValue *TicketCustomFieldPickObjectValue + PickMultipleObjectValues *TicketCustomFieldPickMultipleObjectValues + NumberValue *TicketCustomFieldNumberValue + // -- end of Value + Annotations []*anypb.Any +} + +func (b0 TicketCustomField_builder) Build() *TicketCustomField { + m0 := &TicketCustomField{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + x.DisplayName = b.DisplayName + x.Required = b.Required + if b.StringValue != nil { + x.Value = &TicketCustomField_StringValue{b.StringValue} + } + if b.StringValues != nil { + x.Value = &TicketCustomField_StringValues{b.StringValues} + } + if b.BoolValue != nil { + x.Value = &TicketCustomField_BoolValue{b.BoolValue} + } + if b.TimestampValue != nil { + x.Value = &TicketCustomField_TimestampValue{b.TimestampValue} + } + if b.PickStringValue != nil { + x.Value = &TicketCustomField_PickStringValue{b.PickStringValue} + } + if b.PickMultipleStringValues != nil { + x.Value = &TicketCustomField_PickMultipleStringValues{b.PickMultipleStringValues} + } + if b.PickObjectValue != nil { + x.Value = &TicketCustomField_PickObjectValue{b.PickObjectValue} + } + if b.PickMultipleObjectValues != nil { + x.Value = &TicketCustomField_PickMultipleObjectValues{b.PickMultipleObjectValues} + } + if b.NumberValue != nil { + x.Value = &TicketCustomField_NumberValue{b.NumberValue} + } + x.Annotations = b.Annotations + return m0 +} + +type case_TicketCustomField_Value protoreflect.FieldNumber + +func (x case_TicketCustomField_Value) String() string { + md := file_c1_connector_v2_ticket_proto_msgTypes[1].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + type isTicketCustomField_Value interface { isTicketCustomField_Value() } @@ -336,7 +707,7 @@ func (*TicketCustomField_PickMultipleObjectValues) isTicketCustomField_Value() { func (*TicketCustomField_NumberValue) isTicketCustomField_Value() {} type TicketCustomFieldStringValue struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` DefaultValue string `protobuf:"bytes,2,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` unknownFields protoimpl.UnknownFields @@ -368,11 +739,6 @@ func (x *TicketCustomFieldStringValue) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TicketCustomFieldStringValue.ProtoReflect.Descriptor instead. -func (*TicketCustomFieldStringValue) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{2} -} - func (x *TicketCustomFieldStringValue) GetValue() string { if x != nil { return x.Value @@ -387,8 +753,32 @@ func (x *TicketCustomFieldStringValue) GetDefaultValue() string { return "" } +func (x *TicketCustomFieldStringValue) SetValue(v string) { + x.Value = v +} + +func (x *TicketCustomFieldStringValue) SetDefaultValue(v string) { + x.DefaultValue = v +} + +type TicketCustomFieldStringValue_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Value string + DefaultValue string +} + +func (b0 TicketCustomFieldStringValue_builder) Build() *TicketCustomFieldStringValue { + m0 := &TicketCustomFieldStringValue{} + b, x := &b0, m0 + _, _ = b, x + x.Value = b.Value + x.DefaultValue = b.DefaultValue + return m0 +} + type TicketCustomFieldStringValues struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` DefaultValues []string `protobuf:"bytes,2,rep,name=default_values,json=defaultValues,proto3" json:"default_values,omitempty"` unknownFields protoimpl.UnknownFields @@ -420,11 +810,6 @@ func (x *TicketCustomFieldStringValues) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TicketCustomFieldStringValues.ProtoReflect.Descriptor instead. -func (*TicketCustomFieldStringValues) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{3} -} - func (x *TicketCustomFieldStringValues) GetValues() []string { if x != nil { return x.Values @@ -439,8 +824,32 @@ func (x *TicketCustomFieldStringValues) GetDefaultValues() []string { return nil } +func (x *TicketCustomFieldStringValues) SetValues(v []string) { + x.Values = v +} + +func (x *TicketCustomFieldStringValues) SetDefaultValues(v []string) { + x.DefaultValues = v +} + +type TicketCustomFieldStringValues_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Values []string + DefaultValues []string +} + +func (b0 TicketCustomFieldStringValues_builder) Build() *TicketCustomFieldStringValues { + m0 := &TicketCustomFieldStringValues{} + b, x := &b0, m0 + _, _ = b, x + x.Values = b.Values + x.DefaultValues = b.DefaultValues + return m0 +} + type TicketCustomFieldBoolValue struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Value bool `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -471,11 +880,6 @@ func (x *TicketCustomFieldBoolValue) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TicketCustomFieldBoolValue.ProtoReflect.Descriptor instead. -func (*TicketCustomFieldBoolValue) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{4} -} - func (x *TicketCustomFieldBoolValue) GetValue() bool { if x != nil { return x.Value @@ -483,8 +887,26 @@ func (x *TicketCustomFieldBoolValue) GetValue() bool { return false } +func (x *TicketCustomFieldBoolValue) SetValue(v bool) { + x.Value = v +} + +type TicketCustomFieldBoolValue_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Value bool +} + +func (b0 TicketCustomFieldBoolValue_builder) Build() *TicketCustomFieldBoolValue { + m0 := &TicketCustomFieldBoolValue{} + b, x := &b0, m0 + _, _ = b, x + x.Value = b.Value + return m0 +} + type TicketCustomFieldNumberValue struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Value *wrapperspb.FloatValue `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` DefaultValue *wrapperspb.FloatValue `protobuf:"bytes,2,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` unknownFields protoimpl.UnknownFields @@ -516,11 +938,6 @@ func (x *TicketCustomFieldNumberValue) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TicketCustomFieldNumberValue.ProtoReflect.Descriptor instead. -func (*TicketCustomFieldNumberValue) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{5} -} - func (x *TicketCustomFieldNumberValue) GetValue() *wrapperspb.FloatValue { if x != nil { return x.Value @@ -535,8 +952,54 @@ func (x *TicketCustomFieldNumberValue) GetDefaultValue() *wrapperspb.FloatValue return nil } +func (x *TicketCustomFieldNumberValue) SetValue(v *wrapperspb.FloatValue) { + x.Value = v +} + +func (x *TicketCustomFieldNumberValue) SetDefaultValue(v *wrapperspb.FloatValue) { + x.DefaultValue = v +} + +func (x *TicketCustomFieldNumberValue) HasValue() bool { + if x == nil { + return false + } + return x.Value != nil +} + +func (x *TicketCustomFieldNumberValue) HasDefaultValue() bool { + if x == nil { + return false + } + return x.DefaultValue != nil +} + +func (x *TicketCustomFieldNumberValue) ClearValue() { + x.Value = nil +} + +func (x *TicketCustomFieldNumberValue) ClearDefaultValue() { + x.DefaultValue = nil +} + +type TicketCustomFieldNumberValue_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Value *wrapperspb.FloatValue + DefaultValue *wrapperspb.FloatValue +} + +func (b0 TicketCustomFieldNumberValue_builder) Build() *TicketCustomFieldNumberValue { + m0 := &TicketCustomFieldNumberValue{} + b, x := &b0, m0 + _, _ = b, x + x.Value = b.Value + x.DefaultValue = b.DefaultValue + return m0 +} + type TicketCustomFieldTimestampValue struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Value *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` DefaultValue *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` unknownFields protoimpl.UnknownFields @@ -568,11 +1031,6 @@ func (x *TicketCustomFieldTimestampValue) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TicketCustomFieldTimestampValue.ProtoReflect.Descriptor instead. -func (*TicketCustomFieldTimestampValue) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{6} -} - func (x *TicketCustomFieldTimestampValue) GetValue() *timestamppb.Timestamp { if x != nil { return x.Value @@ -587,8 +1045,54 @@ func (x *TicketCustomFieldTimestampValue) GetDefaultValue() *timestamppb.Timesta return nil } +func (x *TicketCustomFieldTimestampValue) SetValue(v *timestamppb.Timestamp) { + x.Value = v +} + +func (x *TicketCustomFieldTimestampValue) SetDefaultValue(v *timestamppb.Timestamp) { + x.DefaultValue = v +} + +func (x *TicketCustomFieldTimestampValue) HasValue() bool { + if x == nil { + return false + } + return x.Value != nil +} + +func (x *TicketCustomFieldTimestampValue) HasDefaultValue() bool { + if x == nil { + return false + } + return x.DefaultValue != nil +} + +func (x *TicketCustomFieldTimestampValue) ClearValue() { + x.Value = nil +} + +func (x *TicketCustomFieldTimestampValue) ClearDefaultValue() { + x.DefaultValue = nil +} + +type TicketCustomFieldTimestampValue_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Value *timestamppb.Timestamp + DefaultValue *timestamppb.Timestamp +} + +func (b0 TicketCustomFieldTimestampValue_builder) Build() *TicketCustomFieldTimestampValue { + m0 := &TicketCustomFieldTimestampValue{} + b, x := &b0, m0 + _, _ = b, x + x.Value = b.Value + x.DefaultValue = b.DefaultValue + return m0 +} + type TicketCustomFieldPickStringValue struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` AllowedValues []string `protobuf:"bytes,2,rep,name=allowed_values,json=allowedValues,proto3" json:"allowed_values,omitempty"` DefaultValue string `protobuf:"bytes,3,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` @@ -621,11 +1125,6 @@ func (x *TicketCustomFieldPickStringValue) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TicketCustomFieldPickStringValue.ProtoReflect.Descriptor instead. -func (*TicketCustomFieldPickStringValue) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{7} -} - func (x *TicketCustomFieldPickStringValue) GetValue() string { if x != nil { return x.Value @@ -647,8 +1146,38 @@ func (x *TicketCustomFieldPickStringValue) GetDefaultValue() string { return "" } +func (x *TicketCustomFieldPickStringValue) SetValue(v string) { + x.Value = v +} + +func (x *TicketCustomFieldPickStringValue) SetAllowedValues(v []string) { + x.AllowedValues = v +} + +func (x *TicketCustomFieldPickStringValue) SetDefaultValue(v string) { + x.DefaultValue = v +} + +type TicketCustomFieldPickStringValue_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Value string + AllowedValues []string + DefaultValue string +} + +func (b0 TicketCustomFieldPickStringValue_builder) Build() *TicketCustomFieldPickStringValue { + m0 := &TicketCustomFieldPickStringValue{} + b, x := &b0, m0 + _, _ = b, x + x.Value = b.Value + x.AllowedValues = b.AllowedValues + x.DefaultValue = b.DefaultValue + return m0 +} + type TicketCustomFieldPickMultipleStringValues struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` AllowedValues []string `protobuf:"bytes,2,rep,name=allowed_values,json=allowedValues,proto3" json:"allowed_values,omitempty"` DefaultValues []string `protobuf:"bytes,3,rep,name=default_values,json=defaultValues,proto3" json:"default_values,omitempty"` @@ -681,11 +1210,6 @@ func (x *TicketCustomFieldPickMultipleStringValues) ProtoReflect() protoreflect. return mi.MessageOf(x) } -// Deprecated: Use TicketCustomFieldPickMultipleStringValues.ProtoReflect.Descriptor instead. -func (*TicketCustomFieldPickMultipleStringValues) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{8} -} - func (x *TicketCustomFieldPickMultipleStringValues) GetValues() []string { if x != nil { return x.Values @@ -707,8 +1231,38 @@ func (x *TicketCustomFieldPickMultipleStringValues) GetDefaultValues() []string return nil } +func (x *TicketCustomFieldPickMultipleStringValues) SetValues(v []string) { + x.Values = v +} + +func (x *TicketCustomFieldPickMultipleStringValues) SetAllowedValues(v []string) { + x.AllowedValues = v +} + +func (x *TicketCustomFieldPickMultipleStringValues) SetDefaultValues(v []string) { + x.DefaultValues = v +} + +type TicketCustomFieldPickMultipleStringValues_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Values []string + AllowedValues []string + DefaultValues []string +} + +func (b0 TicketCustomFieldPickMultipleStringValues_builder) Build() *TicketCustomFieldPickMultipleStringValues { + m0 := &TicketCustomFieldPickMultipleStringValues{} + b, x := &b0, m0 + _, _ = b, x + x.Values = b.Values + x.AllowedValues = b.AllowedValues + x.DefaultValues = b.DefaultValues + return m0 +} + type TicketCustomFieldPickObjectValue struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Value *TicketCustomFieldObjectValue `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` AllowedValues []*TicketCustomFieldObjectValue `protobuf:"bytes,2,rep,name=allowed_values,json=allowedValues,proto3" json:"allowed_values,omitempty"` DefaultValue *TicketCustomFieldObjectValue `protobuf:"bytes,3,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` @@ -741,11 +1295,6 @@ func (x *TicketCustomFieldPickObjectValue) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TicketCustomFieldPickObjectValue.ProtoReflect.Descriptor instead. -func (*TicketCustomFieldPickObjectValue) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{9} -} - func (x *TicketCustomFieldPickObjectValue) GetValue() *TicketCustomFieldObjectValue { if x != nil { return x.Value @@ -767,8 +1316,60 @@ func (x *TicketCustomFieldPickObjectValue) GetDefaultValue() *TicketCustomFieldO return nil } +func (x *TicketCustomFieldPickObjectValue) SetValue(v *TicketCustomFieldObjectValue) { + x.Value = v +} + +func (x *TicketCustomFieldPickObjectValue) SetAllowedValues(v []*TicketCustomFieldObjectValue) { + x.AllowedValues = v +} + +func (x *TicketCustomFieldPickObjectValue) SetDefaultValue(v *TicketCustomFieldObjectValue) { + x.DefaultValue = v +} + +func (x *TicketCustomFieldPickObjectValue) HasValue() bool { + if x == nil { + return false + } + return x.Value != nil +} + +func (x *TicketCustomFieldPickObjectValue) HasDefaultValue() bool { + if x == nil { + return false + } + return x.DefaultValue != nil +} + +func (x *TicketCustomFieldPickObjectValue) ClearValue() { + x.Value = nil +} + +func (x *TicketCustomFieldPickObjectValue) ClearDefaultValue() { + x.DefaultValue = nil +} + +type TicketCustomFieldPickObjectValue_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Value *TicketCustomFieldObjectValue + AllowedValues []*TicketCustomFieldObjectValue + DefaultValue *TicketCustomFieldObjectValue +} + +func (b0 TicketCustomFieldPickObjectValue_builder) Build() *TicketCustomFieldPickObjectValue { + m0 := &TicketCustomFieldPickObjectValue{} + b, x := &b0, m0 + _, _ = b, x + x.Value = b.Value + x.AllowedValues = b.AllowedValues + x.DefaultValue = b.DefaultValue + return m0 +} + type TicketCustomFieldPickMultipleObjectValues struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Values []*TicketCustomFieldObjectValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` AllowedValues []*TicketCustomFieldObjectValue `protobuf:"bytes,2,rep,name=allowed_values,json=allowedValues,proto3" json:"allowed_values,omitempty"` DefaultValues []*TicketCustomFieldObjectValue `protobuf:"bytes,3,rep,name=default_values,json=defaultValues,proto3" json:"default_values,omitempty"` @@ -801,11 +1402,6 @@ func (x *TicketCustomFieldPickMultipleObjectValues) ProtoReflect() protoreflect. return mi.MessageOf(x) } -// Deprecated: Use TicketCustomFieldPickMultipleObjectValues.ProtoReflect.Descriptor instead. -func (*TicketCustomFieldPickMultipleObjectValues) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{10} -} - func (x *TicketCustomFieldPickMultipleObjectValues) GetValues() []*TicketCustomFieldObjectValue { if x != nil { return x.Values @@ -827,8 +1423,38 @@ func (x *TicketCustomFieldPickMultipleObjectValues) GetDefaultValues() []*Ticket return nil } +func (x *TicketCustomFieldPickMultipleObjectValues) SetValues(v []*TicketCustomFieldObjectValue) { + x.Values = v +} + +func (x *TicketCustomFieldPickMultipleObjectValues) SetAllowedValues(v []*TicketCustomFieldObjectValue) { + x.AllowedValues = v +} + +func (x *TicketCustomFieldPickMultipleObjectValues) SetDefaultValues(v []*TicketCustomFieldObjectValue) { + x.DefaultValues = v +} + +type TicketCustomFieldPickMultipleObjectValues_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Values []*TicketCustomFieldObjectValue + AllowedValues []*TicketCustomFieldObjectValue + DefaultValues []*TicketCustomFieldObjectValue +} + +func (b0 TicketCustomFieldPickMultipleObjectValues_builder) Build() *TicketCustomFieldPickMultipleObjectValues { + m0 := &TicketCustomFieldPickMultipleObjectValues{} + b, x := &b0, m0 + _, _ = b, x + x.Values = b.Values + x.AllowedValues = b.AllowedValues + x.DefaultValues = b.DefaultValues + return m0 +} + type TicketCustomFieldObjectValue struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` unknownFields protoimpl.UnknownFields @@ -860,11 +1486,6 @@ func (x *TicketCustomFieldObjectValue) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TicketCustomFieldObjectValue.ProtoReflect.Descriptor instead. -func (*TicketCustomFieldObjectValue) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{11} -} - func (x *TicketCustomFieldObjectValue) GetId() string { if x != nil { return x.Id @@ -879,8 +1500,32 @@ func (x *TicketCustomFieldObjectValue) GetDisplayName() string { return "" } +func (x *TicketCustomFieldObjectValue) SetId(v string) { + x.Id = v +} + +func (x *TicketCustomFieldObjectValue) SetDisplayName(v string) { + x.DisplayName = v +} + +type TicketCustomFieldObjectValue_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + DisplayName string +} + +func (b0 TicketCustomFieldObjectValue_builder) Build() *TicketCustomFieldObjectValue { + m0 := &TicketCustomFieldObjectValue{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + x.DisplayName = b.DisplayName + return m0 +} + type TicketStatus struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` unknownFields protoimpl.UnknownFields @@ -912,11 +1557,6 @@ func (x *TicketStatus) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TicketStatus.ProtoReflect.Descriptor instead. -func (*TicketStatus) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{12} -} - func (x *TicketStatus) GetId() string { if x != nil { return x.Id @@ -931,8 +1571,32 @@ func (x *TicketStatus) GetDisplayName() string { return "" } +func (x *TicketStatus) SetId(v string) { + x.Id = v +} + +func (x *TicketStatus) SetDisplayName(v string) { + x.DisplayName = v +} + +type TicketStatus_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + DisplayName string +} + +func (b0 TicketStatus_builder) Build() *TicketStatus { + m0 := &TicketStatus{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + x.DisplayName = b.DisplayName + return m0 +} + type TicketsServiceGetTicketSchemaRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -964,11 +1628,6 @@ func (x *TicketsServiceGetTicketSchemaRequest) ProtoReflect() protoreflect.Messa return mi.MessageOf(x) } -// Deprecated: Use TicketsServiceGetTicketSchemaRequest.ProtoReflect.Descriptor instead. -func (*TicketsServiceGetTicketSchemaRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{13} -} - func (x *TicketsServiceGetTicketSchemaRequest) GetId() string { if x != nil { return x.Id @@ -983,8 +1642,32 @@ func (x *TicketsServiceGetTicketSchemaRequest) GetAnnotations() []*anypb.Any { return nil } +func (x *TicketsServiceGetTicketSchemaRequest) SetId(v string) { + x.Id = v +} + +func (x *TicketsServiceGetTicketSchemaRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type TicketsServiceGetTicketSchemaRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + Annotations []*anypb.Any +} + +func (b0 TicketsServiceGetTicketSchemaRequest_builder) Build() *TicketsServiceGetTicketSchemaRequest { + m0 := &TicketsServiceGetTicketSchemaRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + x.Annotations = b.Annotations + return m0 +} + type TicketsServiceGetTicketSchemaResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Schema *TicketSchema `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -1016,11 +1699,6 @@ func (x *TicketsServiceGetTicketSchemaResponse) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use TicketsServiceGetTicketSchemaResponse.ProtoReflect.Descriptor instead. -func (*TicketsServiceGetTicketSchemaResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{14} -} - func (x *TicketsServiceGetTicketSchemaResponse) GetSchema() *TicketSchema { if x != nil { return x.Schema @@ -1028,15 +1706,50 @@ func (x *TicketsServiceGetTicketSchemaResponse) GetSchema() *TicketSchema { return nil } -func (x *TicketsServiceGetTicketSchemaResponse) GetAnnotations() []*anypb.Any { - if x != nil { - return x.Annotations - } - return nil +func (x *TicketsServiceGetTicketSchemaResponse) GetAnnotations() []*anypb.Any { + if x != nil { + return x.Annotations + } + return nil +} + +func (x *TicketsServiceGetTicketSchemaResponse) SetSchema(v *TicketSchema) { + x.Schema = v +} + +func (x *TicketsServiceGetTicketSchemaResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *TicketsServiceGetTicketSchemaResponse) HasSchema() bool { + if x == nil { + return false + } + return x.Schema != nil +} + +func (x *TicketsServiceGetTicketSchemaResponse) ClearSchema() { + x.Schema = nil +} + +type TicketsServiceGetTicketSchemaResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Schema *TicketSchema + Annotations []*anypb.Any +} + +func (b0 TicketsServiceGetTicketSchemaResponse_builder) Build() *TicketsServiceGetTicketSchemaResponse { + m0 := &TicketsServiceGetTicketSchemaResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Schema = b.Schema + x.Annotations = b.Annotations + return m0 } type TicketsServiceListTicketSchemasRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` PageSize uint32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` @@ -1069,11 +1782,6 @@ func (x *TicketsServiceListTicketSchemasRequest) ProtoReflect() protoreflect.Mes return mi.MessageOf(x) } -// Deprecated: Use TicketsServiceListTicketSchemasRequest.ProtoReflect.Descriptor instead. -func (*TicketsServiceListTicketSchemasRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{15} -} - func (x *TicketsServiceListTicketSchemasRequest) GetPageSize() uint32 { if x != nil { return x.PageSize @@ -1095,8 +1803,38 @@ func (x *TicketsServiceListTicketSchemasRequest) GetAnnotations() []*anypb.Any { return nil } +func (x *TicketsServiceListTicketSchemasRequest) SetPageSize(v uint32) { + x.PageSize = v +} + +func (x *TicketsServiceListTicketSchemasRequest) SetPageToken(v string) { + x.PageToken = v +} + +func (x *TicketsServiceListTicketSchemasRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type TicketsServiceListTicketSchemasRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + PageSize uint32 + PageToken string + Annotations []*anypb.Any +} + +func (b0 TicketsServiceListTicketSchemasRequest_builder) Build() *TicketsServiceListTicketSchemasRequest { + m0 := &TicketsServiceListTicketSchemasRequest{} + b, x := &b0, m0 + _, _ = b, x + x.PageSize = b.PageSize + x.PageToken = b.PageToken + x.Annotations = b.Annotations + return m0 +} + type TicketsServiceListTicketSchemasResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` List []*TicketSchema `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` @@ -1129,11 +1867,6 @@ func (x *TicketsServiceListTicketSchemasResponse) ProtoReflect() protoreflect.Me return mi.MessageOf(x) } -// Deprecated: Use TicketsServiceListTicketSchemasResponse.ProtoReflect.Descriptor instead. -func (*TicketsServiceListTicketSchemasResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{16} -} - func (x *TicketsServiceListTicketSchemasResponse) GetList() []*TicketSchema { if x != nil { return x.List @@ -1155,8 +1888,38 @@ func (x *TicketsServiceListTicketSchemasResponse) GetAnnotations() []*anypb.Any return nil } +func (x *TicketsServiceListTicketSchemasResponse) SetList(v []*TicketSchema) { + x.List = v +} + +func (x *TicketsServiceListTicketSchemasResponse) SetNextPageToken(v string) { + x.NextPageToken = v +} + +func (x *TicketsServiceListTicketSchemasResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type TicketsServiceListTicketSchemasResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + List []*TicketSchema + NextPageToken string + Annotations []*anypb.Any +} + +func (b0 TicketsServiceListTicketSchemasResponse_builder) Build() *TicketsServiceListTicketSchemasResponse { + m0 := &TicketsServiceListTicketSchemasResponse{} + b, x := &b0, m0 + _, _ = b, x + x.List = b.List + x.NextPageToken = b.NextPageToken + x.Annotations = b.Annotations + return m0 +} + type Ticket struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` @@ -1200,11 +1963,6 @@ func (x *Ticket) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Ticket.ProtoReflect.Descriptor instead. -func (*Ticket) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{17} -} - func (x *Ticket) GetId() string { if x != nil { return x.Id @@ -1303,8 +2061,181 @@ func (x *Ticket) GetRequestedFor() *Resource { return nil } +func (x *Ticket) SetId(v string) { + x.Id = v +} + +func (x *Ticket) SetDisplayName(v string) { + x.DisplayName = v +} + +func (x *Ticket) SetDescription(v string) { + x.Description = v +} + +func (x *Ticket) SetAssignees(v []*Resource) { + x.Assignees = v +} + +func (x *Ticket) SetReporter(v *Resource) { + x.Reporter = v +} + +func (x *Ticket) SetStatus(v *TicketStatus) { + x.Status = v +} + +func (x *Ticket) SetType(v *TicketType) { + x.Type = v +} + +func (x *Ticket) SetLabels(v []string) { + x.Labels = v +} + +func (x *Ticket) SetUrl(v string) { + x.Url = v +} + +func (x *Ticket) SetCustomFields(v map[string]*TicketCustomField) { + x.CustomFields = v +} + +func (x *Ticket) SetCreatedAt(v *timestamppb.Timestamp) { + x.CreatedAt = v +} + +func (x *Ticket) SetUpdatedAt(v *timestamppb.Timestamp) { + x.UpdatedAt = v +} + +func (x *Ticket) SetCompletedAt(v *timestamppb.Timestamp) { + x.CompletedAt = v +} + +func (x *Ticket) SetRequestedFor(v *Resource) { + x.RequestedFor = v +} + +func (x *Ticket) HasReporter() bool { + if x == nil { + return false + } + return x.Reporter != nil +} + +func (x *Ticket) HasStatus() bool { + if x == nil { + return false + } + return x.Status != nil +} + +func (x *Ticket) HasType() bool { + if x == nil { + return false + } + return x.Type != nil +} + +func (x *Ticket) HasCreatedAt() bool { + if x == nil { + return false + } + return x.CreatedAt != nil +} + +func (x *Ticket) HasUpdatedAt() bool { + if x == nil { + return false + } + return x.UpdatedAt != nil +} + +func (x *Ticket) HasCompletedAt() bool { + if x == nil { + return false + } + return x.CompletedAt != nil +} + +func (x *Ticket) HasRequestedFor() bool { + if x == nil { + return false + } + return x.RequestedFor != nil +} + +func (x *Ticket) ClearReporter() { + x.Reporter = nil +} + +func (x *Ticket) ClearStatus() { + x.Status = nil +} + +func (x *Ticket) ClearType() { + x.Type = nil +} + +func (x *Ticket) ClearCreatedAt() { + x.CreatedAt = nil +} + +func (x *Ticket) ClearUpdatedAt() { + x.UpdatedAt = nil +} + +func (x *Ticket) ClearCompletedAt() { + x.CompletedAt = nil +} + +func (x *Ticket) ClearRequestedFor() { + x.RequestedFor = nil +} + +type Ticket_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + DisplayName string + Description string + Assignees []*Resource + Reporter *Resource + Status *TicketStatus + Type *TicketType + Labels []string + Url string + CustomFields map[string]*TicketCustomField + CreatedAt *timestamppb.Timestamp + UpdatedAt *timestamppb.Timestamp + CompletedAt *timestamppb.Timestamp + RequestedFor *Resource +} + +func (b0 Ticket_builder) Build() *Ticket { + m0 := &Ticket{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + x.DisplayName = b.DisplayName + x.Description = b.Description + x.Assignees = b.Assignees + x.Reporter = b.Reporter + x.Status = b.Status + x.Type = b.Type + x.Labels = b.Labels + x.Url = b.Url + x.CustomFields = b.CustomFields + x.CreatedAt = b.CreatedAt + x.UpdatedAt = b.UpdatedAt + x.CompletedAt = b.CompletedAt + x.RequestedFor = b.RequestedFor + return m0 +} + type TicketType struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` unknownFields protoimpl.UnknownFields @@ -1336,11 +2267,6 @@ func (x *TicketType) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TicketType.ProtoReflect.Descriptor instead. -func (*TicketType) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{18} -} - func (x *TicketType) GetId() string { if x != nil { return x.Id @@ -1355,8 +2281,32 @@ func (x *TicketType) GetDisplayName() string { return "" } +func (x *TicketType) SetId(v string) { + x.Id = v +} + +func (x *TicketType) SetDisplayName(v string) { + x.DisplayName = v +} + +type TicketType_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + DisplayName string +} + +func (b0 TicketType_builder) Build() *TicketType { + m0 := &TicketType{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + x.DisplayName = b.DisplayName + return m0 +} + type TicketRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` Status *TicketStatus `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` @@ -1393,11 +2343,6 @@ func (x *TicketRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TicketRequest.ProtoReflect.Descriptor instead. -func (*TicketRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{19} -} - func (x *TicketRequest) GetDisplayName() string { if x != nil { return x.DisplayName @@ -1447,8 +2392,95 @@ func (x *TicketRequest) GetRequestedFor() *Resource { return nil } +func (x *TicketRequest) SetDisplayName(v string) { + x.DisplayName = v +} + +func (x *TicketRequest) SetDescription(v string) { + x.Description = v +} + +func (x *TicketRequest) SetStatus(v *TicketStatus) { + x.Status = v +} + +func (x *TicketRequest) SetType(v *TicketType) { + x.Type = v +} + +func (x *TicketRequest) SetLabels(v []string) { + x.Labels = v +} + +func (x *TicketRequest) SetCustomFields(v map[string]*TicketCustomField) { + x.CustomFields = v +} + +func (x *TicketRequest) SetRequestedFor(v *Resource) { + x.RequestedFor = v +} + +func (x *TicketRequest) HasStatus() bool { + if x == nil { + return false + } + return x.Status != nil +} + +func (x *TicketRequest) HasType() bool { + if x == nil { + return false + } + return x.Type != nil +} + +func (x *TicketRequest) HasRequestedFor() bool { + if x == nil { + return false + } + return x.RequestedFor != nil +} + +func (x *TicketRequest) ClearStatus() { + x.Status = nil +} + +func (x *TicketRequest) ClearType() { + x.Type = nil +} + +func (x *TicketRequest) ClearRequestedFor() { + x.RequestedFor = nil +} + +type TicketRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DisplayName string + Description string + Status *TicketStatus + Type *TicketType + Labels []string + CustomFields map[string]*TicketCustomField + RequestedFor *Resource +} + +func (b0 TicketRequest_builder) Build() *TicketRequest { + m0 := &TicketRequest{} + b, x := &b0, m0 + _, _ = b, x + x.DisplayName = b.DisplayName + x.Description = b.Description + x.Status = b.Status + x.Type = b.Type + x.Labels = b.Labels + x.CustomFields = b.CustomFields + x.RequestedFor = b.RequestedFor + return m0 +} + type TicketsServiceCreateTicketRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Request *TicketRequest `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"` Schema *TicketSchema `protobuf:"bytes,2,opt,name=schema,proto3" json:"schema,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,8,rep,name=annotations,proto3" json:"annotations,omitempty"` @@ -1481,11 +2513,6 @@ func (x *TicketsServiceCreateTicketRequest) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use TicketsServiceCreateTicketRequest.ProtoReflect.Descriptor instead. -func (*TicketsServiceCreateTicketRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{20} -} - func (x *TicketsServiceCreateTicketRequest) GetRequest() *TicketRequest { if x != nil { return x.Request @@ -1507,9 +2534,61 @@ func (x *TicketsServiceCreateTicketRequest) GetAnnotations() []*anypb.Any { return nil } +func (x *TicketsServiceCreateTicketRequest) SetRequest(v *TicketRequest) { + x.Request = v +} + +func (x *TicketsServiceCreateTicketRequest) SetSchema(v *TicketSchema) { + x.Schema = v +} + +func (x *TicketsServiceCreateTicketRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *TicketsServiceCreateTicketRequest) HasRequest() bool { + if x == nil { + return false + } + return x.Request != nil +} + +func (x *TicketsServiceCreateTicketRequest) HasSchema() bool { + if x == nil { + return false + } + return x.Schema != nil +} + +func (x *TicketsServiceCreateTicketRequest) ClearRequest() { + x.Request = nil +} + +func (x *TicketsServiceCreateTicketRequest) ClearSchema() { + x.Schema = nil +} + +type TicketsServiceCreateTicketRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Request *TicketRequest + Schema *TicketSchema + Annotations []*anypb.Any +} + +func (b0 TicketsServiceCreateTicketRequest_builder) Build() *TicketsServiceCreateTicketRequest { + m0 := &TicketsServiceCreateTicketRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Request = b.Request + x.Schema = b.Schema + x.Annotations = b.Annotations + return m0 +} + // TODO(lauren) maybe the error should be a separate proto so we can store retryable error type TicketsServiceCreateTicketResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Ticket *Ticket `protobuf:"bytes,1,opt,name=ticket,proto3" json:"ticket,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` @@ -1542,11 +2621,6 @@ func (x *TicketsServiceCreateTicketResponse) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use TicketsServiceCreateTicketResponse.ProtoReflect.Descriptor instead. -func (*TicketsServiceCreateTicketResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{21} -} - func (x *TicketsServiceCreateTicketResponse) GetTicket() *Ticket { if x != nil { return x.Ticket @@ -1568,8 +2642,49 @@ func (x *TicketsServiceCreateTicketResponse) GetError() string { return "" } +func (x *TicketsServiceCreateTicketResponse) SetTicket(v *Ticket) { + x.Ticket = v +} + +func (x *TicketsServiceCreateTicketResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *TicketsServiceCreateTicketResponse) SetError(v string) { + x.Error = v +} + +func (x *TicketsServiceCreateTicketResponse) HasTicket() bool { + if x == nil { + return false + } + return x.Ticket != nil +} + +func (x *TicketsServiceCreateTicketResponse) ClearTicket() { + x.Ticket = nil +} + +type TicketsServiceCreateTicketResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Ticket *Ticket + Annotations []*anypb.Any + Error string +} + +func (b0 TicketsServiceCreateTicketResponse_builder) Build() *TicketsServiceCreateTicketResponse { + m0 := &TicketsServiceCreateTicketResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Ticket = b.Ticket + x.Annotations = b.Annotations + x.Error = b.Error + return m0 +} + type TicketsServiceGetTicketRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -1601,11 +2716,6 @@ func (x *TicketsServiceGetTicketRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TicketsServiceGetTicketRequest.ProtoReflect.Descriptor instead. -func (*TicketsServiceGetTicketRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{22} -} - func (x *TicketsServiceGetTicketRequest) GetId() string { if x != nil { return x.Id @@ -1620,8 +2730,32 @@ func (x *TicketsServiceGetTicketRequest) GetAnnotations() []*anypb.Any { return nil } +func (x *TicketsServiceGetTicketRequest) SetId(v string) { + x.Id = v +} + +func (x *TicketsServiceGetTicketRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type TicketsServiceGetTicketRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + Annotations []*anypb.Any +} + +func (b0 TicketsServiceGetTicketRequest_builder) Build() *TicketsServiceGetTicketRequest { + m0 := &TicketsServiceGetTicketRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + x.Annotations = b.Annotations + return m0 +} + type TicketsServiceGetTicketResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Ticket *Ticket `protobuf:"bytes,1,opt,name=ticket,proto3" json:"ticket,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` @@ -1654,11 +2788,6 @@ func (x *TicketsServiceGetTicketResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TicketsServiceGetTicketResponse.ProtoReflect.Descriptor instead. -func (*TicketsServiceGetTicketResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{23} -} - func (x *TicketsServiceGetTicketResponse) GetTicket() *Ticket { if x != nil { return x.Ticket @@ -1680,8 +2809,49 @@ func (x *TicketsServiceGetTicketResponse) GetError() string { return "" } +func (x *TicketsServiceGetTicketResponse) SetTicket(v *Ticket) { + x.Ticket = v +} + +func (x *TicketsServiceGetTicketResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *TicketsServiceGetTicketResponse) SetError(v string) { + x.Error = v +} + +func (x *TicketsServiceGetTicketResponse) HasTicket() bool { + if x == nil { + return false + } + return x.Ticket != nil +} + +func (x *TicketsServiceGetTicketResponse) ClearTicket() { + x.Ticket = nil +} + +type TicketsServiceGetTicketResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Ticket *Ticket + Annotations []*anypb.Any + Error string +} + +func (b0 TicketsServiceGetTicketResponse_builder) Build() *TicketsServiceGetTicketResponse { + m0 := &TicketsServiceGetTicketResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Ticket = b.Ticket + x.Annotations = b.Annotations + x.Error = b.Error + return m0 +} + type TicketsServiceBulkCreateTicketsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` TicketRequests []*TicketsServiceCreateTicketRequest `protobuf:"bytes,1,rep,name=ticket_requests,json=ticketRequests,proto3" json:"ticket_requests,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1712,11 +2882,6 @@ func (x *TicketsServiceBulkCreateTicketsRequest) ProtoReflect() protoreflect.Mes return mi.MessageOf(x) } -// Deprecated: Use TicketsServiceBulkCreateTicketsRequest.ProtoReflect.Descriptor instead. -func (*TicketsServiceBulkCreateTicketsRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{24} -} - func (x *TicketsServiceBulkCreateTicketsRequest) GetTicketRequests() []*TicketsServiceCreateTicketRequest { if x != nil { return x.TicketRequests @@ -1724,8 +2889,26 @@ func (x *TicketsServiceBulkCreateTicketsRequest) GetTicketRequests() []*TicketsS return nil } +func (x *TicketsServiceBulkCreateTicketsRequest) SetTicketRequests(v []*TicketsServiceCreateTicketRequest) { + x.TicketRequests = v +} + +type TicketsServiceBulkCreateTicketsRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + TicketRequests []*TicketsServiceCreateTicketRequest +} + +func (b0 TicketsServiceBulkCreateTicketsRequest_builder) Build() *TicketsServiceBulkCreateTicketsRequest { + m0 := &TicketsServiceBulkCreateTicketsRequest{} + b, x := &b0, m0 + _, _ = b, x + x.TicketRequests = b.TicketRequests + return m0 +} + type TicketsServiceBulkCreateTicketsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Tickets []*TicketsServiceCreateTicketResponse `protobuf:"bytes,1,rep,name=tickets,proto3" json:"tickets,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1756,11 +2939,6 @@ func (x *TicketsServiceBulkCreateTicketsResponse) ProtoReflect() protoreflect.Me return mi.MessageOf(x) } -// Deprecated: Use TicketsServiceBulkCreateTicketsResponse.ProtoReflect.Descriptor instead. -func (*TicketsServiceBulkCreateTicketsResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{25} -} - func (x *TicketsServiceBulkCreateTicketsResponse) GetTickets() []*TicketsServiceCreateTicketResponse { if x != nil { return x.Tickets @@ -1768,8 +2946,26 @@ func (x *TicketsServiceBulkCreateTicketsResponse) GetTickets() []*TicketsService return nil } +func (x *TicketsServiceBulkCreateTicketsResponse) SetTickets(v []*TicketsServiceCreateTicketResponse) { + x.Tickets = v +} + +type TicketsServiceBulkCreateTicketsResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Tickets []*TicketsServiceCreateTicketResponse +} + +func (b0 TicketsServiceBulkCreateTicketsResponse_builder) Build() *TicketsServiceBulkCreateTicketsResponse { + m0 := &TicketsServiceBulkCreateTicketsResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Tickets = b.Tickets + return m0 +} + type TicketsServiceBulkGetTicketsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` TicketRequests []*TicketsServiceGetTicketRequest `protobuf:"bytes,1,rep,name=ticket_requests,json=ticketRequests,proto3" json:"ticket_requests,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1800,11 +2996,6 @@ func (x *TicketsServiceBulkGetTicketsRequest) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use TicketsServiceBulkGetTicketsRequest.ProtoReflect.Descriptor instead. -func (*TicketsServiceBulkGetTicketsRequest) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{26} -} - func (x *TicketsServiceBulkGetTicketsRequest) GetTicketRequests() []*TicketsServiceGetTicketRequest { if x != nil { return x.TicketRequests @@ -1812,8 +3003,26 @@ func (x *TicketsServiceBulkGetTicketsRequest) GetTicketRequests() []*TicketsServ return nil } +func (x *TicketsServiceBulkGetTicketsRequest) SetTicketRequests(v []*TicketsServiceGetTicketRequest) { + x.TicketRequests = v +} + +type TicketsServiceBulkGetTicketsRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + TicketRequests []*TicketsServiceGetTicketRequest +} + +func (b0 TicketsServiceBulkGetTicketsRequest_builder) Build() *TicketsServiceBulkGetTicketsRequest { + m0 := &TicketsServiceBulkGetTicketsRequest{} + b, x := &b0, m0 + _, _ = b, x + x.TicketRequests = b.TicketRequests + return m0 +} + type TicketsServiceBulkGetTicketsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Tickets []*TicketsServiceGetTicketResponse `protobuf:"bytes,1,rep,name=tickets,proto3" json:"tickets,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1844,11 +3053,6 @@ func (x *TicketsServiceBulkGetTicketsResponse) ProtoReflect() protoreflect.Messa return mi.MessageOf(x) } -// Deprecated: Use TicketsServiceBulkGetTicketsResponse.ProtoReflect.Descriptor instead. -func (*TicketsServiceBulkGetTicketsResponse) Descriptor() ([]byte, []int) { - return file_c1_connector_v2_ticket_proto_rawDescGZIP(), []int{27} -} - func (x *TicketsServiceBulkGetTicketsResponse) GetTickets() []*TicketsServiceGetTicketResponse { if x != nil { return x.Tickets @@ -1856,471 +3060,176 @@ func (x *TicketsServiceBulkGetTicketsResponse) GetTickets() []*TicketsServiceGet return nil } -var File_c1_connector_v2_ticket_proto protoreflect.FileDescriptor +func (x *TicketsServiceBulkGetTicketsResponse) SetTickets(v []*TicketsServiceGetTicketResponse) { + x.Tickets = v +} -var file_c1_connector_v2_ticket_proto_rawDesc = string([]byte{ - 0x0a, 0x1c, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, - 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, - 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x1a, - 0x1e, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, - 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 0x1a, 0x1f, 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, 0x1e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, - 0x70, 0x70, 0x65, 0x72, 0x73, 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, 0xa2, 0x03, 0x0a, 0x0c, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, - 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x36, 0x0a, 0x0b, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 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, 0x63, 0x0a, 0x11, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 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, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x89, 0x08, 0x0a, 0x11, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x52, - 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x64, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x55, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x31, 0x2e, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, - 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 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, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, - 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x5b, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x30, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, - 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x5f, 0x0a, 0x11, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, - 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x50, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x7b, 0x0a, 0x1b, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x6d, 0x75, - 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x63, 0x31, 0x2e, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x69, - 0x63, 0x6b, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x48, 0x00, 0x52, 0x18, 0x70, 0x69, 0x63, 0x6b, 0x4d, 0x75, - 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x12, 0x5f, 0x0a, 0x11, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, - 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x50, 0x69, 0x63, 0x6b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x48, 0x00, 0x52, 0x0f, 0x70, 0x69, 0x63, 0x6b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x7b, 0x0a, 0x1b, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x6d, 0x75, 0x6c, 0x74, - 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x69, 0x63, 0x6b, - 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x48, 0x00, 0x52, 0x18, 0x70, 0x69, 0x63, 0x6b, 0x4d, 0x75, 0x6c, 0x74, - 0x69, 0x70, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x12, 0x52, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x6c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x56, - 0x61, 0x6c, 0x75, 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, 0x42, 0x07, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x59, 0x0a, 0x1c, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0x5e, 0x0a, 0x1d, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x22, 0x32, 0x0a, 0x1a, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x1c, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x40, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x94, 0x01, 0x0a, 0x1f, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x30, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 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, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x3f, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 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, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0x84, 0x01, 0x0a, 0x20, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0e, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x29, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x69, - 0x63, 0x6b, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x25, - 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x91, 0x02, 0x0a, - 0x20, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x50, 0x69, 0x63, 0x6b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x43, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2d, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, - 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x54, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, - 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, - 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, - 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0d, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0x9e, 0x02, 0x0a, 0x29, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x69, 0x63, 0x6b, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, - 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x45, - 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, - 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, - 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, - 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x0e, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x22, 0x51, 0x0a, 0x1c, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x41, 0x0a, 0x0c, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x6e, 0x0a, 0x24, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 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, 0x96, 0x01, 0x0a, 0x25, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 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, 0xb7, 0x01, 0x0a, 0x26, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 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, 0x2c, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, - 0x01, 0x28, 0x80, 0x20, 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, 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, 0xcb, 0x01, 0x0a, 0x27, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0f, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0x28, 0x80, 0x20, 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, 0x89, 0x06, 0x0a, 0x06, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 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, 0x12, 0x37, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x65, 0x73, 0x18, 0x04, 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, 0x09, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, - 0x73, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x05, 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, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x2f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x4e, 0x0a, 0x0d, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 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, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x0d, 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, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x0e, 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, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x3e, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, - 0x18, 0x0f, 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, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x1a, - 0x63, 0x0a, 0x11, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 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, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3f, 0x0a, 0x0a, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xd0, 0x03, 0x0a, 0x0d, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 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, 0x35, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, - 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x55, 0x0a, 0x0d, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x12, 0x3e, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, - 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x07, 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, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, - 0x46, 0x6f, 0x72, 0x1a, 0x63, 0x0a, 0x11, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 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, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xcc, 0x01, 0x0a, 0x21, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, - 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, - 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, - 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, - 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, 0xa3, 0x01, 0x0a, 0x22, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, - 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, - 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 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, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x68, 0x0a, - 0x1e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, - 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 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, 0xa0, 0x01, 0x0a, 0x1f, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x31, - 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 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, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x85, 0x01, 0x0a, 0x26, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x75, 0x6c, - 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5b, 0x0a, 0x0f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, - 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, - 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x73, 0x22, 0x78, 0x0a, 0x27, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, - 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, - 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, - 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0x7f, 0x0a, 0x23, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x75, - 0x6c, 0x6b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x0f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, - 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0e, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x72, 0x0a, - 0x24, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, - 0x75, 0x6c, 0x6b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x73, 0x32, 0x8d, 0x06, 0x0a, 0x0e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x77, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x12, 0x32, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, - 0x09, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2f, 0x2e, 0x63, 0x31, 0x2e, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 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, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x86, 0x01, - 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x73, 0x12, 0x37, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, - 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x35, 0x2e, 0x63, 0x31, 0x2e, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 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, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x11, 0x42, 0x75, - 0x6c, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, - 0x37, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, - 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x0e, 0x42, 0x75, 0x6c, 0x6b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x12, 0x34, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x75, 0x6c, 0x6b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x31, 0x2e, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x75, 0x6c, 0x6b, 0x47, - 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 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, -}) - -var ( - file_c1_connector_v2_ticket_proto_rawDescOnce sync.Once - file_c1_connector_v2_ticket_proto_rawDescData []byte -) +type TicketsServiceBulkGetTicketsResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Tickets []*TicketsServiceGetTicketResponse +} -func file_c1_connector_v2_ticket_proto_rawDescGZIP() []byte { - file_c1_connector_v2_ticket_proto_rawDescOnce.Do(func() { - file_c1_connector_v2_ticket_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_ticket_proto_rawDesc), len(file_c1_connector_v2_ticket_proto_rawDesc))) - }) - return file_c1_connector_v2_ticket_proto_rawDescData +func (b0 TicketsServiceBulkGetTicketsResponse_builder) Build() *TicketsServiceBulkGetTicketsResponse { + m0 := &TicketsServiceBulkGetTicketsResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Tickets = b.Tickets + return m0 } +var File_c1_connector_v2_ticket_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_ticket_proto_rawDesc = "" + + "\n" + + "\x1cc1/connector/v2/ticket.proto\x12\x0fc1.connector.v2\x1a\x1ec1/connector/v2/resource.proto\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x17validate/validate.proto\"\xa2\x03\n" + + "\fTicketSchema\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x121\n" + + "\x05types\x18\x03 \x03(\v2\x1b.c1.connector.v2.TicketTypeR\x05types\x129\n" + + "\bstatuses\x18\x04 \x03(\v2\x1d.c1.connector.v2.TicketStatusR\bstatuses\x12T\n" + + "\rcustom_fields\x18\x05 \x03(\v2/.c1.connector.v2.TicketSchema.CustomFieldsEntryR\fcustomFields\x126\n" + + "\vannotations\x18\x06 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1ac\n" + + "\x11CustomFieldsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x128\n" + + "\x05value\x18\x02 \x01(\v2\".c1.connector.v2.TicketCustomFieldR\x05value:\x028\x01\"\x89\b\n" + + "\x11TicketCustomField\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12\x1a\n" + + "\brequired\x18\x03 \x01(\bR\brequired\x12R\n" + + "\fstring_value\x18d \x01(\v2-.c1.connector.v2.TicketCustomFieldStringValueH\x00R\vstringValue\x12U\n" + + "\rstring_values\x18e \x01(\v2..c1.connector.v2.TicketCustomFieldStringValuesH\x00R\fstringValues\x12L\n" + + "\n" + + "bool_value\x18f \x01(\v2+.c1.connector.v2.TicketCustomFieldBoolValueH\x00R\tboolValue\x12[\n" + + "\x0ftimestamp_value\x18g \x01(\v20.c1.connector.v2.TicketCustomFieldTimestampValueH\x00R\x0etimestampValue\x12_\n" + + "\x11pick_string_value\x18h \x01(\v21.c1.connector.v2.TicketCustomFieldPickStringValueH\x00R\x0fpickStringValue\x12{\n" + + "\x1bpick_multiple_string_values\x18i \x01(\v2:.c1.connector.v2.TicketCustomFieldPickMultipleStringValuesH\x00R\x18pickMultipleStringValues\x12_\n" + + "\x11pick_object_value\x18j \x01(\v21.c1.connector.v2.TicketCustomFieldPickObjectValueH\x00R\x0fpickObjectValue\x12{\n" + + "\x1bpick_multiple_object_values\x18k \x01(\v2:.c1.connector.v2.TicketCustomFieldPickMultipleObjectValuesH\x00R\x18pickMultipleObjectValues\x12R\n" + + "\fnumber_value\x18l \x01(\v2-.c1.connector.v2.TicketCustomFieldNumberValueH\x00R\vnumberValue\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotationsB\a\n" + + "\x05value\"Y\n" + + "\x1cTicketCustomFieldStringValue\x12\x14\n" + + "\x05value\x18\x01 \x01(\tR\x05value\x12#\n" + + "\rdefault_value\x18\x02 \x01(\tR\fdefaultValue\"^\n" + + "\x1dTicketCustomFieldStringValues\x12\x16\n" + + "\x06values\x18\x01 \x03(\tR\x06values\x12%\n" + + "\x0edefault_values\x18\x02 \x03(\tR\rdefaultValues\"2\n" + + "\x1aTicketCustomFieldBoolValue\x12\x14\n" + + "\x05value\x18\x01 \x01(\bR\x05value\"\x93\x01\n" + + "\x1cTicketCustomFieldNumberValue\x121\n" + + "\x05value\x18\x01 \x01(\v2\x1b.google.protobuf.FloatValueR\x05value\x12@\n" + + "\rdefault_value\x18\x02 \x01(\v2\x1b.google.protobuf.FloatValueR\fdefaultValue\"\x94\x01\n" + + "\x1fTicketCustomFieldTimestampValue\x120\n" + + "\x05value\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\x05value\x12?\n" + + "\rdefault_value\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\fdefaultValue\"\x84\x01\n" + + " TicketCustomFieldPickStringValue\x12\x14\n" + + "\x05value\x18\x01 \x01(\tR\x05value\x12%\n" + + "\x0eallowed_values\x18\x02 \x03(\tR\rallowedValues\x12#\n" + + "\rdefault_value\x18\x03 \x01(\tR\fdefaultValue\"\x91\x01\n" + + ")TicketCustomFieldPickMultipleStringValues\x12\x16\n" + + "\x06values\x18\x01 \x03(\tR\x06values\x12%\n" + + "\x0eallowed_values\x18\x02 \x03(\tR\rallowedValues\x12%\n" + + "\x0edefault_values\x18\x03 \x03(\tR\rdefaultValues\"\x91\x02\n" + + " TicketCustomFieldPickObjectValue\x12C\n" + + "\x05value\x18\x01 \x01(\v2-.c1.connector.v2.TicketCustomFieldObjectValueR\x05value\x12T\n" + + "\x0eallowed_values\x18\x02 \x03(\v2-.c1.connector.v2.TicketCustomFieldObjectValueR\rallowedValues\x12R\n" + + "\rdefault_value\x18\x03 \x01(\v2-.c1.connector.v2.TicketCustomFieldObjectValueR\fdefaultValue\"\x9e\x02\n" + + ")TicketCustomFieldPickMultipleObjectValues\x12E\n" + + "\x06values\x18\x01 \x03(\v2-.c1.connector.v2.TicketCustomFieldObjectValueR\x06values\x12T\n" + + "\x0eallowed_values\x18\x02 \x03(\v2-.c1.connector.v2.TicketCustomFieldObjectValueR\rallowedValues\x12T\n" + + "\x0edefault_values\x18\x03 \x03(\v2-.c1.connector.v2.TicketCustomFieldObjectValueR\rdefaultValues\"Q\n" + + "\x1cTicketCustomFieldObjectValue\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\"A\n" + + "\fTicketStatus\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\"n\n" + + "$TicketsServiceGetTicketSchemaRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x96\x01\n" + + "%TicketsServiceGetTicketSchemaResponse\x125\n" + + "\x06schema\x18\x01 \x01(\v2\x1d.c1.connector.v2.TicketSchemaR\x06schema\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xb7\x01\n" + + "&TicketsServiceListTicketSchemasRequest\x12'\n" + + "\tpage_size\x18\x01 \x01(\rB\n" + + "\xfaB\a*\x05\x18\xfa\x01@\x01R\bpageSize\x12,\n" + + "\n" + + "page_token\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80 \xd0\x01\x01R\tpageToken\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xcb\x01\n" + + "'TicketsServiceListTicketSchemasResponse\x121\n" + + "\x04list\x18\x01 \x03(\v2\x1d.c1.connector.v2.TicketSchemaR\x04list\x125\n" + + "\x0fnext_page_token\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80 \xd0\x01\x01R\rnextPageToken\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x89\x06\n" + + "\x06Ticket\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\x127\n" + + "\tassignees\x18\x04 \x03(\v2\x19.c1.connector.v2.ResourceR\tassignees\x125\n" + + "\breporter\x18\x05 \x01(\v2\x19.c1.connector.v2.ResourceR\breporter\x125\n" + + "\x06status\x18\a \x01(\v2\x1d.c1.connector.v2.TicketStatusR\x06status\x12/\n" + + "\x04type\x18\b \x01(\v2\x1b.c1.connector.v2.TicketTypeR\x04type\x12\x16\n" + + "\x06labels\x18\t \x03(\tR\x06labels\x12\x10\n" + + "\x03url\x18\n" + + " \x01(\tR\x03url\x12N\n" + + "\rcustom_fields\x18\v \x03(\v2).c1.connector.v2.Ticket.CustomFieldsEntryR\fcustomFields\x129\n" + + "\n" + + "created_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\r \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12=\n" + + "\fcompleted_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\x12>\n" + + "\rrequested_for\x18\x0f \x01(\v2\x19.c1.connector.v2.ResourceR\frequestedFor\x1ac\n" + + "\x11CustomFieldsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x128\n" + + "\x05value\x18\x02 \x01(\v2\".c1.connector.v2.TicketCustomFieldR\x05value:\x028\x01\"?\n" + + "\n" + + "TicketType\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\"\xd0\x03\n" + + "\rTicketRequest\x12!\n" + + "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\x12 \n" + + "\vdescription\x18\x02 \x01(\tR\vdescription\x125\n" + + "\x06status\x18\x03 \x01(\v2\x1d.c1.connector.v2.TicketStatusR\x06status\x12/\n" + + "\x04type\x18\x04 \x01(\v2\x1b.c1.connector.v2.TicketTypeR\x04type\x12\x16\n" + + "\x06labels\x18\x05 \x03(\tR\x06labels\x12U\n" + + "\rcustom_fields\x18\x06 \x03(\v20.c1.connector.v2.TicketRequest.CustomFieldsEntryR\fcustomFields\x12>\n" + + "\rrequested_for\x18\a \x01(\v2\x19.c1.connector.v2.ResourceR\frequestedFor\x1ac\n" + + "\x11CustomFieldsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x128\n" + + "\x05value\x18\x02 \x01(\v2\".c1.connector.v2.TicketCustomFieldR\x05value:\x028\x01\"\xcc\x01\n" + + "!TicketsServiceCreateTicketRequest\x128\n" + + "\arequest\x18\x01 \x01(\v2\x1e.c1.connector.v2.TicketRequestR\arequest\x125\n" + + "\x06schema\x18\x02 \x01(\v2\x1d.c1.connector.v2.TicketSchemaR\x06schema\x126\n" + + "\vannotations\x18\b \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xa3\x01\n" + + "\"TicketsServiceCreateTicketResponse\x12/\n" + + "\x06ticket\x18\x01 \x01(\v2\x17.c1.connector.v2.TicketR\x06ticket\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12\x14\n" + + "\x05error\x18\x03 \x01(\tR\x05error\"h\n" + + "\x1eTicketsServiceGetTicketRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xa0\x01\n" + + "\x1fTicketsServiceGetTicketResponse\x12/\n" + + "\x06ticket\x18\x01 \x01(\v2\x17.c1.connector.v2.TicketR\x06ticket\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12\x14\n" + + "\x05error\x18\x03 \x01(\tR\x05error\"\x85\x01\n" + + "&TicketsServiceBulkCreateTicketsRequest\x12[\n" + + "\x0fticket_requests\x18\x01 \x03(\v22.c1.connector.v2.TicketsServiceCreateTicketRequestR\x0eticketRequests\"x\n" + + "'TicketsServiceBulkCreateTicketsResponse\x12M\n" + + "\atickets\x18\x01 \x03(\v23.c1.connector.v2.TicketsServiceCreateTicketResponseR\atickets\"\x7f\n" + + "#TicketsServiceBulkGetTicketsRequest\x12X\n" + + "\x0fticket_requests\x18\x01 \x03(\v2/.c1.connector.v2.TicketsServiceGetTicketRequestR\x0eticketRequests\"r\n" + + "$TicketsServiceBulkGetTicketsResponse\x12J\n" + + "\atickets\x18\x01 \x03(\v20.c1.connector.v2.TicketsServiceGetTicketResponseR\atickets2\x8d\x06\n" + + "\x0eTicketsService\x12w\n" + + "\fCreateTicket\x122.c1.connector.v2.TicketsServiceCreateTicketRequest\x1a3.c1.connector.v2.TicketsServiceCreateTicketResponse\x12n\n" + + "\tGetTicket\x12/.c1.connector.v2.TicketsServiceGetTicketRequest\x1a0.c1.connector.v2.TicketsServiceGetTicketResponse\x12\x86\x01\n" + + "\x11ListTicketSchemas\x127.c1.connector.v2.TicketsServiceListTicketSchemasRequest\x1a8.c1.connector.v2.TicketsServiceListTicketSchemasResponse\x12\x80\x01\n" + + "\x0fGetTicketSchema\x125.c1.connector.v2.TicketsServiceGetTicketSchemaRequest\x1a6.c1.connector.v2.TicketsServiceGetTicketSchemaResponse\x12\x86\x01\n" + + "\x11BulkCreateTickets\x127.c1.connector.v2.TicketsServiceBulkCreateTicketsRequest\x1a8.c1.connector.v2.TicketsServiceBulkCreateTicketsResponse\x12}\n" + + "\x0eBulkGetTickets\x124.c1.connector.v2.TicketsServiceBulkGetTicketsRequest\x1a5.c1.connector.v2.TicketsServiceBulkGetTicketsResponseB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + var file_c1_connector_v2_ticket_proto_msgTypes = make([]protoimpl.MessageInfo, 31) var file_c1_connector_v2_ticket_proto_goTypes = []any{ (*TicketSchema)(nil), // 0: c1.connector.v2.TicketSchema diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/ticket_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/ticket_protoopaque.pb.go new file mode 100644 index 00000000..e1916abf --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/ticket_protoopaque.pb.go @@ -0,0 +1,3409 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector/v2/ticket.proto + +//go:build protoopaque + +package v2 + +import ( + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + 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) +) + +type TicketSchema struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + xxx_hidden_DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3"` + xxx_hidden_Types *[]*TicketType `protobuf:"bytes,3,rep,name=types,proto3"` + xxx_hidden_Statuses *[]*TicketStatus `protobuf:"bytes,4,rep,name=statuses,proto3"` + xxx_hidden_CustomFields map[string]*TicketCustomField `protobuf:"bytes,5,rep,name=custom_fields,json=customFields,proto3" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,6,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketSchema) Reset() { + *x = TicketSchema{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketSchema) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketSchema) ProtoMessage() {} + +func (x *TicketSchema) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_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) +} + +func (x *TicketSchema) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *TicketSchema) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *TicketSchema) GetTypes() []*TicketType { + if x != nil { + if x.xxx_hidden_Types != nil { + return *x.xxx_hidden_Types + } + } + return nil +} + +func (x *TicketSchema) GetStatuses() []*TicketStatus { + if x != nil { + if x.xxx_hidden_Statuses != nil { + return *x.xxx_hidden_Statuses + } + } + return nil +} + +func (x *TicketSchema) GetCustomFields() map[string]*TicketCustomField { + if x != nil { + return x.xxx_hidden_CustomFields + } + return nil +} + +func (x *TicketSchema) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *TicketSchema) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *TicketSchema) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +func (x *TicketSchema) SetTypes(v []*TicketType) { + x.xxx_hidden_Types = &v +} + +func (x *TicketSchema) SetStatuses(v []*TicketStatus) { + x.xxx_hidden_Statuses = &v +} + +func (x *TicketSchema) SetCustomFields(v map[string]*TicketCustomField) { + x.xxx_hidden_CustomFields = v +} + +func (x *TicketSchema) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type TicketSchema_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + DisplayName string + Types []*TicketType + Statuses []*TicketStatus + CustomFields map[string]*TicketCustomField + Annotations []*anypb.Any +} + +func (b0 TicketSchema_builder) Build() *TicketSchema { + m0 := &TicketSchema{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + x.xxx_hidden_DisplayName = b.DisplayName + x.xxx_hidden_Types = &b.Types + x.xxx_hidden_Statuses = &b.Statuses + x.xxx_hidden_CustomFields = b.CustomFields + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type TicketCustomField struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + xxx_hidden_DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3"` + xxx_hidden_Required bool `protobuf:"varint,3,opt,name=required,proto3"` + xxx_hidden_Value isTicketCustomField_Value `protobuf_oneof:"value"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketCustomField) Reset() { + *x = TicketCustomField{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketCustomField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketCustomField) ProtoMessage() {} + +func (x *TicketCustomField) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_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) +} + +func (x *TicketCustomField) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *TicketCustomField) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *TicketCustomField) GetRequired() bool { + if x != nil { + return x.xxx_hidden_Required + } + return false +} + +func (x *TicketCustomField) GetStringValue() *TicketCustomFieldStringValue { + if x != nil { + if x, ok := x.xxx_hidden_Value.(*ticketCustomField_StringValue); ok { + return x.StringValue + } + } + return nil +} + +func (x *TicketCustomField) GetStringValues() *TicketCustomFieldStringValues { + if x != nil { + if x, ok := x.xxx_hidden_Value.(*ticketCustomField_StringValues); ok { + return x.StringValues + } + } + return nil +} + +func (x *TicketCustomField) GetBoolValue() *TicketCustomFieldBoolValue { + if x != nil { + if x, ok := x.xxx_hidden_Value.(*ticketCustomField_BoolValue); ok { + return x.BoolValue + } + } + return nil +} + +func (x *TicketCustomField) GetTimestampValue() *TicketCustomFieldTimestampValue { + if x != nil { + if x, ok := x.xxx_hidden_Value.(*ticketCustomField_TimestampValue); ok { + return x.TimestampValue + } + } + return nil +} + +func (x *TicketCustomField) GetPickStringValue() *TicketCustomFieldPickStringValue { + if x != nil { + if x, ok := x.xxx_hidden_Value.(*ticketCustomField_PickStringValue); ok { + return x.PickStringValue + } + } + return nil +} + +func (x *TicketCustomField) GetPickMultipleStringValues() *TicketCustomFieldPickMultipleStringValues { + if x != nil { + if x, ok := x.xxx_hidden_Value.(*ticketCustomField_PickMultipleStringValues); ok { + return x.PickMultipleStringValues + } + } + return nil +} + +func (x *TicketCustomField) GetPickObjectValue() *TicketCustomFieldPickObjectValue { + if x != nil { + if x, ok := x.xxx_hidden_Value.(*ticketCustomField_PickObjectValue); ok { + return x.PickObjectValue + } + } + return nil +} + +func (x *TicketCustomField) GetPickMultipleObjectValues() *TicketCustomFieldPickMultipleObjectValues { + if x != nil { + if x, ok := x.xxx_hidden_Value.(*ticketCustomField_PickMultipleObjectValues); ok { + return x.PickMultipleObjectValues + } + } + return nil +} + +func (x *TicketCustomField) GetNumberValue() *TicketCustomFieldNumberValue { + if x != nil { + if x, ok := x.xxx_hidden_Value.(*ticketCustomField_NumberValue); ok { + return x.NumberValue + } + } + return nil +} + +func (x *TicketCustomField) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *TicketCustomField) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *TicketCustomField) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +func (x *TicketCustomField) SetRequired(v bool) { + x.xxx_hidden_Required = v +} + +func (x *TicketCustomField) SetStringValue(v *TicketCustomFieldStringValue) { + if v == nil { + x.xxx_hidden_Value = nil + return + } + x.xxx_hidden_Value = &ticketCustomField_StringValue{v} +} + +func (x *TicketCustomField) SetStringValues(v *TicketCustomFieldStringValues) { + if v == nil { + x.xxx_hidden_Value = nil + return + } + x.xxx_hidden_Value = &ticketCustomField_StringValues{v} +} + +func (x *TicketCustomField) SetBoolValue(v *TicketCustomFieldBoolValue) { + if v == nil { + x.xxx_hidden_Value = nil + return + } + x.xxx_hidden_Value = &ticketCustomField_BoolValue{v} +} + +func (x *TicketCustomField) SetTimestampValue(v *TicketCustomFieldTimestampValue) { + if v == nil { + x.xxx_hidden_Value = nil + return + } + x.xxx_hidden_Value = &ticketCustomField_TimestampValue{v} +} + +func (x *TicketCustomField) SetPickStringValue(v *TicketCustomFieldPickStringValue) { + if v == nil { + x.xxx_hidden_Value = nil + return + } + x.xxx_hidden_Value = &ticketCustomField_PickStringValue{v} +} + +func (x *TicketCustomField) SetPickMultipleStringValues(v *TicketCustomFieldPickMultipleStringValues) { + if v == nil { + x.xxx_hidden_Value = nil + return + } + x.xxx_hidden_Value = &ticketCustomField_PickMultipleStringValues{v} +} + +func (x *TicketCustomField) SetPickObjectValue(v *TicketCustomFieldPickObjectValue) { + if v == nil { + x.xxx_hidden_Value = nil + return + } + x.xxx_hidden_Value = &ticketCustomField_PickObjectValue{v} +} + +func (x *TicketCustomField) SetPickMultipleObjectValues(v *TicketCustomFieldPickMultipleObjectValues) { + if v == nil { + x.xxx_hidden_Value = nil + return + } + x.xxx_hidden_Value = &ticketCustomField_PickMultipleObjectValues{v} +} + +func (x *TicketCustomField) SetNumberValue(v *TicketCustomFieldNumberValue) { + if v == nil { + x.xxx_hidden_Value = nil + return + } + x.xxx_hidden_Value = &ticketCustomField_NumberValue{v} +} + +func (x *TicketCustomField) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *TicketCustomField) HasValue() bool { + if x == nil { + return false + } + return x.xxx_hidden_Value != nil +} + +func (x *TicketCustomField) HasStringValue() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Value.(*ticketCustomField_StringValue) + return ok +} + +func (x *TicketCustomField) HasStringValues() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Value.(*ticketCustomField_StringValues) + return ok +} + +func (x *TicketCustomField) HasBoolValue() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Value.(*ticketCustomField_BoolValue) + return ok +} + +func (x *TicketCustomField) HasTimestampValue() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Value.(*ticketCustomField_TimestampValue) + return ok +} + +func (x *TicketCustomField) HasPickStringValue() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Value.(*ticketCustomField_PickStringValue) + return ok +} + +func (x *TicketCustomField) HasPickMultipleStringValues() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Value.(*ticketCustomField_PickMultipleStringValues) + return ok +} + +func (x *TicketCustomField) HasPickObjectValue() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Value.(*ticketCustomField_PickObjectValue) + return ok +} + +func (x *TicketCustomField) HasPickMultipleObjectValues() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Value.(*ticketCustomField_PickMultipleObjectValues) + return ok +} + +func (x *TicketCustomField) HasNumberValue() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Value.(*ticketCustomField_NumberValue) + return ok +} + +func (x *TicketCustomField) ClearValue() { + x.xxx_hidden_Value = nil +} + +func (x *TicketCustomField) ClearStringValue() { + if _, ok := x.xxx_hidden_Value.(*ticketCustomField_StringValue); ok { + x.xxx_hidden_Value = nil + } +} + +func (x *TicketCustomField) ClearStringValues() { + if _, ok := x.xxx_hidden_Value.(*ticketCustomField_StringValues); ok { + x.xxx_hidden_Value = nil + } +} + +func (x *TicketCustomField) ClearBoolValue() { + if _, ok := x.xxx_hidden_Value.(*ticketCustomField_BoolValue); ok { + x.xxx_hidden_Value = nil + } +} + +func (x *TicketCustomField) ClearTimestampValue() { + if _, ok := x.xxx_hidden_Value.(*ticketCustomField_TimestampValue); ok { + x.xxx_hidden_Value = nil + } +} + +func (x *TicketCustomField) ClearPickStringValue() { + if _, ok := x.xxx_hidden_Value.(*ticketCustomField_PickStringValue); ok { + x.xxx_hidden_Value = nil + } +} + +func (x *TicketCustomField) ClearPickMultipleStringValues() { + if _, ok := x.xxx_hidden_Value.(*ticketCustomField_PickMultipleStringValues); ok { + x.xxx_hidden_Value = nil + } +} + +func (x *TicketCustomField) ClearPickObjectValue() { + if _, ok := x.xxx_hidden_Value.(*ticketCustomField_PickObjectValue); ok { + x.xxx_hidden_Value = nil + } +} + +func (x *TicketCustomField) ClearPickMultipleObjectValues() { + if _, ok := x.xxx_hidden_Value.(*ticketCustomField_PickMultipleObjectValues); ok { + x.xxx_hidden_Value = nil + } +} + +func (x *TicketCustomField) ClearNumberValue() { + if _, ok := x.xxx_hidden_Value.(*ticketCustomField_NumberValue); ok { + x.xxx_hidden_Value = nil + } +} + +const TicketCustomField_Value_not_set_case case_TicketCustomField_Value = 0 +const TicketCustomField_StringValue_case case_TicketCustomField_Value = 100 +const TicketCustomField_StringValues_case case_TicketCustomField_Value = 101 +const TicketCustomField_BoolValue_case case_TicketCustomField_Value = 102 +const TicketCustomField_TimestampValue_case case_TicketCustomField_Value = 103 +const TicketCustomField_PickStringValue_case case_TicketCustomField_Value = 104 +const TicketCustomField_PickMultipleStringValues_case case_TicketCustomField_Value = 105 +const TicketCustomField_PickObjectValue_case case_TicketCustomField_Value = 106 +const TicketCustomField_PickMultipleObjectValues_case case_TicketCustomField_Value = 107 +const TicketCustomField_NumberValue_case case_TicketCustomField_Value = 108 + +func (x *TicketCustomField) WhichValue() case_TicketCustomField_Value { + if x == nil { + return TicketCustomField_Value_not_set_case + } + switch x.xxx_hidden_Value.(type) { + case *ticketCustomField_StringValue: + return TicketCustomField_StringValue_case + case *ticketCustomField_StringValues: + return TicketCustomField_StringValues_case + case *ticketCustomField_BoolValue: + return TicketCustomField_BoolValue_case + case *ticketCustomField_TimestampValue: + return TicketCustomField_TimestampValue_case + case *ticketCustomField_PickStringValue: + return TicketCustomField_PickStringValue_case + case *ticketCustomField_PickMultipleStringValues: + return TicketCustomField_PickMultipleStringValues_case + case *ticketCustomField_PickObjectValue: + return TicketCustomField_PickObjectValue_case + case *ticketCustomField_PickMultipleObjectValues: + return TicketCustomField_PickMultipleObjectValues_case + case *ticketCustomField_NumberValue: + return TicketCustomField_NumberValue_case + default: + return TicketCustomField_Value_not_set_case + } +} + +type TicketCustomField_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + DisplayName string + Required bool + // Fields of oneof xxx_hidden_Value: + StringValue *TicketCustomFieldStringValue + StringValues *TicketCustomFieldStringValues + BoolValue *TicketCustomFieldBoolValue + TimestampValue *TicketCustomFieldTimestampValue + PickStringValue *TicketCustomFieldPickStringValue + PickMultipleStringValues *TicketCustomFieldPickMultipleStringValues + PickObjectValue *TicketCustomFieldPickObjectValue + PickMultipleObjectValues *TicketCustomFieldPickMultipleObjectValues + NumberValue *TicketCustomFieldNumberValue + // -- end of xxx_hidden_Value + Annotations []*anypb.Any +} + +func (b0 TicketCustomField_builder) Build() *TicketCustomField { + m0 := &TicketCustomField{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + x.xxx_hidden_DisplayName = b.DisplayName + x.xxx_hidden_Required = b.Required + if b.StringValue != nil { + x.xxx_hidden_Value = &ticketCustomField_StringValue{b.StringValue} + } + if b.StringValues != nil { + x.xxx_hidden_Value = &ticketCustomField_StringValues{b.StringValues} + } + if b.BoolValue != nil { + x.xxx_hidden_Value = &ticketCustomField_BoolValue{b.BoolValue} + } + if b.TimestampValue != nil { + x.xxx_hidden_Value = &ticketCustomField_TimestampValue{b.TimestampValue} + } + if b.PickStringValue != nil { + x.xxx_hidden_Value = &ticketCustomField_PickStringValue{b.PickStringValue} + } + if b.PickMultipleStringValues != nil { + x.xxx_hidden_Value = &ticketCustomField_PickMultipleStringValues{b.PickMultipleStringValues} + } + if b.PickObjectValue != nil { + x.xxx_hidden_Value = &ticketCustomField_PickObjectValue{b.PickObjectValue} + } + if b.PickMultipleObjectValues != nil { + x.xxx_hidden_Value = &ticketCustomField_PickMultipleObjectValues{b.PickMultipleObjectValues} + } + if b.NumberValue != nil { + x.xxx_hidden_Value = &ticketCustomField_NumberValue{b.NumberValue} + } + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type case_TicketCustomField_Value protoreflect.FieldNumber + +func (x case_TicketCustomField_Value) String() string { + md := file_c1_connector_v2_ticket_proto_msgTypes[1].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isTicketCustomField_Value interface { + isTicketCustomField_Value() +} + +type ticketCustomField_StringValue struct { + StringValue *TicketCustomFieldStringValue `protobuf:"bytes,100,opt,name=string_value,json=stringValue,proto3,oneof"` +} + +type ticketCustomField_StringValues struct { + StringValues *TicketCustomFieldStringValues `protobuf:"bytes,101,opt,name=string_values,json=stringValues,proto3,oneof"` +} + +type ticketCustomField_BoolValue struct { + BoolValue *TicketCustomFieldBoolValue `protobuf:"bytes,102,opt,name=bool_value,json=boolValue,proto3,oneof"` +} + +type ticketCustomField_TimestampValue struct { + TimestampValue *TicketCustomFieldTimestampValue `protobuf:"bytes,103,opt,name=timestamp_value,json=timestampValue,proto3,oneof"` +} + +type ticketCustomField_PickStringValue struct { + PickStringValue *TicketCustomFieldPickStringValue `protobuf:"bytes,104,opt,name=pick_string_value,json=pickStringValue,proto3,oneof"` +} + +type ticketCustomField_PickMultipleStringValues struct { + PickMultipleStringValues *TicketCustomFieldPickMultipleStringValues `protobuf:"bytes,105,opt,name=pick_multiple_string_values,json=pickMultipleStringValues,proto3,oneof"` +} + +type ticketCustomField_PickObjectValue struct { + PickObjectValue *TicketCustomFieldPickObjectValue `protobuf:"bytes,106,opt,name=pick_object_value,json=pickObjectValue,proto3,oneof"` +} + +type ticketCustomField_PickMultipleObjectValues struct { + PickMultipleObjectValues *TicketCustomFieldPickMultipleObjectValues `protobuf:"bytes,107,opt,name=pick_multiple_object_values,json=pickMultipleObjectValues,proto3,oneof"` +} + +type ticketCustomField_NumberValue struct { + NumberValue *TicketCustomFieldNumberValue `protobuf:"bytes,108,opt,name=number_value,json=numberValue,proto3,oneof"` +} + +func (*ticketCustomField_StringValue) isTicketCustomField_Value() {} + +func (*ticketCustomField_StringValues) isTicketCustomField_Value() {} + +func (*ticketCustomField_BoolValue) isTicketCustomField_Value() {} + +func (*ticketCustomField_TimestampValue) isTicketCustomField_Value() {} + +func (*ticketCustomField_PickStringValue) isTicketCustomField_Value() {} + +func (*ticketCustomField_PickMultipleStringValues) isTicketCustomField_Value() {} + +func (*ticketCustomField_PickObjectValue) isTicketCustomField_Value() {} + +func (*ticketCustomField_PickMultipleObjectValues) isTicketCustomField_Value() {} + +func (*ticketCustomField_NumberValue) isTicketCustomField_Value() {} + +type TicketCustomFieldStringValue struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Value string `protobuf:"bytes,1,opt,name=value,proto3"` + xxx_hidden_DefaultValue string `protobuf:"bytes,2,opt,name=default_value,json=defaultValue,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketCustomFieldStringValue) Reset() { + *x = TicketCustomFieldStringValue{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketCustomFieldStringValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketCustomFieldStringValue) ProtoMessage() {} + +func (x *TicketCustomFieldStringValue) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_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) +} + +func (x *TicketCustomFieldStringValue) GetValue() string { + if x != nil { + return x.xxx_hidden_Value + } + return "" +} + +func (x *TicketCustomFieldStringValue) GetDefaultValue() string { + if x != nil { + return x.xxx_hidden_DefaultValue + } + return "" +} + +func (x *TicketCustomFieldStringValue) SetValue(v string) { + x.xxx_hidden_Value = v +} + +func (x *TicketCustomFieldStringValue) SetDefaultValue(v string) { + x.xxx_hidden_DefaultValue = v +} + +type TicketCustomFieldStringValue_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Value string + DefaultValue string +} + +func (b0 TicketCustomFieldStringValue_builder) Build() *TicketCustomFieldStringValue { + m0 := &TicketCustomFieldStringValue{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Value = b.Value + x.xxx_hidden_DefaultValue = b.DefaultValue + return m0 +} + +type TicketCustomFieldStringValues struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Values []string `protobuf:"bytes,1,rep,name=values,proto3"` + xxx_hidden_DefaultValues []string `protobuf:"bytes,2,rep,name=default_values,json=defaultValues,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketCustomFieldStringValues) Reset() { + *x = TicketCustomFieldStringValues{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketCustomFieldStringValues) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketCustomFieldStringValues) ProtoMessage() {} + +func (x *TicketCustomFieldStringValues) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_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) +} + +func (x *TicketCustomFieldStringValues) GetValues() []string { + if x != nil { + return x.xxx_hidden_Values + } + return nil +} + +func (x *TicketCustomFieldStringValues) GetDefaultValues() []string { + if x != nil { + return x.xxx_hidden_DefaultValues + } + return nil +} + +func (x *TicketCustomFieldStringValues) SetValues(v []string) { + x.xxx_hidden_Values = v +} + +func (x *TicketCustomFieldStringValues) SetDefaultValues(v []string) { + x.xxx_hidden_DefaultValues = v +} + +type TicketCustomFieldStringValues_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Values []string + DefaultValues []string +} + +func (b0 TicketCustomFieldStringValues_builder) Build() *TicketCustomFieldStringValues { + m0 := &TicketCustomFieldStringValues{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Values = b.Values + x.xxx_hidden_DefaultValues = b.DefaultValues + return m0 +} + +type TicketCustomFieldBoolValue struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Value bool `protobuf:"varint,1,opt,name=value,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketCustomFieldBoolValue) Reset() { + *x = TicketCustomFieldBoolValue{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketCustomFieldBoolValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketCustomFieldBoolValue) ProtoMessage() {} + +func (x *TicketCustomFieldBoolValue) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TicketCustomFieldBoolValue) GetValue() bool { + if x != nil { + return x.xxx_hidden_Value + } + return false +} + +func (x *TicketCustomFieldBoolValue) SetValue(v bool) { + x.xxx_hidden_Value = v +} + +type TicketCustomFieldBoolValue_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Value bool +} + +func (b0 TicketCustomFieldBoolValue_builder) Build() *TicketCustomFieldBoolValue { + m0 := &TicketCustomFieldBoolValue{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Value = b.Value + return m0 +} + +type TicketCustomFieldNumberValue struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Value *wrapperspb.FloatValue `protobuf:"bytes,1,opt,name=value,proto3"` + xxx_hidden_DefaultValue *wrapperspb.FloatValue `protobuf:"bytes,2,opt,name=default_value,json=defaultValue,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketCustomFieldNumberValue) Reset() { + *x = TicketCustomFieldNumberValue{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketCustomFieldNumberValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketCustomFieldNumberValue) ProtoMessage() {} + +func (x *TicketCustomFieldNumberValue) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TicketCustomFieldNumberValue) GetValue() *wrapperspb.FloatValue { + if x != nil { + return x.xxx_hidden_Value + } + return nil +} + +func (x *TicketCustomFieldNumberValue) GetDefaultValue() *wrapperspb.FloatValue { + if x != nil { + return x.xxx_hidden_DefaultValue + } + return nil +} + +func (x *TicketCustomFieldNumberValue) SetValue(v *wrapperspb.FloatValue) { + x.xxx_hidden_Value = v +} + +func (x *TicketCustomFieldNumberValue) SetDefaultValue(v *wrapperspb.FloatValue) { + x.xxx_hidden_DefaultValue = v +} + +func (x *TicketCustomFieldNumberValue) HasValue() bool { + if x == nil { + return false + } + return x.xxx_hidden_Value != nil +} + +func (x *TicketCustomFieldNumberValue) HasDefaultValue() bool { + if x == nil { + return false + } + return x.xxx_hidden_DefaultValue != nil +} + +func (x *TicketCustomFieldNumberValue) ClearValue() { + x.xxx_hidden_Value = nil +} + +func (x *TicketCustomFieldNumberValue) ClearDefaultValue() { + x.xxx_hidden_DefaultValue = nil +} + +type TicketCustomFieldNumberValue_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Value *wrapperspb.FloatValue + DefaultValue *wrapperspb.FloatValue +} + +func (b0 TicketCustomFieldNumberValue_builder) Build() *TicketCustomFieldNumberValue { + m0 := &TicketCustomFieldNumberValue{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Value = b.Value + x.xxx_hidden_DefaultValue = b.DefaultValue + return m0 +} + +type TicketCustomFieldTimestampValue struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Value *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=value,proto3"` + xxx_hidden_DefaultValue *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=default_value,json=defaultValue,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketCustomFieldTimestampValue) Reset() { + *x = TicketCustomFieldTimestampValue{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketCustomFieldTimestampValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketCustomFieldTimestampValue) ProtoMessage() {} + +func (x *TicketCustomFieldTimestampValue) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TicketCustomFieldTimestampValue) GetValue() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_Value + } + return nil +} + +func (x *TicketCustomFieldTimestampValue) GetDefaultValue() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_DefaultValue + } + return nil +} + +func (x *TicketCustomFieldTimestampValue) SetValue(v *timestamppb.Timestamp) { + x.xxx_hidden_Value = v +} + +func (x *TicketCustomFieldTimestampValue) SetDefaultValue(v *timestamppb.Timestamp) { + x.xxx_hidden_DefaultValue = v +} + +func (x *TicketCustomFieldTimestampValue) HasValue() bool { + if x == nil { + return false + } + return x.xxx_hidden_Value != nil +} + +func (x *TicketCustomFieldTimestampValue) HasDefaultValue() bool { + if x == nil { + return false + } + return x.xxx_hidden_DefaultValue != nil +} + +func (x *TicketCustomFieldTimestampValue) ClearValue() { + x.xxx_hidden_Value = nil +} + +func (x *TicketCustomFieldTimestampValue) ClearDefaultValue() { + x.xxx_hidden_DefaultValue = nil +} + +type TicketCustomFieldTimestampValue_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Value *timestamppb.Timestamp + DefaultValue *timestamppb.Timestamp +} + +func (b0 TicketCustomFieldTimestampValue_builder) Build() *TicketCustomFieldTimestampValue { + m0 := &TicketCustomFieldTimestampValue{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Value = b.Value + x.xxx_hidden_DefaultValue = b.DefaultValue + return m0 +} + +type TicketCustomFieldPickStringValue struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Value string `protobuf:"bytes,1,opt,name=value,proto3"` + xxx_hidden_AllowedValues []string `protobuf:"bytes,2,rep,name=allowed_values,json=allowedValues,proto3"` + xxx_hidden_DefaultValue string `protobuf:"bytes,3,opt,name=default_value,json=defaultValue,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketCustomFieldPickStringValue) Reset() { + *x = TicketCustomFieldPickStringValue{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketCustomFieldPickStringValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketCustomFieldPickStringValue) ProtoMessage() {} + +func (x *TicketCustomFieldPickStringValue) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_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) +} + +func (x *TicketCustomFieldPickStringValue) GetValue() string { + if x != nil { + return x.xxx_hidden_Value + } + return "" +} + +func (x *TicketCustomFieldPickStringValue) GetAllowedValues() []string { + if x != nil { + return x.xxx_hidden_AllowedValues + } + return nil +} + +func (x *TicketCustomFieldPickStringValue) GetDefaultValue() string { + if x != nil { + return x.xxx_hidden_DefaultValue + } + return "" +} + +func (x *TicketCustomFieldPickStringValue) SetValue(v string) { + x.xxx_hidden_Value = v +} + +func (x *TicketCustomFieldPickStringValue) SetAllowedValues(v []string) { + x.xxx_hidden_AllowedValues = v +} + +func (x *TicketCustomFieldPickStringValue) SetDefaultValue(v string) { + x.xxx_hidden_DefaultValue = v +} + +type TicketCustomFieldPickStringValue_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Value string + AllowedValues []string + DefaultValue string +} + +func (b0 TicketCustomFieldPickStringValue_builder) Build() *TicketCustomFieldPickStringValue { + m0 := &TicketCustomFieldPickStringValue{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Value = b.Value + x.xxx_hidden_AllowedValues = b.AllowedValues + x.xxx_hidden_DefaultValue = b.DefaultValue + return m0 +} + +type TicketCustomFieldPickMultipleStringValues struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Values []string `protobuf:"bytes,1,rep,name=values,proto3"` + xxx_hidden_AllowedValues []string `protobuf:"bytes,2,rep,name=allowed_values,json=allowedValues,proto3"` + xxx_hidden_DefaultValues []string `protobuf:"bytes,3,rep,name=default_values,json=defaultValues,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketCustomFieldPickMultipleStringValues) Reset() { + *x = TicketCustomFieldPickMultipleStringValues{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketCustomFieldPickMultipleStringValues) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketCustomFieldPickMultipleStringValues) ProtoMessage() {} + +func (x *TicketCustomFieldPickMultipleStringValues) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_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) +} + +func (x *TicketCustomFieldPickMultipleStringValues) GetValues() []string { + if x != nil { + return x.xxx_hidden_Values + } + return nil +} + +func (x *TicketCustomFieldPickMultipleStringValues) GetAllowedValues() []string { + if x != nil { + return x.xxx_hidden_AllowedValues + } + return nil +} + +func (x *TicketCustomFieldPickMultipleStringValues) GetDefaultValues() []string { + if x != nil { + return x.xxx_hidden_DefaultValues + } + return nil +} + +func (x *TicketCustomFieldPickMultipleStringValues) SetValues(v []string) { + x.xxx_hidden_Values = v +} + +func (x *TicketCustomFieldPickMultipleStringValues) SetAllowedValues(v []string) { + x.xxx_hidden_AllowedValues = v +} + +func (x *TicketCustomFieldPickMultipleStringValues) SetDefaultValues(v []string) { + x.xxx_hidden_DefaultValues = v +} + +type TicketCustomFieldPickMultipleStringValues_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Values []string + AllowedValues []string + DefaultValues []string +} + +func (b0 TicketCustomFieldPickMultipleStringValues_builder) Build() *TicketCustomFieldPickMultipleStringValues { + m0 := &TicketCustomFieldPickMultipleStringValues{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Values = b.Values + x.xxx_hidden_AllowedValues = b.AllowedValues + x.xxx_hidden_DefaultValues = b.DefaultValues + return m0 +} + +type TicketCustomFieldPickObjectValue struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Value *TicketCustomFieldObjectValue `protobuf:"bytes,1,opt,name=value,proto3"` + xxx_hidden_AllowedValues *[]*TicketCustomFieldObjectValue `protobuf:"bytes,2,rep,name=allowed_values,json=allowedValues,proto3"` + xxx_hidden_DefaultValue *TicketCustomFieldObjectValue `protobuf:"bytes,3,opt,name=default_value,json=defaultValue,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketCustomFieldPickObjectValue) Reset() { + *x = TicketCustomFieldPickObjectValue{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketCustomFieldPickObjectValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketCustomFieldPickObjectValue) ProtoMessage() {} + +func (x *TicketCustomFieldPickObjectValue) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TicketCustomFieldPickObjectValue) GetValue() *TicketCustomFieldObjectValue { + if x != nil { + return x.xxx_hidden_Value + } + return nil +} + +func (x *TicketCustomFieldPickObjectValue) GetAllowedValues() []*TicketCustomFieldObjectValue { + if x != nil { + if x.xxx_hidden_AllowedValues != nil { + return *x.xxx_hidden_AllowedValues + } + } + return nil +} + +func (x *TicketCustomFieldPickObjectValue) GetDefaultValue() *TicketCustomFieldObjectValue { + if x != nil { + return x.xxx_hidden_DefaultValue + } + return nil +} + +func (x *TicketCustomFieldPickObjectValue) SetValue(v *TicketCustomFieldObjectValue) { + x.xxx_hidden_Value = v +} + +func (x *TicketCustomFieldPickObjectValue) SetAllowedValues(v []*TicketCustomFieldObjectValue) { + x.xxx_hidden_AllowedValues = &v +} + +func (x *TicketCustomFieldPickObjectValue) SetDefaultValue(v *TicketCustomFieldObjectValue) { + x.xxx_hidden_DefaultValue = v +} + +func (x *TicketCustomFieldPickObjectValue) HasValue() bool { + if x == nil { + return false + } + return x.xxx_hidden_Value != nil +} + +func (x *TicketCustomFieldPickObjectValue) HasDefaultValue() bool { + if x == nil { + return false + } + return x.xxx_hidden_DefaultValue != nil +} + +func (x *TicketCustomFieldPickObjectValue) ClearValue() { + x.xxx_hidden_Value = nil +} + +func (x *TicketCustomFieldPickObjectValue) ClearDefaultValue() { + x.xxx_hidden_DefaultValue = nil +} + +type TicketCustomFieldPickObjectValue_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Value *TicketCustomFieldObjectValue + AllowedValues []*TicketCustomFieldObjectValue + DefaultValue *TicketCustomFieldObjectValue +} + +func (b0 TicketCustomFieldPickObjectValue_builder) Build() *TicketCustomFieldPickObjectValue { + m0 := &TicketCustomFieldPickObjectValue{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Value = b.Value + x.xxx_hidden_AllowedValues = &b.AllowedValues + x.xxx_hidden_DefaultValue = b.DefaultValue + return m0 +} + +type TicketCustomFieldPickMultipleObjectValues struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Values *[]*TicketCustomFieldObjectValue `protobuf:"bytes,1,rep,name=values,proto3"` + xxx_hidden_AllowedValues *[]*TicketCustomFieldObjectValue `protobuf:"bytes,2,rep,name=allowed_values,json=allowedValues,proto3"` + xxx_hidden_DefaultValues *[]*TicketCustomFieldObjectValue `protobuf:"bytes,3,rep,name=default_values,json=defaultValues,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketCustomFieldPickMultipleObjectValues) Reset() { + *x = TicketCustomFieldPickMultipleObjectValues{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketCustomFieldPickMultipleObjectValues) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketCustomFieldPickMultipleObjectValues) ProtoMessage() {} + +func (x *TicketCustomFieldPickMultipleObjectValues) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TicketCustomFieldPickMultipleObjectValues) GetValues() []*TicketCustomFieldObjectValue { + if x != nil { + if x.xxx_hidden_Values != nil { + return *x.xxx_hidden_Values + } + } + return nil +} + +func (x *TicketCustomFieldPickMultipleObjectValues) GetAllowedValues() []*TicketCustomFieldObjectValue { + if x != nil { + if x.xxx_hidden_AllowedValues != nil { + return *x.xxx_hidden_AllowedValues + } + } + return nil +} + +func (x *TicketCustomFieldPickMultipleObjectValues) GetDefaultValues() []*TicketCustomFieldObjectValue { + if x != nil { + if x.xxx_hidden_DefaultValues != nil { + return *x.xxx_hidden_DefaultValues + } + } + return nil +} + +func (x *TicketCustomFieldPickMultipleObjectValues) SetValues(v []*TicketCustomFieldObjectValue) { + x.xxx_hidden_Values = &v +} + +func (x *TicketCustomFieldPickMultipleObjectValues) SetAllowedValues(v []*TicketCustomFieldObjectValue) { + x.xxx_hidden_AllowedValues = &v +} + +func (x *TicketCustomFieldPickMultipleObjectValues) SetDefaultValues(v []*TicketCustomFieldObjectValue) { + x.xxx_hidden_DefaultValues = &v +} + +type TicketCustomFieldPickMultipleObjectValues_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Values []*TicketCustomFieldObjectValue + AllowedValues []*TicketCustomFieldObjectValue + DefaultValues []*TicketCustomFieldObjectValue +} + +func (b0 TicketCustomFieldPickMultipleObjectValues_builder) Build() *TicketCustomFieldPickMultipleObjectValues { + m0 := &TicketCustomFieldPickMultipleObjectValues{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Values = &b.Values + x.xxx_hidden_AllowedValues = &b.AllowedValues + x.xxx_hidden_DefaultValues = &b.DefaultValues + return m0 +} + +type TicketCustomFieldObjectValue struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + xxx_hidden_DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketCustomFieldObjectValue) Reset() { + *x = TicketCustomFieldObjectValue{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketCustomFieldObjectValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketCustomFieldObjectValue) ProtoMessage() {} + +func (x *TicketCustomFieldObjectValue) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_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) +} + +func (x *TicketCustomFieldObjectValue) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *TicketCustomFieldObjectValue) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *TicketCustomFieldObjectValue) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *TicketCustomFieldObjectValue) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +type TicketCustomFieldObjectValue_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + DisplayName string +} + +func (b0 TicketCustomFieldObjectValue_builder) Build() *TicketCustomFieldObjectValue { + m0 := &TicketCustomFieldObjectValue{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + x.xxx_hidden_DisplayName = b.DisplayName + return m0 +} + +type TicketStatus struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + xxx_hidden_DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketStatus) Reset() { + *x = TicketStatus{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketStatus) ProtoMessage() {} + +func (x *TicketStatus) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TicketStatus) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *TicketStatus) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *TicketStatus) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *TicketStatus) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +type TicketStatus_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + DisplayName string +} + +func (b0 TicketStatus_builder) Build() *TicketStatus { + m0 := &TicketStatus{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + x.xxx_hidden_DisplayName = b.DisplayName + return m0 +} + +type TicketsServiceGetTicketSchemaRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketsServiceGetTicketSchemaRequest) Reset() { + *x = TicketsServiceGetTicketSchemaRequest{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketsServiceGetTicketSchemaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketsServiceGetTicketSchemaRequest) ProtoMessage() {} + +func (x *TicketsServiceGetTicketSchemaRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_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) +} + +func (x *TicketsServiceGetTicketSchemaRequest) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *TicketsServiceGetTicketSchemaRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *TicketsServiceGetTicketSchemaRequest) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *TicketsServiceGetTicketSchemaRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type TicketsServiceGetTicketSchemaRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + Annotations []*anypb.Any +} + +func (b0 TicketsServiceGetTicketSchemaRequest_builder) Build() *TicketsServiceGetTicketSchemaRequest { + m0 := &TicketsServiceGetTicketSchemaRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type TicketsServiceGetTicketSchemaResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Schema *TicketSchema `protobuf:"bytes,1,opt,name=schema,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketsServiceGetTicketSchemaResponse) Reset() { + *x = TicketsServiceGetTicketSchemaResponse{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketsServiceGetTicketSchemaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketsServiceGetTicketSchemaResponse) ProtoMessage() {} + +func (x *TicketsServiceGetTicketSchemaResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_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) +} + +func (x *TicketsServiceGetTicketSchemaResponse) GetSchema() *TicketSchema { + if x != nil { + return x.xxx_hidden_Schema + } + return nil +} + +func (x *TicketsServiceGetTicketSchemaResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *TicketsServiceGetTicketSchemaResponse) SetSchema(v *TicketSchema) { + x.xxx_hidden_Schema = v +} + +func (x *TicketsServiceGetTicketSchemaResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *TicketsServiceGetTicketSchemaResponse) HasSchema() bool { + if x == nil { + return false + } + return x.xxx_hidden_Schema != nil +} + +func (x *TicketsServiceGetTicketSchemaResponse) ClearSchema() { + x.xxx_hidden_Schema = nil +} + +type TicketsServiceGetTicketSchemaResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Schema *TicketSchema + Annotations []*anypb.Any +} + +func (b0 TicketsServiceGetTicketSchemaResponse_builder) Build() *TicketsServiceGetTicketSchemaResponse { + m0 := &TicketsServiceGetTicketSchemaResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Schema = b.Schema + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type TicketsServiceListTicketSchemasRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_PageSize uint32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3"` + xxx_hidden_PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketsServiceListTicketSchemasRequest) Reset() { + *x = TicketsServiceListTicketSchemasRequest{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketsServiceListTicketSchemasRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketsServiceListTicketSchemasRequest) ProtoMessage() {} + +func (x *TicketsServiceListTicketSchemasRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TicketsServiceListTicketSchemasRequest) GetPageSize() uint32 { + if x != nil { + return x.xxx_hidden_PageSize + } + return 0 +} + +func (x *TicketsServiceListTicketSchemasRequest) GetPageToken() string { + if x != nil { + return x.xxx_hidden_PageToken + } + return "" +} + +func (x *TicketsServiceListTicketSchemasRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *TicketsServiceListTicketSchemasRequest) SetPageSize(v uint32) { + x.xxx_hidden_PageSize = v +} + +func (x *TicketsServiceListTicketSchemasRequest) SetPageToken(v string) { + x.xxx_hidden_PageToken = v +} + +func (x *TicketsServiceListTicketSchemasRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type TicketsServiceListTicketSchemasRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + PageSize uint32 + PageToken string + Annotations []*anypb.Any +} + +func (b0 TicketsServiceListTicketSchemasRequest_builder) Build() *TicketsServiceListTicketSchemasRequest { + m0 := &TicketsServiceListTicketSchemasRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_PageSize = b.PageSize + x.xxx_hidden_PageToken = b.PageToken + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type TicketsServiceListTicketSchemasResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_List *[]*TicketSchema `protobuf:"bytes,1,rep,name=list,proto3"` + xxx_hidden_NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketsServiceListTicketSchemasResponse) Reset() { + *x = TicketsServiceListTicketSchemasResponse{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketsServiceListTicketSchemasResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketsServiceListTicketSchemasResponse) ProtoMessage() {} + +func (x *TicketsServiceListTicketSchemasResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TicketsServiceListTicketSchemasResponse) GetList() []*TicketSchema { + if x != nil { + if x.xxx_hidden_List != nil { + return *x.xxx_hidden_List + } + } + return nil +} + +func (x *TicketsServiceListTicketSchemasResponse) GetNextPageToken() string { + if x != nil { + return x.xxx_hidden_NextPageToken + } + return "" +} + +func (x *TicketsServiceListTicketSchemasResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *TicketsServiceListTicketSchemasResponse) SetList(v []*TicketSchema) { + x.xxx_hidden_List = &v +} + +func (x *TicketsServiceListTicketSchemasResponse) SetNextPageToken(v string) { + x.xxx_hidden_NextPageToken = v +} + +func (x *TicketsServiceListTicketSchemasResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type TicketsServiceListTicketSchemasResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + List []*TicketSchema + NextPageToken string + Annotations []*anypb.Any +} + +func (b0 TicketsServiceListTicketSchemasResponse_builder) Build() *TicketsServiceListTicketSchemasResponse { + m0 := &TicketsServiceListTicketSchemasResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_List = &b.List + x.xxx_hidden_NextPageToken = b.NextPageToken + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type Ticket struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + xxx_hidden_DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3"` + xxx_hidden_Description string `protobuf:"bytes,3,opt,name=description,proto3"` + xxx_hidden_Assignees *[]*Resource `protobuf:"bytes,4,rep,name=assignees,proto3"` + xxx_hidden_Reporter *Resource `protobuf:"bytes,5,opt,name=reporter,proto3"` + xxx_hidden_Status *TicketStatus `protobuf:"bytes,7,opt,name=status,proto3"` + xxx_hidden_Type *TicketType `protobuf:"bytes,8,opt,name=type,proto3"` + xxx_hidden_Labels []string `protobuf:"bytes,9,rep,name=labels,proto3"` + xxx_hidden_Url string `protobuf:"bytes,10,opt,name=url,proto3"` + xxx_hidden_CustomFields map[string]*TicketCustomField `protobuf:"bytes,11,rep,name=custom_fields,json=customFields,proto3" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + xxx_hidden_CreatedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=created_at,json=createdAt,proto3"` + xxx_hidden_UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=updated_at,json=updatedAt,proto3"` + xxx_hidden_CompletedAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=completed_at,json=completedAt,proto3"` + xxx_hidden_RequestedFor *Resource `protobuf:"bytes,15,opt,name=requested_for,json=requestedFor,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Ticket) Reset() { + *x = Ticket{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Ticket) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Ticket) ProtoMessage() {} + +func (x *Ticket) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Ticket) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *Ticket) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *Ticket) GetDescription() string { + if x != nil { + return x.xxx_hidden_Description + } + return "" +} + +func (x *Ticket) GetAssignees() []*Resource { + if x != nil { + if x.xxx_hidden_Assignees != nil { + return *x.xxx_hidden_Assignees + } + } + return nil +} + +func (x *Ticket) GetReporter() *Resource { + if x != nil { + return x.xxx_hidden_Reporter + } + return nil +} + +func (x *Ticket) GetStatus() *TicketStatus { + if x != nil { + return x.xxx_hidden_Status + } + return nil +} + +func (x *Ticket) GetType() *TicketType { + if x != nil { + return x.xxx_hidden_Type + } + return nil +} + +func (x *Ticket) GetLabels() []string { + if x != nil { + return x.xxx_hidden_Labels + } + return nil +} + +func (x *Ticket) GetUrl() string { + if x != nil { + return x.xxx_hidden_Url + } + return "" +} + +func (x *Ticket) GetCustomFields() map[string]*TicketCustomField { + if x != nil { + return x.xxx_hidden_CustomFields + } + return nil +} + +func (x *Ticket) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_CreatedAt + } + return nil +} + +func (x *Ticket) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_UpdatedAt + } + return nil +} + +func (x *Ticket) GetCompletedAt() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_CompletedAt + } + return nil +} + +func (x *Ticket) GetRequestedFor() *Resource { + if x != nil { + return x.xxx_hidden_RequestedFor + } + return nil +} + +func (x *Ticket) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *Ticket) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +func (x *Ticket) SetDescription(v string) { + x.xxx_hidden_Description = v +} + +func (x *Ticket) SetAssignees(v []*Resource) { + x.xxx_hidden_Assignees = &v +} + +func (x *Ticket) SetReporter(v *Resource) { + x.xxx_hidden_Reporter = v +} + +func (x *Ticket) SetStatus(v *TicketStatus) { + x.xxx_hidden_Status = v +} + +func (x *Ticket) SetType(v *TicketType) { + x.xxx_hidden_Type = v +} + +func (x *Ticket) SetLabels(v []string) { + x.xxx_hidden_Labels = v +} + +func (x *Ticket) SetUrl(v string) { + x.xxx_hidden_Url = v +} + +func (x *Ticket) SetCustomFields(v map[string]*TicketCustomField) { + x.xxx_hidden_CustomFields = v +} + +func (x *Ticket) SetCreatedAt(v *timestamppb.Timestamp) { + x.xxx_hidden_CreatedAt = v +} + +func (x *Ticket) SetUpdatedAt(v *timestamppb.Timestamp) { + x.xxx_hidden_UpdatedAt = v +} + +func (x *Ticket) SetCompletedAt(v *timestamppb.Timestamp) { + x.xxx_hidden_CompletedAt = v +} + +func (x *Ticket) SetRequestedFor(v *Resource) { + x.xxx_hidden_RequestedFor = v +} + +func (x *Ticket) HasReporter() bool { + if x == nil { + return false + } + return x.xxx_hidden_Reporter != nil +} + +func (x *Ticket) HasStatus() bool { + if x == nil { + return false + } + return x.xxx_hidden_Status != nil +} + +func (x *Ticket) HasType() bool { + if x == nil { + return false + } + return x.xxx_hidden_Type != nil +} + +func (x *Ticket) HasCreatedAt() bool { + if x == nil { + return false + } + return x.xxx_hidden_CreatedAt != nil +} + +func (x *Ticket) HasUpdatedAt() bool { + if x == nil { + return false + } + return x.xxx_hidden_UpdatedAt != nil +} + +func (x *Ticket) HasCompletedAt() bool { + if x == nil { + return false + } + return x.xxx_hidden_CompletedAt != nil +} + +func (x *Ticket) HasRequestedFor() bool { + if x == nil { + return false + } + return x.xxx_hidden_RequestedFor != nil +} + +func (x *Ticket) ClearReporter() { + x.xxx_hidden_Reporter = nil +} + +func (x *Ticket) ClearStatus() { + x.xxx_hidden_Status = nil +} + +func (x *Ticket) ClearType() { + x.xxx_hidden_Type = nil +} + +func (x *Ticket) ClearCreatedAt() { + x.xxx_hidden_CreatedAt = nil +} + +func (x *Ticket) ClearUpdatedAt() { + x.xxx_hidden_UpdatedAt = nil +} + +func (x *Ticket) ClearCompletedAt() { + x.xxx_hidden_CompletedAt = nil +} + +func (x *Ticket) ClearRequestedFor() { + x.xxx_hidden_RequestedFor = nil +} + +type Ticket_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + DisplayName string + Description string + Assignees []*Resource + Reporter *Resource + Status *TicketStatus + Type *TicketType + Labels []string + Url string + CustomFields map[string]*TicketCustomField + CreatedAt *timestamppb.Timestamp + UpdatedAt *timestamppb.Timestamp + CompletedAt *timestamppb.Timestamp + RequestedFor *Resource +} + +func (b0 Ticket_builder) Build() *Ticket { + m0 := &Ticket{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + x.xxx_hidden_DisplayName = b.DisplayName + x.xxx_hidden_Description = b.Description + x.xxx_hidden_Assignees = &b.Assignees + x.xxx_hidden_Reporter = b.Reporter + x.xxx_hidden_Status = b.Status + x.xxx_hidden_Type = b.Type + x.xxx_hidden_Labels = b.Labels + x.xxx_hidden_Url = b.Url + x.xxx_hidden_CustomFields = b.CustomFields + x.xxx_hidden_CreatedAt = b.CreatedAt + x.xxx_hidden_UpdatedAt = b.UpdatedAt + x.xxx_hidden_CompletedAt = b.CompletedAt + x.xxx_hidden_RequestedFor = b.RequestedFor + return m0 +} + +type TicketType struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + xxx_hidden_DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketType) Reset() { + *x = TicketType{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketType) ProtoMessage() {} + +func (x *TicketType) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TicketType) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *TicketType) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *TicketType) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *TicketType) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +type TicketType_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + DisplayName string +} + +func (b0 TicketType_builder) Build() *TicketType { + m0 := &TicketType{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + x.xxx_hidden_DisplayName = b.DisplayName + return m0 +} + +type TicketRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3"` + xxx_hidden_Description string `protobuf:"bytes,2,opt,name=description,proto3"` + xxx_hidden_Status *TicketStatus `protobuf:"bytes,3,opt,name=status,proto3"` + xxx_hidden_Type *TicketType `protobuf:"bytes,4,opt,name=type,proto3"` + xxx_hidden_Labels []string `protobuf:"bytes,5,rep,name=labels,proto3"` + xxx_hidden_CustomFields map[string]*TicketCustomField `protobuf:"bytes,6,rep,name=custom_fields,json=customFields,proto3" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + xxx_hidden_RequestedFor *Resource `protobuf:"bytes,7,opt,name=requested_for,json=requestedFor,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketRequest) Reset() { + *x = TicketRequest{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketRequest) ProtoMessage() {} + +func (x *TicketRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TicketRequest) GetDisplayName() string { + if x != nil { + return x.xxx_hidden_DisplayName + } + return "" +} + +func (x *TicketRequest) GetDescription() string { + if x != nil { + return x.xxx_hidden_Description + } + return "" +} + +func (x *TicketRequest) GetStatus() *TicketStatus { + if x != nil { + return x.xxx_hidden_Status + } + return nil +} + +func (x *TicketRequest) GetType() *TicketType { + if x != nil { + return x.xxx_hidden_Type + } + return nil +} + +func (x *TicketRequest) GetLabels() []string { + if x != nil { + return x.xxx_hidden_Labels + } + return nil +} + +func (x *TicketRequest) GetCustomFields() map[string]*TicketCustomField { + if x != nil { + return x.xxx_hidden_CustomFields + } + return nil +} + +func (x *TicketRequest) GetRequestedFor() *Resource { + if x != nil { + return x.xxx_hidden_RequestedFor + } + return nil +} + +func (x *TicketRequest) SetDisplayName(v string) { + x.xxx_hidden_DisplayName = v +} + +func (x *TicketRequest) SetDescription(v string) { + x.xxx_hidden_Description = v +} + +func (x *TicketRequest) SetStatus(v *TicketStatus) { + x.xxx_hidden_Status = v +} + +func (x *TicketRequest) SetType(v *TicketType) { + x.xxx_hidden_Type = v +} + +func (x *TicketRequest) SetLabels(v []string) { + x.xxx_hidden_Labels = v +} + +func (x *TicketRequest) SetCustomFields(v map[string]*TicketCustomField) { + x.xxx_hidden_CustomFields = v +} + +func (x *TicketRequest) SetRequestedFor(v *Resource) { + x.xxx_hidden_RequestedFor = v +} + +func (x *TicketRequest) HasStatus() bool { + if x == nil { + return false + } + return x.xxx_hidden_Status != nil +} + +func (x *TicketRequest) HasType() bool { + if x == nil { + return false + } + return x.xxx_hidden_Type != nil +} + +func (x *TicketRequest) HasRequestedFor() bool { + if x == nil { + return false + } + return x.xxx_hidden_RequestedFor != nil +} + +func (x *TicketRequest) ClearStatus() { + x.xxx_hidden_Status = nil +} + +func (x *TicketRequest) ClearType() { + x.xxx_hidden_Type = nil +} + +func (x *TicketRequest) ClearRequestedFor() { + x.xxx_hidden_RequestedFor = nil +} + +type TicketRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + DisplayName string + Description string + Status *TicketStatus + Type *TicketType + Labels []string + CustomFields map[string]*TicketCustomField + RequestedFor *Resource +} + +func (b0 TicketRequest_builder) Build() *TicketRequest { + m0 := &TicketRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_DisplayName = b.DisplayName + x.xxx_hidden_Description = b.Description + x.xxx_hidden_Status = b.Status + x.xxx_hidden_Type = b.Type + x.xxx_hidden_Labels = b.Labels + x.xxx_hidden_CustomFields = b.CustomFields + x.xxx_hidden_RequestedFor = b.RequestedFor + return m0 +} + +type TicketsServiceCreateTicketRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Request *TicketRequest `protobuf:"bytes,1,opt,name=request,proto3"` + xxx_hidden_Schema *TicketSchema `protobuf:"bytes,2,opt,name=schema,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,8,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketsServiceCreateTicketRequest) Reset() { + *x = TicketsServiceCreateTicketRequest{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketsServiceCreateTicketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketsServiceCreateTicketRequest) ProtoMessage() {} + +func (x *TicketsServiceCreateTicketRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TicketsServiceCreateTicketRequest) GetRequest() *TicketRequest { + if x != nil { + return x.xxx_hidden_Request + } + return nil +} + +func (x *TicketsServiceCreateTicketRequest) GetSchema() *TicketSchema { + if x != nil { + return x.xxx_hidden_Schema + } + return nil +} + +func (x *TicketsServiceCreateTicketRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *TicketsServiceCreateTicketRequest) SetRequest(v *TicketRequest) { + x.xxx_hidden_Request = v +} + +func (x *TicketsServiceCreateTicketRequest) SetSchema(v *TicketSchema) { + x.xxx_hidden_Schema = v +} + +func (x *TicketsServiceCreateTicketRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *TicketsServiceCreateTicketRequest) HasRequest() bool { + if x == nil { + return false + } + return x.xxx_hidden_Request != nil +} + +func (x *TicketsServiceCreateTicketRequest) HasSchema() bool { + if x == nil { + return false + } + return x.xxx_hidden_Schema != nil +} + +func (x *TicketsServiceCreateTicketRequest) ClearRequest() { + x.xxx_hidden_Request = nil +} + +func (x *TicketsServiceCreateTicketRequest) ClearSchema() { + x.xxx_hidden_Schema = nil +} + +type TicketsServiceCreateTicketRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Request *TicketRequest + Schema *TicketSchema + Annotations []*anypb.Any +} + +func (b0 TicketsServiceCreateTicketRequest_builder) Build() *TicketsServiceCreateTicketRequest { + m0 := &TicketsServiceCreateTicketRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Request = b.Request + x.xxx_hidden_Schema = b.Schema + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +// TODO(lauren) maybe the error should be a separate proto so we can store retryable error +type TicketsServiceCreateTicketResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Ticket *Ticket `protobuf:"bytes,1,opt,name=ticket,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + xxx_hidden_Error string `protobuf:"bytes,3,opt,name=error,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketsServiceCreateTicketResponse) Reset() { + *x = TicketsServiceCreateTicketResponse{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketsServiceCreateTicketResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketsServiceCreateTicketResponse) ProtoMessage() {} + +func (x *TicketsServiceCreateTicketResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TicketsServiceCreateTicketResponse) GetTicket() *Ticket { + if x != nil { + return x.xxx_hidden_Ticket + } + return nil +} + +func (x *TicketsServiceCreateTicketResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *TicketsServiceCreateTicketResponse) GetError() string { + if x != nil { + return x.xxx_hidden_Error + } + return "" +} + +func (x *TicketsServiceCreateTicketResponse) SetTicket(v *Ticket) { + x.xxx_hidden_Ticket = v +} + +func (x *TicketsServiceCreateTicketResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *TicketsServiceCreateTicketResponse) SetError(v string) { + x.xxx_hidden_Error = v +} + +func (x *TicketsServiceCreateTicketResponse) HasTicket() bool { + if x == nil { + return false + } + return x.xxx_hidden_Ticket != nil +} + +func (x *TicketsServiceCreateTicketResponse) ClearTicket() { + x.xxx_hidden_Ticket = nil +} + +type TicketsServiceCreateTicketResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Ticket *Ticket + Annotations []*anypb.Any + Error string +} + +func (b0 TicketsServiceCreateTicketResponse_builder) Build() *TicketsServiceCreateTicketResponse { + m0 := &TicketsServiceCreateTicketResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Ticket = b.Ticket + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_Error = b.Error + return m0 +} + +type TicketsServiceGetTicketRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketsServiceGetTicketRequest) Reset() { + *x = TicketsServiceGetTicketRequest{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketsServiceGetTicketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketsServiceGetTicketRequest) ProtoMessage() {} + +func (x *TicketsServiceGetTicketRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TicketsServiceGetTicketRequest) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *TicketsServiceGetTicketRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *TicketsServiceGetTicketRequest) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *TicketsServiceGetTicketRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type TicketsServiceGetTicketRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + Annotations []*anypb.Any +} + +func (b0 TicketsServiceGetTicketRequest_builder) Build() *TicketsServiceGetTicketRequest { + m0 := &TicketsServiceGetTicketRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type TicketsServiceGetTicketResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Ticket *Ticket `protobuf:"bytes,1,opt,name=ticket,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + xxx_hidden_Error string `protobuf:"bytes,3,opt,name=error,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketsServiceGetTicketResponse) Reset() { + *x = TicketsServiceGetTicketResponse{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketsServiceGetTicketResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketsServiceGetTicketResponse) ProtoMessage() {} + +func (x *TicketsServiceGetTicketResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TicketsServiceGetTicketResponse) GetTicket() *Ticket { + if x != nil { + return x.xxx_hidden_Ticket + } + return nil +} + +func (x *TicketsServiceGetTicketResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *TicketsServiceGetTicketResponse) GetError() string { + if x != nil { + return x.xxx_hidden_Error + } + return "" +} + +func (x *TicketsServiceGetTicketResponse) SetTicket(v *Ticket) { + x.xxx_hidden_Ticket = v +} + +func (x *TicketsServiceGetTicketResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *TicketsServiceGetTicketResponse) SetError(v string) { + x.xxx_hidden_Error = v +} + +func (x *TicketsServiceGetTicketResponse) HasTicket() bool { + if x == nil { + return false + } + return x.xxx_hidden_Ticket != nil +} + +func (x *TicketsServiceGetTicketResponse) ClearTicket() { + x.xxx_hidden_Ticket = nil +} + +type TicketsServiceGetTicketResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Ticket *Ticket + Annotations []*anypb.Any + Error string +} + +func (b0 TicketsServiceGetTicketResponse_builder) Build() *TicketsServiceGetTicketResponse { + m0 := &TicketsServiceGetTicketResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Ticket = b.Ticket + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_Error = b.Error + return m0 +} + +type TicketsServiceBulkCreateTicketsRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_TicketRequests *[]*TicketsServiceCreateTicketRequest `protobuf:"bytes,1,rep,name=ticket_requests,json=ticketRequests,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketsServiceBulkCreateTicketsRequest) Reset() { + *x = TicketsServiceBulkCreateTicketsRequest{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketsServiceBulkCreateTicketsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketsServiceBulkCreateTicketsRequest) ProtoMessage() {} + +func (x *TicketsServiceBulkCreateTicketsRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TicketsServiceBulkCreateTicketsRequest) GetTicketRequests() []*TicketsServiceCreateTicketRequest { + if x != nil { + if x.xxx_hidden_TicketRequests != nil { + return *x.xxx_hidden_TicketRequests + } + } + return nil +} + +func (x *TicketsServiceBulkCreateTicketsRequest) SetTicketRequests(v []*TicketsServiceCreateTicketRequest) { + x.xxx_hidden_TicketRequests = &v +} + +type TicketsServiceBulkCreateTicketsRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + TicketRequests []*TicketsServiceCreateTicketRequest +} + +func (b0 TicketsServiceBulkCreateTicketsRequest_builder) Build() *TicketsServiceBulkCreateTicketsRequest { + m0 := &TicketsServiceBulkCreateTicketsRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_TicketRequests = &b.TicketRequests + return m0 +} + +type TicketsServiceBulkCreateTicketsResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Tickets *[]*TicketsServiceCreateTicketResponse `protobuf:"bytes,1,rep,name=tickets,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketsServiceBulkCreateTicketsResponse) Reset() { + *x = TicketsServiceBulkCreateTicketsResponse{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketsServiceBulkCreateTicketsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketsServiceBulkCreateTicketsResponse) ProtoMessage() {} + +func (x *TicketsServiceBulkCreateTicketsResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TicketsServiceBulkCreateTicketsResponse) GetTickets() []*TicketsServiceCreateTicketResponse { + if x != nil { + if x.xxx_hidden_Tickets != nil { + return *x.xxx_hidden_Tickets + } + } + return nil +} + +func (x *TicketsServiceBulkCreateTicketsResponse) SetTickets(v []*TicketsServiceCreateTicketResponse) { + x.xxx_hidden_Tickets = &v +} + +type TicketsServiceBulkCreateTicketsResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Tickets []*TicketsServiceCreateTicketResponse +} + +func (b0 TicketsServiceBulkCreateTicketsResponse_builder) Build() *TicketsServiceBulkCreateTicketsResponse { + m0 := &TicketsServiceBulkCreateTicketsResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Tickets = &b.Tickets + return m0 +} + +type TicketsServiceBulkGetTicketsRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_TicketRequests *[]*TicketsServiceGetTicketRequest `protobuf:"bytes,1,rep,name=ticket_requests,json=ticketRequests,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketsServiceBulkGetTicketsRequest) Reset() { + *x = TicketsServiceBulkGetTicketsRequest{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketsServiceBulkGetTicketsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketsServiceBulkGetTicketsRequest) ProtoMessage() {} + +func (x *TicketsServiceBulkGetTicketsRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TicketsServiceBulkGetTicketsRequest) GetTicketRequests() []*TicketsServiceGetTicketRequest { + if x != nil { + if x.xxx_hidden_TicketRequests != nil { + return *x.xxx_hidden_TicketRequests + } + } + return nil +} + +func (x *TicketsServiceBulkGetTicketsRequest) SetTicketRequests(v []*TicketsServiceGetTicketRequest) { + x.xxx_hidden_TicketRequests = &v +} + +type TicketsServiceBulkGetTicketsRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + TicketRequests []*TicketsServiceGetTicketRequest +} + +func (b0 TicketsServiceBulkGetTicketsRequest_builder) Build() *TicketsServiceBulkGetTicketsRequest { + m0 := &TicketsServiceBulkGetTicketsRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_TicketRequests = &b.TicketRequests + return m0 +} + +type TicketsServiceBulkGetTicketsResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Tickets *[]*TicketsServiceGetTicketResponse `protobuf:"bytes,1,rep,name=tickets,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketsServiceBulkGetTicketsResponse) Reset() { + *x = TicketsServiceBulkGetTicketsResponse{} + mi := &file_c1_connector_v2_ticket_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketsServiceBulkGetTicketsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketsServiceBulkGetTicketsResponse) ProtoMessage() {} + +func (x *TicketsServiceBulkGetTicketsResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_v2_ticket_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TicketsServiceBulkGetTicketsResponse) GetTickets() []*TicketsServiceGetTicketResponse { + if x != nil { + if x.xxx_hidden_Tickets != nil { + return *x.xxx_hidden_Tickets + } + } + return nil +} + +func (x *TicketsServiceBulkGetTicketsResponse) SetTickets(v []*TicketsServiceGetTicketResponse) { + x.xxx_hidden_Tickets = &v +} + +type TicketsServiceBulkGetTicketsResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Tickets []*TicketsServiceGetTicketResponse +} + +func (b0 TicketsServiceBulkGetTicketsResponse_builder) Build() *TicketsServiceBulkGetTicketsResponse { + m0 := &TicketsServiceBulkGetTicketsResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Tickets = &b.Tickets + return m0 +} + +var File_c1_connector_v2_ticket_proto protoreflect.FileDescriptor + +const file_c1_connector_v2_ticket_proto_rawDesc = "" + + "\n" + + "\x1cc1/connector/v2/ticket.proto\x12\x0fc1.connector.v2\x1a\x1ec1/connector/v2/resource.proto\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x17validate/validate.proto\"\xa2\x03\n" + + "\fTicketSchema\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x121\n" + + "\x05types\x18\x03 \x03(\v2\x1b.c1.connector.v2.TicketTypeR\x05types\x129\n" + + "\bstatuses\x18\x04 \x03(\v2\x1d.c1.connector.v2.TicketStatusR\bstatuses\x12T\n" + + "\rcustom_fields\x18\x05 \x03(\v2/.c1.connector.v2.TicketSchema.CustomFieldsEntryR\fcustomFields\x126\n" + + "\vannotations\x18\x06 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1ac\n" + + "\x11CustomFieldsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x128\n" + + "\x05value\x18\x02 \x01(\v2\".c1.connector.v2.TicketCustomFieldR\x05value:\x028\x01\"\x89\b\n" + + "\x11TicketCustomField\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12\x1a\n" + + "\brequired\x18\x03 \x01(\bR\brequired\x12R\n" + + "\fstring_value\x18d \x01(\v2-.c1.connector.v2.TicketCustomFieldStringValueH\x00R\vstringValue\x12U\n" + + "\rstring_values\x18e \x01(\v2..c1.connector.v2.TicketCustomFieldStringValuesH\x00R\fstringValues\x12L\n" + + "\n" + + "bool_value\x18f \x01(\v2+.c1.connector.v2.TicketCustomFieldBoolValueH\x00R\tboolValue\x12[\n" + + "\x0ftimestamp_value\x18g \x01(\v20.c1.connector.v2.TicketCustomFieldTimestampValueH\x00R\x0etimestampValue\x12_\n" + + "\x11pick_string_value\x18h \x01(\v21.c1.connector.v2.TicketCustomFieldPickStringValueH\x00R\x0fpickStringValue\x12{\n" + + "\x1bpick_multiple_string_values\x18i \x01(\v2:.c1.connector.v2.TicketCustomFieldPickMultipleStringValuesH\x00R\x18pickMultipleStringValues\x12_\n" + + "\x11pick_object_value\x18j \x01(\v21.c1.connector.v2.TicketCustomFieldPickObjectValueH\x00R\x0fpickObjectValue\x12{\n" + + "\x1bpick_multiple_object_values\x18k \x01(\v2:.c1.connector.v2.TicketCustomFieldPickMultipleObjectValuesH\x00R\x18pickMultipleObjectValues\x12R\n" + + "\fnumber_value\x18l \x01(\v2-.c1.connector.v2.TicketCustomFieldNumberValueH\x00R\vnumberValue\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotationsB\a\n" + + "\x05value\"Y\n" + + "\x1cTicketCustomFieldStringValue\x12\x14\n" + + "\x05value\x18\x01 \x01(\tR\x05value\x12#\n" + + "\rdefault_value\x18\x02 \x01(\tR\fdefaultValue\"^\n" + + "\x1dTicketCustomFieldStringValues\x12\x16\n" + + "\x06values\x18\x01 \x03(\tR\x06values\x12%\n" + + "\x0edefault_values\x18\x02 \x03(\tR\rdefaultValues\"2\n" + + "\x1aTicketCustomFieldBoolValue\x12\x14\n" + + "\x05value\x18\x01 \x01(\bR\x05value\"\x93\x01\n" + + "\x1cTicketCustomFieldNumberValue\x121\n" + + "\x05value\x18\x01 \x01(\v2\x1b.google.protobuf.FloatValueR\x05value\x12@\n" + + "\rdefault_value\x18\x02 \x01(\v2\x1b.google.protobuf.FloatValueR\fdefaultValue\"\x94\x01\n" + + "\x1fTicketCustomFieldTimestampValue\x120\n" + + "\x05value\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\x05value\x12?\n" + + "\rdefault_value\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\fdefaultValue\"\x84\x01\n" + + " TicketCustomFieldPickStringValue\x12\x14\n" + + "\x05value\x18\x01 \x01(\tR\x05value\x12%\n" + + "\x0eallowed_values\x18\x02 \x03(\tR\rallowedValues\x12#\n" + + "\rdefault_value\x18\x03 \x01(\tR\fdefaultValue\"\x91\x01\n" + + ")TicketCustomFieldPickMultipleStringValues\x12\x16\n" + + "\x06values\x18\x01 \x03(\tR\x06values\x12%\n" + + "\x0eallowed_values\x18\x02 \x03(\tR\rallowedValues\x12%\n" + + "\x0edefault_values\x18\x03 \x03(\tR\rdefaultValues\"\x91\x02\n" + + " TicketCustomFieldPickObjectValue\x12C\n" + + "\x05value\x18\x01 \x01(\v2-.c1.connector.v2.TicketCustomFieldObjectValueR\x05value\x12T\n" + + "\x0eallowed_values\x18\x02 \x03(\v2-.c1.connector.v2.TicketCustomFieldObjectValueR\rallowedValues\x12R\n" + + "\rdefault_value\x18\x03 \x01(\v2-.c1.connector.v2.TicketCustomFieldObjectValueR\fdefaultValue\"\x9e\x02\n" + + ")TicketCustomFieldPickMultipleObjectValues\x12E\n" + + "\x06values\x18\x01 \x03(\v2-.c1.connector.v2.TicketCustomFieldObjectValueR\x06values\x12T\n" + + "\x0eallowed_values\x18\x02 \x03(\v2-.c1.connector.v2.TicketCustomFieldObjectValueR\rallowedValues\x12T\n" + + "\x0edefault_values\x18\x03 \x03(\v2-.c1.connector.v2.TicketCustomFieldObjectValueR\rdefaultValues\"Q\n" + + "\x1cTicketCustomFieldObjectValue\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\"A\n" + + "\fTicketStatus\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\"n\n" + + "$TicketsServiceGetTicketSchemaRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x96\x01\n" + + "%TicketsServiceGetTicketSchemaResponse\x125\n" + + "\x06schema\x18\x01 \x01(\v2\x1d.c1.connector.v2.TicketSchemaR\x06schema\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xb7\x01\n" + + "&TicketsServiceListTicketSchemasRequest\x12'\n" + + "\tpage_size\x18\x01 \x01(\rB\n" + + "\xfaB\a*\x05\x18\xfa\x01@\x01R\bpageSize\x12,\n" + + "\n" + + "page_token\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80 \xd0\x01\x01R\tpageToken\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xcb\x01\n" + + "'TicketsServiceListTicketSchemasResponse\x121\n" + + "\x04list\x18\x01 \x03(\v2\x1d.c1.connector.v2.TicketSchemaR\x04list\x125\n" + + "\x0fnext_page_token\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80 \xd0\x01\x01R\rnextPageToken\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x89\x06\n" + + "\x06Ticket\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\x127\n" + + "\tassignees\x18\x04 \x03(\v2\x19.c1.connector.v2.ResourceR\tassignees\x125\n" + + "\breporter\x18\x05 \x01(\v2\x19.c1.connector.v2.ResourceR\breporter\x125\n" + + "\x06status\x18\a \x01(\v2\x1d.c1.connector.v2.TicketStatusR\x06status\x12/\n" + + "\x04type\x18\b \x01(\v2\x1b.c1.connector.v2.TicketTypeR\x04type\x12\x16\n" + + "\x06labels\x18\t \x03(\tR\x06labels\x12\x10\n" + + "\x03url\x18\n" + + " \x01(\tR\x03url\x12N\n" + + "\rcustom_fields\x18\v \x03(\v2).c1.connector.v2.Ticket.CustomFieldsEntryR\fcustomFields\x129\n" + + "\n" + + "created_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\r \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12=\n" + + "\fcompleted_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampR\vcompletedAt\x12>\n" + + "\rrequested_for\x18\x0f \x01(\v2\x19.c1.connector.v2.ResourceR\frequestedFor\x1ac\n" + + "\x11CustomFieldsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x128\n" + + "\x05value\x18\x02 \x01(\v2\".c1.connector.v2.TicketCustomFieldR\x05value:\x028\x01\"?\n" + + "\n" + + "TicketType\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\"\xd0\x03\n" + + "\rTicketRequest\x12!\n" + + "\fdisplay_name\x18\x01 \x01(\tR\vdisplayName\x12 \n" + + "\vdescription\x18\x02 \x01(\tR\vdescription\x125\n" + + "\x06status\x18\x03 \x01(\v2\x1d.c1.connector.v2.TicketStatusR\x06status\x12/\n" + + "\x04type\x18\x04 \x01(\v2\x1b.c1.connector.v2.TicketTypeR\x04type\x12\x16\n" + + "\x06labels\x18\x05 \x03(\tR\x06labels\x12U\n" + + "\rcustom_fields\x18\x06 \x03(\v20.c1.connector.v2.TicketRequest.CustomFieldsEntryR\fcustomFields\x12>\n" + + "\rrequested_for\x18\a \x01(\v2\x19.c1.connector.v2.ResourceR\frequestedFor\x1ac\n" + + "\x11CustomFieldsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x128\n" + + "\x05value\x18\x02 \x01(\v2\".c1.connector.v2.TicketCustomFieldR\x05value:\x028\x01\"\xcc\x01\n" + + "!TicketsServiceCreateTicketRequest\x128\n" + + "\arequest\x18\x01 \x01(\v2\x1e.c1.connector.v2.TicketRequestR\arequest\x125\n" + + "\x06schema\x18\x02 \x01(\v2\x1d.c1.connector.v2.TicketSchemaR\x06schema\x126\n" + + "\vannotations\x18\b \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xa3\x01\n" + + "\"TicketsServiceCreateTicketResponse\x12/\n" + + "\x06ticket\x18\x01 \x01(\v2\x17.c1.connector.v2.TicketR\x06ticket\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12\x14\n" + + "\x05error\x18\x03 \x01(\tR\x05error\"h\n" + + "\x1eTicketsServiceGetTicketRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xa0\x01\n" + + "\x1fTicketsServiceGetTicketResponse\x12/\n" + + "\x06ticket\x18\x01 \x01(\v2\x17.c1.connector.v2.TicketR\x06ticket\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12\x14\n" + + "\x05error\x18\x03 \x01(\tR\x05error\"\x85\x01\n" + + "&TicketsServiceBulkCreateTicketsRequest\x12[\n" + + "\x0fticket_requests\x18\x01 \x03(\v22.c1.connector.v2.TicketsServiceCreateTicketRequestR\x0eticketRequests\"x\n" + + "'TicketsServiceBulkCreateTicketsResponse\x12M\n" + + "\atickets\x18\x01 \x03(\v23.c1.connector.v2.TicketsServiceCreateTicketResponseR\atickets\"\x7f\n" + + "#TicketsServiceBulkGetTicketsRequest\x12X\n" + + "\x0fticket_requests\x18\x01 \x03(\v2/.c1.connector.v2.TicketsServiceGetTicketRequestR\x0eticketRequests\"r\n" + + "$TicketsServiceBulkGetTicketsResponse\x12J\n" + + "\atickets\x18\x01 \x03(\v20.c1.connector.v2.TicketsServiceGetTicketResponseR\atickets2\x8d\x06\n" + + "\x0eTicketsService\x12w\n" + + "\fCreateTicket\x122.c1.connector.v2.TicketsServiceCreateTicketRequest\x1a3.c1.connector.v2.TicketsServiceCreateTicketResponse\x12n\n" + + "\tGetTicket\x12/.c1.connector.v2.TicketsServiceGetTicketRequest\x1a0.c1.connector.v2.TicketsServiceGetTicketResponse\x12\x86\x01\n" + + "\x11ListTicketSchemas\x127.c1.connector.v2.TicketsServiceListTicketSchemasRequest\x1a8.c1.connector.v2.TicketsServiceListTicketSchemasResponse\x12\x80\x01\n" + + "\x0fGetTicketSchema\x125.c1.connector.v2.TicketsServiceGetTicketSchemaRequest\x1a6.c1.connector.v2.TicketsServiceGetTicketSchemaResponse\x12\x86\x01\n" + + "\x11BulkCreateTickets\x127.c1.connector.v2.TicketsServiceBulkCreateTicketsRequest\x1a8.c1.connector.v2.TicketsServiceBulkCreateTicketsResponse\x12}\n" + + "\x0eBulkGetTickets\x124.c1.connector.v2.TicketsServiceBulkGetTicketsRequest\x1a5.c1.connector.v2.TicketsServiceBulkGetTicketsResponseB6Z4github.com/conductorone/baton-sdk/pb/c1/connector/v2b\x06proto3" + +var file_c1_connector_v2_ticket_proto_msgTypes = make([]protoimpl.MessageInfo, 31) +var file_c1_connector_v2_ticket_proto_goTypes = []any{ + (*TicketSchema)(nil), // 0: c1.connector.v2.TicketSchema + (*TicketCustomField)(nil), // 1: c1.connector.v2.TicketCustomField + (*TicketCustomFieldStringValue)(nil), // 2: c1.connector.v2.TicketCustomFieldStringValue + (*TicketCustomFieldStringValues)(nil), // 3: c1.connector.v2.TicketCustomFieldStringValues + (*TicketCustomFieldBoolValue)(nil), // 4: c1.connector.v2.TicketCustomFieldBoolValue + (*TicketCustomFieldNumberValue)(nil), // 5: c1.connector.v2.TicketCustomFieldNumberValue + (*TicketCustomFieldTimestampValue)(nil), // 6: c1.connector.v2.TicketCustomFieldTimestampValue + (*TicketCustomFieldPickStringValue)(nil), // 7: c1.connector.v2.TicketCustomFieldPickStringValue + (*TicketCustomFieldPickMultipleStringValues)(nil), // 8: c1.connector.v2.TicketCustomFieldPickMultipleStringValues + (*TicketCustomFieldPickObjectValue)(nil), // 9: c1.connector.v2.TicketCustomFieldPickObjectValue + (*TicketCustomFieldPickMultipleObjectValues)(nil), // 10: c1.connector.v2.TicketCustomFieldPickMultipleObjectValues + (*TicketCustomFieldObjectValue)(nil), // 11: c1.connector.v2.TicketCustomFieldObjectValue + (*TicketStatus)(nil), // 12: c1.connector.v2.TicketStatus + (*TicketsServiceGetTicketSchemaRequest)(nil), // 13: c1.connector.v2.TicketsServiceGetTicketSchemaRequest + (*TicketsServiceGetTicketSchemaResponse)(nil), // 14: c1.connector.v2.TicketsServiceGetTicketSchemaResponse + (*TicketsServiceListTicketSchemasRequest)(nil), // 15: c1.connector.v2.TicketsServiceListTicketSchemasRequest + (*TicketsServiceListTicketSchemasResponse)(nil), // 16: c1.connector.v2.TicketsServiceListTicketSchemasResponse + (*Ticket)(nil), // 17: c1.connector.v2.Ticket + (*TicketType)(nil), // 18: c1.connector.v2.TicketType + (*TicketRequest)(nil), // 19: c1.connector.v2.TicketRequest + (*TicketsServiceCreateTicketRequest)(nil), // 20: c1.connector.v2.TicketsServiceCreateTicketRequest + (*TicketsServiceCreateTicketResponse)(nil), // 21: c1.connector.v2.TicketsServiceCreateTicketResponse + (*TicketsServiceGetTicketRequest)(nil), // 22: c1.connector.v2.TicketsServiceGetTicketRequest + (*TicketsServiceGetTicketResponse)(nil), // 23: c1.connector.v2.TicketsServiceGetTicketResponse + (*TicketsServiceBulkCreateTicketsRequest)(nil), // 24: c1.connector.v2.TicketsServiceBulkCreateTicketsRequest + (*TicketsServiceBulkCreateTicketsResponse)(nil), // 25: c1.connector.v2.TicketsServiceBulkCreateTicketsResponse + (*TicketsServiceBulkGetTicketsRequest)(nil), // 26: c1.connector.v2.TicketsServiceBulkGetTicketsRequest + (*TicketsServiceBulkGetTicketsResponse)(nil), // 27: c1.connector.v2.TicketsServiceBulkGetTicketsResponse + nil, // 28: c1.connector.v2.TicketSchema.CustomFieldsEntry + nil, // 29: c1.connector.v2.Ticket.CustomFieldsEntry + nil, // 30: c1.connector.v2.TicketRequest.CustomFieldsEntry + (*anypb.Any)(nil), // 31: google.protobuf.Any + (*wrapperspb.FloatValue)(nil), // 32: google.protobuf.FloatValue + (*timestamppb.Timestamp)(nil), // 33: google.protobuf.Timestamp + (*Resource)(nil), // 34: c1.connector.v2.Resource +} +var file_c1_connector_v2_ticket_proto_depIdxs = []int32{ + 18, // 0: c1.connector.v2.TicketSchema.types:type_name -> c1.connector.v2.TicketType + 12, // 1: c1.connector.v2.TicketSchema.statuses:type_name -> c1.connector.v2.TicketStatus + 28, // 2: c1.connector.v2.TicketSchema.custom_fields:type_name -> c1.connector.v2.TicketSchema.CustomFieldsEntry + 31, // 3: c1.connector.v2.TicketSchema.annotations:type_name -> google.protobuf.Any + 2, // 4: c1.connector.v2.TicketCustomField.string_value:type_name -> c1.connector.v2.TicketCustomFieldStringValue + 3, // 5: c1.connector.v2.TicketCustomField.string_values:type_name -> c1.connector.v2.TicketCustomFieldStringValues + 4, // 6: c1.connector.v2.TicketCustomField.bool_value:type_name -> c1.connector.v2.TicketCustomFieldBoolValue + 6, // 7: c1.connector.v2.TicketCustomField.timestamp_value:type_name -> c1.connector.v2.TicketCustomFieldTimestampValue + 7, // 8: c1.connector.v2.TicketCustomField.pick_string_value:type_name -> c1.connector.v2.TicketCustomFieldPickStringValue + 8, // 9: c1.connector.v2.TicketCustomField.pick_multiple_string_values:type_name -> c1.connector.v2.TicketCustomFieldPickMultipleStringValues + 9, // 10: c1.connector.v2.TicketCustomField.pick_object_value:type_name -> c1.connector.v2.TicketCustomFieldPickObjectValue + 10, // 11: c1.connector.v2.TicketCustomField.pick_multiple_object_values:type_name -> c1.connector.v2.TicketCustomFieldPickMultipleObjectValues + 5, // 12: c1.connector.v2.TicketCustomField.number_value:type_name -> c1.connector.v2.TicketCustomFieldNumberValue + 31, // 13: c1.connector.v2.TicketCustomField.annotations:type_name -> google.protobuf.Any + 32, // 14: c1.connector.v2.TicketCustomFieldNumberValue.value:type_name -> google.protobuf.FloatValue + 32, // 15: c1.connector.v2.TicketCustomFieldNumberValue.default_value:type_name -> google.protobuf.FloatValue + 33, // 16: c1.connector.v2.TicketCustomFieldTimestampValue.value:type_name -> google.protobuf.Timestamp + 33, // 17: c1.connector.v2.TicketCustomFieldTimestampValue.default_value:type_name -> google.protobuf.Timestamp + 11, // 18: c1.connector.v2.TicketCustomFieldPickObjectValue.value:type_name -> c1.connector.v2.TicketCustomFieldObjectValue + 11, // 19: c1.connector.v2.TicketCustomFieldPickObjectValue.allowed_values:type_name -> c1.connector.v2.TicketCustomFieldObjectValue + 11, // 20: c1.connector.v2.TicketCustomFieldPickObjectValue.default_value:type_name -> c1.connector.v2.TicketCustomFieldObjectValue + 11, // 21: c1.connector.v2.TicketCustomFieldPickMultipleObjectValues.values:type_name -> c1.connector.v2.TicketCustomFieldObjectValue + 11, // 22: c1.connector.v2.TicketCustomFieldPickMultipleObjectValues.allowed_values:type_name -> c1.connector.v2.TicketCustomFieldObjectValue + 11, // 23: c1.connector.v2.TicketCustomFieldPickMultipleObjectValues.default_values:type_name -> c1.connector.v2.TicketCustomFieldObjectValue + 31, // 24: c1.connector.v2.TicketsServiceGetTicketSchemaRequest.annotations:type_name -> google.protobuf.Any + 0, // 25: c1.connector.v2.TicketsServiceGetTicketSchemaResponse.schema:type_name -> c1.connector.v2.TicketSchema + 31, // 26: c1.connector.v2.TicketsServiceGetTicketSchemaResponse.annotations:type_name -> google.protobuf.Any + 31, // 27: c1.connector.v2.TicketsServiceListTicketSchemasRequest.annotations:type_name -> google.protobuf.Any + 0, // 28: c1.connector.v2.TicketsServiceListTicketSchemasResponse.list:type_name -> c1.connector.v2.TicketSchema + 31, // 29: c1.connector.v2.TicketsServiceListTicketSchemasResponse.annotations:type_name -> google.protobuf.Any + 34, // 30: c1.connector.v2.Ticket.assignees:type_name -> c1.connector.v2.Resource + 34, // 31: c1.connector.v2.Ticket.reporter:type_name -> c1.connector.v2.Resource + 12, // 32: c1.connector.v2.Ticket.status:type_name -> c1.connector.v2.TicketStatus + 18, // 33: c1.connector.v2.Ticket.type:type_name -> c1.connector.v2.TicketType + 29, // 34: c1.connector.v2.Ticket.custom_fields:type_name -> c1.connector.v2.Ticket.CustomFieldsEntry + 33, // 35: c1.connector.v2.Ticket.created_at:type_name -> google.protobuf.Timestamp + 33, // 36: c1.connector.v2.Ticket.updated_at:type_name -> google.protobuf.Timestamp + 33, // 37: c1.connector.v2.Ticket.completed_at:type_name -> google.protobuf.Timestamp + 34, // 38: c1.connector.v2.Ticket.requested_for:type_name -> c1.connector.v2.Resource + 12, // 39: c1.connector.v2.TicketRequest.status:type_name -> c1.connector.v2.TicketStatus + 18, // 40: c1.connector.v2.TicketRequest.type:type_name -> c1.connector.v2.TicketType + 30, // 41: c1.connector.v2.TicketRequest.custom_fields:type_name -> c1.connector.v2.TicketRequest.CustomFieldsEntry + 34, // 42: c1.connector.v2.TicketRequest.requested_for:type_name -> c1.connector.v2.Resource + 19, // 43: c1.connector.v2.TicketsServiceCreateTicketRequest.request:type_name -> c1.connector.v2.TicketRequest + 0, // 44: c1.connector.v2.TicketsServiceCreateTicketRequest.schema:type_name -> c1.connector.v2.TicketSchema + 31, // 45: c1.connector.v2.TicketsServiceCreateTicketRequest.annotations:type_name -> google.protobuf.Any + 17, // 46: c1.connector.v2.TicketsServiceCreateTicketResponse.ticket:type_name -> c1.connector.v2.Ticket + 31, // 47: c1.connector.v2.TicketsServiceCreateTicketResponse.annotations:type_name -> google.protobuf.Any + 31, // 48: c1.connector.v2.TicketsServiceGetTicketRequest.annotations:type_name -> google.protobuf.Any + 17, // 49: c1.connector.v2.TicketsServiceGetTicketResponse.ticket:type_name -> c1.connector.v2.Ticket + 31, // 50: c1.connector.v2.TicketsServiceGetTicketResponse.annotations:type_name -> google.protobuf.Any + 20, // 51: c1.connector.v2.TicketsServiceBulkCreateTicketsRequest.ticket_requests:type_name -> c1.connector.v2.TicketsServiceCreateTicketRequest + 21, // 52: c1.connector.v2.TicketsServiceBulkCreateTicketsResponse.tickets:type_name -> c1.connector.v2.TicketsServiceCreateTicketResponse + 22, // 53: c1.connector.v2.TicketsServiceBulkGetTicketsRequest.ticket_requests:type_name -> c1.connector.v2.TicketsServiceGetTicketRequest + 23, // 54: c1.connector.v2.TicketsServiceBulkGetTicketsResponse.tickets:type_name -> c1.connector.v2.TicketsServiceGetTicketResponse + 1, // 55: c1.connector.v2.TicketSchema.CustomFieldsEntry.value:type_name -> c1.connector.v2.TicketCustomField + 1, // 56: c1.connector.v2.Ticket.CustomFieldsEntry.value:type_name -> c1.connector.v2.TicketCustomField + 1, // 57: c1.connector.v2.TicketRequest.CustomFieldsEntry.value:type_name -> c1.connector.v2.TicketCustomField + 20, // 58: c1.connector.v2.TicketsService.CreateTicket:input_type -> c1.connector.v2.TicketsServiceCreateTicketRequest + 22, // 59: c1.connector.v2.TicketsService.GetTicket:input_type -> c1.connector.v2.TicketsServiceGetTicketRequest + 15, // 60: c1.connector.v2.TicketsService.ListTicketSchemas:input_type -> c1.connector.v2.TicketsServiceListTicketSchemasRequest + 13, // 61: c1.connector.v2.TicketsService.GetTicketSchema:input_type -> c1.connector.v2.TicketsServiceGetTicketSchemaRequest + 24, // 62: c1.connector.v2.TicketsService.BulkCreateTickets:input_type -> c1.connector.v2.TicketsServiceBulkCreateTicketsRequest + 26, // 63: c1.connector.v2.TicketsService.BulkGetTickets:input_type -> c1.connector.v2.TicketsServiceBulkGetTicketsRequest + 21, // 64: c1.connector.v2.TicketsService.CreateTicket:output_type -> c1.connector.v2.TicketsServiceCreateTicketResponse + 23, // 65: c1.connector.v2.TicketsService.GetTicket:output_type -> c1.connector.v2.TicketsServiceGetTicketResponse + 16, // 66: c1.connector.v2.TicketsService.ListTicketSchemas:output_type -> c1.connector.v2.TicketsServiceListTicketSchemasResponse + 14, // 67: c1.connector.v2.TicketsService.GetTicketSchema:output_type -> c1.connector.v2.TicketsServiceGetTicketSchemaResponse + 25, // 68: c1.connector.v2.TicketsService.BulkCreateTickets:output_type -> c1.connector.v2.TicketsServiceBulkCreateTicketsResponse + 27, // 69: c1.connector.v2.TicketsService.BulkGetTickets:output_type -> c1.connector.v2.TicketsServiceBulkGetTicketsResponse + 64, // [64:70] is the sub-list for method output_type + 58, // [58:64] is the sub-list for method input_type + 58, // [58:58] is the sub-list for extension type_name + 58, // [58:58] is the sub-list for extension extendee + 0, // [0:58] is the sub-list for field type_name +} + +func init() { file_c1_connector_v2_ticket_proto_init() } +func file_c1_connector_v2_ticket_proto_init() { + if File_c1_connector_v2_ticket_proto != nil { + return + } + file_c1_connector_v2_resource_proto_init() + file_c1_connector_v2_ticket_proto_msgTypes[1].OneofWrappers = []any{ + (*ticketCustomField_StringValue)(nil), + (*ticketCustomField_StringValues)(nil), + (*ticketCustomField_BoolValue)(nil), + (*ticketCustomField_TimestampValue)(nil), + (*ticketCustomField_PickStringValue)(nil), + (*ticketCustomField_PickMultipleStringValues)(nil), + (*ticketCustomField_PickObjectValue)(nil), + (*ticketCustomField_PickMultipleObjectValues)(nil), + (*ticketCustomField_NumberValue)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_connector_v2_ticket_proto_rawDesc), len(file_c1_connector_v2_ticket_proto_rawDesc)), + NumEnums: 0, + NumMessages: 31, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_c1_connector_v2_ticket_proto_goTypes, + DependencyIndexes: file_c1_connector_v2_ticket_proto_depIdxs, + MessageInfos: file_c1_connector_v2_ticket_proto_msgTypes, + }.Build() + File_c1_connector_v2_ticket_proto = out.File + file_c1_connector_v2_ticket_proto_goTypes = nil + file_c1_connector_v2_ticket_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector_wrapper/v1/connector_wrapper.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector_wrapper/v1/connector_wrapper.pb.go index ce416ac6..2ea7f87a 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector_wrapper/v1/connector_wrapper.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector_wrapper/v1/connector_wrapper.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connector_wrapper/v1/connector_wrapper.proto +//go:build !protoopaque + package v1 import ( @@ -12,7 +14,6 @@ import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -24,12 +25,13 @@ const ( ) type ServerConfig struct { - state protoimpl.MessageState `protogen:"open.v1"` - Credential *v1.Credential `protobuf:"bytes,1,opt,name=credential,proto3" json:"credential,omitempty"` - RateLimiterConfig *v11.RateLimiterConfig `protobuf:"bytes,2,opt,name=rate_limiter_config,json=rateLimiterConfig,proto3" json:"rate_limiter_config,omitempty"` - ListenPort uint32 `protobuf:"varint,3,opt,name=listen_port,json=listenPort,proto3" json:"listen_port,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"hybrid.v1"` + Credential *v1.Credential `protobuf:"bytes,1,opt,name=credential,proto3" json:"credential,omitempty"` + RateLimiterConfig *v11.RateLimiterConfig `protobuf:"bytes,2,opt,name=rate_limiter_config,json=rateLimiterConfig,proto3" json:"rate_limiter_config,omitempty"` + ListenPort uint32 `protobuf:"varint,3,opt,name=listen_port,json=listenPort,proto3" json:"listen_port,omitempty"` // The port the connector (child process) will listen on for incoming connector requests. + SessionStoreListenPort uint32 `protobuf:"varint,4,opt,name=session_store_listen_port,json=sessionStoreListenPort,proto3" json:"session_store_listen_port,omitempty"` // The port the sdk (parent process) will listen on for incoming cache requests. + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ServerConfig) Reset() { @@ -57,11 +59,6 @@ func (x *ServerConfig) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ServerConfig.ProtoReflect.Descriptor instead. -func (*ServerConfig) Descriptor() ([]byte, []int) { - return file_c1_connector_wrapper_v1_connector_wrapper_proto_rawDescGZIP(), []int{0} -} - func (x *ServerConfig) GetCredential() *v1.Credential { if x != nil { return x.Credential @@ -83,48 +80,85 @@ func (x *ServerConfig) GetListenPort() uint32 { return 0 } -var File_c1_connector_wrapper_v1_connector_wrapper_proto protoreflect.FileDescriptor +func (x *ServerConfig) GetSessionStoreListenPort() uint32 { + if x != nil { + return x.SessionStoreListenPort + } + return 0 +} -var file_c1_connector_wrapper_v1_connector_wrapper_proto_rawDesc = string([]byte{ - 0x0a, 0x2f, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x77, - 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x17, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, - 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x63, 0x31, 0x2f, 0x72, - 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x61, 0x74, 0x65, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x63, 0x31, 0x2f, - 0x75, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0xbb, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x36, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x31, 0x2e, 0x75, 0x74, 0x6c, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x0a, - 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x52, 0x0a, 0x13, 0x72, 0x61, - 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x61, 0x74, - 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x72, 0x61, 0x74, - 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, - 0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x42, - 0x3e, 0x5a, 0x3c, 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, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) - -var ( - file_c1_connector_wrapper_v1_connector_wrapper_proto_rawDescOnce sync.Once - file_c1_connector_wrapper_v1_connector_wrapper_proto_rawDescData []byte -) +func (x *ServerConfig) SetCredential(v *v1.Credential) { + x.Credential = v +} + +func (x *ServerConfig) SetRateLimiterConfig(v *v11.RateLimiterConfig) { + x.RateLimiterConfig = v +} + +func (x *ServerConfig) SetListenPort(v uint32) { + x.ListenPort = v +} + +func (x *ServerConfig) SetSessionStoreListenPort(v uint32) { + x.SessionStoreListenPort = v +} -func file_c1_connector_wrapper_v1_connector_wrapper_proto_rawDescGZIP() []byte { - file_c1_connector_wrapper_v1_connector_wrapper_proto_rawDescOnce.Do(func() { - file_c1_connector_wrapper_v1_connector_wrapper_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_wrapper_v1_connector_wrapper_proto_rawDesc), len(file_c1_connector_wrapper_v1_connector_wrapper_proto_rawDesc))) - }) - return file_c1_connector_wrapper_v1_connector_wrapper_proto_rawDescData +func (x *ServerConfig) HasCredential() bool { + if x == nil { + return false + } + return x.Credential != nil +} + +func (x *ServerConfig) HasRateLimiterConfig() bool { + if x == nil { + return false + } + return x.RateLimiterConfig != nil +} + +func (x *ServerConfig) ClearCredential() { + x.Credential = nil +} + +func (x *ServerConfig) ClearRateLimiterConfig() { + x.RateLimiterConfig = nil } +type ServerConfig_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Credential *v1.Credential + RateLimiterConfig *v11.RateLimiterConfig + ListenPort uint32 + SessionStoreListenPort uint32 +} + +func (b0 ServerConfig_builder) Build() *ServerConfig { + m0 := &ServerConfig{} + b, x := &b0, m0 + _, _ = b, x + x.Credential = b.Credential + x.RateLimiterConfig = b.RateLimiterConfig + x.ListenPort = b.ListenPort + x.SessionStoreListenPort = b.SessionStoreListenPort + return m0 +} + +var File_c1_connector_wrapper_v1_connector_wrapper_proto protoreflect.FileDescriptor + +const file_c1_connector_wrapper_v1_connector_wrapper_proto_rawDesc = "" + + "\n" + + "/c1/connector_wrapper/v1/connector_wrapper.proto\x12\x17c1.connector_wrapper.v1\x1a\x1fc1/ratelimit/v1/ratelimit.proto\x1a\x14c1/utls/v1/tls.proto\"\xf6\x01\n" + + "\fServerConfig\x126\n" + + "\n" + + "credential\x18\x01 \x01(\v2\x16.c1.utls.v1.CredentialR\n" + + "credential\x12R\n" + + "\x13rate_limiter_config\x18\x02 \x01(\v2\".c1.ratelimit.v1.RateLimiterConfigR\x11rateLimiterConfig\x12\x1f\n" + + "\vlisten_port\x18\x03 \x01(\rR\n" + + "listenPort\x129\n" + + "\x19session_store_listen_port\x18\x04 \x01(\rR\x16sessionStoreListenPortB>Z 0 { return ServerConfigMultiError(errors) } diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector_wrapper/v1/connector_wrapper_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector_wrapper/v1/connector_wrapper_protoopaque.pb.go new file mode 100644 index 00000000..f3cb7afe --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector_wrapper/v1/connector_wrapper_protoopaque.pb.go @@ -0,0 +1,200 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connector_wrapper/v1/connector_wrapper.proto + +//go:build protoopaque + +package v1 + +import ( + v11 "github.com/conductorone/baton-sdk/pb/c1/ratelimit/v1" + v1 "github.com/conductorone/baton-sdk/pb/c1/utls/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + 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) +) + +type ServerConfig struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Credential *v1.Credential `protobuf:"bytes,1,opt,name=credential,proto3"` + xxx_hidden_RateLimiterConfig *v11.RateLimiterConfig `protobuf:"bytes,2,opt,name=rate_limiter_config,json=rateLimiterConfig,proto3"` + xxx_hidden_ListenPort uint32 `protobuf:"varint,3,opt,name=listen_port,json=listenPort,proto3"` + xxx_hidden_SessionStoreListenPort uint32 `protobuf:"varint,4,opt,name=session_store_listen_port,json=sessionStoreListenPort,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ServerConfig) Reset() { + *x = ServerConfig{} + mi := &file_c1_connector_wrapper_v1_connector_wrapper_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ServerConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServerConfig) ProtoMessage() {} + +func (x *ServerConfig) ProtoReflect() protoreflect.Message { + mi := &file_c1_connector_wrapper_v1_connector_wrapper_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) +} + +func (x *ServerConfig) GetCredential() *v1.Credential { + if x != nil { + return x.xxx_hidden_Credential + } + return nil +} + +func (x *ServerConfig) GetRateLimiterConfig() *v11.RateLimiterConfig { + if x != nil { + return x.xxx_hidden_RateLimiterConfig + } + return nil +} + +func (x *ServerConfig) GetListenPort() uint32 { + if x != nil { + return x.xxx_hidden_ListenPort + } + return 0 +} + +func (x *ServerConfig) GetSessionStoreListenPort() uint32 { + if x != nil { + return x.xxx_hidden_SessionStoreListenPort + } + return 0 +} + +func (x *ServerConfig) SetCredential(v *v1.Credential) { + x.xxx_hidden_Credential = v +} + +func (x *ServerConfig) SetRateLimiterConfig(v *v11.RateLimiterConfig) { + x.xxx_hidden_RateLimiterConfig = v +} + +func (x *ServerConfig) SetListenPort(v uint32) { + x.xxx_hidden_ListenPort = v +} + +func (x *ServerConfig) SetSessionStoreListenPort(v uint32) { + x.xxx_hidden_SessionStoreListenPort = v +} + +func (x *ServerConfig) HasCredential() bool { + if x == nil { + return false + } + return x.xxx_hidden_Credential != nil +} + +func (x *ServerConfig) HasRateLimiterConfig() bool { + if x == nil { + return false + } + return x.xxx_hidden_RateLimiterConfig != nil +} + +func (x *ServerConfig) ClearCredential() { + x.xxx_hidden_Credential = nil +} + +func (x *ServerConfig) ClearRateLimiterConfig() { + x.xxx_hidden_RateLimiterConfig = nil +} + +type ServerConfig_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Credential *v1.Credential + RateLimiterConfig *v11.RateLimiterConfig + ListenPort uint32 + SessionStoreListenPort uint32 +} + +func (b0 ServerConfig_builder) Build() *ServerConfig { + m0 := &ServerConfig{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Credential = b.Credential + x.xxx_hidden_RateLimiterConfig = b.RateLimiterConfig + x.xxx_hidden_ListenPort = b.ListenPort + x.xxx_hidden_SessionStoreListenPort = b.SessionStoreListenPort + return m0 +} + +var File_c1_connector_wrapper_v1_connector_wrapper_proto protoreflect.FileDescriptor + +const file_c1_connector_wrapper_v1_connector_wrapper_proto_rawDesc = "" + + "\n" + + "/c1/connector_wrapper/v1/connector_wrapper.proto\x12\x17c1.connector_wrapper.v1\x1a\x1fc1/ratelimit/v1/ratelimit.proto\x1a\x14c1/utls/v1/tls.proto\"\xf6\x01\n" + + "\fServerConfig\x126\n" + + "\n" + + "credential\x18\x01 \x01(\v2\x16.c1.utls.v1.CredentialR\n" + + "credential\x12R\n" + + "\x13rate_limiter_config\x18\x02 \x01(\v2\".c1.ratelimit.v1.RateLimiterConfigR\x11rateLimiterConfig\x12\x1f\n" + + "\vlisten_port\x18\x03 \x01(\rR\n" + + "listenPort\x129\n" + + "\x19session_store_listen_port\x18\x04 \x01(\rR\x16sessionStoreListenPortB>Z c1.utls.v1.Credential + 2, // 1: c1.connector_wrapper.v1.ServerConfig.rate_limiter_config:type_name -> c1.ratelimit.v1.RateLimiterConfig + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_c1_connector_wrapper_v1_connector_wrapper_proto_init() } +func file_c1_connector_wrapper_v1_connector_wrapper_proto_init() { + if File_c1_connector_wrapper_v1_connector_wrapper_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_wrapper_v1_connector_wrapper_proto_rawDesc), len(file_c1_connector_wrapper_v1_connector_wrapper_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_connector_wrapper_v1_connector_wrapper_proto_goTypes, + DependencyIndexes: file_c1_connector_wrapper_v1_connector_wrapper_proto_depIdxs, + MessageInfos: file_c1_connector_wrapper_v1_connector_wrapper_proto_msgTypes, + }.Build() + File_c1_connector_wrapper_v1_connector_wrapper_proto = out.File + file_c1_connector_wrapper_v1_connector_wrapper_proto_goTypes = nil + file_c1_connector_wrapper_v1_connector_wrapper_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/baton.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/baton.pb.go index cc49f178..6807375a 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/baton.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/baton.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connectorapi/baton/v1/baton.proto +//go:build !protoopaque + package v1 import ( @@ -17,7 +19,6 @@ import ( structpb "google.golang.org/protobuf/types/known/structpb" timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -78,13 +79,8 @@ func (x Task_Status) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use Task_Status.Descriptor instead. -func (Task_Status) EnumDescriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 0} -} - type Task struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Status Task_Status `protobuf:"varint,2,opt,name=status,proto3,enum=c1.connectorapi.baton.v1.Task_Status" json:"status,omitempty"` // Types that are valid to be assigned to TaskType: @@ -141,11 +137,6 @@ func (x *Task) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task.ProtoReflect.Descriptor instead. -func (*Task) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0} -} - func (x *Task) GetId() string { if x != nil { return x.Id @@ -363,6 +354,680 @@ func (x *Task) GetDebug() bool { return false } +func (x *Task) SetId(v string) { + x.Id = v +} + +func (x *Task) SetStatus(v Task_Status) { + x.Status = v +} + +func (x *Task) SetNone(v *Task_NoneTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_None{v} +} + +func (x *Task) SetHello(v *Task_HelloTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_Hello{v} +} + +func (x *Task) SetSyncFull(v *Task_SyncFullTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_SyncFull{v} +} + +func (x *Task) SetGrant(v *Task_GrantTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_Grant{v} +} + +func (x *Task) SetRevoke(v *Task_RevokeTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_Revoke{v} +} + +func (x *Task) SetCreateAccount(v *Task_CreateAccountTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_CreateAccount{v} +} + +func (x *Task) SetCreateResource(v *Task_CreateResourceTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_CreateResource{v} +} + +func (x *Task) SetDeleteResource(v *Task_DeleteResourceTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_DeleteResource{v} +} + +func (x *Task) SetRotateCredentials(v *Task_RotateCredentialsTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_RotateCredentials{v} +} + +func (x *Task) SetEventFeed(v *Task_EventFeedTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_EventFeed{v} +} + +func (x *Task) SetCreateTicketTask(v *Task_CreateTicketTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_CreateTicketTask_{v} +} + +func (x *Task) SetListTicketSchemas(v *Task_ListTicketSchemasTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_ListTicketSchemas{v} +} + +func (x *Task) SetGetTicket(v *Task_GetTicketTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_GetTicket{v} +} + +func (x *Task) SetBulkCreateTickets(v *Task_BulkCreateTicketsTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_BulkCreateTickets{v} +} + +func (x *Task) SetBulkGetTickets(v *Task_BulkGetTicketsTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_BulkGetTickets{v} +} + +func (x *Task) SetActionListSchemas(v *Task_ActionListSchemasTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_ActionListSchemas{v} +} + +func (x *Task) SetActionGetSchema(v *Task_ActionGetSchemaTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_ActionGetSchema{v} +} + +func (x *Task) SetActionInvoke(v *Task_ActionInvokeTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_ActionInvoke{v} +} + +func (x *Task) SetActionStatus(v *Task_ActionStatusTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_ActionStatus{v} +} + +func (x *Task) SetCreateSyncDiff(v *Task_CreateSyncDiffTask) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_CreateSyncDiff{v} +} + +func (x *Task) SetCompactSyncs(v *Task_CompactSyncs) { + if v == nil { + x.TaskType = nil + return + } + x.TaskType = &Task_CompactSyncs_{v} +} + +func (x *Task) SetDebug(v bool) { + x.Debug = v +} + +func (x *Task) HasTaskType() bool { + if x == nil { + return false + } + return x.TaskType != nil +} + +func (x *Task) HasNone() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_None) + return ok +} + +func (x *Task) HasHello() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_Hello) + return ok +} + +func (x *Task) HasSyncFull() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_SyncFull) + return ok +} + +func (x *Task) HasGrant() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_Grant) + return ok +} + +func (x *Task) HasRevoke() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_Revoke) + return ok +} + +func (x *Task) HasCreateAccount() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_CreateAccount) + return ok +} + +func (x *Task) HasCreateResource() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_CreateResource) + return ok +} + +func (x *Task) HasDeleteResource() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_DeleteResource) + return ok +} + +func (x *Task) HasRotateCredentials() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_RotateCredentials) + return ok +} + +func (x *Task) HasEventFeed() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_EventFeed) + return ok +} + +func (x *Task) HasCreateTicketTask() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_CreateTicketTask_) + return ok +} + +func (x *Task) HasListTicketSchemas() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_ListTicketSchemas) + return ok +} + +func (x *Task) HasGetTicket() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_GetTicket) + return ok +} + +func (x *Task) HasBulkCreateTickets() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_BulkCreateTickets) + return ok +} + +func (x *Task) HasBulkGetTickets() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_BulkGetTickets) + return ok +} + +func (x *Task) HasActionListSchemas() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_ActionListSchemas) + return ok +} + +func (x *Task) HasActionGetSchema() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_ActionGetSchema) + return ok +} + +func (x *Task) HasActionInvoke() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_ActionInvoke) + return ok +} + +func (x *Task) HasActionStatus() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_ActionStatus) + return ok +} + +func (x *Task) HasCreateSyncDiff() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_CreateSyncDiff) + return ok +} + +func (x *Task) HasCompactSyncs() bool { + if x == nil { + return false + } + _, ok := x.TaskType.(*Task_CompactSyncs_) + return ok +} + +func (x *Task) ClearTaskType() { + x.TaskType = nil +} + +func (x *Task) ClearNone() { + if _, ok := x.TaskType.(*Task_None); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearHello() { + if _, ok := x.TaskType.(*Task_Hello); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearSyncFull() { + if _, ok := x.TaskType.(*Task_SyncFull); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearGrant() { + if _, ok := x.TaskType.(*Task_Grant); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearRevoke() { + if _, ok := x.TaskType.(*Task_Revoke); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearCreateAccount() { + if _, ok := x.TaskType.(*Task_CreateAccount); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearCreateResource() { + if _, ok := x.TaskType.(*Task_CreateResource); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearDeleteResource() { + if _, ok := x.TaskType.(*Task_DeleteResource); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearRotateCredentials() { + if _, ok := x.TaskType.(*Task_RotateCredentials); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearEventFeed() { + if _, ok := x.TaskType.(*Task_EventFeed); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearCreateTicketTask() { + if _, ok := x.TaskType.(*Task_CreateTicketTask_); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearListTicketSchemas() { + if _, ok := x.TaskType.(*Task_ListTicketSchemas); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearGetTicket() { + if _, ok := x.TaskType.(*Task_GetTicket); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearBulkCreateTickets() { + if _, ok := x.TaskType.(*Task_BulkCreateTickets); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearBulkGetTickets() { + if _, ok := x.TaskType.(*Task_BulkGetTickets); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearActionListSchemas() { + if _, ok := x.TaskType.(*Task_ActionListSchemas); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearActionGetSchema() { + if _, ok := x.TaskType.(*Task_ActionGetSchema); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearActionInvoke() { + if _, ok := x.TaskType.(*Task_ActionInvoke); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearActionStatus() { + if _, ok := x.TaskType.(*Task_ActionStatus); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearCreateSyncDiff() { + if _, ok := x.TaskType.(*Task_CreateSyncDiff); ok { + x.TaskType = nil + } +} + +func (x *Task) ClearCompactSyncs() { + if _, ok := x.TaskType.(*Task_CompactSyncs_); ok { + x.TaskType = nil + } +} + +const Task_TaskType_not_set_case case_Task_TaskType = 0 +const Task_None_case case_Task_TaskType = 100 +const Task_Hello_case case_Task_TaskType = 101 +const Task_SyncFull_case case_Task_TaskType = 102 +const Task_Grant_case case_Task_TaskType = 103 +const Task_Revoke_case case_Task_TaskType = 104 +const Task_CreateAccount_case case_Task_TaskType = 105 +const Task_CreateResource_case case_Task_TaskType = 106 +const Task_DeleteResource_case case_Task_TaskType = 107 +const Task_RotateCredentials_case case_Task_TaskType = 108 +const Task_EventFeed_case case_Task_TaskType = 109 +const Task_CreateTicketTask_case case_Task_TaskType = 110 +const Task_ListTicketSchemas_case case_Task_TaskType = 111 +const Task_GetTicket_case case_Task_TaskType = 112 +const Task_BulkCreateTickets_case case_Task_TaskType = 113 +const Task_BulkGetTickets_case case_Task_TaskType = 114 +const Task_ActionListSchemas_case case_Task_TaskType = 115 +const Task_ActionGetSchema_case case_Task_TaskType = 116 +const Task_ActionInvoke_case case_Task_TaskType = 117 +const Task_ActionStatus_case case_Task_TaskType = 118 +const Task_CreateSyncDiff_case case_Task_TaskType = 119 +const Task_CompactSyncs_case case_Task_TaskType = 120 + +func (x *Task) WhichTaskType() case_Task_TaskType { + if x == nil { + return Task_TaskType_not_set_case + } + switch x.TaskType.(type) { + case *Task_None: + return Task_None_case + case *Task_Hello: + return Task_Hello_case + case *Task_SyncFull: + return Task_SyncFull_case + case *Task_Grant: + return Task_Grant_case + case *Task_Revoke: + return Task_Revoke_case + case *Task_CreateAccount: + return Task_CreateAccount_case + case *Task_CreateResource: + return Task_CreateResource_case + case *Task_DeleteResource: + return Task_DeleteResource_case + case *Task_RotateCredentials: + return Task_RotateCredentials_case + case *Task_EventFeed: + return Task_EventFeed_case + case *Task_CreateTicketTask_: + return Task_CreateTicketTask_case + case *Task_ListTicketSchemas: + return Task_ListTicketSchemas_case + case *Task_GetTicket: + return Task_GetTicket_case + case *Task_BulkCreateTickets: + return Task_BulkCreateTickets_case + case *Task_BulkGetTickets: + return Task_BulkGetTickets_case + case *Task_ActionListSchemas: + return Task_ActionListSchemas_case + case *Task_ActionGetSchema: + return Task_ActionGetSchema_case + case *Task_ActionInvoke: + return Task_ActionInvoke_case + case *Task_ActionStatus: + return Task_ActionStatus_case + case *Task_CreateSyncDiff: + return Task_CreateSyncDiff_case + case *Task_CompactSyncs_: + return Task_CompactSyncs_case + default: + return Task_TaskType_not_set_case + } +} + +type Task_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + Status Task_Status + // Fields of oneof TaskType: + None *Task_NoneTask + Hello *Task_HelloTask + SyncFull *Task_SyncFullTask + Grant *Task_GrantTask + Revoke *Task_RevokeTask + CreateAccount *Task_CreateAccountTask + CreateResource *Task_CreateResourceTask + DeleteResource *Task_DeleteResourceTask + RotateCredentials *Task_RotateCredentialsTask + EventFeed *Task_EventFeedTask + CreateTicketTask *Task_CreateTicketTask + ListTicketSchemas *Task_ListTicketSchemasTask + GetTicket *Task_GetTicketTask + BulkCreateTickets *Task_BulkCreateTicketsTask + BulkGetTickets *Task_BulkGetTicketsTask + ActionListSchemas *Task_ActionListSchemasTask + ActionGetSchema *Task_ActionGetSchemaTask + ActionInvoke *Task_ActionInvokeTask + ActionStatus *Task_ActionStatusTask + CreateSyncDiff *Task_CreateSyncDiffTask + CompactSyncs *Task_CompactSyncs + // -- end of TaskType + Debug bool +} + +func (b0 Task_builder) Build() *Task { + m0 := &Task{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + x.Status = b.Status + if b.None != nil { + x.TaskType = &Task_None{b.None} + } + if b.Hello != nil { + x.TaskType = &Task_Hello{b.Hello} + } + if b.SyncFull != nil { + x.TaskType = &Task_SyncFull{b.SyncFull} + } + if b.Grant != nil { + x.TaskType = &Task_Grant{b.Grant} + } + if b.Revoke != nil { + x.TaskType = &Task_Revoke{b.Revoke} + } + if b.CreateAccount != nil { + x.TaskType = &Task_CreateAccount{b.CreateAccount} + } + if b.CreateResource != nil { + x.TaskType = &Task_CreateResource{b.CreateResource} + } + if b.DeleteResource != nil { + x.TaskType = &Task_DeleteResource{b.DeleteResource} + } + if b.RotateCredentials != nil { + x.TaskType = &Task_RotateCredentials{b.RotateCredentials} + } + if b.EventFeed != nil { + x.TaskType = &Task_EventFeed{b.EventFeed} + } + if b.CreateTicketTask != nil { + x.TaskType = &Task_CreateTicketTask_{b.CreateTicketTask} + } + if b.ListTicketSchemas != nil { + x.TaskType = &Task_ListTicketSchemas{b.ListTicketSchemas} + } + if b.GetTicket != nil { + x.TaskType = &Task_GetTicket{b.GetTicket} + } + if b.BulkCreateTickets != nil { + x.TaskType = &Task_BulkCreateTickets{b.BulkCreateTickets} + } + if b.BulkGetTickets != nil { + x.TaskType = &Task_BulkGetTickets{b.BulkGetTickets} + } + if b.ActionListSchemas != nil { + x.TaskType = &Task_ActionListSchemas{b.ActionListSchemas} + } + if b.ActionGetSchema != nil { + x.TaskType = &Task_ActionGetSchema{b.ActionGetSchema} + } + if b.ActionInvoke != nil { + x.TaskType = &Task_ActionInvoke{b.ActionInvoke} + } + if b.ActionStatus != nil { + x.TaskType = &Task_ActionStatus{b.ActionStatus} + } + if b.CreateSyncDiff != nil { + x.TaskType = &Task_CreateSyncDiff{b.CreateSyncDiff} + } + if b.CompactSyncs != nil { + x.TaskType = &Task_CompactSyncs_{b.CompactSyncs} + } + x.Debug = b.Debug + return m0 +} + +type case_Task_TaskType protoreflect.FieldNumber + +func (x case_Task_TaskType) String() string { + md := file_c1_connectorapi_baton_v1_baton_proto_msgTypes[0].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + type isTask_TaskType interface { isTask_TaskType() } @@ -494,7 +1159,7 @@ func (*Task_CreateSyncDiff) isTask_TaskType() {} func (*Task_CompactSyncs_) isTask_TaskType() {} type BatonServiceHelloRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"` TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` // You may say Hello anytime, but if you are responding to a task, you must provide the task_id BuildInfo *BatonServiceHelloRequest_BuildInfo `protobuf:"bytes,3,opt,name=build_info,json=buildInfo,proto3" json:"build_info,omitempty"` @@ -530,11 +1195,6 @@ func (x *BatonServiceHelloRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatonServiceHelloRequest.ProtoReflect.Descriptor instead. -func (*BatonServiceHelloRequest) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{1} -} - func (x *BatonServiceHelloRequest) GetHostId() string { if x != nil { return x.HostId @@ -577,8 +1237,89 @@ func (x *BatonServiceHelloRequest) GetAnnotations() []*anypb.Any { return nil } +func (x *BatonServiceHelloRequest) SetHostId(v string) { + x.HostId = v +} + +func (x *BatonServiceHelloRequest) SetTaskId(v string) { + x.TaskId = v +} + +func (x *BatonServiceHelloRequest) SetBuildInfo(v *BatonServiceHelloRequest_BuildInfo) { + x.BuildInfo = v +} + +func (x *BatonServiceHelloRequest) SetOsInfo(v *BatonServiceHelloRequest_OSInfo) { + x.OsInfo = v +} + +func (x *BatonServiceHelloRequest) SetConnectorMetadata(v *v2.ConnectorMetadata) { + x.ConnectorMetadata = v +} + +func (x *BatonServiceHelloRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *BatonServiceHelloRequest) HasBuildInfo() bool { + if x == nil { + return false + } + return x.BuildInfo != nil +} + +func (x *BatonServiceHelloRequest) HasOsInfo() bool { + if x == nil { + return false + } + return x.OsInfo != nil +} + +func (x *BatonServiceHelloRequest) HasConnectorMetadata() bool { + if x == nil { + return false + } + return x.ConnectorMetadata != nil +} + +func (x *BatonServiceHelloRequest) ClearBuildInfo() { + x.BuildInfo = nil +} + +func (x *BatonServiceHelloRequest) ClearOsInfo() { + x.OsInfo = nil +} + +func (x *BatonServiceHelloRequest) ClearConnectorMetadata() { + x.ConnectorMetadata = nil +} + +type BatonServiceHelloRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + HostId string + TaskId string + BuildInfo *BatonServiceHelloRequest_BuildInfo + OsInfo *BatonServiceHelloRequest_OSInfo + ConnectorMetadata *v2.ConnectorMetadata + Annotations []*anypb.Any +} + +func (b0 BatonServiceHelloRequest_builder) Build() *BatonServiceHelloRequest { + m0 := &BatonServiceHelloRequest{} + b, x := &b0, m0 + _, _ = b, x + x.HostId = b.HostId + x.TaskId = b.TaskId + x.BuildInfo = b.BuildInfo + x.OsInfo = b.OsInfo + x.ConnectorMetadata = b.ConnectorMetadata + x.Annotations = b.Annotations + return m0 +} + type BatonServiceHelloResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -609,11 +1350,6 @@ func (x *BatonServiceHelloResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatonServiceHelloResponse.ProtoReflect.Descriptor instead. -func (*BatonServiceHelloResponse) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{2} -} - func (x *BatonServiceHelloResponse) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -621,8 +1357,26 @@ func (x *BatonServiceHelloResponse) GetAnnotations() []*anypb.Any { return nil } +func (x *BatonServiceHelloResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type BatonServiceHelloResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 BatonServiceHelloResponse_builder) Build() *BatonServiceHelloResponse { + m0 := &BatonServiceHelloResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + return m0 +} + type BatonServiceGetTaskRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -653,11 +1407,6 @@ func (x *BatonServiceGetTaskRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatonServiceGetTaskRequest.ProtoReflect.Descriptor instead. -func (*BatonServiceGetTaskRequest) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{3} -} - func (x *BatonServiceGetTaskRequest) GetHostId() string { if x != nil { return x.HostId @@ -665,8 +1414,26 @@ func (x *BatonServiceGetTaskRequest) GetHostId() string { return "" } +func (x *BatonServiceGetTaskRequest) SetHostId(v string) { + x.HostId = v +} + +type BatonServiceGetTaskRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + HostId string +} + +func (b0 BatonServiceGetTaskRequest_builder) Build() *BatonServiceGetTaskRequest { + m0 := &BatonServiceGetTaskRequest{} + b, x := &b0, m0 + _, _ = b, x + x.HostId = b.HostId + return m0 +} + type BatonServiceGetTaskResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Task *Task `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"` NextPoll *durationpb.Duration `protobuf:"bytes,2,opt,name=next_poll,json=nextPoll,proto3" json:"next_poll,omitempty"` NextHeartbeat *durationpb.Duration `protobuf:"bytes,3,opt,name=next_heartbeat,json=nextHeartbeat,proto3" json:"next_heartbeat,omitempty"` @@ -700,11 +1467,6 @@ func (x *BatonServiceGetTaskResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatonServiceGetTaskResponse.ProtoReflect.Descriptor instead. -func (*BatonServiceGetTaskResponse) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{4} -} - func (x *BatonServiceGetTaskResponse) GetTask() *Task { if x != nil { return x.Task @@ -733,8 +1495,77 @@ func (x *BatonServiceGetTaskResponse) GetAnnotations() []*anypb.Any { return nil } +func (x *BatonServiceGetTaskResponse) SetTask(v *Task) { + x.Task = v +} + +func (x *BatonServiceGetTaskResponse) SetNextPoll(v *durationpb.Duration) { + x.NextPoll = v +} + +func (x *BatonServiceGetTaskResponse) SetNextHeartbeat(v *durationpb.Duration) { + x.NextHeartbeat = v +} + +func (x *BatonServiceGetTaskResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *BatonServiceGetTaskResponse) HasTask() bool { + if x == nil { + return false + } + return x.Task != nil +} + +func (x *BatonServiceGetTaskResponse) HasNextPoll() bool { + if x == nil { + return false + } + return x.NextPoll != nil +} + +func (x *BatonServiceGetTaskResponse) HasNextHeartbeat() bool { + if x == nil { + return false + } + return x.NextHeartbeat != nil +} + +func (x *BatonServiceGetTaskResponse) ClearTask() { + x.Task = nil +} + +func (x *BatonServiceGetTaskResponse) ClearNextPoll() { + x.NextPoll = nil +} + +func (x *BatonServiceGetTaskResponse) ClearNextHeartbeat() { + x.NextHeartbeat = nil +} + +type BatonServiceGetTaskResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Task *Task + NextPoll *durationpb.Duration + NextHeartbeat *durationpb.Duration + Annotations []*anypb.Any +} + +func (b0 BatonServiceGetTaskResponse_builder) Build() *BatonServiceGetTaskResponse { + m0 := &BatonServiceGetTaskResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Task = b.Task + x.NextPoll = b.NextPoll + x.NextHeartbeat = b.NextHeartbeat + x.Annotations = b.Annotations + return m0 +} + type BatonServiceHeartbeatRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"` TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` // Useful for returning status updates on the task @@ -767,11 +1598,6 @@ func (x *BatonServiceHeartbeatRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatonServiceHeartbeatRequest.ProtoReflect.Descriptor instead. -func (*BatonServiceHeartbeatRequest) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{5} -} - func (x *BatonServiceHeartbeatRequest) GetHostId() string { if x != nil { return x.HostId @@ -793,8 +1619,38 @@ func (x *BatonServiceHeartbeatRequest) GetAnnotations() []*anypb.Any { return nil } +func (x *BatonServiceHeartbeatRequest) SetHostId(v string) { + x.HostId = v +} + +func (x *BatonServiceHeartbeatRequest) SetTaskId(v string) { + x.TaskId = v +} + +func (x *BatonServiceHeartbeatRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type BatonServiceHeartbeatRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + HostId string + TaskId string + Annotations []*anypb.Any +} + +func (b0 BatonServiceHeartbeatRequest_builder) Build() *BatonServiceHeartbeatRequest { + m0 := &BatonServiceHeartbeatRequest{} + b, x := &b0, m0 + _, _ = b, x + x.HostId = b.HostId + x.TaskId = b.TaskId + x.Annotations = b.Annotations + return m0 +} + type BatonServiceHeartbeatResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` NextHeartbeat *durationpb.Duration `protobuf:"bytes,1,opt,name=next_heartbeat,json=nextHeartbeat,proto3" json:"next_heartbeat,omitempty"` Cancelled bool `protobuf:"varint,2,opt,name=cancelled,proto3" json:"cancelled,omitempty"` // Backend has decided that we should stop working on this Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` @@ -827,11 +1683,6 @@ func (x *BatonServiceHeartbeatResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatonServiceHeartbeatResponse.ProtoReflect.Descriptor instead. -func (*BatonServiceHeartbeatResponse) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{6} -} - func (x *BatonServiceHeartbeatResponse) GetNextHeartbeat() *durationpb.Duration { if x != nil { return x.NextHeartbeat @@ -853,8 +1704,49 @@ func (x *BatonServiceHeartbeatResponse) GetAnnotations() []*anypb.Any { return nil } +func (x *BatonServiceHeartbeatResponse) SetNextHeartbeat(v *durationpb.Duration) { + x.NextHeartbeat = v +} + +func (x *BatonServiceHeartbeatResponse) SetCancelled(v bool) { + x.Cancelled = v +} + +func (x *BatonServiceHeartbeatResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *BatonServiceHeartbeatResponse) HasNextHeartbeat() bool { + if x == nil { + return false + } + return x.NextHeartbeat != nil +} + +func (x *BatonServiceHeartbeatResponse) ClearNextHeartbeat() { + x.NextHeartbeat = nil +} + +type BatonServiceHeartbeatResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + NextHeartbeat *durationpb.Duration + Cancelled bool + Annotations []*anypb.Any +} + +func (b0 BatonServiceHeartbeatResponse_builder) Build() *BatonServiceHeartbeatResponse { + m0 := &BatonServiceHeartbeatResponse{} + b, x := &b0, m0 + _, _ = b, x + x.NextHeartbeat = b.NextHeartbeat + x.Cancelled = b.Cancelled + x.Annotations = b.Annotations + return m0 +} + type BatonServiceUploadAssetRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` // Types that are valid to be assigned to Msg: // // *BatonServiceUploadAssetRequest_Metadata @@ -890,11 +1782,6 @@ func (x *BatonServiceUploadAssetRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatonServiceUploadAssetRequest.ProtoReflect.Descriptor instead. -func (*BatonServiceUploadAssetRequest) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{7} -} - func (x *BatonServiceUploadAssetRequest) GetMsg() isBatonServiceUploadAssetRequest_Msg { if x != nil { return x.Msg @@ -929,6 +1816,140 @@ func (x *BatonServiceUploadAssetRequest) GetEof() *BatonServiceUploadAssetReques return nil } +func (x *BatonServiceUploadAssetRequest) SetMetadata(v *BatonServiceUploadAssetRequest_UploadMetadata) { + if v == nil { + x.Msg = nil + return + } + x.Msg = &BatonServiceUploadAssetRequest_Metadata{v} +} + +func (x *BatonServiceUploadAssetRequest) SetData(v *BatonServiceUploadAssetRequest_UploadData) { + if v == nil { + x.Msg = nil + return + } + x.Msg = &BatonServiceUploadAssetRequest_Data{v} +} + +func (x *BatonServiceUploadAssetRequest) SetEof(v *BatonServiceUploadAssetRequest_UploadEOF) { + if v == nil { + x.Msg = nil + return + } + x.Msg = &BatonServiceUploadAssetRequest_Eof{v} +} + +func (x *BatonServiceUploadAssetRequest) HasMsg() bool { + if x == nil { + return false + } + return x.Msg != nil +} + +func (x *BatonServiceUploadAssetRequest) HasMetadata() bool { + if x == nil { + return false + } + _, ok := x.Msg.(*BatonServiceUploadAssetRequest_Metadata) + return ok +} + +func (x *BatonServiceUploadAssetRequest) HasData() bool { + if x == nil { + return false + } + _, ok := x.Msg.(*BatonServiceUploadAssetRequest_Data) + return ok +} + +func (x *BatonServiceUploadAssetRequest) HasEof() bool { + if x == nil { + return false + } + _, ok := x.Msg.(*BatonServiceUploadAssetRequest_Eof) + return ok +} + +func (x *BatonServiceUploadAssetRequest) ClearMsg() { + x.Msg = nil +} + +func (x *BatonServiceUploadAssetRequest) ClearMetadata() { + if _, ok := x.Msg.(*BatonServiceUploadAssetRequest_Metadata); ok { + x.Msg = nil + } +} + +func (x *BatonServiceUploadAssetRequest) ClearData() { + if _, ok := x.Msg.(*BatonServiceUploadAssetRequest_Data); ok { + x.Msg = nil + } +} + +func (x *BatonServiceUploadAssetRequest) ClearEof() { + if _, ok := x.Msg.(*BatonServiceUploadAssetRequest_Eof); ok { + x.Msg = nil + } +} + +const BatonServiceUploadAssetRequest_Msg_not_set_case case_BatonServiceUploadAssetRequest_Msg = 0 +const BatonServiceUploadAssetRequest_Metadata_case case_BatonServiceUploadAssetRequest_Msg = 100 +const BatonServiceUploadAssetRequest_Data_case case_BatonServiceUploadAssetRequest_Msg = 101 +const BatonServiceUploadAssetRequest_Eof_case case_BatonServiceUploadAssetRequest_Msg = 102 + +func (x *BatonServiceUploadAssetRequest) WhichMsg() case_BatonServiceUploadAssetRequest_Msg { + if x == nil { + return BatonServiceUploadAssetRequest_Msg_not_set_case + } + switch x.Msg.(type) { + case *BatonServiceUploadAssetRequest_Metadata: + return BatonServiceUploadAssetRequest_Metadata_case + case *BatonServiceUploadAssetRequest_Data: + return BatonServiceUploadAssetRequest_Data_case + case *BatonServiceUploadAssetRequest_Eof: + return BatonServiceUploadAssetRequest_Eof_case + default: + return BatonServiceUploadAssetRequest_Msg_not_set_case + } +} + +type BatonServiceUploadAssetRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Fields of oneof Msg: + Metadata *BatonServiceUploadAssetRequest_UploadMetadata + Data *BatonServiceUploadAssetRequest_UploadData + Eof *BatonServiceUploadAssetRequest_UploadEOF + // -- end of Msg +} + +func (b0 BatonServiceUploadAssetRequest_builder) Build() *BatonServiceUploadAssetRequest { + m0 := &BatonServiceUploadAssetRequest{} + b, x := &b0, m0 + _, _ = b, x + if b.Metadata != nil { + x.Msg = &BatonServiceUploadAssetRequest_Metadata{b.Metadata} + } + if b.Data != nil { + x.Msg = &BatonServiceUploadAssetRequest_Data{b.Data} + } + if b.Eof != nil { + x.Msg = &BatonServiceUploadAssetRequest_Eof{b.Eof} + } + return m0 +} + +type case_BatonServiceUploadAssetRequest_Msg protoreflect.FieldNumber + +func (x case_BatonServiceUploadAssetRequest_Msg) String() string { + md := file_c1_connectorapi_baton_v1_baton_proto_msgTypes[7].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + type isBatonServiceUploadAssetRequest_Msg interface { isBatonServiceUploadAssetRequest_Msg() } @@ -952,7 +1973,7 @@ func (*BatonServiceUploadAssetRequest_Data) isBatonServiceUploadAssetRequest_Msg func (*BatonServiceUploadAssetRequest_Eof) isBatonServiceUploadAssetRequest_Msg() {} type BatonServiceUploadAssetResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -983,11 +2004,6 @@ func (x *BatonServiceUploadAssetResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatonServiceUploadAssetResponse.ProtoReflect.Descriptor instead. -func (*BatonServiceUploadAssetResponse) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{8} -} - func (x *BatonServiceUploadAssetResponse) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -995,9 +2011,27 @@ func (x *BatonServiceUploadAssetResponse) GetAnnotations() []*anypb.Any { return nil } +func (x *BatonServiceUploadAssetResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type BatonServiceUploadAssetResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 BatonServiceUploadAssetResponse_builder) Build() *BatonServiceUploadAssetResponse { + m0 := &BatonServiceUploadAssetResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + return m0 +} + // Connector submits a task has been finished. It should always be removed from the queue, and if it isn't a fatal error, we should re-add it to the queue to try again. type BatonServiceFinishTaskRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"` TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` Status *status.Status `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` @@ -1035,55 +2069,184 @@ func (x *BatonServiceFinishTaskRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatonServiceFinishTaskRequest.ProtoReflect.Descriptor instead. -func (*BatonServiceFinishTaskRequest) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{9} +func (x *BatonServiceFinishTaskRequest) GetHostId() string { + if x != nil { + return x.HostId + } + return "" +} + +func (x *BatonServiceFinishTaskRequest) GetTaskId() string { + if x != nil { + return x.TaskId + } + return "" +} + +func (x *BatonServiceFinishTaskRequest) GetStatus() *status.Status { + if x != nil { + return x.Status + } + return nil +} + +func (x *BatonServiceFinishTaskRequest) GetFinalState() isBatonServiceFinishTaskRequest_FinalState { + if x != nil { + return x.FinalState + } + return nil +} + +func (x *BatonServiceFinishTaskRequest) GetError() *BatonServiceFinishTaskRequest_Error { + if x != nil { + if x, ok := x.FinalState.(*BatonServiceFinishTaskRequest_Error_); ok { + return x.Error + } + } + return nil +} + +func (x *BatonServiceFinishTaskRequest) GetSuccess() *BatonServiceFinishTaskRequest_Success { + if x != nil { + if x, ok := x.FinalState.(*BatonServiceFinishTaskRequest_Success_); ok { + return x.Success + } + } + return nil +} + +func (x *BatonServiceFinishTaskRequest) SetHostId(v string) { + x.HostId = v +} + +func (x *BatonServiceFinishTaskRequest) SetTaskId(v string) { + x.TaskId = v +} + +func (x *BatonServiceFinishTaskRequest) SetStatus(v *status.Status) { + x.Status = v +} + +func (x *BatonServiceFinishTaskRequest) SetError(v *BatonServiceFinishTaskRequest_Error) { + if v == nil { + x.FinalState = nil + return + } + x.FinalState = &BatonServiceFinishTaskRequest_Error_{v} +} + +func (x *BatonServiceFinishTaskRequest) SetSuccess(v *BatonServiceFinishTaskRequest_Success) { + if v == nil { + x.FinalState = nil + return + } + x.FinalState = &BatonServiceFinishTaskRequest_Success_{v} +} + +func (x *BatonServiceFinishTaskRequest) HasStatus() bool { + if x == nil { + return false + } + return x.Status != nil +} + +func (x *BatonServiceFinishTaskRequest) HasFinalState() bool { + if x == nil { + return false + } + return x.FinalState != nil +} + +func (x *BatonServiceFinishTaskRequest) HasError() bool { + if x == nil { + return false + } + _, ok := x.FinalState.(*BatonServiceFinishTaskRequest_Error_) + return ok +} + +func (x *BatonServiceFinishTaskRequest) HasSuccess() bool { + if x == nil { + return false + } + _, ok := x.FinalState.(*BatonServiceFinishTaskRequest_Success_) + return ok +} + +func (x *BatonServiceFinishTaskRequest) ClearStatus() { + x.Status = nil } -func (x *BatonServiceFinishTaskRequest) GetHostId() string { - if x != nil { - return x.HostId - } - return "" +func (x *BatonServiceFinishTaskRequest) ClearFinalState() { + x.FinalState = nil } -func (x *BatonServiceFinishTaskRequest) GetTaskId() string { - if x != nil { - return x.TaskId +func (x *BatonServiceFinishTaskRequest) ClearError() { + if _, ok := x.FinalState.(*BatonServiceFinishTaskRequest_Error_); ok { + x.FinalState = nil } - return "" } -func (x *BatonServiceFinishTaskRequest) GetStatus() *status.Status { - if x != nil { - return x.Status +func (x *BatonServiceFinishTaskRequest) ClearSuccess() { + if _, ok := x.FinalState.(*BatonServiceFinishTaskRequest_Success_); ok { + x.FinalState = nil } - return nil } -func (x *BatonServiceFinishTaskRequest) GetFinalState() isBatonServiceFinishTaskRequest_FinalState { - if x != nil { - return x.FinalState +const BatonServiceFinishTaskRequest_FinalState_not_set_case case_BatonServiceFinishTaskRequest_FinalState = 0 +const BatonServiceFinishTaskRequest_Error_case case_BatonServiceFinishTaskRequest_FinalState = 100 +const BatonServiceFinishTaskRequest_Success_case case_BatonServiceFinishTaskRequest_FinalState = 101 + +func (x *BatonServiceFinishTaskRequest) WhichFinalState() case_BatonServiceFinishTaskRequest_FinalState { + if x == nil { + return BatonServiceFinishTaskRequest_FinalState_not_set_case + } + switch x.FinalState.(type) { + case *BatonServiceFinishTaskRequest_Error_: + return BatonServiceFinishTaskRequest_Error_case + case *BatonServiceFinishTaskRequest_Success_: + return BatonServiceFinishTaskRequest_Success_case + default: + return BatonServiceFinishTaskRequest_FinalState_not_set_case } - return nil } -func (x *BatonServiceFinishTaskRequest) GetError() *BatonServiceFinishTaskRequest_Error { - if x != nil { - if x, ok := x.FinalState.(*BatonServiceFinishTaskRequest_Error_); ok { - return x.Error - } +type BatonServiceFinishTaskRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + HostId string + TaskId string + Status *status.Status + // Fields of oneof FinalState: + Error *BatonServiceFinishTaskRequest_Error + Success *BatonServiceFinishTaskRequest_Success + // -- end of FinalState +} + +func (b0 BatonServiceFinishTaskRequest_builder) Build() *BatonServiceFinishTaskRequest { + m0 := &BatonServiceFinishTaskRequest{} + b, x := &b0, m0 + _, _ = b, x + x.HostId = b.HostId + x.TaskId = b.TaskId + x.Status = b.Status + if b.Error != nil { + x.FinalState = &BatonServiceFinishTaskRequest_Error_{b.Error} } - return nil + if b.Success != nil { + x.FinalState = &BatonServiceFinishTaskRequest_Success_{b.Success} + } + return m0 } -func (x *BatonServiceFinishTaskRequest) GetSuccess() *BatonServiceFinishTaskRequest_Success { - if x != nil { - if x, ok := x.FinalState.(*BatonServiceFinishTaskRequest_Success_); ok { - return x.Success - } +type case_BatonServiceFinishTaskRequest_FinalState protoreflect.FieldNumber + +func (x case_BatonServiceFinishTaskRequest_FinalState) String() string { + md := file_c1_connectorapi_baton_v1_baton_proto_msgTypes[9].Descriptor() + if x == 0 { + return "not set" } - return nil + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) } type isBatonServiceFinishTaskRequest_FinalState interface { @@ -1103,7 +2266,7 @@ func (*BatonServiceFinishTaskRequest_Error_) isBatonServiceFinishTaskRequest_Fin func (*BatonServiceFinishTaskRequest_Success_) isBatonServiceFinishTaskRequest_FinalState() {} type BatonServiceFinishTaskResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1134,11 +2297,6 @@ func (x *BatonServiceFinishTaskResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatonServiceFinishTaskResponse.ProtoReflect.Descriptor instead. -func (*BatonServiceFinishTaskResponse) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{10} -} - func (x *BatonServiceFinishTaskResponse) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -1146,8 +2304,26 @@ func (x *BatonServiceFinishTaskResponse) GetAnnotations() []*anypb.Any { return nil } +func (x *BatonServiceFinishTaskResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type BatonServiceFinishTaskResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 BatonServiceFinishTaskResponse_builder) Build() *BatonServiceFinishTaskResponse { + m0 := &BatonServiceFinishTaskResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + return m0 +} + type StartDebuggingRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1177,13 +2353,20 @@ func (x *StartDebuggingRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StartDebuggingRequest.ProtoReflect.Descriptor instead. -func (*StartDebuggingRequest) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{11} +type StartDebuggingRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 StartDebuggingRequest_builder) Build() *StartDebuggingRequest { + m0 := &StartDebuggingRequest{} + b, x := &b0, m0 + _, _ = b, x + return m0 } type StartDebuggingResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Status bool `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1214,11 +2397,6 @@ func (x *StartDebuggingResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StartDebuggingResponse.ProtoReflect.Descriptor instead. -func (*StartDebuggingResponse) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{12} -} - func (x *StartDebuggingResponse) GetStatus() bool { if x != nil { return x.Status @@ -1226,8 +2404,26 @@ func (x *StartDebuggingResponse) GetStatus() bool { return false } +func (x *StartDebuggingResponse) SetStatus(v bool) { + x.Status = v +} + +type StartDebuggingResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Status bool +} + +func (b0 StartDebuggingResponse_builder) Build() *StartDebuggingResponse { + m0 := &StartDebuggingResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Status = b.Status + return m0 +} + type Task_NoneTask struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1258,11 +2454,6 @@ func (x *Task_NoneTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_NoneTask.ProtoReflect.Descriptor instead. -func (*Task_NoneTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 0} -} - func (x *Task_NoneTask) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -1270,8 +2461,26 @@ func (x *Task_NoneTask) GetAnnotations() []*anypb.Any { return nil } +func (x *Task_NoneTask) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type Task_NoneTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 Task_NoneTask_builder) Build() *Task_NoneTask { + m0 := &Task_NoneTask{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + return m0 +} + type Task_HelloTask struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1302,11 +2511,6 @@ func (x *Task_HelloTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_HelloTask.ProtoReflect.Descriptor instead. -func (*Task_HelloTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 1} -} - func (x *Task_HelloTask) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -1314,11 +2518,31 @@ func (x *Task_HelloTask) GetAnnotations() []*anypb.Any { return nil } +func (x *Task_HelloTask) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type Task_HelloTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 Task_HelloTask_builder) Build() *Task_HelloTask { + m0 := &Task_HelloTask{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + return m0 +} + type Task_SyncFullTask 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 + state protoimpl.MessageState `protogen:"hybrid.v1"` + Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` + SkipExpandGrants bool `protobuf:"varint,2,opt,name=skip_expand_grants,json=skipExpandGrants,proto3" json:"skip_expand_grants,omitempty"` + SkipEntitlementsAndGrants bool `protobuf:"varint,3,opt,name=skip_entitlements_and_grants,json=skipEntitlementsAndGrants,proto3" json:"skip_entitlements_and_grants,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Task_SyncFullTask) Reset() { @@ -1346,11 +2570,6 @@ func (x *Task_SyncFullTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_SyncFullTask.ProtoReflect.Descriptor instead. -func (*Task_SyncFullTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 2} -} - func (x *Task_SyncFullTask) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -1358,8 +2577,52 @@ func (x *Task_SyncFullTask) GetAnnotations() []*anypb.Any { return nil } +func (x *Task_SyncFullTask) GetSkipExpandGrants() bool { + if x != nil { + return x.SkipExpandGrants + } + return false +} + +func (x *Task_SyncFullTask) GetSkipEntitlementsAndGrants() bool { + if x != nil { + return x.SkipEntitlementsAndGrants + } + return false +} + +func (x *Task_SyncFullTask) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *Task_SyncFullTask) SetSkipExpandGrants(v bool) { + x.SkipExpandGrants = v +} + +func (x *Task_SyncFullTask) SetSkipEntitlementsAndGrants(v bool) { + x.SkipEntitlementsAndGrants = v +} + +type Task_SyncFullTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any + SkipExpandGrants bool + SkipEntitlementsAndGrants bool +} + +func (b0 Task_SyncFullTask_builder) Build() *Task_SyncFullTask { + m0 := &Task_SyncFullTask{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + x.SkipExpandGrants = b.SkipExpandGrants + x.SkipEntitlementsAndGrants = b.SkipEntitlementsAndGrants + return m0 +} + type Task_EventFeedTask struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` StartAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_at,json=startAt,proto3" json:"start_at,omitempty"` unknownFields protoimpl.UnknownFields @@ -1391,11 +2654,6 @@ func (x *Task_EventFeedTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_EventFeedTask.ProtoReflect.Descriptor instead. -func (*Task_EventFeedTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 3} -} - func (x *Task_EventFeedTask) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -1410,8 +2668,43 @@ func (x *Task_EventFeedTask) GetStartAt() *timestamppb.Timestamp { return nil } +func (x *Task_EventFeedTask) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *Task_EventFeedTask) SetStartAt(v *timestamppb.Timestamp) { + x.StartAt = v +} + +func (x *Task_EventFeedTask) HasStartAt() bool { + if x == nil { + return false + } + return x.StartAt != nil +} + +func (x *Task_EventFeedTask) ClearStartAt() { + x.StartAt = nil +} + +type Task_EventFeedTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any + StartAt *timestamppb.Timestamp +} + +func (b0 Task_EventFeedTask_builder) Build() *Task_EventFeedTask { + m0 := &Task_EventFeedTask{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + x.StartAt = b.StartAt + return m0 +} + type Task_GrantTask struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Entitlement *v2.Entitlement `protobuf:"bytes,1,opt,name=entitlement,proto3" json:"entitlement,omitempty"` Principal *v2.Resource `protobuf:"bytes,2,opt,name=principal,proto3" json:"principal,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` @@ -1445,11 +2738,6 @@ func (x *Task_GrantTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_GrantTask.ProtoReflect.Descriptor instead. -func (*Task_GrantTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 4} -} - func (x *Task_GrantTask) GetEntitlement() *v2.Entitlement { if x != nil { return x.Entitlement @@ -1478,8 +2766,77 @@ func (x *Task_GrantTask) GetDuration() *durationpb.Duration { return nil } +func (x *Task_GrantTask) SetEntitlement(v *v2.Entitlement) { + x.Entitlement = v +} + +func (x *Task_GrantTask) SetPrincipal(v *v2.Resource) { + x.Principal = v +} + +func (x *Task_GrantTask) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *Task_GrantTask) SetDuration(v *durationpb.Duration) { + x.Duration = v +} + +func (x *Task_GrantTask) HasEntitlement() bool { + if x == nil { + return false + } + return x.Entitlement != nil +} + +func (x *Task_GrantTask) HasPrincipal() bool { + if x == nil { + return false + } + return x.Principal != nil +} + +func (x *Task_GrantTask) HasDuration() bool { + if x == nil { + return false + } + return x.Duration != nil +} + +func (x *Task_GrantTask) ClearEntitlement() { + x.Entitlement = nil +} + +func (x *Task_GrantTask) ClearPrincipal() { + x.Principal = nil +} + +func (x *Task_GrantTask) ClearDuration() { + x.Duration = nil +} + +type Task_GrantTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Entitlement *v2.Entitlement + Principal *v2.Resource + Annotations []*anypb.Any + Duration *durationpb.Duration +} + +func (b0 Task_GrantTask_builder) Build() *Task_GrantTask { + m0 := &Task_GrantTask{} + b, x := &b0, m0 + _, _ = b, x + x.Entitlement = b.Entitlement + x.Principal = b.Principal + x.Annotations = b.Annotations + x.Duration = b.Duration + return m0 +} + type Task_RevokeTask struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Grant *v2.Grant `protobuf:"bytes,1,opt,name=grant,proto3" json:"grant,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -1511,11 +2868,6 @@ func (x *Task_RevokeTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_RevokeTask.ProtoReflect.Descriptor instead. -func (*Task_RevokeTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 5} -} - func (x *Task_RevokeTask) GetGrant() *v2.Grant { if x != nil { return x.Grant @@ -1530,8 +2882,43 @@ func (x *Task_RevokeTask) GetAnnotations() []*anypb.Any { return nil } +func (x *Task_RevokeTask) SetGrant(v *v2.Grant) { + x.Grant = v +} + +func (x *Task_RevokeTask) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *Task_RevokeTask) HasGrant() bool { + if x == nil { + return false + } + return x.Grant != nil +} + +func (x *Task_RevokeTask) ClearGrant() { + x.Grant = nil +} + +type Task_RevokeTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Grant *v2.Grant + Annotations []*anypb.Any +} + +func (b0 Task_RevokeTask_builder) Build() *Task_RevokeTask { + m0 := &Task_RevokeTask{} + b, x := &b0, m0 + _, _ = b, x + x.Grant = b.Grant + x.Annotations = b.Annotations + return m0 +} + type Task_CreateAccountTask struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` AccountInfo *v2.AccountInfo `protobuf:"bytes,1,opt,name=account_info,json=accountInfo,proto3" json:"account_info,omitempty"` CredentialOptions *v2.CredentialOptions `protobuf:"bytes,2,opt,name=credential_options,json=credentialOptions,proto3" json:"credential_options,omitempty"` EncryptionConfigs []*v2.EncryptionConfig `protobuf:"bytes,3,rep,name=encryption_configs,json=encryptionConfigs,proto3" json:"encryption_configs,omitempty"` @@ -1564,11 +2951,6 @@ func (x *Task_CreateAccountTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_CreateAccountTask.ProtoReflect.Descriptor instead. -func (*Task_CreateAccountTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 6} -} - func (x *Task_CreateAccountTask) GetAccountInfo() *v2.AccountInfo { if x != nil { return x.AccountInfo @@ -1590,8 +2972,60 @@ func (x *Task_CreateAccountTask) GetEncryptionConfigs() []*v2.EncryptionConfig { return nil } +func (x *Task_CreateAccountTask) SetAccountInfo(v *v2.AccountInfo) { + x.AccountInfo = v +} + +func (x *Task_CreateAccountTask) SetCredentialOptions(v *v2.CredentialOptions) { + x.CredentialOptions = v +} + +func (x *Task_CreateAccountTask) SetEncryptionConfigs(v []*v2.EncryptionConfig) { + x.EncryptionConfigs = v +} + +func (x *Task_CreateAccountTask) HasAccountInfo() bool { + if x == nil { + return false + } + return x.AccountInfo != nil +} + +func (x *Task_CreateAccountTask) HasCredentialOptions() bool { + if x == nil { + return false + } + return x.CredentialOptions != nil +} + +func (x *Task_CreateAccountTask) ClearAccountInfo() { + x.AccountInfo = nil +} + +func (x *Task_CreateAccountTask) ClearCredentialOptions() { + x.CredentialOptions = nil +} + +type Task_CreateAccountTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + AccountInfo *v2.AccountInfo + CredentialOptions *v2.CredentialOptions + EncryptionConfigs []*v2.EncryptionConfig +} + +func (b0 Task_CreateAccountTask_builder) Build() *Task_CreateAccountTask { + m0 := &Task_CreateAccountTask{} + b, x := &b0, m0 + _, _ = b, x + x.AccountInfo = b.AccountInfo + x.CredentialOptions = b.CredentialOptions + x.EncryptionConfigs = b.EncryptionConfigs + return m0 +} + type Task_CreateResourceTask struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Resource *v2.Resource `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1622,11 +3056,6 @@ func (x *Task_CreateResourceTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_CreateResourceTask.ProtoReflect.Descriptor instead. -func (*Task_CreateResourceTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 7} -} - func (x *Task_CreateResourceTask) GetResource() *v2.Resource { if x != nil { return x.Resource @@ -1634,11 +3063,41 @@ func (x *Task_CreateResourceTask) GetResource() *v2.Resource { return nil } +func (x *Task_CreateResourceTask) SetResource(v *v2.Resource) { + x.Resource = v +} + +func (x *Task_CreateResourceTask) HasResource() bool { + if x == nil { + return false + } + return x.Resource != nil +} + +func (x *Task_CreateResourceTask) ClearResource() { + x.Resource = nil +} + +type Task_CreateResourceTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resource *v2.Resource +} + +func (b0 Task_CreateResourceTask_builder) Build() *Task_CreateResourceTask { + m0 := &Task_CreateResourceTask{} + b, x := &b0, m0 + _, _ = b, x + x.Resource = b.Resource + return m0 +} + type Task_DeleteResourceTask struct { - state protoimpl.MessageState `protogen:"open.v1"` - ResourceId *v2.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:"hybrid.v1"` + ResourceId *v2.ResourceId `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + ParentResourceId *v2.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 *Task_DeleteResourceTask) Reset() { @@ -1666,11 +3125,6 @@ func (x *Task_DeleteResourceTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_DeleteResourceTask.ProtoReflect.Descriptor instead. -func (*Task_DeleteResourceTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 8} -} - func (x *Task_DeleteResourceTask) GetResourceId() *v2.ResourceId { if x != nil { return x.ResourceId @@ -1678,8 +3132,61 @@ func (x *Task_DeleteResourceTask) GetResourceId() *v2.ResourceId { return nil } +func (x *Task_DeleteResourceTask) GetParentResourceId() *v2.ResourceId { + if x != nil { + return x.ParentResourceId + } + return nil +} + +func (x *Task_DeleteResourceTask) SetResourceId(v *v2.ResourceId) { + x.ResourceId = v +} + +func (x *Task_DeleteResourceTask) SetParentResourceId(v *v2.ResourceId) { + x.ParentResourceId = v +} + +func (x *Task_DeleteResourceTask) HasResourceId() bool { + if x == nil { + return false + } + return x.ResourceId != nil +} + +func (x *Task_DeleteResourceTask) HasParentResourceId() bool { + if x == nil { + return false + } + return x.ParentResourceId != nil +} + +func (x *Task_DeleteResourceTask) ClearResourceId() { + x.ResourceId = nil +} + +func (x *Task_DeleteResourceTask) ClearParentResourceId() { + x.ParentResourceId = nil +} + +type Task_DeleteResourceTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceId *v2.ResourceId + ParentResourceId *v2.ResourceId +} + +func (b0 Task_DeleteResourceTask_builder) Build() *Task_DeleteResourceTask { + m0 := &Task_DeleteResourceTask{} + b, x := &b0, m0 + _, _ = b, x + x.ResourceId = b.ResourceId + x.ParentResourceId = b.ParentResourceId + return m0 +} + type Task_RotateCredentialsTask struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` ResourceId *v2.ResourceId `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` CredentialOptions *v2.CredentialOptions `protobuf:"bytes,2,opt,name=credential_options,json=credentialOptions,proto3" json:"credential_options,omitempty"` EncryptionConfigs []*v2.EncryptionConfig `protobuf:"bytes,3,rep,name=encryption_configs,json=encryptionConfigs,proto3" json:"encryption_configs,omitempty"` @@ -1712,11 +3219,6 @@ func (x *Task_RotateCredentialsTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_RotateCredentialsTask.ProtoReflect.Descriptor instead. -func (*Task_RotateCredentialsTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 9} -} - func (x *Task_RotateCredentialsTask) GetResourceId() *v2.ResourceId { if x != nil { return x.ResourceId @@ -1738,8 +3240,60 @@ func (x *Task_RotateCredentialsTask) GetEncryptionConfigs() []*v2.EncryptionConf return nil } +func (x *Task_RotateCredentialsTask) SetResourceId(v *v2.ResourceId) { + x.ResourceId = v +} + +func (x *Task_RotateCredentialsTask) SetCredentialOptions(v *v2.CredentialOptions) { + x.CredentialOptions = v +} + +func (x *Task_RotateCredentialsTask) SetEncryptionConfigs(v []*v2.EncryptionConfig) { + x.EncryptionConfigs = v +} + +func (x *Task_RotateCredentialsTask) HasResourceId() bool { + if x == nil { + return false + } + return x.ResourceId != nil +} + +func (x *Task_RotateCredentialsTask) HasCredentialOptions() bool { + if x == nil { + return false + } + return x.CredentialOptions != nil +} + +func (x *Task_RotateCredentialsTask) ClearResourceId() { + x.ResourceId = nil +} + +func (x *Task_RotateCredentialsTask) ClearCredentialOptions() { + x.CredentialOptions = nil +} + +type Task_RotateCredentialsTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceId *v2.ResourceId + CredentialOptions *v2.CredentialOptions + EncryptionConfigs []*v2.EncryptionConfig +} + +func (b0 Task_RotateCredentialsTask_builder) Build() *Task_RotateCredentialsTask { + m0 := &Task_RotateCredentialsTask{} + b, x := &b0, m0 + _, _ = b, x + x.ResourceId = b.ResourceId + x.CredentialOptions = b.CredentialOptions + x.EncryptionConfigs = b.EncryptionConfigs + return m0 +} + type Task_CreateTicketTask struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` TicketRequest *v2.TicketRequest `protobuf:"bytes,1,opt,name=ticket_request,json=ticketRequest,proto3" json:"ticket_request,omitempty"` TicketSchema *v2.TicketSchema `protobuf:"bytes,2,opt,name=ticket_schema,json=ticketSchema,proto3" json:"ticket_schema,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` @@ -1769,12 +3323,7 @@ func (x *Task_CreateTicketTask) ProtoReflect() protoreflect.Message { } return ms } - return mi.MessageOf(x) -} - -// Deprecated: Use Task_CreateTicketTask.ProtoReflect.Descriptor instead. -func (*Task_CreateTicketTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 10} + return mi.MessageOf(x) } func (x *Task_CreateTicketTask) GetTicketRequest() *v2.TicketRequest { @@ -1798,8 +3347,60 @@ func (x *Task_CreateTicketTask) GetAnnotations() []*anypb.Any { return nil } +func (x *Task_CreateTicketTask) SetTicketRequest(v *v2.TicketRequest) { + x.TicketRequest = v +} + +func (x *Task_CreateTicketTask) SetTicketSchema(v *v2.TicketSchema) { + x.TicketSchema = v +} + +func (x *Task_CreateTicketTask) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *Task_CreateTicketTask) HasTicketRequest() bool { + if x == nil { + return false + } + return x.TicketRequest != nil +} + +func (x *Task_CreateTicketTask) HasTicketSchema() bool { + if x == nil { + return false + } + return x.TicketSchema != nil +} + +func (x *Task_CreateTicketTask) ClearTicketRequest() { + x.TicketRequest = nil +} + +func (x *Task_CreateTicketTask) ClearTicketSchema() { + x.TicketSchema = nil +} + +type Task_CreateTicketTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + TicketRequest *v2.TicketRequest + TicketSchema *v2.TicketSchema + Annotations []*anypb.Any +} + +func (b0 Task_CreateTicketTask_builder) Build() *Task_CreateTicketTask { + m0 := &Task_CreateTicketTask{} + b, x := &b0, m0 + _, _ = b, x + x.TicketRequest = b.TicketRequest + x.TicketSchema = b.TicketSchema + x.Annotations = b.Annotations + return m0 +} + type Task_BulkCreateTicketsTask struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` TicketRequests []*Task_CreateTicketTask `protobuf:"bytes,1,rep,name=ticket_requests,json=ticketRequests,proto3" json:"ticket_requests,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1830,11 +3431,6 @@ func (x *Task_BulkCreateTicketsTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_BulkCreateTicketsTask.ProtoReflect.Descriptor instead. -func (*Task_BulkCreateTicketsTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 11} -} - func (x *Task_BulkCreateTicketsTask) GetTicketRequests() []*Task_CreateTicketTask { if x != nil { return x.TicketRequests @@ -1842,8 +3438,26 @@ func (x *Task_BulkCreateTicketsTask) GetTicketRequests() []*Task_CreateTicketTas return nil } +func (x *Task_BulkCreateTicketsTask) SetTicketRequests(v []*Task_CreateTicketTask) { + x.TicketRequests = v +} + +type Task_BulkCreateTicketsTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + TicketRequests []*Task_CreateTicketTask +} + +func (b0 Task_BulkCreateTicketsTask_builder) Build() *Task_BulkCreateTicketsTask { + m0 := &Task_BulkCreateTicketsTask{} + b, x := &b0, m0 + _, _ = b, x + x.TicketRequests = b.TicketRequests + return m0 +} + type Task_BulkGetTicketsTask struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` TicketRequests []*Task_GetTicketTask `protobuf:"bytes,1,rep,name=ticket_requests,json=ticketRequests,proto3" json:"ticket_requests,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1874,11 +3488,6 @@ func (x *Task_BulkGetTicketsTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_BulkGetTicketsTask.ProtoReflect.Descriptor instead. -func (*Task_BulkGetTicketsTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 12} -} - func (x *Task_BulkGetTicketsTask) GetTicketRequests() []*Task_GetTicketTask { if x != nil { return x.TicketRequests @@ -1886,8 +3495,26 @@ func (x *Task_BulkGetTicketsTask) GetTicketRequests() []*Task_GetTicketTask { return nil } +func (x *Task_BulkGetTicketsTask) SetTicketRequests(v []*Task_GetTicketTask) { + x.TicketRequests = v +} + +type Task_BulkGetTicketsTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + TicketRequests []*Task_GetTicketTask +} + +func (b0 Task_BulkGetTicketsTask_builder) Build() *Task_BulkGetTicketsTask { + m0 := &Task_BulkGetTicketsTask{} + b, x := &b0, m0 + _, _ = b, x + x.TicketRequests = b.TicketRequests + return m0 +} + type Task_ListTicketSchemasTask struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -1918,11 +3545,6 @@ func (x *Task_ListTicketSchemasTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_ListTicketSchemasTask.ProtoReflect.Descriptor instead. -func (*Task_ListTicketSchemasTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 13} -} - func (x *Task_ListTicketSchemasTask) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -1930,8 +3552,26 @@ func (x *Task_ListTicketSchemasTask) GetAnnotations() []*anypb.Any { return nil } +func (x *Task_ListTicketSchemasTask) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type Task_ListTicketSchemasTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 Task_ListTicketSchemasTask_builder) Build() *Task_ListTicketSchemasTask { + m0 := &Task_ListTicketSchemasTask{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + return m0 +} + type Task_GetTicketTask struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` TicketId string `protobuf:"bytes,1,opt,name=ticket_id,json=ticketId,proto3" json:"ticket_id,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -1963,11 +3603,6 @@ func (x *Task_GetTicketTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_GetTicketTask.ProtoReflect.Descriptor instead. -func (*Task_GetTicketTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 14} -} - func (x *Task_GetTicketTask) GetTicketId() string { if x != nil { return x.TicketId @@ -1982,8 +3617,32 @@ func (x *Task_GetTicketTask) GetAnnotations() []*anypb.Any { return nil } +func (x *Task_GetTicketTask) SetTicketId(v string) { + x.TicketId = v +} + +func (x *Task_GetTicketTask) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type Task_GetTicketTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + TicketId string + Annotations []*anypb.Any +} + +func (b0 Task_GetTicketTask_builder) Build() *Task_GetTicketTask { + m0 := &Task_GetTicketTask{} + b, x := &b0, m0 + _, _ = b, x + x.TicketId = b.TicketId + x.Annotations = b.Annotations + return m0 +} + type Task_ActionListSchemasTask struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -2014,11 +3673,6 @@ func (x *Task_ActionListSchemasTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_ActionListSchemasTask.ProtoReflect.Descriptor instead. -func (*Task_ActionListSchemasTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 15} -} - func (x *Task_ActionListSchemasTask) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -2026,8 +3680,26 @@ func (x *Task_ActionListSchemasTask) GetAnnotations() []*anypb.Any { return nil } +func (x *Task_ActionListSchemasTask) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type Task_ActionListSchemasTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 Task_ActionListSchemasTask_builder) Build() *Task_ActionListSchemasTask { + m0 := &Task_ActionListSchemasTask{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + return m0 +} + type Task_ActionGetSchemaTask struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -2059,11 +3731,6 @@ func (x *Task_ActionGetSchemaTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_ActionGetSchemaTask.ProtoReflect.Descriptor instead. -func (*Task_ActionGetSchemaTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 16} -} - func (x *Task_ActionGetSchemaTask) GetName() string { if x != nil { return x.Name @@ -2078,8 +3745,32 @@ func (x *Task_ActionGetSchemaTask) GetAnnotations() []*anypb.Any { return nil } +func (x *Task_ActionGetSchemaTask) SetName(v string) { + x.Name = v +} + +func (x *Task_ActionGetSchemaTask) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type Task_ActionGetSchemaTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + Annotations []*anypb.Any +} + +func (b0 Task_ActionGetSchemaTask_builder) Build() *Task_ActionGetSchemaTask { + m0 := &Task_ActionGetSchemaTask{} + b, x := &b0, m0 + _, _ = b, x + x.Name = b.Name + x.Annotations = b.Annotations + return m0 +} + type Task_ActionInvokeTask struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Args *structpb.Struct `protobuf:"bytes,2,opt,name=args,proto3" json:"args,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` @@ -2112,11 +3803,6 @@ func (x *Task_ActionInvokeTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_ActionInvokeTask.ProtoReflect.Descriptor instead. -func (*Task_ActionInvokeTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 17} -} - func (x *Task_ActionInvokeTask) GetName() string { if x != nil { return x.Name @@ -2138,8 +3824,49 @@ func (x *Task_ActionInvokeTask) GetAnnotations() []*anypb.Any { return nil } +func (x *Task_ActionInvokeTask) SetName(v string) { + x.Name = v +} + +func (x *Task_ActionInvokeTask) SetArgs(v *structpb.Struct) { + x.Args = v +} + +func (x *Task_ActionInvokeTask) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *Task_ActionInvokeTask) HasArgs() bool { + if x == nil { + return false + } + return x.Args != nil +} + +func (x *Task_ActionInvokeTask) ClearArgs() { + x.Args = nil +} + +type Task_ActionInvokeTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + Args *structpb.Struct + Annotations []*anypb.Any +} + +func (b0 Task_ActionInvokeTask_builder) Build() *Task_ActionInvokeTask { + m0 := &Task_ActionInvokeTask{} + b, x := &b0, m0 + _, _ = b, x + x.Name = b.Name + x.Args = b.Args + x.Annotations = b.Annotations + return m0 +} + type Task_ActionStatusTask struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` @@ -2172,11 +3899,6 @@ func (x *Task_ActionStatusTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_ActionStatusTask.ProtoReflect.Descriptor instead. -func (*Task_ActionStatusTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 18} -} - func (x *Task_ActionStatusTask) GetName() string { if x != nil { return x.Name @@ -2198,8 +3920,38 @@ func (x *Task_ActionStatusTask) GetAnnotations() []*anypb.Any { return nil } +func (x *Task_ActionStatusTask) SetName(v string) { + x.Name = v +} + +func (x *Task_ActionStatusTask) SetId(v string) { + x.Id = v +} + +func (x *Task_ActionStatusTask) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type Task_ActionStatusTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + Id string + Annotations []*anypb.Any +} + +func (b0 Task_ActionStatusTask_builder) Build() *Task_ActionStatusTask { + m0 := &Task_ActionStatusTask{} + b, x := &b0, m0 + _, _ = b, x + x.Name = b.Name + x.Id = b.Id + x.Annotations = b.Annotations + return m0 +} + type Task_CreateSyncDiffTask struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` // Open to suggestions here BaseSyncId string `protobuf:"bytes,1,opt,name=base_sync_id,json=baseSyncId,proto3" json:"base_sync_id,omitempty"` NewSyncId string `protobuf:"bytes,2,opt,name=new_sync_id,json=newSyncId,proto3" json:"new_sync_id,omitempty"` @@ -2233,11 +3985,6 @@ func (x *Task_CreateSyncDiffTask) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_CreateSyncDiffTask.ProtoReflect.Descriptor instead. -func (*Task_CreateSyncDiffTask) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 19} -} - func (x *Task_CreateSyncDiffTask) GetBaseSyncId() string { if x != nil { return x.BaseSyncId @@ -2259,8 +4006,39 @@ func (x *Task_CreateSyncDiffTask) GetAnnotations() []*anypb.Any { return nil } +func (x *Task_CreateSyncDiffTask) SetBaseSyncId(v string) { + x.BaseSyncId = v +} + +func (x *Task_CreateSyncDiffTask) SetNewSyncId(v string) { + x.NewSyncId = v +} + +func (x *Task_CreateSyncDiffTask) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type Task_CreateSyncDiffTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Open to suggestions here + BaseSyncId string + NewSyncId string + Annotations []*anypb.Any +} + +func (b0 Task_CreateSyncDiffTask_builder) Build() *Task_CreateSyncDiffTask { + m0 := &Task_CreateSyncDiffTask{} + b, x := &b0, m0 + _, _ = b, x + x.BaseSyncId = b.BaseSyncId + x.NewSyncId = b.NewSyncId + x.Annotations = b.Annotations + return m0 +} + type Task_CompactSyncs struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` CompactableSyncs []*Task_CompactSyncs_CompactableSync `protobuf:"bytes,1,rep,name=compactable_syncs,json=compactableSyncs,proto3" json:"compactable_syncs,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -2292,11 +4070,6 @@ func (x *Task_CompactSyncs) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Task_CompactSyncs.ProtoReflect.Descriptor instead. -func (*Task_CompactSyncs) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 20} -} - func (x *Task_CompactSyncs) GetCompactableSyncs() []*Task_CompactSyncs_CompactableSync { if x != nil { return x.CompactableSyncs @@ -2311,8 +4084,32 @@ func (x *Task_CompactSyncs) GetAnnotations() []*anypb.Any { return nil } +func (x *Task_CompactSyncs) SetCompactableSyncs(v []*Task_CompactSyncs_CompactableSync) { + x.CompactableSyncs = v +} + +func (x *Task_CompactSyncs) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type Task_CompactSyncs_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + CompactableSyncs []*Task_CompactSyncs_CompactableSync + Annotations []*anypb.Any +} + +func (b0 Task_CompactSyncs_builder) Build() *Task_CompactSyncs { + m0 := &Task_CompactSyncs{} + b, x := &b0, m0 + _, _ = b, x + x.CompactableSyncs = b.CompactableSyncs + x.Annotations = b.Annotations + return m0 +} + type Task_CompactSyncs_CompactableSync struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` FilePath string `protobuf:"bytes,1,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"` SyncId string `protobuf:"bytes,2,opt,name=sync_id,json=syncId,proto3" json:"sync_id,omitempty"` unknownFields protoimpl.UnknownFields @@ -2344,11 +4141,6 @@ func (x *Task_CompactSyncs_CompactableSync) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use Task_CompactSyncs_CompactableSync.ProtoReflect.Descriptor instead. -func (*Task_CompactSyncs_CompactableSync) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{0, 20, 0} -} - func (x *Task_CompactSyncs_CompactableSync) GetFilePath() string { if x != nil { return x.FilePath @@ -2363,8 +4155,32 @@ func (x *Task_CompactSyncs_CompactableSync) GetSyncId() string { return "" } +func (x *Task_CompactSyncs_CompactableSync) SetFilePath(v string) { + x.FilePath = v +} + +func (x *Task_CompactSyncs_CompactableSync) SetSyncId(v string) { + x.SyncId = v +} + +type Task_CompactSyncs_CompactableSync_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + FilePath string + SyncId string +} + +func (b0 Task_CompactSyncs_CompactableSync_builder) Build() *Task_CompactSyncs_CompactableSync { + m0 := &Task_CompactSyncs_CompactableSync{} + b, x := &b0, m0 + _, _ = b, x + x.FilePath = b.FilePath + x.SyncId = b.SyncId + return m0 +} + type BatonServiceHelloRequest_BuildInfo struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` LangVersion string `protobuf:"bytes,1,opt,name=lang_version,json=langVersion,proto3" json:"lang_version,omitempty"` Package string `protobuf:"bytes,2,opt,name=package,proto3" json:"package,omitempty"` PackageVersion string `protobuf:"bytes,3,opt,name=package_version,json=packageVersion,proto3" json:"package_version,omitempty"` @@ -2397,11 +4213,6 @@ func (x *BatonServiceHelloRequest_BuildInfo) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use BatonServiceHelloRequest_BuildInfo.ProtoReflect.Descriptor instead. -func (*BatonServiceHelloRequest_BuildInfo) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{1, 0} -} - func (x *BatonServiceHelloRequest_BuildInfo) GetLangVersion() string { if x != nil { return x.LangVersion @@ -2423,8 +4234,38 @@ func (x *BatonServiceHelloRequest_BuildInfo) GetPackageVersion() string { return "" } +func (x *BatonServiceHelloRequest_BuildInfo) SetLangVersion(v string) { + x.LangVersion = v +} + +func (x *BatonServiceHelloRequest_BuildInfo) SetPackage(v string) { + x.Package = v +} + +func (x *BatonServiceHelloRequest_BuildInfo) SetPackageVersion(v string) { + x.PackageVersion = v +} + +type BatonServiceHelloRequest_BuildInfo_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + LangVersion string + Package string + PackageVersion string +} + +func (b0 BatonServiceHelloRequest_BuildInfo_builder) Build() *BatonServiceHelloRequest_BuildInfo { + m0 := &BatonServiceHelloRequest_BuildInfo{} + b, x := &b0, m0 + _, _ = b, x + x.LangVersion = b.LangVersion + x.Package = b.Package + x.PackageVersion = b.PackageVersion + return m0 +} + type BatonServiceHelloRequest_OSInfo struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` Os string `protobuf:"bytes,2,opt,name=os,proto3" json:"os,omitempty"` Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` @@ -2462,11 +4303,6 @@ func (x *BatonServiceHelloRequest_OSInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BatonServiceHelloRequest_OSInfo.ProtoReflect.Descriptor instead. -func (*BatonServiceHelloRequest_OSInfo) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{1, 1} -} - func (x *BatonServiceHelloRequest_OSInfo) GetHostname() string { if x != nil { return x.Hostname @@ -2523,8 +4359,68 @@ func (x *BatonServiceHelloRequest_OSInfo) GetVirtualizationSystem() string { return "" } +func (x *BatonServiceHelloRequest_OSInfo) SetHostname(v string) { + x.Hostname = v +} + +func (x *BatonServiceHelloRequest_OSInfo) SetOs(v string) { + x.Os = v +} + +func (x *BatonServiceHelloRequest_OSInfo) SetPlatform(v string) { + x.Platform = v +} + +func (x *BatonServiceHelloRequest_OSInfo) SetPlatformVersion(v string) { + x.PlatformVersion = v +} + +func (x *BatonServiceHelloRequest_OSInfo) SetPlatformFamily(v string) { + x.PlatformFamily = v +} + +func (x *BatonServiceHelloRequest_OSInfo) SetKernelVersion(v string) { + x.KernelVersion = v +} + +func (x *BatonServiceHelloRequest_OSInfo) SetKernelArch(v string) { + x.KernelArch = v +} + +func (x *BatonServiceHelloRequest_OSInfo) SetVirtualizationSystem(v string) { + x.VirtualizationSystem = v +} + +type BatonServiceHelloRequest_OSInfo_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Hostname string + Os string + Platform string + PlatformVersion string + PlatformFamily string + KernelVersion string + KernelArch string + VirtualizationSystem string +} + +func (b0 BatonServiceHelloRequest_OSInfo_builder) Build() *BatonServiceHelloRequest_OSInfo { + m0 := &BatonServiceHelloRequest_OSInfo{} + b, x := &b0, m0 + _, _ = b, x + x.Hostname = b.Hostname + x.Os = b.Os + x.Platform = b.Platform + x.PlatformVersion = b.PlatformVersion + x.PlatformFamily = b.PlatformFamily + x.KernelVersion = b.KernelVersion + x.KernelArch = b.KernelArch + x.VirtualizationSystem = b.VirtualizationSystem + return m0 +} + type BatonServiceUploadAssetRequest_UploadMetadata struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"` TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3" json:"annotations,omitempty"` @@ -2557,11 +4453,6 @@ func (x *BatonServiceUploadAssetRequest_UploadMetadata) ProtoReflect() protorefl return mi.MessageOf(x) } -// Deprecated: Use BatonServiceUploadAssetRequest_UploadMetadata.ProtoReflect.Descriptor instead. -func (*BatonServiceUploadAssetRequest_UploadMetadata) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{7, 0} -} - func (x *BatonServiceUploadAssetRequest_UploadMetadata) GetHostId() string { if x != nil { return x.HostId @@ -2583,8 +4474,38 @@ func (x *BatonServiceUploadAssetRequest_UploadMetadata) GetAnnotations() []*anyp return nil } +func (x *BatonServiceUploadAssetRequest_UploadMetadata) SetHostId(v string) { + x.HostId = v +} + +func (x *BatonServiceUploadAssetRequest_UploadMetadata) SetTaskId(v string) { + x.TaskId = v +} + +func (x *BatonServiceUploadAssetRequest_UploadMetadata) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type BatonServiceUploadAssetRequest_UploadMetadata_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + HostId string + TaskId string + Annotations []*anypb.Any +} + +func (b0 BatonServiceUploadAssetRequest_UploadMetadata_builder) Build() *BatonServiceUploadAssetRequest_UploadMetadata { + m0 := &BatonServiceUploadAssetRequest_UploadMetadata{} + b, x := &b0, m0 + _, _ = b, x + x.HostId = b.HostId + x.TaskId = b.TaskId + x.Annotations = b.Annotations + return m0 +} + type BatonServiceUploadAssetRequest_UploadData struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` // 1MB limit Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` unknownFields protoimpl.UnknownFields @@ -2616,11 +4537,6 @@ func (x *BatonServiceUploadAssetRequest_UploadData) ProtoReflect() protoreflect. return mi.MessageOf(x) } -// Deprecated: Use BatonServiceUploadAssetRequest_UploadData.ProtoReflect.Descriptor instead. -func (*BatonServiceUploadAssetRequest_UploadData) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{7, 1} -} - func (x *BatonServiceUploadAssetRequest_UploadData) GetData() []byte { if x != nil { return x.Data @@ -2628,8 +4544,30 @@ func (x *BatonServiceUploadAssetRequest_UploadData) GetData() []byte { return nil } +func (x *BatonServiceUploadAssetRequest_UploadData) SetData(v []byte) { + if v == nil { + v = []byte{} + } + x.Data = v +} + +type BatonServiceUploadAssetRequest_UploadData_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // 1MB limit + Data []byte +} + +func (b0 BatonServiceUploadAssetRequest_UploadData_builder) Build() *BatonServiceUploadAssetRequest_UploadData { + m0 := &BatonServiceUploadAssetRequest_UploadData{} + b, x := &b0, m0 + _, _ = b, x + x.Data = b.Data + return m0 +} + type BatonServiceUploadAssetRequest_UploadEOF struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Sha256Checksum []byte `protobuf:"bytes,1,opt,name=sha256_checksum,json=sha256Checksum,proto3" json:"sha256_checksum,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -2661,11 +4599,6 @@ func (x *BatonServiceUploadAssetRequest_UploadEOF) ProtoReflect() protoreflect.M return mi.MessageOf(x) } -// Deprecated: Use BatonServiceUploadAssetRequest_UploadEOF.ProtoReflect.Descriptor instead. -func (*BatonServiceUploadAssetRequest_UploadEOF) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{7, 2} -} - func (x *BatonServiceUploadAssetRequest_UploadEOF) GetSha256Checksum() []byte { if x != nil { return x.Sha256Checksum @@ -2680,8 +4613,35 @@ func (x *BatonServiceUploadAssetRequest_UploadEOF) GetAnnotations() []*anypb.Any return nil } +func (x *BatonServiceUploadAssetRequest_UploadEOF) SetSha256Checksum(v []byte) { + if v == nil { + v = []byte{} + } + x.Sha256Checksum = v +} + +func (x *BatonServiceUploadAssetRequest_UploadEOF) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type BatonServiceUploadAssetRequest_UploadEOF_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Sha256Checksum []byte + Annotations []*anypb.Any +} + +func (b0 BatonServiceUploadAssetRequest_UploadEOF_builder) Build() *BatonServiceUploadAssetRequest_UploadEOF { + m0 := &BatonServiceUploadAssetRequest_UploadEOF{} + b, x := &b0, m0 + _, _ = b, x + x.Sha256Checksum = b.Sha256Checksum + x.Annotations = b.Annotations + return m0 +} + type BatonServiceFinishTaskRequest_Error struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` NonRetryable bool `protobuf:"varint,1,opt,name=non_retryable,json=nonRetryable,proto3" json:"non_retryable,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` // The response from the connector, if any. @@ -2715,11 +4675,6 @@ func (x *BatonServiceFinishTaskRequest_Error) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use BatonServiceFinishTaskRequest_Error.ProtoReflect.Descriptor instead. -func (*BatonServiceFinishTaskRequest_Error) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{9, 0} -} - func (x *BatonServiceFinishTaskRequest_Error) GetNonRetryable() bool { if x != nil { return x.NonRetryable @@ -2741,8 +4696,50 @@ func (x *BatonServiceFinishTaskRequest_Error) GetResponse() *anypb.Any { return nil } +func (x *BatonServiceFinishTaskRequest_Error) SetNonRetryable(v bool) { + x.NonRetryable = v +} + +func (x *BatonServiceFinishTaskRequest_Error) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *BatonServiceFinishTaskRequest_Error) SetResponse(v *anypb.Any) { + x.Response = v +} + +func (x *BatonServiceFinishTaskRequest_Error) HasResponse() bool { + if x == nil { + return false + } + return x.Response != nil +} + +func (x *BatonServiceFinishTaskRequest_Error) ClearResponse() { + x.Response = nil +} + +type BatonServiceFinishTaskRequest_Error_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + NonRetryable bool + Annotations []*anypb.Any + // The response from the connector, if any. + Response *anypb.Any +} + +func (b0 BatonServiceFinishTaskRequest_Error_builder) Build() *BatonServiceFinishTaskRequest_Error { + m0 := &BatonServiceFinishTaskRequest_Error{} + b, x := &b0, m0 + _, _ = b, x + x.NonRetryable = b.NonRetryable + x.Annotations = b.Annotations + x.Response = b.Response + return m0 +} + type BatonServiceFinishTaskRequest_Success struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` // The response from the connector, if any. Response *anypb.Any `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` @@ -2775,11 +4772,6 @@ func (x *BatonServiceFinishTaskRequest_Success) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use BatonServiceFinishTaskRequest_Success.ProtoReflect.Descriptor instead. -func (*BatonServiceFinishTaskRequest_Success) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP(), []int{9, 1} -} - func (x *BatonServiceFinishTaskRequest_Success) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -2794,618 +4786,254 @@ func (x *BatonServiceFinishTaskRequest_Success) GetResponse() *anypb.Any { return nil } -var File_c1_connectorapi_baton_v1_baton_proto protoreflect.FileDescriptor +func (x *BatonServiceFinishTaskRequest_Success) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} -var file_c1_connectorapi_baton_v1_baton_proto_rawDesc = string([]byte{ - 0x0a, 0x24, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, - 0x69, 0x2f, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x74, 0x6f, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, - 0x1a, 0x1f, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, - 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x21, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, - 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x1e, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, - 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x1c, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, - 0x76, 0x32, 0x2f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 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, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 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, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 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, 0x9d, 0x26, 0x0a, 0x04, - 0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, - 0x6b, 0x2e, 0x4e, 0x6f, 0x6e, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x6f, - 0x6e, 0x65, 0x12, 0x40, 0x0a, 0x05, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x18, 0x65, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, - 0x6b, 0x2e, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x05, 0x68, - 0x65, 0x6c, 0x6c, 0x6f, 0x12, 0x4a, 0x0a, 0x09, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x75, 0x6c, - 0x6c, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x46, 0x75, 0x6c, 0x6c, - 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x75, 0x6c, 0x6c, - 0x12, 0x40, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, - 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x05, 0x67, 0x72, 0x61, - 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x06, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x18, 0x68, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, - 0x73, 0x6b, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, - 0x06, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x30, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, - 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x61, 0x73, - 0x6b, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x5c, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x31, - 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, - 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, - 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x5c, 0x0a, 0x0f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x31, 0x2e, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x0e, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x65, - 0x0a, 0x12, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x73, 0x18, 0x6c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x31, 0x2e, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, - 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x52, 0x6f, 0x74, 0x61, 0x74, - 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x54, 0x61, 0x73, 0x6b, - 0x48, 0x00, 0x52, 0x11, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, - 0x65, 0x65, 0x64, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x31, 0x2e, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, - 0x65, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x46, 0x65, 0x65, 0x64, 0x12, 0x5f, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2f, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, - 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x73, - 0x6b, 0x48, 0x00, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x66, 0x0a, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x74, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x6f, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, - 0x73, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x11, 0x6c, 0x69, 0x73, 0x74, - 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x4d, 0x0a, - 0x0a, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x70, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, - 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x48, - 0x00, 0x52, 0x09, 0x67, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x66, 0x0a, 0x13, - 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x73, 0x18, 0x71, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x31, 0x2e, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x48, - 0x00, 0x52, 0x11, 0x62, 0x75, 0x6c, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x12, 0x5d, 0x0a, 0x10, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x67, 0x65, 0x74, - 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x72, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, - 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, - 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x42, - 0x75, 0x6c, 0x6b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x54, 0x61, 0x73, - 0x6b, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x75, 0x6c, 0x6b, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x73, 0x12, 0x66, 0x0a, 0x13, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, - 0x73, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x73, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x34, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, - 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, - 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x11, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x12, 0x60, 0x0a, 0x11, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x18, 0x74, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x56, 0x0a, - 0x0d, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x18, 0x75, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, - 0x65, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x56, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x76, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, - 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, - 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, - 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x5d, 0x0a, - 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x64, 0x69, 0x66, - 0x66, 0x18, 0x77, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x79, - 0x6e, 0x63, 0x44, 0x69, 0x66, 0x66, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x44, 0x69, 0x66, 0x66, 0x12, 0x52, 0x0a, 0x0d, - 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x73, 0x18, 0x78, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x61, 0x73, 0x6b, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x73, - 0x48, 0x00, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x1a, 0x42, 0x0a, 0x08, 0x4e, 0x6f, 0x6e, 0x65, 0x54, 0x61, - 0x73, 0x6b, 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, 0x1a, 0x43, 0x0a, 0x09, 0x48, 0x65, - 0x6c, 0x6c, 0x6f, 0x54, 0x61, 0x73, 0x6b, 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, 0x1a, - 0x46, 0x0a, 0x0c, 0x53, 0x79, 0x6e, 0x63, 0x46, 0x75, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 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, 0x1a, 0x7e, 0x0a, 0x0d, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x46, 0x65, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 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, - 0x12, 0x35, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 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, 0x07, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x74, 0x1a, 0xf3, 0x01, 0x0a, 0x09, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x54, 0x61, 0x73, 0x6b, 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, 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, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x72, 0x0a, - 0x0a, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x54, 0x61, 0x73, 0x6b, 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, 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, 0x1a, 0xf9, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x54, 0x61, 0x73, 0x6b, 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, 0x1a, 0x4b, 0x0a, - 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, - 0x61, 0x73, 0x6b, 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, 0x1a, 0x52, 0x0a, 0x12, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x73, 0x6b, - 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, 0x1a, 0xfa, - 0x01, 0x0a, 0x15, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x73, 0x54, 0x61, 0x73, 0x6b, 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, 0x1a, 0xd5, 0x01, 0x0a, 0x10, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, - 0x12, 0x45, 0x0a, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0d, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0d, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, - 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x0c, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 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, 0x71, 0x0a, 0x15, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x58, 0x0a, 0x0f, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x6b, 0x0a, 0x12, 0x42, 0x75, 0x6c, 0x6b, 0x47, 0x65, - 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x55, 0x0a, 0x0f, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x54, - 0x61, 0x73, 0x6b, 0x52, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x73, 0x1a, 0x4f, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x54, 0x61, 0x73, 0x6b, 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, 0x1a, 0x64, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, - 0x49, 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, 0x1a, 0x4f, 0x0a, 0x15, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x54, - 0x61, 0x73, 0x6b, 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, 0x1a, 0x61, 0x0a, 0x13, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x61, - 0x73, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 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, 0x1a, 0x8b, - 0x01, 0x0a, 0x10, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x54, - 0x61, 0x73, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, - 0x02, 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, 0x04, - 0x61, 0x72, 0x67, 0x73, 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, 0x6e, 0x0a, 0x10, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x61, 0x73, 0x6b, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 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, 0x1a, 0x8e, 0x01, 0x0a, - 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x44, 0x69, 0x66, 0x66, 0x54, - 0x61, 0x73, 0x6b, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x79, 0x6e, 0x63, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x53, - 0x79, 0x6e, 0x63, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x79, 0x6e, - 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x53, - 0x79, 0x6e, 0x63, 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, 0x1a, 0xf9, 0x01, - 0x0a, 0x0c, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x73, 0x12, 0x68, - 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x79, - 0x6e, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x31, 0x2e, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, - 0x74, 0x53, 0x79, 0x6e, 0x63, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x73, 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, - 0x1a, 0x47, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, - 0x79, 0x6e, 0x63, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, - 0x12, 0x17, 0x0a, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x79, 0x6e, 0x63, 0x49, 0x64, 0x22, 0x73, 0x0a, 0x06, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, - 0x14, 0x0a, 0x10, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, - 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x04, 0x42, 0x0b, - 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xf3, 0x07, 0x0a, 0x18, - 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x65, 0x6c, 0x6c, - 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, - 0x10, 0x01, 0x18, 0x80, 0x02, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, - 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, - 0xfa, 0x42, 0x16, 0x72, 0x14, 0x32, 0x12, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, - 0x2d, 0x39, 0x5d, 0x7b, 0x32, 0x37, 0x7d, 0x7c, 0x24, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, - 0x64, 0x12, 0x65, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x65, 0x6c, - 0x6c, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, - 0x6e, 0x66, 0x6f, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, 0x62, - 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5c, 0x0a, 0x07, 0x6f, 0x73, 0x5f, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x63, 0x31, 0x2e, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x53, - 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, - 0x6f, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5b, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 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, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, - 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x06, 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, 0x42, 0x08, - 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x10, 0x10, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x95, 0x01, 0x0a, 0x09, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, - 0x10, 0x01, 0x18, 0x80, 0x02, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, 0x02, 0x52, - 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, 0x02, 0x52, 0x0e, 0x70, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x81, 0x03, - 0x0a, 0x06, 0x4f, 0x53, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, - 0x05, 0x10, 0x01, 0x18, 0x80, 0x02, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x1a, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, - 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, 0x02, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x26, 0x0a, 0x08, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, - 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, 0x02, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x35, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, - 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, 0x02, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x0f, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, 0x02, - 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, - 0x12, 0x31, 0x0a, 0x0e, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, - 0x01, 0x18, 0x80, 0x02, 0x52, 0x0d, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x0b, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x61, 0x72, - 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, - 0x01, 0x18, 0x80, 0x02, 0x52, 0x0a, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x41, 0x72, 0x63, 0x68, - 0x12, 0x3f, 0x0a, 0x15, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, 0x02, 0x52, 0x14, 0x76, 0x69, 0x72, - 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x73, 0x74, 0x65, - 0x6d, 0x22, 0x53, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 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, 0x41, 0x0a, 0x1a, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, - 0x02, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x22, 0x83, 0x02, 0x0a, 0x1b, 0x42, 0x61, - 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x74, 0x61, 0x73, - 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x36, 0x0a, - 0x09, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6e, 0x65, 0x78, - 0x74, 0x50, 0x6f, 0x6c, 0x6c, 0x12, 0x40, 0x0a, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x65, - 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x65, - 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 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, - 0xb8, 0x01, 0x0a, 0x1c, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x23, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, 0x02, 0x52, 0x06, 0x68, - 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xfa, 0x42, 0x15, 0x72, 0x13, 0x32, 0x11, 0x5e, - 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5d, 0x7b, 0x32, 0x37, 0x7d, 0x24, - 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x40, 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, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x10, 0x10, 0x52, 0x0b, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x1d, 0x42, - 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x65, 0x61, 0x72, 0x74, - 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0e, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x1c, - 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 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, 0xa3, 0x05, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x65, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x63, 0x31, 0x2e, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x59, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x63, - 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, - 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, - 0x61, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x56, 0x0a, 0x03, 0x65, 0x6f, 0x66, - 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x4f, 0x46, 0x48, 0x00, 0x52, 0x03, 0x65, 0x6f, - 0x66, 0x1a, 0xaa, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, - 0x02, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x07, 0x74, 0x61, 0x73, - 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xfa, 0x42, 0x15, 0x72, - 0x13, 0x32, 0x11, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5d, 0x7b, - 0x32, 0x37, 0x7d, 0x24, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x40, 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, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x10, - 0x10, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x2d, - 0x0a, 0x0a, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x7a, - 0x06, 0x10, 0x01, 0x18, 0x80, 0x80, 0x40, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x7f, 0x0a, - 0x09, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x4f, 0x46, 0x12, 0x30, 0x0a, 0x0f, 0x73, 0x68, - 0x61, 0x32, 0x35, 0x36, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x7a, 0x02, 0x68, 0x20, 0x52, 0x0e, 0x73, 0x68, - 0x61, 0x32, 0x35, 0x36, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x40, 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, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x10, - 0x10, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0a, - 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x59, 0x0a, 0x1f, 0x42, 0x61, - 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x41, 0x73, 0x73, 0x65, 0x74, 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, 0x8d, 0x05, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x61, 0x73, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, - 0x01, 0x18, 0x80, 0x02, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x07, - 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xfa, - 0x42, 0x15, 0x72, 0x13, 0x32, 0x11, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, - 0x39, 0x5d, 0x7b, 0x32, 0x37, 0x7d, 0x24, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, - 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x55, 0x0a, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x31, 0x2e, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, - 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x12, 0x5b, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x65, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, - 0x68, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x1a, - 0xa0, 0x01, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x6f, 0x6e, - 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0c, 0x6e, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x40, - 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, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, - 0x02, 0x10, 0x10, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x30, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, - 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, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x1a, 0x7d, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x40, 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, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, - 0x10, 0x10, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x30, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 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, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x42, 0x12, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x58, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x61, 0x73, 0x6b, 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, - 0x17, 0x0a, 0x15, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x30, 0x0a, 0x16, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0x80, 0x06, 0x0a, 0x0c, 0x42, - 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x72, 0x0a, 0x05, 0x48, - 0x65, 0x6c, 0x6c, 0x6f, 0x12, 0x32, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x65, 0x6c, 0x6c, - 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x78, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x34, 0x2e, 0x63, 0x31, 0x2e, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, - 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x35, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, - 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x6f, - 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x09, 0x48, 0x65, 0x61, - 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x36, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x65, - 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, - 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, - 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x0a, 0x46, 0x69, - 0x6e, 0x69, 0x73, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x37, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, - 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, - 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, - 0x0a, 0x0b, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x38, 0x2e, - 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, - 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x12, 0x75, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, - 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x31, 0x2e, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x67, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x37, 0x5a, - 0x35, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x75, 0x63, 0x74, - 0x6f, 0x6e, 0x65, 0x2f, 0x63, 0x31, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x62, 0x2f, 0x63, 0x31, - 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2f, 0x62, 0x61, - 0x74, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) +func (x *BatonServiceFinishTaskRequest_Success) SetResponse(v *anypb.Any) { + x.Response = v +} -var ( - file_c1_connectorapi_baton_v1_baton_proto_rawDescOnce sync.Once - file_c1_connectorapi_baton_v1_baton_proto_rawDescData []byte -) +func (x *BatonServiceFinishTaskRequest_Success) HasResponse() bool { + if x == nil { + return false + } + return x.Response != nil +} + +func (x *BatonServiceFinishTaskRequest_Success) ClearResponse() { + x.Response = nil +} + +type BatonServiceFinishTaskRequest_Success_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any + // The response from the connector, if any. + Response *anypb.Any +} -func file_c1_connectorapi_baton_v1_baton_proto_rawDescGZIP() []byte { - file_c1_connectorapi_baton_v1_baton_proto_rawDescOnce.Do(func() { - file_c1_connectorapi_baton_v1_baton_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connectorapi_baton_v1_baton_proto_rawDesc), len(file_c1_connectorapi_baton_v1_baton_proto_rawDesc))) - }) - return file_c1_connectorapi_baton_v1_baton_proto_rawDescData +func (b0 BatonServiceFinishTaskRequest_Success_builder) Build() *BatonServiceFinishTaskRequest_Success { + m0 := &BatonServiceFinishTaskRequest_Success{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + x.Response = b.Response + return m0 } +var File_c1_connectorapi_baton_v1_baton_proto protoreflect.FileDescriptor + +const file_c1_connectorapi_baton_v1_baton_proto_rawDesc = "" + + "\n" + + "$c1/connectorapi/baton/v1/baton.proto\x12\x18c1.connectorapi.baton.v1\x1a\x1fc1/connector/v2/connector.proto\x1a!c1/connector/v2/entitlement.proto\x1a\x1bc1/connector/v2/grant.proto\x1a\x1ec1/connector/v2/resource.proto\x1a\x1cc1/connector/v2/ticket.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\x1a\x17validate/validate.proto\"\xd9'\n" + + "\x04Task\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12=\n" + + "\x06status\x18\x02 \x01(\x0e2%.c1.connectorapi.baton.v1.Task.StatusR\x06status\x12=\n" + + "\x04none\x18d \x01(\v2'.c1.connectorapi.baton.v1.Task.NoneTaskH\x00R\x04none\x12@\n" + + "\x05hello\x18e \x01(\v2(.c1.connectorapi.baton.v1.Task.HelloTaskH\x00R\x05hello\x12J\n" + + "\tsync_full\x18f \x01(\v2+.c1.connectorapi.baton.v1.Task.SyncFullTaskH\x00R\bsyncFull\x12@\n" + + "\x05grant\x18g \x01(\v2(.c1.connectorapi.baton.v1.Task.GrantTaskH\x00R\x05grant\x12C\n" + + "\x06revoke\x18h \x01(\v2).c1.connectorapi.baton.v1.Task.RevokeTaskH\x00R\x06revoke\x12Y\n" + + "\x0ecreate_account\x18i \x01(\v20.c1.connectorapi.baton.v1.Task.CreateAccountTaskH\x00R\rcreateAccount\x12\\\n" + + "\x0fcreate_resource\x18j \x01(\v21.c1.connectorapi.baton.v1.Task.CreateResourceTaskH\x00R\x0ecreateResource\x12\\\n" + + "\x0fdelete_resource\x18k \x01(\v21.c1.connectorapi.baton.v1.Task.DeleteResourceTaskH\x00R\x0edeleteResource\x12e\n" + + "\x12rotate_credentials\x18l \x01(\v24.c1.connectorapi.baton.v1.Task.RotateCredentialsTaskH\x00R\x11rotateCredentials\x12M\n" + + "\n" + + "event_feed\x18m \x01(\v2,.c1.connectorapi.baton.v1.Task.EventFeedTaskH\x00R\teventFeed\x12_\n" + + "\x12create_ticket_task\x18n \x01(\v2/.c1.connectorapi.baton.v1.Task.CreateTicketTaskH\x00R\x10createTicketTask\x12f\n" + + "\x13list_ticket_schemas\x18o \x01(\v24.c1.connectorapi.baton.v1.Task.ListTicketSchemasTaskH\x00R\x11listTicketSchemas\x12M\n" + + "\n" + + "get_ticket\x18p \x01(\v2,.c1.connectorapi.baton.v1.Task.GetTicketTaskH\x00R\tgetTicket\x12f\n" + + "\x13bulk_create_tickets\x18q \x01(\v24.c1.connectorapi.baton.v1.Task.BulkCreateTicketsTaskH\x00R\x11bulkCreateTickets\x12]\n" + + "\x10bulk_get_tickets\x18r \x01(\v21.c1.connectorapi.baton.v1.Task.BulkGetTicketsTaskH\x00R\x0ebulkGetTickets\x12f\n" + + "\x13action_list_schemas\x18s \x01(\v24.c1.connectorapi.baton.v1.Task.ActionListSchemasTaskH\x00R\x11actionListSchemas\x12`\n" + + "\x11action_get_schema\x18t \x01(\v22.c1.connectorapi.baton.v1.Task.ActionGetSchemaTaskH\x00R\x0factionGetSchema\x12V\n" + + "\raction_invoke\x18u \x01(\v2/.c1.connectorapi.baton.v1.Task.ActionInvokeTaskH\x00R\factionInvoke\x12V\n" + + "\raction_status\x18v \x01(\v2/.c1.connectorapi.baton.v1.Task.ActionStatusTaskH\x00R\factionStatus\x12]\n" + + "\x10create_sync_diff\x18w \x01(\v21.c1.connectorapi.baton.v1.Task.CreateSyncDiffTaskH\x00R\x0ecreateSyncDiff\x12R\n" + + "\rcompact_syncs\x18x \x01(\v2+.c1.connectorapi.baton.v1.Task.CompactSyncsH\x00R\fcompactSyncs\x12\x14\n" + + "\x05debug\x18\x03 \x01(\bR\x05debug\x1aB\n" + + "\bNoneTask\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1aC\n" + + "\tHelloTask\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1a\xb5\x01\n" + + "\fSyncFullTask\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12,\n" + + "\x12skip_expand_grants\x18\x02 \x01(\bR\x10skipExpandGrants\x12?\n" + + "\x1cskip_entitlements_and_grants\x18\x03 \x01(\bR\x19skipEntitlementsAndGrants\x1a~\n" + + "\rEventFeedTask\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x125\n" + + "\bstart_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\astartAt\x1a\xf3\x01\n" + + "\tGrantTask\x12>\n" + + "\ventitlement\x18\x01 \x01(\v2\x1c.c1.connector.v2.EntitlementR\ventitlement\x127\n" + + "\tprincipal\x18\x02 \x01(\v2\x19.c1.connector.v2.ResourceR\tprincipal\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x125\n" + + "\bduration\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\bduration\x1ar\n" + + "\n" + + "RevokeTask\x12,\n" + + "\x05grant\x18\x01 \x01(\v2\x16.c1.connector.v2.GrantR\x05grant\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1a\xf9\x01\n" + + "\x11CreateAccountTask\x12?\n" + + "\faccount_info\x18\x01 \x01(\v2\x1c.c1.connector.v2.AccountInfoR\vaccountInfo\x12Q\n" + + "\x12credential_options\x18\x02 \x01(\v2\".c1.connector.v2.CredentialOptionsR\x11credentialOptions\x12P\n" + + "\x12encryption_configs\x18\x03 \x03(\v2!.c1.connector.v2.EncryptionConfigR\x11encryptionConfigs\x1aK\n" + + "\x12CreateResourceTask\x125\n" + + "\bresource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\bresource\x1a\x9d\x01\n" + + "\x12DeleteResourceTask\x12<\n" + + "\vresource_id\x18\x01 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\n" + + "resourceId\x12I\n" + + "\x12parent_resource_id\x18\x02 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\x10parentResourceId\x1a\xfa\x01\n" + + "\x15RotateCredentialsTask\x12<\n" + + "\vresource_id\x18\x01 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\n" + + "resourceId\x12Q\n" + + "\x12credential_options\x18\x02 \x01(\v2\".c1.connector.v2.CredentialOptionsR\x11credentialOptions\x12P\n" + + "\x12encryption_configs\x18\x03 \x03(\v2!.c1.connector.v2.EncryptionConfigR\x11encryptionConfigs\x1a\xd5\x01\n" + + "\x10CreateTicketTask\x12E\n" + + "\x0eticket_request\x18\x01 \x01(\v2\x1e.c1.connector.v2.TicketRequestR\rticketRequest\x12B\n" + + "\rticket_schema\x18\x02 \x01(\v2\x1d.c1.connector.v2.TicketSchemaR\fticketSchema\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1aq\n" + + "\x15BulkCreateTicketsTask\x12X\n" + + "\x0fticket_requests\x18\x01 \x03(\v2/.c1.connectorapi.baton.v1.Task.CreateTicketTaskR\x0eticketRequests\x1ak\n" + + "\x12BulkGetTicketsTask\x12U\n" + + "\x0fticket_requests\x18\x01 \x03(\v2,.c1.connectorapi.baton.v1.Task.GetTicketTaskR\x0eticketRequests\x1aO\n" + + "\x15ListTicketSchemasTask\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1ad\n" + + "\rGetTicketTask\x12\x1b\n" + + "\tticket_id\x18\x01 \x01(\tR\bticketId\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1aO\n" + + "\x15ActionListSchemasTask\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1aa\n" + + "\x13ActionGetSchemaTask\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1a\x8b\x01\n" + + "\x10ActionInvokeTask\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12+\n" + + "\x04args\x18\x02 \x01(\v2\x17.google.protobuf.StructR\x04args\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1an\n" + + "\x10ActionStatusTask\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x0e\n" + + "\x02id\x18\x02 \x01(\tR\x02id\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1a\x8e\x01\n" + + "\x12CreateSyncDiffTask\x12 \n" + + "\fbase_sync_id\x18\x01 \x01(\tR\n" + + "baseSyncId\x12\x1e\n" + + "\vnew_sync_id\x18\x02 \x01(\tR\tnewSyncId\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1a\xf9\x01\n" + + "\fCompactSyncs\x12h\n" + + "\x11compactable_syncs\x18\x01 \x03(\v2;.c1.connectorapi.baton.v1.Task.CompactSyncs.CompactableSyncR\x10compactableSyncs\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1aG\n" + + "\x0fCompactableSync\x12\x1b\n" + + "\tfile_path\x18\x01 \x01(\tR\bfilePath\x12\x17\n" + + "\async_id\x18\x02 \x01(\tR\x06syncId\"s\n" + + "\x06Status\x12\x16\n" + + "\x12STATUS_UNSPECIFIED\x10\x00\x12\x12\n" + + "\x0eSTATUS_PENDING\x10\x01\x12\x14\n" + + "\x10STATUS_SCHEDULED\x10\x02\x12\x12\n" + + "\x0eSTATUS_RUNNING\x10\x03\x12\x13\n" + + "\x0fSTATUS_FINISHED\x10\x04B\v\n" + + "\ttask_type\"\xf3\a\n" + + "\x18BatonServiceHelloRequest\x12#\n" + + "\ahost_id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x06hostId\x122\n" + + "\atask_id\x18\x02 \x01(\tB\x19\xfaB\x16r\x142\x12^[a-zA-Z0-9]{27}|$R\x06taskId\x12e\n" + + "\n" + + "build_info\x18\x03 \x01(\v2<.c1.connectorapi.baton.v1.BatonServiceHelloRequest.BuildInfoB\b\xfaB\x05\x8a\x01\x02\x10\x01R\tbuildInfo\x12\\\n" + + "\aos_info\x18\x04 \x01(\v29.c1.connectorapi.baton.v1.BatonServiceHelloRequest.OSInfoB\b\xfaB\x05\x8a\x01\x02\x10\x01R\x06osInfo\x12[\n" + + "\x12connector_metadata\x18\x05 \x01(\v2\".c1.connector.v2.ConnectorMetadataB\b\xfaB\x05\x8a\x01\x02\x10\x01R\x11connectorMetadata\x12@\n" + + "\vannotations\x18\x06 \x03(\v2\x14.google.protobuf.AnyB\b\xfaB\x05\x92\x01\x02\x10\x10R\vannotations\x1a\x95\x01\n" + + "\tBuildInfo\x12-\n" + + "\flang_version\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\vlangVersion\x12$\n" + + "\apackage\x18\x02 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\apackage\x123\n" + + "\x0fpackage_version\x18\x03 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x0epackageVersion\x1a\x81\x03\n" + + "\x06OSInfo\x12&\n" + + "\bhostname\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\bhostname\x12\x1a\n" + + "\x02os\x18\x02 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x02os\x12&\n" + + "\bplatform\x18\x03 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\bplatform\x125\n" + + "\x10platform_version\x18\x04 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x0fplatformVersion\x123\n" + + "\x0fplatform_family\x18\x05 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x0eplatformFamily\x121\n" + + "\x0ekernel_version\x18\x06 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\rkernelVersion\x12+\n" + + "\vkernel_arch\x18\a \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\n" + + "kernelArch\x12?\n" + + "\x15virtualization_system\x18\b \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x14virtualizationSystem\"S\n" + + "\x19BatonServiceHelloResponse\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"A\n" + + "\x1aBatonServiceGetTaskRequest\x12#\n" + + "\ahost_id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x06hostId\"\x83\x02\n" + + "\x1bBatonServiceGetTaskResponse\x122\n" + + "\x04task\x18\x01 \x01(\v2\x1e.c1.connectorapi.baton.v1.TaskR\x04task\x126\n" + + "\tnext_poll\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\bnextPoll\x12@\n" + + "\x0enext_heartbeat\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\rnextHeartbeat\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xb8\x01\n" + + "\x1cBatonServiceHeartbeatRequest\x12#\n" + + "\ahost_id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x06hostId\x121\n" + + "\atask_id\x18\x02 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06taskId\x12@\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyB\b\xfaB\x05\x92\x01\x02\x10\x10R\vannotations\"\xb7\x01\n" + + "\x1dBatonServiceHeartbeatResponse\x12@\n" + + "\x0enext_heartbeat\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\rnextHeartbeat\x12\x1c\n" + + "\tcancelled\x18\x02 \x01(\bR\tcancelled\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xa3\x05\n" + + "\x1eBatonServiceUploadAssetRequest\x12e\n" + + "\bmetadata\x18d \x01(\v2G.c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.UploadMetadataH\x00R\bmetadata\x12Y\n" + + "\x04data\x18e \x01(\v2C.c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.UploadDataH\x00R\x04data\x12V\n" + + "\x03eof\x18f \x01(\v2B.c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.UploadEOFH\x00R\x03eof\x1a\xaa\x01\n" + + "\x0eUploadMetadata\x12#\n" + + "\ahost_id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x06hostId\x121\n" + + "\atask_id\x18\x02 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06taskId\x12@\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyB\b\xfaB\x05\x92\x01\x02\x10\x10R\vannotations\x1a-\n" + + "\n" + + "UploadData\x12\x1f\n" + + "\x04data\x18\x01 \x01(\fB\v\xfaB\bz\x06\x10\x01\x18\x80\x80@R\x04data\x1a\x7f\n" + + "\tUploadEOF\x120\n" + + "\x0fsha256_checksum\x18\x01 \x01(\fB\a\xfaB\x04z\x02h R\x0esha256Checksum\x12@\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyB\b\xfaB\x05\x92\x01\x02\x10\x10R\vannotationsB\n" + + "\n" + + "\x03msg\x12\x03\xf8B\x01\"Y\n" + + "\x1fBatonServiceUploadAssetResponse\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x8d\x05\n" + + "\x1dBatonServiceFinishTaskRequest\x12#\n" + + "\ahost_id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x06hostId\x121\n" + + "\atask_id\x18\x02 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06taskId\x12*\n" + + "\x06status\x18\x03 \x01(\v2\x12.google.rpc.StatusR\x06status\x12U\n" + + "\x05error\x18d \x01(\v2=.c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.ErrorH\x00R\x05error\x12[\n" + + "\asuccess\x18e \x01(\v2?.c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.SuccessH\x00R\asuccess\x1a\xa0\x01\n" + + "\x05Error\x12#\n" + + "\rnon_retryable\x18\x01 \x01(\bR\fnonRetryable\x12@\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyB\b\xfaB\x05\x92\x01\x02\x10\x10R\vannotations\x120\n" + + "\bresponse\x18\x03 \x01(\v2\x14.google.protobuf.AnyR\bresponse\x1a}\n" + + "\aSuccess\x12@\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyB\b\xfaB\x05\x92\x01\x02\x10\x10R\vannotations\x120\n" + + "\bresponse\x18\x02 \x01(\v2\x14.google.protobuf.AnyR\bresponseB\x12\n" + + "\vfinal_state\x12\x03\xf8B\x01\"X\n" + + "\x1eBatonServiceFinishTaskResponse\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x17\n" + + "\x15StartDebuggingRequest\"0\n" + + "\x16StartDebuggingResponse\x12\x16\n" + + "\x06status\x18\x01 \x01(\bR\x06status2\x80\x06\n" + + "\fBatonService\x12r\n" + + "\x05Hello\x122.c1.connectorapi.baton.v1.BatonServiceHelloRequest\x1a3.c1.connectorapi.baton.v1.BatonServiceHelloResponse\"\x00\x12x\n" + + "\aGetTask\x124.c1.connectorapi.baton.v1.BatonServiceGetTaskRequest\x1a5.c1.connectorapi.baton.v1.BatonServiceGetTaskResponse\"\x00\x12~\n" + + "\tHeartbeat\x126.c1.connectorapi.baton.v1.BatonServiceHeartbeatRequest\x1a7.c1.connectorapi.baton.v1.BatonServiceHeartbeatResponse\"\x00\x12\x81\x01\n" + + "\n" + + "FinishTask\x127.c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest\x1a8.c1.connectorapi.baton.v1.BatonServiceFinishTaskResponse\"\x00\x12\x86\x01\n" + + "\vUploadAsset\x128.c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest\x1a9.c1.connectorapi.baton.v1.BatonServiceUploadAssetResponse\"\x00(\x01\x12u\n" + + "\x0eStartDebugging\x12/.c1.connectorapi.baton.v1.StartDebuggingRequest\x1a0.c1.connectorapi.baton.v1.StartDebuggingResponse\"\x00B7Z5gitlab.com/ductone/c1/pkg/pb/c1/connectorapi/baton/v1b\x06proto3" + var file_c1_connectorapi_baton_v1_baton_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_c1_connectorapi_baton_v1_baton_proto_msgTypes = make([]protoimpl.MessageInfo, 42) var file_c1_connectorapi_baton_v1_baton_proto_goTypes = []any{ @@ -3527,47 +5155,48 @@ var file_c1_connectorapi_baton_v1_baton_proto_depIdxs = []int32{ 53, // 55: c1.connectorapi.baton.v1.Task.CreateAccountTask.encryption_configs:type_name -> c1.connector.v2.EncryptionConfig 49, // 56: c1.connectorapi.baton.v1.Task.CreateResourceTask.resource:type_name -> c1.connector.v2.Resource 54, // 57: c1.connectorapi.baton.v1.Task.DeleteResourceTask.resource_id:type_name -> c1.connector.v2.ResourceId - 54, // 58: c1.connectorapi.baton.v1.Task.RotateCredentialsTask.resource_id:type_name -> c1.connector.v2.ResourceId - 52, // 59: c1.connectorapi.baton.v1.Task.RotateCredentialsTask.credential_options:type_name -> c1.connector.v2.CredentialOptions - 53, // 60: c1.connectorapi.baton.v1.Task.RotateCredentialsTask.encryption_configs:type_name -> c1.connector.v2.EncryptionConfig - 55, // 61: c1.connectorapi.baton.v1.Task.CreateTicketTask.ticket_request:type_name -> c1.connector.v2.TicketRequest - 56, // 62: c1.connectorapi.baton.v1.Task.CreateTicketTask.ticket_schema:type_name -> c1.connector.v2.TicketSchema - 44, // 63: c1.connectorapi.baton.v1.Task.CreateTicketTask.annotations:type_name -> google.protobuf.Any - 24, // 64: c1.connectorapi.baton.v1.Task.BulkCreateTicketsTask.ticket_requests:type_name -> c1.connectorapi.baton.v1.Task.CreateTicketTask - 28, // 65: c1.connectorapi.baton.v1.Task.BulkGetTicketsTask.ticket_requests:type_name -> c1.connectorapi.baton.v1.Task.GetTicketTask - 44, // 66: c1.connectorapi.baton.v1.Task.ListTicketSchemasTask.annotations:type_name -> google.protobuf.Any - 44, // 67: c1.connectorapi.baton.v1.Task.GetTicketTask.annotations:type_name -> google.protobuf.Any - 44, // 68: c1.connectorapi.baton.v1.Task.ActionListSchemasTask.annotations:type_name -> google.protobuf.Any - 44, // 69: c1.connectorapi.baton.v1.Task.ActionGetSchemaTask.annotations:type_name -> google.protobuf.Any - 57, // 70: c1.connectorapi.baton.v1.Task.ActionInvokeTask.args:type_name -> google.protobuf.Struct - 44, // 71: c1.connectorapi.baton.v1.Task.ActionInvokeTask.annotations:type_name -> google.protobuf.Any - 44, // 72: c1.connectorapi.baton.v1.Task.ActionStatusTask.annotations:type_name -> google.protobuf.Any - 44, // 73: c1.connectorapi.baton.v1.Task.CreateSyncDiffTask.annotations:type_name -> google.protobuf.Any - 35, // 74: c1.connectorapi.baton.v1.Task.CompactSyncs.compactable_syncs:type_name -> c1.connectorapi.baton.v1.Task.CompactSyncs.CompactableSync - 44, // 75: c1.connectorapi.baton.v1.Task.CompactSyncs.annotations:type_name -> google.protobuf.Any - 44, // 76: c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.UploadMetadata.annotations:type_name -> google.protobuf.Any - 44, // 77: c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.UploadEOF.annotations:type_name -> google.protobuf.Any - 44, // 78: c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.Error.annotations:type_name -> google.protobuf.Any - 44, // 79: c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.Error.response:type_name -> google.protobuf.Any - 44, // 80: c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.Success.annotations:type_name -> google.protobuf.Any - 44, // 81: c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.Success.response:type_name -> google.protobuf.Any - 2, // 82: c1.connectorapi.baton.v1.BatonService.Hello:input_type -> c1.connectorapi.baton.v1.BatonServiceHelloRequest - 4, // 83: c1.connectorapi.baton.v1.BatonService.GetTask:input_type -> c1.connectorapi.baton.v1.BatonServiceGetTaskRequest - 6, // 84: c1.connectorapi.baton.v1.BatonService.Heartbeat:input_type -> c1.connectorapi.baton.v1.BatonServiceHeartbeatRequest - 10, // 85: c1.connectorapi.baton.v1.BatonService.FinishTask:input_type -> c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest - 8, // 86: c1.connectorapi.baton.v1.BatonService.UploadAsset:input_type -> c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest - 12, // 87: c1.connectorapi.baton.v1.BatonService.StartDebugging:input_type -> c1.connectorapi.baton.v1.StartDebuggingRequest - 3, // 88: c1.connectorapi.baton.v1.BatonService.Hello:output_type -> c1.connectorapi.baton.v1.BatonServiceHelloResponse - 5, // 89: c1.connectorapi.baton.v1.BatonService.GetTask:output_type -> c1.connectorapi.baton.v1.BatonServiceGetTaskResponse - 7, // 90: c1.connectorapi.baton.v1.BatonService.Heartbeat:output_type -> c1.connectorapi.baton.v1.BatonServiceHeartbeatResponse - 11, // 91: c1.connectorapi.baton.v1.BatonService.FinishTask:output_type -> c1.connectorapi.baton.v1.BatonServiceFinishTaskResponse - 9, // 92: c1.connectorapi.baton.v1.BatonService.UploadAsset:output_type -> c1.connectorapi.baton.v1.BatonServiceUploadAssetResponse - 13, // 93: c1.connectorapi.baton.v1.BatonService.StartDebugging:output_type -> c1.connectorapi.baton.v1.StartDebuggingResponse - 88, // [88:94] is the sub-list for method output_type - 82, // [82:88] is the sub-list for method input_type - 82, // [82:82] is the sub-list for extension type_name - 82, // [82:82] is the sub-list for extension extendee - 0, // [0:82] is the sub-list for field type_name + 54, // 58: c1.connectorapi.baton.v1.Task.DeleteResourceTask.parent_resource_id:type_name -> c1.connector.v2.ResourceId + 54, // 59: c1.connectorapi.baton.v1.Task.RotateCredentialsTask.resource_id:type_name -> c1.connector.v2.ResourceId + 52, // 60: c1.connectorapi.baton.v1.Task.RotateCredentialsTask.credential_options:type_name -> c1.connector.v2.CredentialOptions + 53, // 61: c1.connectorapi.baton.v1.Task.RotateCredentialsTask.encryption_configs:type_name -> c1.connector.v2.EncryptionConfig + 55, // 62: c1.connectorapi.baton.v1.Task.CreateTicketTask.ticket_request:type_name -> c1.connector.v2.TicketRequest + 56, // 63: c1.connectorapi.baton.v1.Task.CreateTicketTask.ticket_schema:type_name -> c1.connector.v2.TicketSchema + 44, // 64: c1.connectorapi.baton.v1.Task.CreateTicketTask.annotations:type_name -> google.protobuf.Any + 24, // 65: c1.connectorapi.baton.v1.Task.BulkCreateTicketsTask.ticket_requests:type_name -> c1.connectorapi.baton.v1.Task.CreateTicketTask + 28, // 66: c1.connectorapi.baton.v1.Task.BulkGetTicketsTask.ticket_requests:type_name -> c1.connectorapi.baton.v1.Task.GetTicketTask + 44, // 67: c1.connectorapi.baton.v1.Task.ListTicketSchemasTask.annotations:type_name -> google.protobuf.Any + 44, // 68: c1.connectorapi.baton.v1.Task.GetTicketTask.annotations:type_name -> google.protobuf.Any + 44, // 69: c1.connectorapi.baton.v1.Task.ActionListSchemasTask.annotations:type_name -> google.protobuf.Any + 44, // 70: c1.connectorapi.baton.v1.Task.ActionGetSchemaTask.annotations:type_name -> google.protobuf.Any + 57, // 71: c1.connectorapi.baton.v1.Task.ActionInvokeTask.args:type_name -> google.protobuf.Struct + 44, // 72: c1.connectorapi.baton.v1.Task.ActionInvokeTask.annotations:type_name -> google.protobuf.Any + 44, // 73: c1.connectorapi.baton.v1.Task.ActionStatusTask.annotations:type_name -> google.protobuf.Any + 44, // 74: c1.connectorapi.baton.v1.Task.CreateSyncDiffTask.annotations:type_name -> google.protobuf.Any + 35, // 75: c1.connectorapi.baton.v1.Task.CompactSyncs.compactable_syncs:type_name -> c1.connectorapi.baton.v1.Task.CompactSyncs.CompactableSync + 44, // 76: c1.connectorapi.baton.v1.Task.CompactSyncs.annotations:type_name -> google.protobuf.Any + 44, // 77: c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.UploadMetadata.annotations:type_name -> google.protobuf.Any + 44, // 78: c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.UploadEOF.annotations:type_name -> google.protobuf.Any + 44, // 79: c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.Error.annotations:type_name -> google.protobuf.Any + 44, // 80: c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.Error.response:type_name -> google.protobuf.Any + 44, // 81: c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.Success.annotations:type_name -> google.protobuf.Any + 44, // 82: c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.Success.response:type_name -> google.protobuf.Any + 2, // 83: c1.connectorapi.baton.v1.BatonService.Hello:input_type -> c1.connectorapi.baton.v1.BatonServiceHelloRequest + 4, // 84: c1.connectorapi.baton.v1.BatonService.GetTask:input_type -> c1.connectorapi.baton.v1.BatonServiceGetTaskRequest + 6, // 85: c1.connectorapi.baton.v1.BatonService.Heartbeat:input_type -> c1.connectorapi.baton.v1.BatonServiceHeartbeatRequest + 10, // 86: c1.connectorapi.baton.v1.BatonService.FinishTask:input_type -> c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest + 8, // 87: c1.connectorapi.baton.v1.BatonService.UploadAsset:input_type -> c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest + 12, // 88: c1.connectorapi.baton.v1.BatonService.StartDebugging:input_type -> c1.connectorapi.baton.v1.StartDebuggingRequest + 3, // 89: c1.connectorapi.baton.v1.BatonService.Hello:output_type -> c1.connectorapi.baton.v1.BatonServiceHelloResponse + 5, // 90: c1.connectorapi.baton.v1.BatonService.GetTask:output_type -> c1.connectorapi.baton.v1.BatonServiceGetTaskResponse + 7, // 91: c1.connectorapi.baton.v1.BatonService.Heartbeat:output_type -> c1.connectorapi.baton.v1.BatonServiceHeartbeatResponse + 11, // 92: c1.connectorapi.baton.v1.BatonService.FinishTask:output_type -> c1.connectorapi.baton.v1.BatonServiceFinishTaskResponse + 9, // 93: c1.connectorapi.baton.v1.BatonService.UploadAsset:output_type -> c1.connectorapi.baton.v1.BatonServiceUploadAssetResponse + 13, // 94: c1.connectorapi.baton.v1.BatonService.StartDebugging:output_type -> c1.connectorapi.baton.v1.StartDebuggingResponse + 89, // [89:95] is the sub-list for method output_type + 83, // [83:89] is the sub-list for method input_type + 83, // [83:83] is the sub-list for extension type_name + 83, // [83:83] is the sub-list for extension extendee + 0, // [0:83] is the sub-list for field type_name } func init() { file_c1_connectorapi_baton_v1_baton_proto_init() } diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/baton.pb.validate.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/baton.pb.validate.go index 15741a2a..bf4b6afe 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/baton.pb.validate.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/baton.pb.validate.go @@ -3414,6 +3414,10 @@ func (m *Task_SyncFullTask) validate(all bool) error { } + // no validation rules for SkipExpandGrants + + // no validation rules for SkipEntitlementsAndGrants + if len(errors) > 0 { return Task_SyncFullTaskMultiError(errors) } @@ -4419,6 +4423,35 @@ func (m *Task_DeleteResourceTask) 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, Task_DeleteResourceTaskValidationError{ + field: "ParentResourceId", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, Task_DeleteResourceTaskValidationError{ + 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 Task_DeleteResourceTaskValidationError{ + field: "ParentResourceId", + reason: "embedded message failed validation", + cause: err, + } + } + } + if len(errors) > 0 { return Task_DeleteResourceTaskMultiError(errors) } diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/baton_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/baton_protoopaque.pb.go new file mode 100644 index 00000000..63c75c00 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/baton_protoopaque.pb.go @@ -0,0 +1,5262 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connectorapi/baton/v1/baton.proto + +//go:build protoopaque + +package v1 + +import ( + v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" + _ "github.com/envoyproxy/protoc-gen-validate/validate" + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + durationpb "google.golang.org/protobuf/types/known/durationpb" + structpb "google.golang.org/protobuf/types/known/structpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + 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) +) + +type Task_Status int32 + +const ( + Task_STATUS_UNSPECIFIED Task_Status = 0 + Task_STATUS_PENDING Task_Status = 1 + Task_STATUS_SCHEDULED Task_Status = 2 + Task_STATUS_RUNNING Task_Status = 3 + Task_STATUS_FINISHED Task_Status = 4 +) + +// Enum value maps for Task_Status. +var ( + Task_Status_name = map[int32]string{ + 0: "STATUS_UNSPECIFIED", + 1: "STATUS_PENDING", + 2: "STATUS_SCHEDULED", + 3: "STATUS_RUNNING", + 4: "STATUS_FINISHED", + } + Task_Status_value = map[string]int32{ + "STATUS_UNSPECIFIED": 0, + "STATUS_PENDING": 1, + "STATUS_SCHEDULED": 2, + "STATUS_RUNNING": 3, + "STATUS_FINISHED": 4, + } +) + +func (x Task_Status) Enum() *Task_Status { + p := new(Task_Status) + *p = x + return p +} + +func (x Task_Status) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Task_Status) Descriptor() protoreflect.EnumDescriptor { + return file_c1_connectorapi_baton_v1_baton_proto_enumTypes[0].Descriptor() +} + +func (Task_Status) Type() protoreflect.EnumType { + return &file_c1_connectorapi_baton_v1_baton_proto_enumTypes[0] +} + +func (x Task_Status) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type Task struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + xxx_hidden_Status Task_Status `protobuf:"varint,2,opt,name=status,proto3,enum=c1.connectorapi.baton.v1.Task_Status"` + xxx_hidden_TaskType isTask_TaskType `protobuf_oneof:"task_type"` + xxx_hidden_Debug bool `protobuf:"varint,3,opt,name=debug,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task) Reset() { + *x = Task{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task) ProtoMessage() {} + +func (x *Task) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_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) +} + +func (x *Task) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *Task) GetStatus() Task_Status { + if x != nil { + return x.xxx_hidden_Status + } + return Task_STATUS_UNSPECIFIED +} + +func (x *Task) GetNone() *Task_NoneTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_None); ok { + return x.None + } + } + return nil +} + +func (x *Task) GetHello() *Task_HelloTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_Hello); ok { + return x.Hello + } + } + return nil +} + +func (x *Task) GetSyncFull() *Task_SyncFullTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_SyncFull); ok { + return x.SyncFull + } + } + return nil +} + +func (x *Task) GetGrant() *Task_GrantTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_Grant); ok { + return x.Grant + } + } + return nil +} + +func (x *Task) GetRevoke() *Task_RevokeTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_Revoke); ok { + return x.Revoke + } + } + return nil +} + +func (x *Task) GetCreateAccount() *Task_CreateAccountTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_CreateAccount); ok { + return x.CreateAccount + } + } + return nil +} + +func (x *Task) GetCreateResource() *Task_CreateResourceTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_CreateResource); ok { + return x.CreateResource + } + } + return nil +} + +func (x *Task) GetDeleteResource() *Task_DeleteResourceTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_DeleteResource); ok { + return x.DeleteResource + } + } + return nil +} + +func (x *Task) GetRotateCredentials() *Task_RotateCredentialsTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_RotateCredentials); ok { + return x.RotateCredentials + } + } + return nil +} + +func (x *Task) GetEventFeed() *Task_EventFeedTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_EventFeed); ok { + return x.EventFeed + } + } + return nil +} + +func (x *Task) GetCreateTicketTask() *Task_CreateTicketTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_CreateTicketTask_); ok { + return x.CreateTicketTask + } + } + return nil +} + +func (x *Task) GetListTicketSchemas() *Task_ListTicketSchemasTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_ListTicketSchemas); ok { + return x.ListTicketSchemas + } + } + return nil +} + +func (x *Task) GetGetTicket() *Task_GetTicketTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_GetTicket); ok { + return x.GetTicket + } + } + return nil +} + +func (x *Task) GetBulkCreateTickets() *Task_BulkCreateTicketsTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_BulkCreateTickets); ok { + return x.BulkCreateTickets + } + } + return nil +} + +func (x *Task) GetBulkGetTickets() *Task_BulkGetTicketsTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_BulkGetTickets); ok { + return x.BulkGetTickets + } + } + return nil +} + +func (x *Task) GetActionListSchemas() *Task_ActionListSchemasTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_ActionListSchemas); ok { + return x.ActionListSchemas + } + } + return nil +} + +func (x *Task) GetActionGetSchema() *Task_ActionGetSchemaTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_ActionGetSchema); ok { + return x.ActionGetSchema + } + } + return nil +} + +func (x *Task) GetActionInvoke() *Task_ActionInvokeTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_ActionInvoke); ok { + return x.ActionInvoke + } + } + return nil +} + +func (x *Task) GetActionStatus() *Task_ActionStatusTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_ActionStatus); ok { + return x.ActionStatus + } + } + return nil +} + +func (x *Task) GetCreateSyncDiff() *Task_CreateSyncDiffTask { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_CreateSyncDiff); ok { + return x.CreateSyncDiff + } + } + return nil +} + +func (x *Task) GetCompactSyncs() *Task_CompactSyncs { + if x != nil { + if x, ok := x.xxx_hidden_TaskType.(*task_CompactSyncs_); ok { + return x.CompactSyncs + } + } + return nil +} + +func (x *Task) GetDebug() bool { + if x != nil { + return x.xxx_hidden_Debug + } + return false +} + +func (x *Task) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *Task) SetStatus(v Task_Status) { + x.xxx_hidden_Status = v +} + +func (x *Task) SetNone(v *Task_NoneTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_None{v} +} + +func (x *Task) SetHello(v *Task_HelloTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_Hello{v} +} + +func (x *Task) SetSyncFull(v *Task_SyncFullTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_SyncFull{v} +} + +func (x *Task) SetGrant(v *Task_GrantTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_Grant{v} +} + +func (x *Task) SetRevoke(v *Task_RevokeTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_Revoke{v} +} + +func (x *Task) SetCreateAccount(v *Task_CreateAccountTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_CreateAccount{v} +} + +func (x *Task) SetCreateResource(v *Task_CreateResourceTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_CreateResource{v} +} + +func (x *Task) SetDeleteResource(v *Task_DeleteResourceTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_DeleteResource{v} +} + +func (x *Task) SetRotateCredentials(v *Task_RotateCredentialsTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_RotateCredentials{v} +} + +func (x *Task) SetEventFeed(v *Task_EventFeedTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_EventFeed{v} +} + +func (x *Task) SetCreateTicketTask(v *Task_CreateTicketTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_CreateTicketTask_{v} +} + +func (x *Task) SetListTicketSchemas(v *Task_ListTicketSchemasTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_ListTicketSchemas{v} +} + +func (x *Task) SetGetTicket(v *Task_GetTicketTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_GetTicket{v} +} + +func (x *Task) SetBulkCreateTickets(v *Task_BulkCreateTicketsTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_BulkCreateTickets{v} +} + +func (x *Task) SetBulkGetTickets(v *Task_BulkGetTicketsTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_BulkGetTickets{v} +} + +func (x *Task) SetActionListSchemas(v *Task_ActionListSchemasTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_ActionListSchemas{v} +} + +func (x *Task) SetActionGetSchema(v *Task_ActionGetSchemaTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_ActionGetSchema{v} +} + +func (x *Task) SetActionInvoke(v *Task_ActionInvokeTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_ActionInvoke{v} +} + +func (x *Task) SetActionStatus(v *Task_ActionStatusTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_ActionStatus{v} +} + +func (x *Task) SetCreateSyncDiff(v *Task_CreateSyncDiffTask) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_CreateSyncDiff{v} +} + +func (x *Task) SetCompactSyncs(v *Task_CompactSyncs) { + if v == nil { + x.xxx_hidden_TaskType = nil + return + } + x.xxx_hidden_TaskType = &task_CompactSyncs_{v} +} + +func (x *Task) SetDebug(v bool) { + x.xxx_hidden_Debug = v +} + +func (x *Task) HasTaskType() bool { + if x == nil { + return false + } + return x.xxx_hidden_TaskType != nil +} + +func (x *Task) HasNone() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_None) + return ok +} + +func (x *Task) HasHello() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_Hello) + return ok +} + +func (x *Task) HasSyncFull() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_SyncFull) + return ok +} + +func (x *Task) HasGrant() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_Grant) + return ok +} + +func (x *Task) HasRevoke() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_Revoke) + return ok +} + +func (x *Task) HasCreateAccount() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_CreateAccount) + return ok +} + +func (x *Task) HasCreateResource() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_CreateResource) + return ok +} + +func (x *Task) HasDeleteResource() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_DeleteResource) + return ok +} + +func (x *Task) HasRotateCredentials() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_RotateCredentials) + return ok +} + +func (x *Task) HasEventFeed() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_EventFeed) + return ok +} + +func (x *Task) HasCreateTicketTask() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_CreateTicketTask_) + return ok +} + +func (x *Task) HasListTicketSchemas() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_ListTicketSchemas) + return ok +} + +func (x *Task) HasGetTicket() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_GetTicket) + return ok +} + +func (x *Task) HasBulkCreateTickets() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_BulkCreateTickets) + return ok +} + +func (x *Task) HasBulkGetTickets() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_BulkGetTickets) + return ok +} + +func (x *Task) HasActionListSchemas() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_ActionListSchemas) + return ok +} + +func (x *Task) HasActionGetSchema() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_ActionGetSchema) + return ok +} + +func (x *Task) HasActionInvoke() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_ActionInvoke) + return ok +} + +func (x *Task) HasActionStatus() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_ActionStatus) + return ok +} + +func (x *Task) HasCreateSyncDiff() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_CreateSyncDiff) + return ok +} + +func (x *Task) HasCompactSyncs() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_TaskType.(*task_CompactSyncs_) + return ok +} + +func (x *Task) ClearTaskType() { + x.xxx_hidden_TaskType = nil +} + +func (x *Task) ClearNone() { + if _, ok := x.xxx_hidden_TaskType.(*task_None); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearHello() { + if _, ok := x.xxx_hidden_TaskType.(*task_Hello); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearSyncFull() { + if _, ok := x.xxx_hidden_TaskType.(*task_SyncFull); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearGrant() { + if _, ok := x.xxx_hidden_TaskType.(*task_Grant); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearRevoke() { + if _, ok := x.xxx_hidden_TaskType.(*task_Revoke); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearCreateAccount() { + if _, ok := x.xxx_hidden_TaskType.(*task_CreateAccount); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearCreateResource() { + if _, ok := x.xxx_hidden_TaskType.(*task_CreateResource); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearDeleteResource() { + if _, ok := x.xxx_hidden_TaskType.(*task_DeleteResource); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearRotateCredentials() { + if _, ok := x.xxx_hidden_TaskType.(*task_RotateCredentials); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearEventFeed() { + if _, ok := x.xxx_hidden_TaskType.(*task_EventFeed); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearCreateTicketTask() { + if _, ok := x.xxx_hidden_TaskType.(*task_CreateTicketTask_); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearListTicketSchemas() { + if _, ok := x.xxx_hidden_TaskType.(*task_ListTicketSchemas); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearGetTicket() { + if _, ok := x.xxx_hidden_TaskType.(*task_GetTicket); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearBulkCreateTickets() { + if _, ok := x.xxx_hidden_TaskType.(*task_BulkCreateTickets); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearBulkGetTickets() { + if _, ok := x.xxx_hidden_TaskType.(*task_BulkGetTickets); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearActionListSchemas() { + if _, ok := x.xxx_hidden_TaskType.(*task_ActionListSchemas); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearActionGetSchema() { + if _, ok := x.xxx_hidden_TaskType.(*task_ActionGetSchema); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearActionInvoke() { + if _, ok := x.xxx_hidden_TaskType.(*task_ActionInvoke); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearActionStatus() { + if _, ok := x.xxx_hidden_TaskType.(*task_ActionStatus); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearCreateSyncDiff() { + if _, ok := x.xxx_hidden_TaskType.(*task_CreateSyncDiff); ok { + x.xxx_hidden_TaskType = nil + } +} + +func (x *Task) ClearCompactSyncs() { + if _, ok := x.xxx_hidden_TaskType.(*task_CompactSyncs_); ok { + x.xxx_hidden_TaskType = nil + } +} + +const Task_TaskType_not_set_case case_Task_TaskType = 0 +const Task_None_case case_Task_TaskType = 100 +const Task_Hello_case case_Task_TaskType = 101 +const Task_SyncFull_case case_Task_TaskType = 102 +const Task_Grant_case case_Task_TaskType = 103 +const Task_Revoke_case case_Task_TaskType = 104 +const Task_CreateAccount_case case_Task_TaskType = 105 +const Task_CreateResource_case case_Task_TaskType = 106 +const Task_DeleteResource_case case_Task_TaskType = 107 +const Task_RotateCredentials_case case_Task_TaskType = 108 +const Task_EventFeed_case case_Task_TaskType = 109 +const Task_CreateTicketTask_case case_Task_TaskType = 110 +const Task_ListTicketSchemas_case case_Task_TaskType = 111 +const Task_GetTicket_case case_Task_TaskType = 112 +const Task_BulkCreateTickets_case case_Task_TaskType = 113 +const Task_BulkGetTickets_case case_Task_TaskType = 114 +const Task_ActionListSchemas_case case_Task_TaskType = 115 +const Task_ActionGetSchema_case case_Task_TaskType = 116 +const Task_ActionInvoke_case case_Task_TaskType = 117 +const Task_ActionStatus_case case_Task_TaskType = 118 +const Task_CreateSyncDiff_case case_Task_TaskType = 119 +const Task_CompactSyncs_case case_Task_TaskType = 120 + +func (x *Task) WhichTaskType() case_Task_TaskType { + if x == nil { + return Task_TaskType_not_set_case + } + switch x.xxx_hidden_TaskType.(type) { + case *task_None: + return Task_None_case + case *task_Hello: + return Task_Hello_case + case *task_SyncFull: + return Task_SyncFull_case + case *task_Grant: + return Task_Grant_case + case *task_Revoke: + return Task_Revoke_case + case *task_CreateAccount: + return Task_CreateAccount_case + case *task_CreateResource: + return Task_CreateResource_case + case *task_DeleteResource: + return Task_DeleteResource_case + case *task_RotateCredentials: + return Task_RotateCredentials_case + case *task_EventFeed: + return Task_EventFeed_case + case *task_CreateTicketTask_: + return Task_CreateTicketTask_case + case *task_ListTicketSchemas: + return Task_ListTicketSchemas_case + case *task_GetTicket: + return Task_GetTicket_case + case *task_BulkCreateTickets: + return Task_BulkCreateTickets_case + case *task_BulkGetTickets: + return Task_BulkGetTickets_case + case *task_ActionListSchemas: + return Task_ActionListSchemas_case + case *task_ActionGetSchema: + return Task_ActionGetSchema_case + case *task_ActionInvoke: + return Task_ActionInvoke_case + case *task_ActionStatus: + return Task_ActionStatus_case + case *task_CreateSyncDiff: + return Task_CreateSyncDiff_case + case *task_CompactSyncs_: + return Task_CompactSyncs_case + default: + return Task_TaskType_not_set_case + } +} + +type Task_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + Status Task_Status + // Fields of oneof xxx_hidden_TaskType: + None *Task_NoneTask + Hello *Task_HelloTask + SyncFull *Task_SyncFullTask + Grant *Task_GrantTask + Revoke *Task_RevokeTask + CreateAccount *Task_CreateAccountTask + CreateResource *Task_CreateResourceTask + DeleteResource *Task_DeleteResourceTask + RotateCredentials *Task_RotateCredentialsTask + EventFeed *Task_EventFeedTask + CreateTicketTask *Task_CreateTicketTask + ListTicketSchemas *Task_ListTicketSchemasTask + GetTicket *Task_GetTicketTask + BulkCreateTickets *Task_BulkCreateTicketsTask + BulkGetTickets *Task_BulkGetTicketsTask + ActionListSchemas *Task_ActionListSchemasTask + ActionGetSchema *Task_ActionGetSchemaTask + ActionInvoke *Task_ActionInvokeTask + ActionStatus *Task_ActionStatusTask + CreateSyncDiff *Task_CreateSyncDiffTask + CompactSyncs *Task_CompactSyncs + // -- end of xxx_hidden_TaskType + Debug bool +} + +func (b0 Task_builder) Build() *Task { + m0 := &Task{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + x.xxx_hidden_Status = b.Status + if b.None != nil { + x.xxx_hidden_TaskType = &task_None{b.None} + } + if b.Hello != nil { + x.xxx_hidden_TaskType = &task_Hello{b.Hello} + } + if b.SyncFull != nil { + x.xxx_hidden_TaskType = &task_SyncFull{b.SyncFull} + } + if b.Grant != nil { + x.xxx_hidden_TaskType = &task_Grant{b.Grant} + } + if b.Revoke != nil { + x.xxx_hidden_TaskType = &task_Revoke{b.Revoke} + } + if b.CreateAccount != nil { + x.xxx_hidden_TaskType = &task_CreateAccount{b.CreateAccount} + } + if b.CreateResource != nil { + x.xxx_hidden_TaskType = &task_CreateResource{b.CreateResource} + } + if b.DeleteResource != nil { + x.xxx_hidden_TaskType = &task_DeleteResource{b.DeleteResource} + } + if b.RotateCredentials != nil { + x.xxx_hidden_TaskType = &task_RotateCredentials{b.RotateCredentials} + } + if b.EventFeed != nil { + x.xxx_hidden_TaskType = &task_EventFeed{b.EventFeed} + } + if b.CreateTicketTask != nil { + x.xxx_hidden_TaskType = &task_CreateTicketTask_{b.CreateTicketTask} + } + if b.ListTicketSchemas != nil { + x.xxx_hidden_TaskType = &task_ListTicketSchemas{b.ListTicketSchemas} + } + if b.GetTicket != nil { + x.xxx_hidden_TaskType = &task_GetTicket{b.GetTicket} + } + if b.BulkCreateTickets != nil { + x.xxx_hidden_TaskType = &task_BulkCreateTickets{b.BulkCreateTickets} + } + if b.BulkGetTickets != nil { + x.xxx_hidden_TaskType = &task_BulkGetTickets{b.BulkGetTickets} + } + if b.ActionListSchemas != nil { + x.xxx_hidden_TaskType = &task_ActionListSchemas{b.ActionListSchemas} + } + if b.ActionGetSchema != nil { + x.xxx_hidden_TaskType = &task_ActionGetSchema{b.ActionGetSchema} + } + if b.ActionInvoke != nil { + x.xxx_hidden_TaskType = &task_ActionInvoke{b.ActionInvoke} + } + if b.ActionStatus != nil { + x.xxx_hidden_TaskType = &task_ActionStatus{b.ActionStatus} + } + if b.CreateSyncDiff != nil { + x.xxx_hidden_TaskType = &task_CreateSyncDiff{b.CreateSyncDiff} + } + if b.CompactSyncs != nil { + x.xxx_hidden_TaskType = &task_CompactSyncs_{b.CompactSyncs} + } + x.xxx_hidden_Debug = b.Debug + return m0 +} + +type case_Task_TaskType protoreflect.FieldNumber + +func (x case_Task_TaskType) String() string { + md := file_c1_connectorapi_baton_v1_baton_proto_msgTypes[0].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isTask_TaskType interface { + isTask_TaskType() +} + +type task_None struct { + None *Task_NoneTask `protobuf:"bytes,100,opt,name=none,proto3,oneof"` +} + +type task_Hello struct { + Hello *Task_HelloTask `protobuf:"bytes,101,opt,name=hello,proto3,oneof"` +} + +type task_SyncFull struct { + SyncFull *Task_SyncFullTask `protobuf:"bytes,102,opt,name=sync_full,json=syncFull,proto3,oneof"` +} + +type task_Grant struct { + Grant *Task_GrantTask `protobuf:"bytes,103,opt,name=grant,proto3,oneof"` +} + +type task_Revoke struct { + Revoke *Task_RevokeTask `protobuf:"bytes,104,opt,name=revoke,proto3,oneof"` +} + +type task_CreateAccount struct { + CreateAccount *Task_CreateAccountTask `protobuf:"bytes,105,opt,name=create_account,json=createAccount,proto3,oneof"` +} + +type task_CreateResource struct { + CreateResource *Task_CreateResourceTask `protobuf:"bytes,106,opt,name=create_resource,json=createResource,proto3,oneof"` +} + +type task_DeleteResource struct { + DeleteResource *Task_DeleteResourceTask `protobuf:"bytes,107,opt,name=delete_resource,json=deleteResource,proto3,oneof"` +} + +type task_RotateCredentials struct { + RotateCredentials *Task_RotateCredentialsTask `protobuf:"bytes,108,opt,name=rotate_credentials,json=rotateCredentials,proto3,oneof"` +} + +type task_EventFeed struct { + EventFeed *Task_EventFeedTask `protobuf:"bytes,109,opt,name=event_feed,json=eventFeed,proto3,oneof"` +} + +type task_CreateTicketTask_ struct { + CreateTicketTask *Task_CreateTicketTask `protobuf:"bytes,110,opt,name=create_ticket_task,json=createTicketTask,proto3,oneof"` +} + +type task_ListTicketSchemas struct { + ListTicketSchemas *Task_ListTicketSchemasTask `protobuf:"bytes,111,opt,name=list_ticket_schemas,json=listTicketSchemas,proto3,oneof"` +} + +type task_GetTicket struct { + GetTicket *Task_GetTicketTask `protobuf:"bytes,112,opt,name=get_ticket,json=getTicket,proto3,oneof"` +} + +type task_BulkCreateTickets struct { + BulkCreateTickets *Task_BulkCreateTicketsTask `protobuf:"bytes,113,opt,name=bulk_create_tickets,json=bulkCreateTickets,proto3,oneof"` +} + +type task_BulkGetTickets struct { + BulkGetTickets *Task_BulkGetTicketsTask `protobuf:"bytes,114,opt,name=bulk_get_tickets,json=bulkGetTickets,proto3,oneof"` +} + +type task_ActionListSchemas struct { + ActionListSchemas *Task_ActionListSchemasTask `protobuf:"bytes,115,opt,name=action_list_schemas,json=actionListSchemas,proto3,oneof"` +} + +type task_ActionGetSchema struct { + ActionGetSchema *Task_ActionGetSchemaTask `protobuf:"bytes,116,opt,name=action_get_schema,json=actionGetSchema,proto3,oneof"` +} + +type task_ActionInvoke struct { + ActionInvoke *Task_ActionInvokeTask `protobuf:"bytes,117,opt,name=action_invoke,json=actionInvoke,proto3,oneof"` +} + +type task_ActionStatus struct { + ActionStatus *Task_ActionStatusTask `protobuf:"bytes,118,opt,name=action_status,json=actionStatus,proto3,oneof"` +} + +type task_CreateSyncDiff struct { + CreateSyncDiff *Task_CreateSyncDiffTask `protobuf:"bytes,119,opt,name=create_sync_diff,json=createSyncDiff,proto3,oneof"` +} + +type task_CompactSyncs_ struct { + CompactSyncs *Task_CompactSyncs `protobuf:"bytes,120,opt,name=compact_syncs,json=compactSyncs,proto3,oneof"` +} + +func (*task_None) isTask_TaskType() {} + +func (*task_Hello) isTask_TaskType() {} + +func (*task_SyncFull) isTask_TaskType() {} + +func (*task_Grant) isTask_TaskType() {} + +func (*task_Revoke) isTask_TaskType() {} + +func (*task_CreateAccount) isTask_TaskType() {} + +func (*task_CreateResource) isTask_TaskType() {} + +func (*task_DeleteResource) isTask_TaskType() {} + +func (*task_RotateCredentials) isTask_TaskType() {} + +func (*task_EventFeed) isTask_TaskType() {} + +func (*task_CreateTicketTask_) isTask_TaskType() {} + +func (*task_ListTicketSchemas) isTask_TaskType() {} + +func (*task_GetTicket) isTask_TaskType() {} + +func (*task_BulkCreateTickets) isTask_TaskType() {} + +func (*task_BulkGetTickets) isTask_TaskType() {} + +func (*task_ActionListSchemas) isTask_TaskType() {} + +func (*task_ActionGetSchema) isTask_TaskType() {} + +func (*task_ActionInvoke) isTask_TaskType() {} + +func (*task_ActionStatus) isTask_TaskType() {} + +func (*task_CreateSyncDiff) isTask_TaskType() {} + +func (*task_CompactSyncs_) isTask_TaskType() {} + +type BatonServiceHelloRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3"` + xxx_hidden_TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3"` + xxx_hidden_BuildInfo *BatonServiceHelloRequest_BuildInfo `protobuf:"bytes,3,opt,name=build_info,json=buildInfo,proto3"` + xxx_hidden_OsInfo *BatonServiceHelloRequest_OSInfo `protobuf:"bytes,4,opt,name=os_info,json=osInfo,proto3"` + xxx_hidden_ConnectorMetadata *v2.ConnectorMetadata `protobuf:"bytes,5,opt,name=connector_metadata,json=connectorMetadata,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,6,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonServiceHelloRequest) Reset() { + *x = BatonServiceHelloRequest{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonServiceHelloRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonServiceHelloRequest) ProtoMessage() {} + +func (x *BatonServiceHelloRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_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) +} + +func (x *BatonServiceHelloRequest) GetHostId() string { + if x != nil { + return x.xxx_hidden_HostId + } + return "" +} + +func (x *BatonServiceHelloRequest) GetTaskId() string { + if x != nil { + return x.xxx_hidden_TaskId + } + return "" +} + +func (x *BatonServiceHelloRequest) GetBuildInfo() *BatonServiceHelloRequest_BuildInfo { + if x != nil { + return x.xxx_hidden_BuildInfo + } + return nil +} + +func (x *BatonServiceHelloRequest) GetOsInfo() *BatonServiceHelloRequest_OSInfo { + if x != nil { + return x.xxx_hidden_OsInfo + } + return nil +} + +func (x *BatonServiceHelloRequest) GetConnectorMetadata() *v2.ConnectorMetadata { + if x != nil { + return x.xxx_hidden_ConnectorMetadata + } + return nil +} + +func (x *BatonServiceHelloRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *BatonServiceHelloRequest) SetHostId(v string) { + x.xxx_hidden_HostId = v +} + +func (x *BatonServiceHelloRequest) SetTaskId(v string) { + x.xxx_hidden_TaskId = v +} + +func (x *BatonServiceHelloRequest) SetBuildInfo(v *BatonServiceHelloRequest_BuildInfo) { + x.xxx_hidden_BuildInfo = v +} + +func (x *BatonServiceHelloRequest) SetOsInfo(v *BatonServiceHelloRequest_OSInfo) { + x.xxx_hidden_OsInfo = v +} + +func (x *BatonServiceHelloRequest) SetConnectorMetadata(v *v2.ConnectorMetadata) { + x.xxx_hidden_ConnectorMetadata = v +} + +func (x *BatonServiceHelloRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *BatonServiceHelloRequest) HasBuildInfo() bool { + if x == nil { + return false + } + return x.xxx_hidden_BuildInfo != nil +} + +func (x *BatonServiceHelloRequest) HasOsInfo() bool { + if x == nil { + return false + } + return x.xxx_hidden_OsInfo != nil +} + +func (x *BatonServiceHelloRequest) HasConnectorMetadata() bool { + if x == nil { + return false + } + return x.xxx_hidden_ConnectorMetadata != nil +} + +func (x *BatonServiceHelloRequest) ClearBuildInfo() { + x.xxx_hidden_BuildInfo = nil +} + +func (x *BatonServiceHelloRequest) ClearOsInfo() { + x.xxx_hidden_OsInfo = nil +} + +func (x *BatonServiceHelloRequest) ClearConnectorMetadata() { + x.xxx_hidden_ConnectorMetadata = nil +} + +type BatonServiceHelloRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + HostId string + TaskId string + BuildInfo *BatonServiceHelloRequest_BuildInfo + OsInfo *BatonServiceHelloRequest_OSInfo + ConnectorMetadata *v2.ConnectorMetadata + Annotations []*anypb.Any +} + +func (b0 BatonServiceHelloRequest_builder) Build() *BatonServiceHelloRequest { + m0 := &BatonServiceHelloRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_HostId = b.HostId + x.xxx_hidden_TaskId = b.TaskId + x.xxx_hidden_BuildInfo = b.BuildInfo + x.xxx_hidden_OsInfo = b.OsInfo + x.xxx_hidden_ConnectorMetadata = b.ConnectorMetadata + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type BatonServiceHelloResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonServiceHelloResponse) Reset() { + *x = BatonServiceHelloResponse{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonServiceHelloResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonServiceHelloResponse) ProtoMessage() {} + +func (x *BatonServiceHelloResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_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) +} + +func (x *BatonServiceHelloResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *BatonServiceHelloResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type BatonServiceHelloResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 BatonServiceHelloResponse_builder) Build() *BatonServiceHelloResponse { + m0 := &BatonServiceHelloResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type BatonServiceGetTaskRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonServiceGetTaskRequest) Reset() { + *x = BatonServiceGetTaskRequest{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonServiceGetTaskRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonServiceGetTaskRequest) ProtoMessage() {} + +func (x *BatonServiceGetTaskRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_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) +} + +func (x *BatonServiceGetTaskRequest) GetHostId() string { + if x != nil { + return x.xxx_hidden_HostId + } + return "" +} + +func (x *BatonServiceGetTaskRequest) SetHostId(v string) { + x.xxx_hidden_HostId = v +} + +type BatonServiceGetTaskRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + HostId string +} + +func (b0 BatonServiceGetTaskRequest_builder) Build() *BatonServiceGetTaskRequest { + m0 := &BatonServiceGetTaskRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_HostId = b.HostId + return m0 +} + +type BatonServiceGetTaskResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Task *Task `protobuf:"bytes,1,opt,name=task,proto3"` + xxx_hidden_NextPoll *durationpb.Duration `protobuf:"bytes,2,opt,name=next_poll,json=nextPoll,proto3"` + xxx_hidden_NextHeartbeat *durationpb.Duration `protobuf:"bytes,3,opt,name=next_heartbeat,json=nextHeartbeat,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonServiceGetTaskResponse) Reset() { + *x = BatonServiceGetTaskResponse{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonServiceGetTaskResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonServiceGetTaskResponse) ProtoMessage() {} + +func (x *BatonServiceGetTaskResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *BatonServiceGetTaskResponse) GetTask() *Task { + if x != nil { + return x.xxx_hidden_Task + } + return nil +} + +func (x *BatonServiceGetTaskResponse) GetNextPoll() *durationpb.Duration { + if x != nil { + return x.xxx_hidden_NextPoll + } + return nil +} + +func (x *BatonServiceGetTaskResponse) GetNextHeartbeat() *durationpb.Duration { + if x != nil { + return x.xxx_hidden_NextHeartbeat + } + return nil +} + +func (x *BatonServiceGetTaskResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *BatonServiceGetTaskResponse) SetTask(v *Task) { + x.xxx_hidden_Task = v +} + +func (x *BatonServiceGetTaskResponse) SetNextPoll(v *durationpb.Duration) { + x.xxx_hidden_NextPoll = v +} + +func (x *BatonServiceGetTaskResponse) SetNextHeartbeat(v *durationpb.Duration) { + x.xxx_hidden_NextHeartbeat = v +} + +func (x *BatonServiceGetTaskResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *BatonServiceGetTaskResponse) HasTask() bool { + if x == nil { + return false + } + return x.xxx_hidden_Task != nil +} + +func (x *BatonServiceGetTaskResponse) HasNextPoll() bool { + if x == nil { + return false + } + return x.xxx_hidden_NextPoll != nil +} + +func (x *BatonServiceGetTaskResponse) HasNextHeartbeat() bool { + if x == nil { + return false + } + return x.xxx_hidden_NextHeartbeat != nil +} + +func (x *BatonServiceGetTaskResponse) ClearTask() { + x.xxx_hidden_Task = nil +} + +func (x *BatonServiceGetTaskResponse) ClearNextPoll() { + x.xxx_hidden_NextPoll = nil +} + +func (x *BatonServiceGetTaskResponse) ClearNextHeartbeat() { + x.xxx_hidden_NextHeartbeat = nil +} + +type BatonServiceGetTaskResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Task *Task + NextPoll *durationpb.Duration + NextHeartbeat *durationpb.Duration + Annotations []*anypb.Any +} + +func (b0 BatonServiceGetTaskResponse_builder) Build() *BatonServiceGetTaskResponse { + m0 := &BatonServiceGetTaskResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Task = b.Task + x.xxx_hidden_NextPoll = b.NextPoll + x.xxx_hidden_NextHeartbeat = b.NextHeartbeat + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type BatonServiceHeartbeatRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3"` + xxx_hidden_TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonServiceHeartbeatRequest) Reset() { + *x = BatonServiceHeartbeatRequest{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonServiceHeartbeatRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonServiceHeartbeatRequest) ProtoMessage() {} + +func (x *BatonServiceHeartbeatRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *BatonServiceHeartbeatRequest) GetHostId() string { + if x != nil { + return x.xxx_hidden_HostId + } + return "" +} + +func (x *BatonServiceHeartbeatRequest) GetTaskId() string { + if x != nil { + return x.xxx_hidden_TaskId + } + return "" +} + +func (x *BatonServiceHeartbeatRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *BatonServiceHeartbeatRequest) SetHostId(v string) { + x.xxx_hidden_HostId = v +} + +func (x *BatonServiceHeartbeatRequest) SetTaskId(v string) { + x.xxx_hidden_TaskId = v +} + +func (x *BatonServiceHeartbeatRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type BatonServiceHeartbeatRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + HostId string + TaskId string + Annotations []*anypb.Any +} + +func (b0 BatonServiceHeartbeatRequest_builder) Build() *BatonServiceHeartbeatRequest { + m0 := &BatonServiceHeartbeatRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_HostId = b.HostId + x.xxx_hidden_TaskId = b.TaskId + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type BatonServiceHeartbeatResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_NextHeartbeat *durationpb.Duration `protobuf:"bytes,1,opt,name=next_heartbeat,json=nextHeartbeat,proto3"` + xxx_hidden_Cancelled bool `protobuf:"varint,2,opt,name=cancelled,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonServiceHeartbeatResponse) Reset() { + *x = BatonServiceHeartbeatResponse{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonServiceHeartbeatResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonServiceHeartbeatResponse) ProtoMessage() {} + +func (x *BatonServiceHeartbeatResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *BatonServiceHeartbeatResponse) GetNextHeartbeat() *durationpb.Duration { + if x != nil { + return x.xxx_hidden_NextHeartbeat + } + return nil +} + +func (x *BatonServiceHeartbeatResponse) GetCancelled() bool { + if x != nil { + return x.xxx_hidden_Cancelled + } + return false +} + +func (x *BatonServiceHeartbeatResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *BatonServiceHeartbeatResponse) SetNextHeartbeat(v *durationpb.Duration) { + x.xxx_hidden_NextHeartbeat = v +} + +func (x *BatonServiceHeartbeatResponse) SetCancelled(v bool) { + x.xxx_hidden_Cancelled = v +} + +func (x *BatonServiceHeartbeatResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *BatonServiceHeartbeatResponse) HasNextHeartbeat() bool { + if x == nil { + return false + } + return x.xxx_hidden_NextHeartbeat != nil +} + +func (x *BatonServiceHeartbeatResponse) ClearNextHeartbeat() { + x.xxx_hidden_NextHeartbeat = nil +} + +type BatonServiceHeartbeatResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + NextHeartbeat *durationpb.Duration + Cancelled bool + Annotations []*anypb.Any +} + +func (b0 BatonServiceHeartbeatResponse_builder) Build() *BatonServiceHeartbeatResponse { + m0 := &BatonServiceHeartbeatResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_NextHeartbeat = b.NextHeartbeat + x.xxx_hidden_Cancelled = b.Cancelled + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type BatonServiceUploadAssetRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Msg isBatonServiceUploadAssetRequest_Msg `protobuf_oneof:"msg"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonServiceUploadAssetRequest) Reset() { + *x = BatonServiceUploadAssetRequest{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonServiceUploadAssetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonServiceUploadAssetRequest) ProtoMessage() {} + +func (x *BatonServiceUploadAssetRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_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) +} + +func (x *BatonServiceUploadAssetRequest) GetMetadata() *BatonServiceUploadAssetRequest_UploadMetadata { + if x != nil { + if x, ok := x.xxx_hidden_Msg.(*batonServiceUploadAssetRequest_Metadata); ok { + return x.Metadata + } + } + return nil +} + +func (x *BatonServiceUploadAssetRequest) GetData() *BatonServiceUploadAssetRequest_UploadData { + if x != nil { + if x, ok := x.xxx_hidden_Msg.(*batonServiceUploadAssetRequest_Data); ok { + return x.Data + } + } + return nil +} + +func (x *BatonServiceUploadAssetRequest) GetEof() *BatonServiceUploadAssetRequest_UploadEOF { + if x != nil { + if x, ok := x.xxx_hidden_Msg.(*batonServiceUploadAssetRequest_Eof); ok { + return x.Eof + } + } + return nil +} + +func (x *BatonServiceUploadAssetRequest) SetMetadata(v *BatonServiceUploadAssetRequest_UploadMetadata) { + if v == nil { + x.xxx_hidden_Msg = nil + return + } + x.xxx_hidden_Msg = &batonServiceUploadAssetRequest_Metadata{v} +} + +func (x *BatonServiceUploadAssetRequest) SetData(v *BatonServiceUploadAssetRequest_UploadData) { + if v == nil { + x.xxx_hidden_Msg = nil + return + } + x.xxx_hidden_Msg = &batonServiceUploadAssetRequest_Data{v} +} + +func (x *BatonServiceUploadAssetRequest) SetEof(v *BatonServiceUploadAssetRequest_UploadEOF) { + if v == nil { + x.xxx_hidden_Msg = nil + return + } + x.xxx_hidden_Msg = &batonServiceUploadAssetRequest_Eof{v} +} + +func (x *BatonServiceUploadAssetRequest) HasMsg() bool { + if x == nil { + return false + } + return x.xxx_hidden_Msg != nil +} + +func (x *BatonServiceUploadAssetRequest) HasMetadata() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Msg.(*batonServiceUploadAssetRequest_Metadata) + return ok +} + +func (x *BatonServiceUploadAssetRequest) HasData() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Msg.(*batonServiceUploadAssetRequest_Data) + return ok +} + +func (x *BatonServiceUploadAssetRequest) HasEof() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Msg.(*batonServiceUploadAssetRequest_Eof) + return ok +} + +func (x *BatonServiceUploadAssetRequest) ClearMsg() { + x.xxx_hidden_Msg = nil +} + +func (x *BatonServiceUploadAssetRequest) ClearMetadata() { + if _, ok := x.xxx_hidden_Msg.(*batonServiceUploadAssetRequest_Metadata); ok { + x.xxx_hidden_Msg = nil + } +} + +func (x *BatonServiceUploadAssetRequest) ClearData() { + if _, ok := x.xxx_hidden_Msg.(*batonServiceUploadAssetRequest_Data); ok { + x.xxx_hidden_Msg = nil + } +} + +func (x *BatonServiceUploadAssetRequest) ClearEof() { + if _, ok := x.xxx_hidden_Msg.(*batonServiceUploadAssetRequest_Eof); ok { + x.xxx_hidden_Msg = nil + } +} + +const BatonServiceUploadAssetRequest_Msg_not_set_case case_BatonServiceUploadAssetRequest_Msg = 0 +const BatonServiceUploadAssetRequest_Metadata_case case_BatonServiceUploadAssetRequest_Msg = 100 +const BatonServiceUploadAssetRequest_Data_case case_BatonServiceUploadAssetRequest_Msg = 101 +const BatonServiceUploadAssetRequest_Eof_case case_BatonServiceUploadAssetRequest_Msg = 102 + +func (x *BatonServiceUploadAssetRequest) WhichMsg() case_BatonServiceUploadAssetRequest_Msg { + if x == nil { + return BatonServiceUploadAssetRequest_Msg_not_set_case + } + switch x.xxx_hidden_Msg.(type) { + case *batonServiceUploadAssetRequest_Metadata: + return BatonServiceUploadAssetRequest_Metadata_case + case *batonServiceUploadAssetRequest_Data: + return BatonServiceUploadAssetRequest_Data_case + case *batonServiceUploadAssetRequest_Eof: + return BatonServiceUploadAssetRequest_Eof_case + default: + return BatonServiceUploadAssetRequest_Msg_not_set_case + } +} + +type BatonServiceUploadAssetRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Fields of oneof xxx_hidden_Msg: + Metadata *BatonServiceUploadAssetRequest_UploadMetadata + Data *BatonServiceUploadAssetRequest_UploadData + Eof *BatonServiceUploadAssetRequest_UploadEOF + // -- end of xxx_hidden_Msg +} + +func (b0 BatonServiceUploadAssetRequest_builder) Build() *BatonServiceUploadAssetRequest { + m0 := &BatonServiceUploadAssetRequest{} + b, x := &b0, m0 + _, _ = b, x + if b.Metadata != nil { + x.xxx_hidden_Msg = &batonServiceUploadAssetRequest_Metadata{b.Metadata} + } + if b.Data != nil { + x.xxx_hidden_Msg = &batonServiceUploadAssetRequest_Data{b.Data} + } + if b.Eof != nil { + x.xxx_hidden_Msg = &batonServiceUploadAssetRequest_Eof{b.Eof} + } + return m0 +} + +type case_BatonServiceUploadAssetRequest_Msg protoreflect.FieldNumber + +func (x case_BatonServiceUploadAssetRequest_Msg) String() string { + md := file_c1_connectorapi_baton_v1_baton_proto_msgTypes[7].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isBatonServiceUploadAssetRequest_Msg interface { + isBatonServiceUploadAssetRequest_Msg() +} + +type batonServiceUploadAssetRequest_Metadata struct { + Metadata *BatonServiceUploadAssetRequest_UploadMetadata `protobuf:"bytes,100,opt,name=metadata,proto3,oneof"` +} + +type batonServiceUploadAssetRequest_Data struct { + Data *BatonServiceUploadAssetRequest_UploadData `protobuf:"bytes,101,opt,name=data,proto3,oneof"` +} + +type batonServiceUploadAssetRequest_Eof struct { + Eof *BatonServiceUploadAssetRequest_UploadEOF `protobuf:"bytes,102,opt,name=eof,proto3,oneof"` +} + +func (*batonServiceUploadAssetRequest_Metadata) isBatonServiceUploadAssetRequest_Msg() {} + +func (*batonServiceUploadAssetRequest_Data) isBatonServiceUploadAssetRequest_Msg() {} + +func (*batonServiceUploadAssetRequest_Eof) isBatonServiceUploadAssetRequest_Msg() {} + +type BatonServiceUploadAssetResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonServiceUploadAssetResponse) Reset() { + *x = BatonServiceUploadAssetResponse{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonServiceUploadAssetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonServiceUploadAssetResponse) ProtoMessage() {} + +func (x *BatonServiceUploadAssetResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_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) +} + +func (x *BatonServiceUploadAssetResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *BatonServiceUploadAssetResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type BatonServiceUploadAssetResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 BatonServiceUploadAssetResponse_builder) Build() *BatonServiceUploadAssetResponse { + m0 := &BatonServiceUploadAssetResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +// Connector submits a task has been finished. It should always be removed from the queue, and if it isn't a fatal error, we should re-add it to the queue to try again. +type BatonServiceFinishTaskRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3"` + xxx_hidden_TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3"` + xxx_hidden_Status *status.Status `protobuf:"bytes,3,opt,name=status,proto3"` + xxx_hidden_FinalState isBatonServiceFinishTaskRequest_FinalState `protobuf_oneof:"final_state"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonServiceFinishTaskRequest) Reset() { + *x = BatonServiceFinishTaskRequest{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonServiceFinishTaskRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonServiceFinishTaskRequest) ProtoMessage() {} + +func (x *BatonServiceFinishTaskRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *BatonServiceFinishTaskRequest) GetHostId() string { + if x != nil { + return x.xxx_hidden_HostId + } + return "" +} + +func (x *BatonServiceFinishTaskRequest) GetTaskId() string { + if x != nil { + return x.xxx_hidden_TaskId + } + return "" +} + +func (x *BatonServiceFinishTaskRequest) GetStatus() *status.Status { + if x != nil { + return x.xxx_hidden_Status + } + return nil +} + +func (x *BatonServiceFinishTaskRequest) GetError() *BatonServiceFinishTaskRequest_Error { + if x != nil { + if x, ok := x.xxx_hidden_FinalState.(*batonServiceFinishTaskRequest_Error_); ok { + return x.Error + } + } + return nil +} + +func (x *BatonServiceFinishTaskRequest) GetSuccess() *BatonServiceFinishTaskRequest_Success { + if x != nil { + if x, ok := x.xxx_hidden_FinalState.(*batonServiceFinishTaskRequest_Success_); ok { + return x.Success + } + } + return nil +} + +func (x *BatonServiceFinishTaskRequest) SetHostId(v string) { + x.xxx_hidden_HostId = v +} + +func (x *BatonServiceFinishTaskRequest) SetTaskId(v string) { + x.xxx_hidden_TaskId = v +} + +func (x *BatonServiceFinishTaskRequest) SetStatus(v *status.Status) { + x.xxx_hidden_Status = v +} + +func (x *BatonServiceFinishTaskRequest) SetError(v *BatonServiceFinishTaskRequest_Error) { + if v == nil { + x.xxx_hidden_FinalState = nil + return + } + x.xxx_hidden_FinalState = &batonServiceFinishTaskRequest_Error_{v} +} + +func (x *BatonServiceFinishTaskRequest) SetSuccess(v *BatonServiceFinishTaskRequest_Success) { + if v == nil { + x.xxx_hidden_FinalState = nil + return + } + x.xxx_hidden_FinalState = &batonServiceFinishTaskRequest_Success_{v} +} + +func (x *BatonServiceFinishTaskRequest) HasStatus() bool { + if x == nil { + return false + } + return x.xxx_hidden_Status != nil +} + +func (x *BatonServiceFinishTaskRequest) HasFinalState() bool { + if x == nil { + return false + } + return x.xxx_hidden_FinalState != nil +} + +func (x *BatonServiceFinishTaskRequest) HasError() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_FinalState.(*batonServiceFinishTaskRequest_Error_) + return ok +} + +func (x *BatonServiceFinishTaskRequest) HasSuccess() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_FinalState.(*batonServiceFinishTaskRequest_Success_) + return ok +} + +func (x *BatonServiceFinishTaskRequest) ClearStatus() { + x.xxx_hidden_Status = nil +} + +func (x *BatonServiceFinishTaskRequest) ClearFinalState() { + x.xxx_hidden_FinalState = nil +} + +func (x *BatonServiceFinishTaskRequest) ClearError() { + if _, ok := x.xxx_hidden_FinalState.(*batonServiceFinishTaskRequest_Error_); ok { + x.xxx_hidden_FinalState = nil + } +} + +func (x *BatonServiceFinishTaskRequest) ClearSuccess() { + if _, ok := x.xxx_hidden_FinalState.(*batonServiceFinishTaskRequest_Success_); ok { + x.xxx_hidden_FinalState = nil + } +} + +const BatonServiceFinishTaskRequest_FinalState_not_set_case case_BatonServiceFinishTaskRequest_FinalState = 0 +const BatonServiceFinishTaskRequest_Error_case case_BatonServiceFinishTaskRequest_FinalState = 100 +const BatonServiceFinishTaskRequest_Success_case case_BatonServiceFinishTaskRequest_FinalState = 101 + +func (x *BatonServiceFinishTaskRequest) WhichFinalState() case_BatonServiceFinishTaskRequest_FinalState { + if x == nil { + return BatonServiceFinishTaskRequest_FinalState_not_set_case + } + switch x.xxx_hidden_FinalState.(type) { + case *batonServiceFinishTaskRequest_Error_: + return BatonServiceFinishTaskRequest_Error_case + case *batonServiceFinishTaskRequest_Success_: + return BatonServiceFinishTaskRequest_Success_case + default: + return BatonServiceFinishTaskRequest_FinalState_not_set_case + } +} + +type BatonServiceFinishTaskRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + HostId string + TaskId string + Status *status.Status + // Fields of oneof xxx_hidden_FinalState: + Error *BatonServiceFinishTaskRequest_Error + Success *BatonServiceFinishTaskRequest_Success + // -- end of xxx_hidden_FinalState +} + +func (b0 BatonServiceFinishTaskRequest_builder) Build() *BatonServiceFinishTaskRequest { + m0 := &BatonServiceFinishTaskRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_HostId = b.HostId + x.xxx_hidden_TaskId = b.TaskId + x.xxx_hidden_Status = b.Status + if b.Error != nil { + x.xxx_hidden_FinalState = &batonServiceFinishTaskRequest_Error_{b.Error} + } + if b.Success != nil { + x.xxx_hidden_FinalState = &batonServiceFinishTaskRequest_Success_{b.Success} + } + return m0 +} + +type case_BatonServiceFinishTaskRequest_FinalState protoreflect.FieldNumber + +func (x case_BatonServiceFinishTaskRequest_FinalState) String() string { + md := file_c1_connectorapi_baton_v1_baton_proto_msgTypes[9].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isBatonServiceFinishTaskRequest_FinalState interface { + isBatonServiceFinishTaskRequest_FinalState() +} + +type batonServiceFinishTaskRequest_Error_ struct { + Error *BatonServiceFinishTaskRequest_Error `protobuf:"bytes,100,opt,name=error,proto3,oneof"` +} + +type batonServiceFinishTaskRequest_Success_ struct { + Success *BatonServiceFinishTaskRequest_Success `protobuf:"bytes,101,opt,name=success,proto3,oneof"` +} + +func (*batonServiceFinishTaskRequest_Error_) isBatonServiceFinishTaskRequest_FinalState() {} + +func (*batonServiceFinishTaskRequest_Success_) isBatonServiceFinishTaskRequest_FinalState() {} + +type BatonServiceFinishTaskResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonServiceFinishTaskResponse) Reset() { + *x = BatonServiceFinishTaskResponse{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonServiceFinishTaskResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonServiceFinishTaskResponse) ProtoMessage() {} + +func (x *BatonServiceFinishTaskResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *BatonServiceFinishTaskResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *BatonServiceFinishTaskResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type BatonServiceFinishTaskResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 BatonServiceFinishTaskResponse_builder) Build() *BatonServiceFinishTaskResponse { + m0 := &BatonServiceFinishTaskResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type StartDebuggingRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartDebuggingRequest) Reset() { + *x = StartDebuggingRequest{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartDebuggingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartDebuggingRequest) ProtoMessage() {} + +func (x *StartDebuggingRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_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) +} + +type StartDebuggingRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 StartDebuggingRequest_builder) Build() *StartDebuggingRequest { + m0 := &StartDebuggingRequest{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +type StartDebuggingResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Status bool `protobuf:"varint,1,opt,name=status,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartDebuggingResponse) Reset() { + *x = StartDebuggingResponse{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartDebuggingResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartDebuggingResponse) ProtoMessage() {} + +func (x *StartDebuggingResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *StartDebuggingResponse) GetStatus() bool { + if x != nil { + return x.xxx_hidden_Status + } + return false +} + +func (x *StartDebuggingResponse) SetStatus(v bool) { + x.xxx_hidden_Status = v +} + +type StartDebuggingResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Status bool +} + +func (b0 StartDebuggingResponse_builder) Build() *StartDebuggingResponse { + m0 := &StartDebuggingResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Status = b.Status + return m0 +} + +type Task_NoneTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_NoneTask) Reset() { + *x = Task_NoneTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_NoneTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_NoneTask) ProtoMessage() {} + +func (x *Task_NoneTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_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) +} + +func (x *Task_NoneTask) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Task_NoneTask) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type Task_NoneTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 Task_NoneTask_builder) Build() *Task_NoneTask { + m0 := &Task_NoneTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type Task_HelloTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_HelloTask) Reset() { + *x = Task_HelloTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_HelloTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_HelloTask) ProtoMessage() {} + +func (x *Task_HelloTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_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) +} + +func (x *Task_HelloTask) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Task_HelloTask) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type Task_HelloTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 Task_HelloTask_builder) Build() *Task_HelloTask { + m0 := &Task_HelloTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type Task_SyncFullTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + xxx_hidden_SkipExpandGrants bool `protobuf:"varint,2,opt,name=skip_expand_grants,json=skipExpandGrants,proto3"` + xxx_hidden_SkipEntitlementsAndGrants bool `protobuf:"varint,3,opt,name=skip_entitlements_and_grants,json=skipEntitlementsAndGrants,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_SyncFullTask) Reset() { + *x = Task_SyncFullTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_SyncFullTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_SyncFullTask) ProtoMessage() {} + +func (x *Task_SyncFullTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Task_SyncFullTask) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Task_SyncFullTask) GetSkipExpandGrants() bool { + if x != nil { + return x.xxx_hidden_SkipExpandGrants + } + return false +} + +func (x *Task_SyncFullTask) GetSkipEntitlementsAndGrants() bool { + if x != nil { + return x.xxx_hidden_SkipEntitlementsAndGrants + } + return false +} + +func (x *Task_SyncFullTask) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *Task_SyncFullTask) SetSkipExpandGrants(v bool) { + x.xxx_hidden_SkipExpandGrants = v +} + +func (x *Task_SyncFullTask) SetSkipEntitlementsAndGrants(v bool) { + x.xxx_hidden_SkipEntitlementsAndGrants = v +} + +type Task_SyncFullTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any + SkipExpandGrants bool + SkipEntitlementsAndGrants bool +} + +func (b0 Task_SyncFullTask_builder) Build() *Task_SyncFullTask { + m0 := &Task_SyncFullTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_SkipExpandGrants = b.SkipExpandGrants + x.xxx_hidden_SkipEntitlementsAndGrants = b.SkipEntitlementsAndGrants + return m0 +} + +type Task_EventFeedTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + xxx_hidden_StartAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_at,json=startAt,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_EventFeedTask) Reset() { + *x = Task_EventFeedTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_EventFeedTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_EventFeedTask) ProtoMessage() {} + +func (x *Task_EventFeedTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Task_EventFeedTask) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Task_EventFeedTask) GetStartAt() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_StartAt + } + return nil +} + +func (x *Task_EventFeedTask) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *Task_EventFeedTask) SetStartAt(v *timestamppb.Timestamp) { + x.xxx_hidden_StartAt = v +} + +func (x *Task_EventFeedTask) HasStartAt() bool { + if x == nil { + return false + } + return x.xxx_hidden_StartAt != nil +} + +func (x *Task_EventFeedTask) ClearStartAt() { + x.xxx_hidden_StartAt = nil +} + +type Task_EventFeedTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any + StartAt *timestamppb.Timestamp +} + +func (b0 Task_EventFeedTask_builder) Build() *Task_EventFeedTask { + m0 := &Task_EventFeedTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_StartAt = b.StartAt + return m0 +} + +type Task_GrantTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Entitlement *v2.Entitlement `protobuf:"bytes,1,opt,name=entitlement,proto3"` + xxx_hidden_Principal *v2.Resource `protobuf:"bytes,2,opt,name=principal,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + xxx_hidden_Duration *durationpb.Duration `protobuf:"bytes,4,opt,name=duration,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_GrantTask) Reset() { + *x = Task_GrantTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_GrantTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_GrantTask) ProtoMessage() {} + +func (x *Task_GrantTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Task_GrantTask) GetEntitlement() *v2.Entitlement { + if x != nil { + return x.xxx_hidden_Entitlement + } + return nil +} + +func (x *Task_GrantTask) GetPrincipal() *v2.Resource { + if x != nil { + return x.xxx_hidden_Principal + } + return nil +} + +func (x *Task_GrantTask) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Task_GrantTask) GetDuration() *durationpb.Duration { + if x != nil { + return x.xxx_hidden_Duration + } + return nil +} + +func (x *Task_GrantTask) SetEntitlement(v *v2.Entitlement) { + x.xxx_hidden_Entitlement = v +} + +func (x *Task_GrantTask) SetPrincipal(v *v2.Resource) { + x.xxx_hidden_Principal = v +} + +func (x *Task_GrantTask) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *Task_GrantTask) SetDuration(v *durationpb.Duration) { + x.xxx_hidden_Duration = v +} + +func (x *Task_GrantTask) HasEntitlement() bool { + if x == nil { + return false + } + return x.xxx_hidden_Entitlement != nil +} + +func (x *Task_GrantTask) HasPrincipal() bool { + if x == nil { + return false + } + return x.xxx_hidden_Principal != nil +} + +func (x *Task_GrantTask) HasDuration() bool { + if x == nil { + return false + } + return x.xxx_hidden_Duration != nil +} + +func (x *Task_GrantTask) ClearEntitlement() { + x.xxx_hidden_Entitlement = nil +} + +func (x *Task_GrantTask) ClearPrincipal() { + x.xxx_hidden_Principal = nil +} + +func (x *Task_GrantTask) ClearDuration() { + x.xxx_hidden_Duration = nil +} + +type Task_GrantTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Entitlement *v2.Entitlement + Principal *v2.Resource + Annotations []*anypb.Any + Duration *durationpb.Duration +} + +func (b0 Task_GrantTask_builder) Build() *Task_GrantTask { + m0 := &Task_GrantTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Entitlement = b.Entitlement + x.xxx_hidden_Principal = b.Principal + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_Duration = b.Duration + return m0 +} + +type Task_RevokeTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Grant *v2.Grant `protobuf:"bytes,1,opt,name=grant,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_RevokeTask) Reset() { + *x = Task_RevokeTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_RevokeTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_RevokeTask) ProtoMessage() {} + +func (x *Task_RevokeTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Task_RevokeTask) GetGrant() *v2.Grant { + if x != nil { + return x.xxx_hidden_Grant + } + return nil +} + +func (x *Task_RevokeTask) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Task_RevokeTask) SetGrant(v *v2.Grant) { + x.xxx_hidden_Grant = v +} + +func (x *Task_RevokeTask) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *Task_RevokeTask) HasGrant() bool { + if x == nil { + return false + } + return x.xxx_hidden_Grant != nil +} + +func (x *Task_RevokeTask) ClearGrant() { + x.xxx_hidden_Grant = nil +} + +type Task_RevokeTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Grant *v2.Grant + Annotations []*anypb.Any +} + +func (b0 Task_RevokeTask_builder) Build() *Task_RevokeTask { + m0 := &Task_RevokeTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Grant = b.Grant + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type Task_CreateAccountTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_AccountInfo *v2.AccountInfo `protobuf:"bytes,1,opt,name=account_info,json=accountInfo,proto3"` + xxx_hidden_CredentialOptions *v2.CredentialOptions `protobuf:"bytes,2,opt,name=credential_options,json=credentialOptions,proto3"` + xxx_hidden_EncryptionConfigs *[]*v2.EncryptionConfig `protobuf:"bytes,3,rep,name=encryption_configs,json=encryptionConfigs,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_CreateAccountTask) Reset() { + *x = Task_CreateAccountTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_CreateAccountTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_CreateAccountTask) ProtoMessage() {} + +func (x *Task_CreateAccountTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Task_CreateAccountTask) GetAccountInfo() *v2.AccountInfo { + if x != nil { + return x.xxx_hidden_AccountInfo + } + return nil +} + +func (x *Task_CreateAccountTask) GetCredentialOptions() *v2.CredentialOptions { + if x != nil { + return x.xxx_hidden_CredentialOptions + } + return nil +} + +func (x *Task_CreateAccountTask) GetEncryptionConfigs() []*v2.EncryptionConfig { + if x != nil { + if x.xxx_hidden_EncryptionConfigs != nil { + return *x.xxx_hidden_EncryptionConfigs + } + } + return nil +} + +func (x *Task_CreateAccountTask) SetAccountInfo(v *v2.AccountInfo) { + x.xxx_hidden_AccountInfo = v +} + +func (x *Task_CreateAccountTask) SetCredentialOptions(v *v2.CredentialOptions) { + x.xxx_hidden_CredentialOptions = v +} + +func (x *Task_CreateAccountTask) SetEncryptionConfigs(v []*v2.EncryptionConfig) { + x.xxx_hidden_EncryptionConfigs = &v +} + +func (x *Task_CreateAccountTask) HasAccountInfo() bool { + if x == nil { + return false + } + return x.xxx_hidden_AccountInfo != nil +} + +func (x *Task_CreateAccountTask) HasCredentialOptions() bool { + if x == nil { + return false + } + return x.xxx_hidden_CredentialOptions != nil +} + +func (x *Task_CreateAccountTask) ClearAccountInfo() { + x.xxx_hidden_AccountInfo = nil +} + +func (x *Task_CreateAccountTask) ClearCredentialOptions() { + x.xxx_hidden_CredentialOptions = nil +} + +type Task_CreateAccountTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + AccountInfo *v2.AccountInfo + CredentialOptions *v2.CredentialOptions + EncryptionConfigs []*v2.EncryptionConfig +} + +func (b0 Task_CreateAccountTask_builder) Build() *Task_CreateAccountTask { + m0 := &Task_CreateAccountTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_AccountInfo = b.AccountInfo + x.xxx_hidden_CredentialOptions = b.CredentialOptions + x.xxx_hidden_EncryptionConfigs = &b.EncryptionConfigs + return m0 +} + +type Task_CreateResourceTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Resource *v2.Resource `protobuf:"bytes,1,opt,name=resource,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_CreateResourceTask) Reset() { + *x = Task_CreateResourceTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_CreateResourceTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_CreateResourceTask) ProtoMessage() {} + +func (x *Task_CreateResourceTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Task_CreateResourceTask) GetResource() *v2.Resource { + if x != nil { + return x.xxx_hidden_Resource + } + return nil +} + +func (x *Task_CreateResourceTask) SetResource(v *v2.Resource) { + x.xxx_hidden_Resource = v +} + +func (x *Task_CreateResourceTask) HasResource() bool { + if x == nil { + return false + } + return x.xxx_hidden_Resource != nil +} + +func (x *Task_CreateResourceTask) ClearResource() { + x.xxx_hidden_Resource = nil +} + +type Task_CreateResourceTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resource *v2.Resource +} + +func (b0 Task_CreateResourceTask_builder) Build() *Task_CreateResourceTask { + m0 := &Task_CreateResourceTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Resource = b.Resource + return m0 +} + +type Task_DeleteResourceTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ResourceId *v2.ResourceId `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3"` + xxx_hidden_ParentResourceId *v2.ResourceId `protobuf:"bytes,2,opt,name=parent_resource_id,json=parentResourceId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_DeleteResourceTask) Reset() { + *x = Task_DeleteResourceTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_DeleteResourceTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_DeleteResourceTask) ProtoMessage() {} + +func (x *Task_DeleteResourceTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Task_DeleteResourceTask) GetResourceId() *v2.ResourceId { + if x != nil { + return x.xxx_hidden_ResourceId + } + return nil +} + +func (x *Task_DeleteResourceTask) GetParentResourceId() *v2.ResourceId { + if x != nil { + return x.xxx_hidden_ParentResourceId + } + return nil +} + +func (x *Task_DeleteResourceTask) SetResourceId(v *v2.ResourceId) { + x.xxx_hidden_ResourceId = v +} + +func (x *Task_DeleteResourceTask) SetParentResourceId(v *v2.ResourceId) { + x.xxx_hidden_ParentResourceId = v +} + +func (x *Task_DeleteResourceTask) HasResourceId() bool { + if x == nil { + return false + } + return x.xxx_hidden_ResourceId != nil +} + +func (x *Task_DeleteResourceTask) HasParentResourceId() bool { + if x == nil { + return false + } + return x.xxx_hidden_ParentResourceId != nil +} + +func (x *Task_DeleteResourceTask) ClearResourceId() { + x.xxx_hidden_ResourceId = nil +} + +func (x *Task_DeleteResourceTask) ClearParentResourceId() { + x.xxx_hidden_ParentResourceId = nil +} + +type Task_DeleteResourceTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceId *v2.ResourceId + ParentResourceId *v2.ResourceId +} + +func (b0 Task_DeleteResourceTask_builder) Build() *Task_DeleteResourceTask { + m0 := &Task_DeleteResourceTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ResourceId = b.ResourceId + x.xxx_hidden_ParentResourceId = b.ParentResourceId + return m0 +} + +type Task_RotateCredentialsTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ResourceId *v2.ResourceId `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3"` + xxx_hidden_CredentialOptions *v2.CredentialOptions `protobuf:"bytes,2,opt,name=credential_options,json=credentialOptions,proto3"` + xxx_hidden_EncryptionConfigs *[]*v2.EncryptionConfig `protobuf:"bytes,3,rep,name=encryption_configs,json=encryptionConfigs,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_RotateCredentialsTask) Reset() { + *x = Task_RotateCredentialsTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_RotateCredentialsTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_RotateCredentialsTask) ProtoMessage() {} + +func (x *Task_RotateCredentialsTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Task_RotateCredentialsTask) GetResourceId() *v2.ResourceId { + if x != nil { + return x.xxx_hidden_ResourceId + } + return nil +} + +func (x *Task_RotateCredentialsTask) GetCredentialOptions() *v2.CredentialOptions { + if x != nil { + return x.xxx_hidden_CredentialOptions + } + return nil +} + +func (x *Task_RotateCredentialsTask) GetEncryptionConfigs() []*v2.EncryptionConfig { + if x != nil { + if x.xxx_hidden_EncryptionConfigs != nil { + return *x.xxx_hidden_EncryptionConfigs + } + } + return nil +} + +func (x *Task_RotateCredentialsTask) SetResourceId(v *v2.ResourceId) { + x.xxx_hidden_ResourceId = v +} + +func (x *Task_RotateCredentialsTask) SetCredentialOptions(v *v2.CredentialOptions) { + x.xxx_hidden_CredentialOptions = v +} + +func (x *Task_RotateCredentialsTask) SetEncryptionConfigs(v []*v2.EncryptionConfig) { + x.xxx_hidden_EncryptionConfigs = &v +} + +func (x *Task_RotateCredentialsTask) HasResourceId() bool { + if x == nil { + return false + } + return x.xxx_hidden_ResourceId != nil +} + +func (x *Task_RotateCredentialsTask) HasCredentialOptions() bool { + if x == nil { + return false + } + return x.xxx_hidden_CredentialOptions != nil +} + +func (x *Task_RotateCredentialsTask) ClearResourceId() { + x.xxx_hidden_ResourceId = nil +} + +func (x *Task_RotateCredentialsTask) ClearCredentialOptions() { + x.xxx_hidden_CredentialOptions = nil +} + +type Task_RotateCredentialsTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceId *v2.ResourceId + CredentialOptions *v2.CredentialOptions + EncryptionConfigs []*v2.EncryptionConfig +} + +func (b0 Task_RotateCredentialsTask_builder) Build() *Task_RotateCredentialsTask { + m0 := &Task_RotateCredentialsTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ResourceId = b.ResourceId + x.xxx_hidden_CredentialOptions = b.CredentialOptions + x.xxx_hidden_EncryptionConfigs = &b.EncryptionConfigs + return m0 +} + +type Task_CreateTicketTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_TicketRequest *v2.TicketRequest `protobuf:"bytes,1,opt,name=ticket_request,json=ticketRequest,proto3"` + xxx_hidden_TicketSchema *v2.TicketSchema `protobuf:"bytes,2,opt,name=ticket_schema,json=ticketSchema,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_CreateTicketTask) Reset() { + *x = Task_CreateTicketTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_CreateTicketTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_CreateTicketTask) ProtoMessage() {} + +func (x *Task_CreateTicketTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Task_CreateTicketTask) GetTicketRequest() *v2.TicketRequest { + if x != nil { + return x.xxx_hidden_TicketRequest + } + return nil +} + +func (x *Task_CreateTicketTask) GetTicketSchema() *v2.TicketSchema { + if x != nil { + return x.xxx_hidden_TicketSchema + } + return nil +} + +func (x *Task_CreateTicketTask) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Task_CreateTicketTask) SetTicketRequest(v *v2.TicketRequest) { + x.xxx_hidden_TicketRequest = v +} + +func (x *Task_CreateTicketTask) SetTicketSchema(v *v2.TicketSchema) { + x.xxx_hidden_TicketSchema = v +} + +func (x *Task_CreateTicketTask) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *Task_CreateTicketTask) HasTicketRequest() bool { + if x == nil { + return false + } + return x.xxx_hidden_TicketRequest != nil +} + +func (x *Task_CreateTicketTask) HasTicketSchema() bool { + if x == nil { + return false + } + return x.xxx_hidden_TicketSchema != nil +} + +func (x *Task_CreateTicketTask) ClearTicketRequest() { + x.xxx_hidden_TicketRequest = nil +} + +func (x *Task_CreateTicketTask) ClearTicketSchema() { + x.xxx_hidden_TicketSchema = nil +} + +type Task_CreateTicketTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + TicketRequest *v2.TicketRequest + TicketSchema *v2.TicketSchema + Annotations []*anypb.Any +} + +func (b0 Task_CreateTicketTask_builder) Build() *Task_CreateTicketTask { + m0 := &Task_CreateTicketTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_TicketRequest = b.TicketRequest + x.xxx_hidden_TicketSchema = b.TicketSchema + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type Task_BulkCreateTicketsTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_TicketRequests *[]*Task_CreateTicketTask `protobuf:"bytes,1,rep,name=ticket_requests,json=ticketRequests,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_BulkCreateTicketsTask) Reset() { + *x = Task_BulkCreateTicketsTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_BulkCreateTicketsTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_BulkCreateTicketsTask) ProtoMessage() {} + +func (x *Task_BulkCreateTicketsTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Task_BulkCreateTicketsTask) GetTicketRequests() []*Task_CreateTicketTask { + if x != nil { + if x.xxx_hidden_TicketRequests != nil { + return *x.xxx_hidden_TicketRequests + } + } + return nil +} + +func (x *Task_BulkCreateTicketsTask) SetTicketRequests(v []*Task_CreateTicketTask) { + x.xxx_hidden_TicketRequests = &v +} + +type Task_BulkCreateTicketsTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + TicketRequests []*Task_CreateTicketTask +} + +func (b0 Task_BulkCreateTicketsTask_builder) Build() *Task_BulkCreateTicketsTask { + m0 := &Task_BulkCreateTicketsTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_TicketRequests = &b.TicketRequests + return m0 +} + +type Task_BulkGetTicketsTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_TicketRequests *[]*Task_GetTicketTask `protobuf:"bytes,1,rep,name=ticket_requests,json=ticketRequests,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_BulkGetTicketsTask) Reset() { + *x = Task_BulkGetTicketsTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_BulkGetTicketsTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_BulkGetTicketsTask) ProtoMessage() {} + +func (x *Task_BulkGetTicketsTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Task_BulkGetTicketsTask) GetTicketRequests() []*Task_GetTicketTask { + if x != nil { + if x.xxx_hidden_TicketRequests != nil { + return *x.xxx_hidden_TicketRequests + } + } + return nil +} + +func (x *Task_BulkGetTicketsTask) SetTicketRequests(v []*Task_GetTicketTask) { + x.xxx_hidden_TicketRequests = &v +} + +type Task_BulkGetTicketsTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + TicketRequests []*Task_GetTicketTask +} + +func (b0 Task_BulkGetTicketsTask_builder) Build() *Task_BulkGetTicketsTask { + m0 := &Task_BulkGetTicketsTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_TicketRequests = &b.TicketRequests + return m0 +} + +type Task_ListTicketSchemasTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_ListTicketSchemasTask) Reset() { + *x = Task_ListTicketSchemasTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_ListTicketSchemasTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_ListTicketSchemasTask) ProtoMessage() {} + +func (x *Task_ListTicketSchemasTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Task_ListTicketSchemasTask) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Task_ListTicketSchemasTask) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type Task_ListTicketSchemasTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 Task_ListTicketSchemasTask_builder) Build() *Task_ListTicketSchemasTask { + m0 := &Task_ListTicketSchemasTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type Task_GetTicketTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_TicketId string `protobuf:"bytes,1,opt,name=ticket_id,json=ticketId,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_GetTicketTask) Reset() { + *x = Task_GetTicketTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_GetTicketTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_GetTicketTask) ProtoMessage() {} + +func (x *Task_GetTicketTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Task_GetTicketTask) GetTicketId() string { + if x != nil { + return x.xxx_hidden_TicketId + } + return "" +} + +func (x *Task_GetTicketTask) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Task_GetTicketTask) SetTicketId(v string) { + x.xxx_hidden_TicketId = v +} + +func (x *Task_GetTicketTask) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type Task_GetTicketTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + TicketId string + Annotations []*anypb.Any +} + +func (b0 Task_GetTicketTask_builder) Build() *Task_GetTicketTask { + m0 := &Task_GetTicketTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_TicketId = b.TicketId + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type Task_ActionListSchemasTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_ActionListSchemasTask) Reset() { + *x = Task_ActionListSchemasTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_ActionListSchemasTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_ActionListSchemasTask) ProtoMessage() {} + +func (x *Task_ActionListSchemasTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Task_ActionListSchemasTask) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Task_ActionListSchemasTask) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type Task_ActionListSchemasTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any +} + +func (b0 Task_ActionListSchemasTask_builder) Build() *Task_ActionListSchemasTask { + m0 := &Task_ActionListSchemasTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type Task_ActionGetSchemaTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Name string `protobuf:"bytes,1,opt,name=name,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_ActionGetSchemaTask) Reset() { + *x = Task_ActionGetSchemaTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_ActionGetSchemaTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_ActionGetSchemaTask) ProtoMessage() {} + +func (x *Task_ActionGetSchemaTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Task_ActionGetSchemaTask) GetName() string { + if x != nil { + return x.xxx_hidden_Name + } + return "" +} + +func (x *Task_ActionGetSchemaTask) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Task_ActionGetSchemaTask) SetName(v string) { + x.xxx_hidden_Name = v +} + +func (x *Task_ActionGetSchemaTask) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type Task_ActionGetSchemaTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + Annotations []*anypb.Any +} + +func (b0 Task_ActionGetSchemaTask_builder) Build() *Task_ActionGetSchemaTask { + m0 := &Task_ActionGetSchemaTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Name = b.Name + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type Task_ActionInvokeTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Name string `protobuf:"bytes,1,opt,name=name,proto3"` + xxx_hidden_Args *structpb.Struct `protobuf:"bytes,2,opt,name=args,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_ActionInvokeTask) Reset() { + *x = Task_ActionInvokeTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_ActionInvokeTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_ActionInvokeTask) ProtoMessage() {} + +func (x *Task_ActionInvokeTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *Task_ActionInvokeTask) GetName() string { + if x != nil { + return x.xxx_hidden_Name + } + return "" +} + +func (x *Task_ActionInvokeTask) GetArgs() *structpb.Struct { + if x != nil { + return x.xxx_hidden_Args + } + return nil +} + +func (x *Task_ActionInvokeTask) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Task_ActionInvokeTask) SetName(v string) { + x.xxx_hidden_Name = v +} + +func (x *Task_ActionInvokeTask) SetArgs(v *structpb.Struct) { + x.xxx_hidden_Args = v +} + +func (x *Task_ActionInvokeTask) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *Task_ActionInvokeTask) HasArgs() bool { + if x == nil { + return false + } + return x.xxx_hidden_Args != nil +} + +func (x *Task_ActionInvokeTask) ClearArgs() { + x.xxx_hidden_Args = nil +} + +type Task_ActionInvokeTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + Args *structpb.Struct + Annotations []*anypb.Any +} + +func (b0 Task_ActionInvokeTask_builder) Build() *Task_ActionInvokeTask { + m0 := &Task_ActionInvokeTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Name = b.Name + x.xxx_hidden_Args = b.Args + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type Task_ActionStatusTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Name string `protobuf:"bytes,1,opt,name=name,proto3"` + xxx_hidden_Id string `protobuf:"bytes,2,opt,name=id,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_ActionStatusTask) Reset() { + *x = Task_ActionStatusTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_ActionStatusTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_ActionStatusTask) ProtoMessage() {} + +func (x *Task_ActionStatusTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_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) +} + +func (x *Task_ActionStatusTask) GetName() string { + if x != nil { + return x.xxx_hidden_Name + } + return "" +} + +func (x *Task_ActionStatusTask) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *Task_ActionStatusTask) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Task_ActionStatusTask) SetName(v string) { + x.xxx_hidden_Name = v +} + +func (x *Task_ActionStatusTask) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *Task_ActionStatusTask) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type Task_ActionStatusTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Name string + Id string + Annotations []*anypb.Any +} + +func (b0 Task_ActionStatusTask_builder) Build() *Task_ActionStatusTask { + m0 := &Task_ActionStatusTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Name = b.Name + x.xxx_hidden_Id = b.Id + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type Task_CreateSyncDiffTask struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_BaseSyncId string `protobuf:"bytes,1,opt,name=base_sync_id,json=baseSyncId,proto3"` + xxx_hidden_NewSyncId string `protobuf:"bytes,2,opt,name=new_sync_id,json=newSyncId,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_CreateSyncDiffTask) Reset() { + *x = Task_CreateSyncDiffTask{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_CreateSyncDiffTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_CreateSyncDiffTask) ProtoMessage() {} + +func (x *Task_CreateSyncDiffTask) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_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) +} + +func (x *Task_CreateSyncDiffTask) GetBaseSyncId() string { + if x != nil { + return x.xxx_hidden_BaseSyncId + } + return "" +} + +func (x *Task_CreateSyncDiffTask) GetNewSyncId() string { + if x != nil { + return x.xxx_hidden_NewSyncId + } + return "" +} + +func (x *Task_CreateSyncDiffTask) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Task_CreateSyncDiffTask) SetBaseSyncId(v string) { + x.xxx_hidden_BaseSyncId = v +} + +func (x *Task_CreateSyncDiffTask) SetNewSyncId(v string) { + x.xxx_hidden_NewSyncId = v +} + +func (x *Task_CreateSyncDiffTask) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type Task_CreateSyncDiffTask_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Open to suggestions here + BaseSyncId string + NewSyncId string + Annotations []*anypb.Any +} + +func (b0 Task_CreateSyncDiffTask_builder) Build() *Task_CreateSyncDiffTask { + m0 := &Task_CreateSyncDiffTask{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_BaseSyncId = b.BaseSyncId + x.xxx_hidden_NewSyncId = b.NewSyncId + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type Task_CompactSyncs struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_CompactableSyncs *[]*Task_CompactSyncs_CompactableSync `protobuf:"bytes,1,rep,name=compactable_syncs,json=compactableSyncs,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_CompactSyncs) Reset() { + *x = Task_CompactSyncs{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_CompactSyncs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_CompactSyncs) ProtoMessage() {} + +func (x *Task_CompactSyncs) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_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) +} + +func (x *Task_CompactSyncs) GetCompactableSyncs() []*Task_CompactSyncs_CompactableSync { + if x != nil { + if x.xxx_hidden_CompactableSyncs != nil { + return *x.xxx_hidden_CompactableSyncs + } + } + return nil +} + +func (x *Task_CompactSyncs) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *Task_CompactSyncs) SetCompactableSyncs(v []*Task_CompactSyncs_CompactableSync) { + x.xxx_hidden_CompactableSyncs = &v +} + +func (x *Task_CompactSyncs) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type Task_CompactSyncs_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + CompactableSyncs []*Task_CompactSyncs_CompactableSync + Annotations []*anypb.Any +} + +func (b0 Task_CompactSyncs_builder) Build() *Task_CompactSyncs { + m0 := &Task_CompactSyncs{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_CompactableSyncs = &b.CompactableSyncs + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type Task_CompactSyncs_CompactableSync struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_FilePath string `protobuf:"bytes,1,opt,name=file_path,json=filePath,proto3"` + xxx_hidden_SyncId string `protobuf:"bytes,2,opt,name=sync_id,json=syncId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Task_CompactSyncs_CompactableSync) Reset() { + *x = Task_CompactSyncs_CompactableSync{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Task_CompactSyncs_CompactableSync) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Task_CompactSyncs_CompactableSync) ProtoMessage() {} + +func (x *Task_CompactSyncs_CompactableSync) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_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) +} + +func (x *Task_CompactSyncs_CompactableSync) GetFilePath() string { + if x != nil { + return x.xxx_hidden_FilePath + } + return "" +} + +func (x *Task_CompactSyncs_CompactableSync) GetSyncId() string { + if x != nil { + return x.xxx_hidden_SyncId + } + return "" +} + +func (x *Task_CompactSyncs_CompactableSync) SetFilePath(v string) { + x.xxx_hidden_FilePath = v +} + +func (x *Task_CompactSyncs_CompactableSync) SetSyncId(v string) { + x.xxx_hidden_SyncId = v +} + +type Task_CompactSyncs_CompactableSync_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + FilePath string + SyncId string +} + +func (b0 Task_CompactSyncs_CompactableSync_builder) Build() *Task_CompactSyncs_CompactableSync { + m0 := &Task_CompactSyncs_CompactableSync{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_FilePath = b.FilePath + x.xxx_hidden_SyncId = b.SyncId + return m0 +} + +type BatonServiceHelloRequest_BuildInfo struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_LangVersion string `protobuf:"bytes,1,opt,name=lang_version,json=langVersion,proto3"` + xxx_hidden_Package string `protobuf:"bytes,2,opt,name=package,proto3"` + xxx_hidden_PackageVersion string `protobuf:"bytes,3,opt,name=package_version,json=packageVersion,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonServiceHelloRequest_BuildInfo) Reset() { + *x = BatonServiceHelloRequest_BuildInfo{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonServiceHelloRequest_BuildInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonServiceHelloRequest_BuildInfo) ProtoMessage() {} + +func (x *BatonServiceHelloRequest_BuildInfo) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_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) +} + +func (x *BatonServiceHelloRequest_BuildInfo) GetLangVersion() string { + if x != nil { + return x.xxx_hidden_LangVersion + } + return "" +} + +func (x *BatonServiceHelloRequest_BuildInfo) GetPackage() string { + if x != nil { + return x.xxx_hidden_Package + } + return "" +} + +func (x *BatonServiceHelloRequest_BuildInfo) GetPackageVersion() string { + if x != nil { + return x.xxx_hidden_PackageVersion + } + return "" +} + +func (x *BatonServiceHelloRequest_BuildInfo) SetLangVersion(v string) { + x.xxx_hidden_LangVersion = v +} + +func (x *BatonServiceHelloRequest_BuildInfo) SetPackage(v string) { + x.xxx_hidden_Package = v +} + +func (x *BatonServiceHelloRequest_BuildInfo) SetPackageVersion(v string) { + x.xxx_hidden_PackageVersion = v +} + +type BatonServiceHelloRequest_BuildInfo_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + LangVersion string + Package string + PackageVersion string +} + +func (b0 BatonServiceHelloRequest_BuildInfo_builder) Build() *BatonServiceHelloRequest_BuildInfo { + m0 := &BatonServiceHelloRequest_BuildInfo{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_LangVersion = b.LangVersion + x.xxx_hidden_Package = b.Package + x.xxx_hidden_PackageVersion = b.PackageVersion + return m0 +} + +type BatonServiceHelloRequest_OSInfo struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3"` + xxx_hidden_Os string `protobuf:"bytes,2,opt,name=os,proto3"` + xxx_hidden_Platform string `protobuf:"bytes,3,opt,name=platform,proto3"` + xxx_hidden_PlatformVersion string `protobuf:"bytes,4,opt,name=platform_version,json=platformVersion,proto3"` + xxx_hidden_PlatformFamily string `protobuf:"bytes,5,opt,name=platform_family,json=platformFamily,proto3"` + xxx_hidden_KernelVersion string `protobuf:"bytes,6,opt,name=kernel_version,json=kernelVersion,proto3"` + xxx_hidden_KernelArch string `protobuf:"bytes,7,opt,name=kernel_arch,json=kernelArch,proto3"` + xxx_hidden_VirtualizationSystem string `protobuf:"bytes,8,opt,name=virtualization_system,json=virtualizationSystem,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonServiceHelloRequest_OSInfo) Reset() { + *x = BatonServiceHelloRequest_OSInfo{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonServiceHelloRequest_OSInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonServiceHelloRequest_OSInfo) ProtoMessage() {} + +func (x *BatonServiceHelloRequest_OSInfo) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *BatonServiceHelloRequest_OSInfo) GetHostname() string { + if x != nil { + return x.xxx_hidden_Hostname + } + return "" +} + +func (x *BatonServiceHelloRequest_OSInfo) GetOs() string { + if x != nil { + return x.xxx_hidden_Os + } + return "" +} + +func (x *BatonServiceHelloRequest_OSInfo) GetPlatform() string { + if x != nil { + return x.xxx_hidden_Platform + } + return "" +} + +func (x *BatonServiceHelloRequest_OSInfo) GetPlatformVersion() string { + if x != nil { + return x.xxx_hidden_PlatformVersion + } + return "" +} + +func (x *BatonServiceHelloRequest_OSInfo) GetPlatformFamily() string { + if x != nil { + return x.xxx_hidden_PlatformFamily + } + return "" +} + +func (x *BatonServiceHelloRequest_OSInfo) GetKernelVersion() string { + if x != nil { + return x.xxx_hidden_KernelVersion + } + return "" +} + +func (x *BatonServiceHelloRequest_OSInfo) GetKernelArch() string { + if x != nil { + return x.xxx_hidden_KernelArch + } + return "" +} + +func (x *BatonServiceHelloRequest_OSInfo) GetVirtualizationSystem() string { + if x != nil { + return x.xxx_hidden_VirtualizationSystem + } + return "" +} + +func (x *BatonServiceHelloRequest_OSInfo) SetHostname(v string) { + x.xxx_hidden_Hostname = v +} + +func (x *BatonServiceHelloRequest_OSInfo) SetOs(v string) { + x.xxx_hidden_Os = v +} + +func (x *BatonServiceHelloRequest_OSInfo) SetPlatform(v string) { + x.xxx_hidden_Platform = v +} + +func (x *BatonServiceHelloRequest_OSInfo) SetPlatformVersion(v string) { + x.xxx_hidden_PlatformVersion = v +} + +func (x *BatonServiceHelloRequest_OSInfo) SetPlatformFamily(v string) { + x.xxx_hidden_PlatformFamily = v +} + +func (x *BatonServiceHelloRequest_OSInfo) SetKernelVersion(v string) { + x.xxx_hidden_KernelVersion = v +} + +func (x *BatonServiceHelloRequest_OSInfo) SetKernelArch(v string) { + x.xxx_hidden_KernelArch = v +} + +func (x *BatonServiceHelloRequest_OSInfo) SetVirtualizationSystem(v string) { + x.xxx_hidden_VirtualizationSystem = v +} + +type BatonServiceHelloRequest_OSInfo_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Hostname string + Os string + Platform string + PlatformVersion string + PlatformFamily string + KernelVersion string + KernelArch string + VirtualizationSystem string +} + +func (b0 BatonServiceHelloRequest_OSInfo_builder) Build() *BatonServiceHelloRequest_OSInfo { + m0 := &BatonServiceHelloRequest_OSInfo{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Hostname = b.Hostname + x.xxx_hidden_Os = b.Os + x.xxx_hidden_Platform = b.Platform + x.xxx_hidden_PlatformVersion = b.PlatformVersion + x.xxx_hidden_PlatformFamily = b.PlatformFamily + x.xxx_hidden_KernelVersion = b.KernelVersion + x.xxx_hidden_KernelArch = b.KernelArch + x.xxx_hidden_VirtualizationSystem = b.VirtualizationSystem + return m0 +} + +type BatonServiceUploadAssetRequest_UploadMetadata struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3"` + xxx_hidden_TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonServiceUploadAssetRequest_UploadMetadata) Reset() { + *x = BatonServiceUploadAssetRequest_UploadMetadata{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonServiceUploadAssetRequest_UploadMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonServiceUploadAssetRequest_UploadMetadata) ProtoMessage() {} + +func (x *BatonServiceUploadAssetRequest_UploadMetadata) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *BatonServiceUploadAssetRequest_UploadMetadata) GetHostId() string { + if x != nil { + return x.xxx_hidden_HostId + } + return "" +} + +func (x *BatonServiceUploadAssetRequest_UploadMetadata) GetTaskId() string { + if x != nil { + return x.xxx_hidden_TaskId + } + return "" +} + +func (x *BatonServiceUploadAssetRequest_UploadMetadata) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *BatonServiceUploadAssetRequest_UploadMetadata) SetHostId(v string) { + x.xxx_hidden_HostId = v +} + +func (x *BatonServiceUploadAssetRequest_UploadMetadata) SetTaskId(v string) { + x.xxx_hidden_TaskId = v +} + +func (x *BatonServiceUploadAssetRequest_UploadMetadata) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type BatonServiceUploadAssetRequest_UploadMetadata_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + HostId string + TaskId string + Annotations []*anypb.Any +} + +func (b0 BatonServiceUploadAssetRequest_UploadMetadata_builder) Build() *BatonServiceUploadAssetRequest_UploadMetadata { + m0 := &BatonServiceUploadAssetRequest_UploadMetadata{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_HostId = b.HostId + x.xxx_hidden_TaskId = b.TaskId + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type BatonServiceUploadAssetRequest_UploadData struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Data []byte `protobuf:"bytes,1,opt,name=data,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonServiceUploadAssetRequest_UploadData) Reset() { + *x = BatonServiceUploadAssetRequest_UploadData{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonServiceUploadAssetRequest_UploadData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonServiceUploadAssetRequest_UploadData) ProtoMessage() {} + +func (x *BatonServiceUploadAssetRequest_UploadData) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *BatonServiceUploadAssetRequest_UploadData) GetData() []byte { + if x != nil { + return x.xxx_hidden_Data + } + return nil +} + +func (x *BatonServiceUploadAssetRequest_UploadData) SetData(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_Data = v +} + +type BatonServiceUploadAssetRequest_UploadData_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // 1MB limit + Data []byte +} + +func (b0 BatonServiceUploadAssetRequest_UploadData_builder) Build() *BatonServiceUploadAssetRequest_UploadData { + m0 := &BatonServiceUploadAssetRequest_UploadData{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Data = b.Data + return m0 +} + +type BatonServiceUploadAssetRequest_UploadEOF struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Sha256Checksum []byte `protobuf:"bytes,1,opt,name=sha256_checksum,json=sha256Checksum,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonServiceUploadAssetRequest_UploadEOF) Reset() { + *x = BatonServiceUploadAssetRequest_UploadEOF{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonServiceUploadAssetRequest_UploadEOF) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonServiceUploadAssetRequest_UploadEOF) ProtoMessage() {} + +func (x *BatonServiceUploadAssetRequest_UploadEOF) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *BatonServiceUploadAssetRequest_UploadEOF) GetSha256Checksum() []byte { + if x != nil { + return x.xxx_hidden_Sha256Checksum + } + return nil +} + +func (x *BatonServiceUploadAssetRequest_UploadEOF) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *BatonServiceUploadAssetRequest_UploadEOF) SetSha256Checksum(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_Sha256Checksum = v +} + +func (x *BatonServiceUploadAssetRequest_UploadEOF) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type BatonServiceUploadAssetRequest_UploadEOF_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Sha256Checksum []byte + Annotations []*anypb.Any +} + +func (b0 BatonServiceUploadAssetRequest_UploadEOF_builder) Build() *BatonServiceUploadAssetRequest_UploadEOF { + m0 := &BatonServiceUploadAssetRequest_UploadEOF{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Sha256Checksum = b.Sha256Checksum + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type BatonServiceFinishTaskRequest_Error struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_NonRetryable bool `protobuf:"varint,1,opt,name=non_retryable,json=nonRetryable,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + xxx_hidden_Response *anypb.Any `protobuf:"bytes,3,opt,name=response,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonServiceFinishTaskRequest_Error) Reset() { + *x = BatonServiceFinishTaskRequest_Error{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonServiceFinishTaskRequest_Error) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonServiceFinishTaskRequest_Error) ProtoMessage() {} + +func (x *BatonServiceFinishTaskRequest_Error) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *BatonServiceFinishTaskRequest_Error) GetNonRetryable() bool { + if x != nil { + return x.xxx_hidden_NonRetryable + } + return false +} + +func (x *BatonServiceFinishTaskRequest_Error) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *BatonServiceFinishTaskRequest_Error) GetResponse() *anypb.Any { + if x != nil { + return x.xxx_hidden_Response + } + return nil +} + +func (x *BatonServiceFinishTaskRequest_Error) SetNonRetryable(v bool) { + x.xxx_hidden_NonRetryable = v +} + +func (x *BatonServiceFinishTaskRequest_Error) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *BatonServiceFinishTaskRequest_Error) SetResponse(v *anypb.Any) { + x.xxx_hidden_Response = v +} + +func (x *BatonServiceFinishTaskRequest_Error) HasResponse() bool { + if x == nil { + return false + } + return x.xxx_hidden_Response != nil +} + +func (x *BatonServiceFinishTaskRequest_Error) ClearResponse() { + x.xxx_hidden_Response = nil +} + +type BatonServiceFinishTaskRequest_Error_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + NonRetryable bool + Annotations []*anypb.Any + // The response from the connector, if any. + Response *anypb.Any +} + +func (b0 BatonServiceFinishTaskRequest_Error_builder) Build() *BatonServiceFinishTaskRequest_Error { + m0 := &BatonServiceFinishTaskRequest_Error{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_NonRetryable = b.NonRetryable + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_Response = b.Response + return m0 +} + +type BatonServiceFinishTaskRequest_Success struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + xxx_hidden_Response *anypb.Any `protobuf:"bytes,2,opt,name=response,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatonServiceFinishTaskRequest_Success) Reset() { + *x = BatonServiceFinishTaskRequest_Success{} + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatonServiceFinishTaskRequest_Success) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatonServiceFinishTaskRequest_Success) ProtoMessage() {} + +func (x *BatonServiceFinishTaskRequest_Success) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_baton_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *BatonServiceFinishTaskRequest_Success) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *BatonServiceFinishTaskRequest_Success) GetResponse() *anypb.Any { + if x != nil { + return x.xxx_hidden_Response + } + return nil +} + +func (x *BatonServiceFinishTaskRequest_Success) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *BatonServiceFinishTaskRequest_Success) SetResponse(v *anypb.Any) { + x.xxx_hidden_Response = v +} + +func (x *BatonServiceFinishTaskRequest_Success) HasResponse() bool { + if x == nil { + return false + } + return x.xxx_hidden_Response != nil +} + +func (x *BatonServiceFinishTaskRequest_Success) ClearResponse() { + x.xxx_hidden_Response = nil +} + +type BatonServiceFinishTaskRequest_Success_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any + // The response from the connector, if any. + Response *anypb.Any +} + +func (b0 BatonServiceFinishTaskRequest_Success_builder) Build() *BatonServiceFinishTaskRequest_Success { + m0 := &BatonServiceFinishTaskRequest_Success{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_Response = b.Response + return m0 +} + +var File_c1_connectorapi_baton_v1_baton_proto protoreflect.FileDescriptor + +const file_c1_connectorapi_baton_v1_baton_proto_rawDesc = "" + + "\n" + + "$c1/connectorapi/baton/v1/baton.proto\x12\x18c1.connectorapi.baton.v1\x1a\x1fc1/connector/v2/connector.proto\x1a!c1/connector/v2/entitlement.proto\x1a\x1bc1/connector/v2/grant.proto\x1a\x1ec1/connector/v2/resource.proto\x1a\x1cc1/connector/v2/ticket.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\x1a\x17validate/validate.proto\"\xd9'\n" + + "\x04Task\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12=\n" + + "\x06status\x18\x02 \x01(\x0e2%.c1.connectorapi.baton.v1.Task.StatusR\x06status\x12=\n" + + "\x04none\x18d \x01(\v2'.c1.connectorapi.baton.v1.Task.NoneTaskH\x00R\x04none\x12@\n" + + "\x05hello\x18e \x01(\v2(.c1.connectorapi.baton.v1.Task.HelloTaskH\x00R\x05hello\x12J\n" + + "\tsync_full\x18f \x01(\v2+.c1.connectorapi.baton.v1.Task.SyncFullTaskH\x00R\bsyncFull\x12@\n" + + "\x05grant\x18g \x01(\v2(.c1.connectorapi.baton.v1.Task.GrantTaskH\x00R\x05grant\x12C\n" + + "\x06revoke\x18h \x01(\v2).c1.connectorapi.baton.v1.Task.RevokeTaskH\x00R\x06revoke\x12Y\n" + + "\x0ecreate_account\x18i \x01(\v20.c1.connectorapi.baton.v1.Task.CreateAccountTaskH\x00R\rcreateAccount\x12\\\n" + + "\x0fcreate_resource\x18j \x01(\v21.c1.connectorapi.baton.v1.Task.CreateResourceTaskH\x00R\x0ecreateResource\x12\\\n" + + "\x0fdelete_resource\x18k \x01(\v21.c1.connectorapi.baton.v1.Task.DeleteResourceTaskH\x00R\x0edeleteResource\x12e\n" + + "\x12rotate_credentials\x18l \x01(\v24.c1.connectorapi.baton.v1.Task.RotateCredentialsTaskH\x00R\x11rotateCredentials\x12M\n" + + "\n" + + "event_feed\x18m \x01(\v2,.c1.connectorapi.baton.v1.Task.EventFeedTaskH\x00R\teventFeed\x12_\n" + + "\x12create_ticket_task\x18n \x01(\v2/.c1.connectorapi.baton.v1.Task.CreateTicketTaskH\x00R\x10createTicketTask\x12f\n" + + "\x13list_ticket_schemas\x18o \x01(\v24.c1.connectorapi.baton.v1.Task.ListTicketSchemasTaskH\x00R\x11listTicketSchemas\x12M\n" + + "\n" + + "get_ticket\x18p \x01(\v2,.c1.connectorapi.baton.v1.Task.GetTicketTaskH\x00R\tgetTicket\x12f\n" + + "\x13bulk_create_tickets\x18q \x01(\v24.c1.connectorapi.baton.v1.Task.BulkCreateTicketsTaskH\x00R\x11bulkCreateTickets\x12]\n" + + "\x10bulk_get_tickets\x18r \x01(\v21.c1.connectorapi.baton.v1.Task.BulkGetTicketsTaskH\x00R\x0ebulkGetTickets\x12f\n" + + "\x13action_list_schemas\x18s \x01(\v24.c1.connectorapi.baton.v1.Task.ActionListSchemasTaskH\x00R\x11actionListSchemas\x12`\n" + + "\x11action_get_schema\x18t \x01(\v22.c1.connectorapi.baton.v1.Task.ActionGetSchemaTaskH\x00R\x0factionGetSchema\x12V\n" + + "\raction_invoke\x18u \x01(\v2/.c1.connectorapi.baton.v1.Task.ActionInvokeTaskH\x00R\factionInvoke\x12V\n" + + "\raction_status\x18v \x01(\v2/.c1.connectorapi.baton.v1.Task.ActionStatusTaskH\x00R\factionStatus\x12]\n" + + "\x10create_sync_diff\x18w \x01(\v21.c1.connectorapi.baton.v1.Task.CreateSyncDiffTaskH\x00R\x0ecreateSyncDiff\x12R\n" + + "\rcompact_syncs\x18x \x01(\v2+.c1.connectorapi.baton.v1.Task.CompactSyncsH\x00R\fcompactSyncs\x12\x14\n" + + "\x05debug\x18\x03 \x01(\bR\x05debug\x1aB\n" + + "\bNoneTask\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1aC\n" + + "\tHelloTask\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1a\xb5\x01\n" + + "\fSyncFullTask\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12,\n" + + "\x12skip_expand_grants\x18\x02 \x01(\bR\x10skipExpandGrants\x12?\n" + + "\x1cskip_entitlements_and_grants\x18\x03 \x01(\bR\x19skipEntitlementsAndGrants\x1a~\n" + + "\rEventFeedTask\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x125\n" + + "\bstart_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\astartAt\x1a\xf3\x01\n" + + "\tGrantTask\x12>\n" + + "\ventitlement\x18\x01 \x01(\v2\x1c.c1.connector.v2.EntitlementR\ventitlement\x127\n" + + "\tprincipal\x18\x02 \x01(\v2\x19.c1.connector.v2.ResourceR\tprincipal\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x125\n" + + "\bduration\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\bduration\x1ar\n" + + "\n" + + "RevokeTask\x12,\n" + + "\x05grant\x18\x01 \x01(\v2\x16.c1.connector.v2.GrantR\x05grant\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1a\xf9\x01\n" + + "\x11CreateAccountTask\x12?\n" + + "\faccount_info\x18\x01 \x01(\v2\x1c.c1.connector.v2.AccountInfoR\vaccountInfo\x12Q\n" + + "\x12credential_options\x18\x02 \x01(\v2\".c1.connector.v2.CredentialOptionsR\x11credentialOptions\x12P\n" + + "\x12encryption_configs\x18\x03 \x03(\v2!.c1.connector.v2.EncryptionConfigR\x11encryptionConfigs\x1aK\n" + + "\x12CreateResourceTask\x125\n" + + "\bresource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\bresource\x1a\x9d\x01\n" + + "\x12DeleteResourceTask\x12<\n" + + "\vresource_id\x18\x01 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\n" + + "resourceId\x12I\n" + + "\x12parent_resource_id\x18\x02 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\x10parentResourceId\x1a\xfa\x01\n" + + "\x15RotateCredentialsTask\x12<\n" + + "\vresource_id\x18\x01 \x01(\v2\x1b.c1.connector.v2.ResourceIdR\n" + + "resourceId\x12Q\n" + + "\x12credential_options\x18\x02 \x01(\v2\".c1.connector.v2.CredentialOptionsR\x11credentialOptions\x12P\n" + + "\x12encryption_configs\x18\x03 \x03(\v2!.c1.connector.v2.EncryptionConfigR\x11encryptionConfigs\x1a\xd5\x01\n" + + "\x10CreateTicketTask\x12E\n" + + "\x0eticket_request\x18\x01 \x01(\v2\x1e.c1.connector.v2.TicketRequestR\rticketRequest\x12B\n" + + "\rticket_schema\x18\x02 \x01(\v2\x1d.c1.connector.v2.TicketSchemaR\fticketSchema\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1aq\n" + + "\x15BulkCreateTicketsTask\x12X\n" + + "\x0fticket_requests\x18\x01 \x03(\v2/.c1.connectorapi.baton.v1.Task.CreateTicketTaskR\x0eticketRequests\x1ak\n" + + "\x12BulkGetTicketsTask\x12U\n" + + "\x0fticket_requests\x18\x01 \x03(\v2,.c1.connectorapi.baton.v1.Task.GetTicketTaskR\x0eticketRequests\x1aO\n" + + "\x15ListTicketSchemasTask\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1ad\n" + + "\rGetTicketTask\x12\x1b\n" + + "\tticket_id\x18\x01 \x01(\tR\bticketId\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1aO\n" + + "\x15ActionListSchemasTask\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1aa\n" + + "\x13ActionGetSchemaTask\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1a\x8b\x01\n" + + "\x10ActionInvokeTask\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12+\n" + + "\x04args\x18\x02 \x01(\v2\x17.google.protobuf.StructR\x04args\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1an\n" + + "\x10ActionStatusTask\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x0e\n" + + "\x02id\x18\x02 \x01(\tR\x02id\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1a\x8e\x01\n" + + "\x12CreateSyncDiffTask\x12 \n" + + "\fbase_sync_id\x18\x01 \x01(\tR\n" + + "baseSyncId\x12\x1e\n" + + "\vnew_sync_id\x18\x02 \x01(\tR\tnewSyncId\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1a\xf9\x01\n" + + "\fCompactSyncs\x12h\n" + + "\x11compactable_syncs\x18\x01 \x03(\v2;.c1.connectorapi.baton.v1.Task.CompactSyncs.CompactableSyncR\x10compactableSyncs\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x1aG\n" + + "\x0fCompactableSync\x12\x1b\n" + + "\tfile_path\x18\x01 \x01(\tR\bfilePath\x12\x17\n" + + "\async_id\x18\x02 \x01(\tR\x06syncId\"s\n" + + "\x06Status\x12\x16\n" + + "\x12STATUS_UNSPECIFIED\x10\x00\x12\x12\n" + + "\x0eSTATUS_PENDING\x10\x01\x12\x14\n" + + "\x10STATUS_SCHEDULED\x10\x02\x12\x12\n" + + "\x0eSTATUS_RUNNING\x10\x03\x12\x13\n" + + "\x0fSTATUS_FINISHED\x10\x04B\v\n" + + "\ttask_type\"\xf3\a\n" + + "\x18BatonServiceHelloRequest\x12#\n" + + "\ahost_id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x06hostId\x122\n" + + "\atask_id\x18\x02 \x01(\tB\x19\xfaB\x16r\x142\x12^[a-zA-Z0-9]{27}|$R\x06taskId\x12e\n" + + "\n" + + "build_info\x18\x03 \x01(\v2<.c1.connectorapi.baton.v1.BatonServiceHelloRequest.BuildInfoB\b\xfaB\x05\x8a\x01\x02\x10\x01R\tbuildInfo\x12\\\n" + + "\aos_info\x18\x04 \x01(\v29.c1.connectorapi.baton.v1.BatonServiceHelloRequest.OSInfoB\b\xfaB\x05\x8a\x01\x02\x10\x01R\x06osInfo\x12[\n" + + "\x12connector_metadata\x18\x05 \x01(\v2\".c1.connector.v2.ConnectorMetadataB\b\xfaB\x05\x8a\x01\x02\x10\x01R\x11connectorMetadata\x12@\n" + + "\vannotations\x18\x06 \x03(\v2\x14.google.protobuf.AnyB\b\xfaB\x05\x92\x01\x02\x10\x10R\vannotations\x1a\x95\x01\n" + + "\tBuildInfo\x12-\n" + + "\flang_version\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\vlangVersion\x12$\n" + + "\apackage\x18\x02 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\apackage\x123\n" + + "\x0fpackage_version\x18\x03 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x0epackageVersion\x1a\x81\x03\n" + + "\x06OSInfo\x12&\n" + + "\bhostname\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\bhostname\x12\x1a\n" + + "\x02os\x18\x02 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x02os\x12&\n" + + "\bplatform\x18\x03 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\bplatform\x125\n" + + "\x10platform_version\x18\x04 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x0fplatformVersion\x123\n" + + "\x0fplatform_family\x18\x05 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x0eplatformFamily\x121\n" + + "\x0ekernel_version\x18\x06 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\rkernelVersion\x12+\n" + + "\vkernel_arch\x18\a \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\n" + + "kernelArch\x12?\n" + + "\x15virtualization_system\x18\b \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x14virtualizationSystem\"S\n" + + "\x19BatonServiceHelloResponse\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"A\n" + + "\x1aBatonServiceGetTaskRequest\x12#\n" + + "\ahost_id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x06hostId\"\x83\x02\n" + + "\x1bBatonServiceGetTaskResponse\x122\n" + + "\x04task\x18\x01 \x01(\v2\x1e.c1.connectorapi.baton.v1.TaskR\x04task\x126\n" + + "\tnext_poll\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\bnextPoll\x12@\n" + + "\x0enext_heartbeat\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\rnextHeartbeat\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xb8\x01\n" + + "\x1cBatonServiceHeartbeatRequest\x12#\n" + + "\ahost_id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x06hostId\x121\n" + + "\atask_id\x18\x02 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06taskId\x12@\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyB\b\xfaB\x05\x92\x01\x02\x10\x10R\vannotations\"\xb7\x01\n" + + "\x1dBatonServiceHeartbeatResponse\x12@\n" + + "\x0enext_heartbeat\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\rnextHeartbeat\x12\x1c\n" + + "\tcancelled\x18\x02 \x01(\bR\tcancelled\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xa3\x05\n" + + "\x1eBatonServiceUploadAssetRequest\x12e\n" + + "\bmetadata\x18d \x01(\v2G.c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.UploadMetadataH\x00R\bmetadata\x12Y\n" + + "\x04data\x18e \x01(\v2C.c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.UploadDataH\x00R\x04data\x12V\n" + + "\x03eof\x18f \x01(\v2B.c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.UploadEOFH\x00R\x03eof\x1a\xaa\x01\n" + + "\x0eUploadMetadata\x12#\n" + + "\ahost_id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x06hostId\x121\n" + + "\atask_id\x18\x02 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06taskId\x12@\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyB\b\xfaB\x05\x92\x01\x02\x10\x10R\vannotations\x1a-\n" + + "\n" + + "UploadData\x12\x1f\n" + + "\x04data\x18\x01 \x01(\fB\v\xfaB\bz\x06\x10\x01\x18\x80\x80@R\x04data\x1a\x7f\n" + + "\tUploadEOF\x120\n" + + "\x0fsha256_checksum\x18\x01 \x01(\fB\a\xfaB\x04z\x02h R\x0esha256Checksum\x12@\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyB\b\xfaB\x05\x92\x01\x02\x10\x10R\vannotationsB\n" + + "\n" + + "\x03msg\x12\x03\xf8B\x01\"Y\n" + + "\x1fBatonServiceUploadAssetResponse\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x8d\x05\n" + + "\x1dBatonServiceFinishTaskRequest\x12#\n" + + "\ahost_id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x06hostId\x121\n" + + "\atask_id\x18\x02 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06taskId\x12*\n" + + "\x06status\x18\x03 \x01(\v2\x12.google.rpc.StatusR\x06status\x12U\n" + + "\x05error\x18d \x01(\v2=.c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.ErrorH\x00R\x05error\x12[\n" + + "\asuccess\x18e \x01(\v2?.c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.SuccessH\x00R\asuccess\x1a\xa0\x01\n" + + "\x05Error\x12#\n" + + "\rnon_retryable\x18\x01 \x01(\bR\fnonRetryable\x12@\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyB\b\xfaB\x05\x92\x01\x02\x10\x10R\vannotations\x120\n" + + "\bresponse\x18\x03 \x01(\v2\x14.google.protobuf.AnyR\bresponse\x1a}\n" + + "\aSuccess\x12@\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyB\b\xfaB\x05\x92\x01\x02\x10\x10R\vannotations\x120\n" + + "\bresponse\x18\x02 \x01(\v2\x14.google.protobuf.AnyR\bresponseB\x12\n" + + "\vfinal_state\x12\x03\xf8B\x01\"X\n" + + "\x1eBatonServiceFinishTaskResponse\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x17\n" + + "\x15StartDebuggingRequest\"0\n" + + "\x16StartDebuggingResponse\x12\x16\n" + + "\x06status\x18\x01 \x01(\bR\x06status2\x80\x06\n" + + "\fBatonService\x12r\n" + + "\x05Hello\x122.c1.connectorapi.baton.v1.BatonServiceHelloRequest\x1a3.c1.connectorapi.baton.v1.BatonServiceHelloResponse\"\x00\x12x\n" + + "\aGetTask\x124.c1.connectorapi.baton.v1.BatonServiceGetTaskRequest\x1a5.c1.connectorapi.baton.v1.BatonServiceGetTaskResponse\"\x00\x12~\n" + + "\tHeartbeat\x126.c1.connectorapi.baton.v1.BatonServiceHeartbeatRequest\x1a7.c1.connectorapi.baton.v1.BatonServiceHeartbeatResponse\"\x00\x12\x81\x01\n" + + "\n" + + "FinishTask\x127.c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest\x1a8.c1.connectorapi.baton.v1.BatonServiceFinishTaskResponse\"\x00\x12\x86\x01\n" + + "\vUploadAsset\x128.c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest\x1a9.c1.connectorapi.baton.v1.BatonServiceUploadAssetResponse\"\x00(\x01\x12u\n" + + "\x0eStartDebugging\x12/.c1.connectorapi.baton.v1.StartDebuggingRequest\x1a0.c1.connectorapi.baton.v1.StartDebuggingResponse\"\x00B7Z5gitlab.com/ductone/c1/pkg/pb/c1/connectorapi/baton/v1b\x06proto3" + +var file_c1_connectorapi_baton_v1_baton_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_c1_connectorapi_baton_v1_baton_proto_msgTypes = make([]protoimpl.MessageInfo, 42) +var file_c1_connectorapi_baton_v1_baton_proto_goTypes = []any{ + (Task_Status)(0), // 0: c1.connectorapi.baton.v1.Task.Status + (*Task)(nil), // 1: c1.connectorapi.baton.v1.Task + (*BatonServiceHelloRequest)(nil), // 2: c1.connectorapi.baton.v1.BatonServiceHelloRequest + (*BatonServiceHelloResponse)(nil), // 3: c1.connectorapi.baton.v1.BatonServiceHelloResponse + (*BatonServiceGetTaskRequest)(nil), // 4: c1.connectorapi.baton.v1.BatonServiceGetTaskRequest + (*BatonServiceGetTaskResponse)(nil), // 5: c1.connectorapi.baton.v1.BatonServiceGetTaskResponse + (*BatonServiceHeartbeatRequest)(nil), // 6: c1.connectorapi.baton.v1.BatonServiceHeartbeatRequest + (*BatonServiceHeartbeatResponse)(nil), // 7: c1.connectorapi.baton.v1.BatonServiceHeartbeatResponse + (*BatonServiceUploadAssetRequest)(nil), // 8: c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest + (*BatonServiceUploadAssetResponse)(nil), // 9: c1.connectorapi.baton.v1.BatonServiceUploadAssetResponse + (*BatonServiceFinishTaskRequest)(nil), // 10: c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest + (*BatonServiceFinishTaskResponse)(nil), // 11: c1.connectorapi.baton.v1.BatonServiceFinishTaskResponse + (*StartDebuggingRequest)(nil), // 12: c1.connectorapi.baton.v1.StartDebuggingRequest + (*StartDebuggingResponse)(nil), // 13: c1.connectorapi.baton.v1.StartDebuggingResponse + (*Task_NoneTask)(nil), // 14: c1.connectorapi.baton.v1.Task.NoneTask + (*Task_HelloTask)(nil), // 15: c1.connectorapi.baton.v1.Task.HelloTask + (*Task_SyncFullTask)(nil), // 16: c1.connectorapi.baton.v1.Task.SyncFullTask + (*Task_EventFeedTask)(nil), // 17: c1.connectorapi.baton.v1.Task.EventFeedTask + (*Task_GrantTask)(nil), // 18: c1.connectorapi.baton.v1.Task.GrantTask + (*Task_RevokeTask)(nil), // 19: c1.connectorapi.baton.v1.Task.RevokeTask + (*Task_CreateAccountTask)(nil), // 20: c1.connectorapi.baton.v1.Task.CreateAccountTask + (*Task_CreateResourceTask)(nil), // 21: c1.connectorapi.baton.v1.Task.CreateResourceTask + (*Task_DeleteResourceTask)(nil), // 22: c1.connectorapi.baton.v1.Task.DeleteResourceTask + (*Task_RotateCredentialsTask)(nil), // 23: c1.connectorapi.baton.v1.Task.RotateCredentialsTask + (*Task_CreateTicketTask)(nil), // 24: c1.connectorapi.baton.v1.Task.CreateTicketTask + (*Task_BulkCreateTicketsTask)(nil), // 25: c1.connectorapi.baton.v1.Task.BulkCreateTicketsTask + (*Task_BulkGetTicketsTask)(nil), // 26: c1.connectorapi.baton.v1.Task.BulkGetTicketsTask + (*Task_ListTicketSchemasTask)(nil), // 27: c1.connectorapi.baton.v1.Task.ListTicketSchemasTask + (*Task_GetTicketTask)(nil), // 28: c1.connectorapi.baton.v1.Task.GetTicketTask + (*Task_ActionListSchemasTask)(nil), // 29: c1.connectorapi.baton.v1.Task.ActionListSchemasTask + (*Task_ActionGetSchemaTask)(nil), // 30: c1.connectorapi.baton.v1.Task.ActionGetSchemaTask + (*Task_ActionInvokeTask)(nil), // 31: c1.connectorapi.baton.v1.Task.ActionInvokeTask + (*Task_ActionStatusTask)(nil), // 32: c1.connectorapi.baton.v1.Task.ActionStatusTask + (*Task_CreateSyncDiffTask)(nil), // 33: c1.connectorapi.baton.v1.Task.CreateSyncDiffTask + (*Task_CompactSyncs)(nil), // 34: c1.connectorapi.baton.v1.Task.CompactSyncs + (*Task_CompactSyncs_CompactableSync)(nil), // 35: c1.connectorapi.baton.v1.Task.CompactSyncs.CompactableSync + (*BatonServiceHelloRequest_BuildInfo)(nil), // 36: c1.connectorapi.baton.v1.BatonServiceHelloRequest.BuildInfo + (*BatonServiceHelloRequest_OSInfo)(nil), // 37: c1.connectorapi.baton.v1.BatonServiceHelloRequest.OSInfo + (*BatonServiceUploadAssetRequest_UploadMetadata)(nil), // 38: c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.UploadMetadata + (*BatonServiceUploadAssetRequest_UploadData)(nil), // 39: c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.UploadData + (*BatonServiceUploadAssetRequest_UploadEOF)(nil), // 40: c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.UploadEOF + (*BatonServiceFinishTaskRequest_Error)(nil), // 41: c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.Error + (*BatonServiceFinishTaskRequest_Success)(nil), // 42: c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.Success + (*v2.ConnectorMetadata)(nil), // 43: c1.connector.v2.ConnectorMetadata + (*anypb.Any)(nil), // 44: google.protobuf.Any + (*durationpb.Duration)(nil), // 45: google.protobuf.Duration + (*status.Status)(nil), // 46: google.rpc.Status + (*timestamppb.Timestamp)(nil), // 47: google.protobuf.Timestamp + (*v2.Entitlement)(nil), // 48: c1.connector.v2.Entitlement + (*v2.Resource)(nil), // 49: c1.connector.v2.Resource + (*v2.Grant)(nil), // 50: c1.connector.v2.Grant + (*v2.AccountInfo)(nil), // 51: c1.connector.v2.AccountInfo + (*v2.CredentialOptions)(nil), // 52: c1.connector.v2.CredentialOptions + (*v2.EncryptionConfig)(nil), // 53: c1.connector.v2.EncryptionConfig + (*v2.ResourceId)(nil), // 54: c1.connector.v2.ResourceId + (*v2.TicketRequest)(nil), // 55: c1.connector.v2.TicketRequest + (*v2.TicketSchema)(nil), // 56: c1.connector.v2.TicketSchema + (*structpb.Struct)(nil), // 57: google.protobuf.Struct +} +var file_c1_connectorapi_baton_v1_baton_proto_depIdxs = []int32{ + 0, // 0: c1.connectorapi.baton.v1.Task.status:type_name -> c1.connectorapi.baton.v1.Task.Status + 14, // 1: c1.connectorapi.baton.v1.Task.none:type_name -> c1.connectorapi.baton.v1.Task.NoneTask + 15, // 2: c1.connectorapi.baton.v1.Task.hello:type_name -> c1.connectorapi.baton.v1.Task.HelloTask + 16, // 3: c1.connectorapi.baton.v1.Task.sync_full:type_name -> c1.connectorapi.baton.v1.Task.SyncFullTask + 18, // 4: c1.connectorapi.baton.v1.Task.grant:type_name -> c1.connectorapi.baton.v1.Task.GrantTask + 19, // 5: c1.connectorapi.baton.v1.Task.revoke:type_name -> c1.connectorapi.baton.v1.Task.RevokeTask + 20, // 6: c1.connectorapi.baton.v1.Task.create_account:type_name -> c1.connectorapi.baton.v1.Task.CreateAccountTask + 21, // 7: c1.connectorapi.baton.v1.Task.create_resource:type_name -> c1.connectorapi.baton.v1.Task.CreateResourceTask + 22, // 8: c1.connectorapi.baton.v1.Task.delete_resource:type_name -> c1.connectorapi.baton.v1.Task.DeleteResourceTask + 23, // 9: c1.connectorapi.baton.v1.Task.rotate_credentials:type_name -> c1.connectorapi.baton.v1.Task.RotateCredentialsTask + 17, // 10: c1.connectorapi.baton.v1.Task.event_feed:type_name -> c1.connectorapi.baton.v1.Task.EventFeedTask + 24, // 11: c1.connectorapi.baton.v1.Task.create_ticket_task:type_name -> c1.connectorapi.baton.v1.Task.CreateTicketTask + 27, // 12: c1.connectorapi.baton.v1.Task.list_ticket_schemas:type_name -> c1.connectorapi.baton.v1.Task.ListTicketSchemasTask + 28, // 13: c1.connectorapi.baton.v1.Task.get_ticket:type_name -> c1.connectorapi.baton.v1.Task.GetTicketTask + 25, // 14: c1.connectorapi.baton.v1.Task.bulk_create_tickets:type_name -> c1.connectorapi.baton.v1.Task.BulkCreateTicketsTask + 26, // 15: c1.connectorapi.baton.v1.Task.bulk_get_tickets:type_name -> c1.connectorapi.baton.v1.Task.BulkGetTicketsTask + 29, // 16: c1.connectorapi.baton.v1.Task.action_list_schemas:type_name -> c1.connectorapi.baton.v1.Task.ActionListSchemasTask + 30, // 17: c1.connectorapi.baton.v1.Task.action_get_schema:type_name -> c1.connectorapi.baton.v1.Task.ActionGetSchemaTask + 31, // 18: c1.connectorapi.baton.v1.Task.action_invoke:type_name -> c1.connectorapi.baton.v1.Task.ActionInvokeTask + 32, // 19: c1.connectorapi.baton.v1.Task.action_status:type_name -> c1.connectorapi.baton.v1.Task.ActionStatusTask + 33, // 20: c1.connectorapi.baton.v1.Task.create_sync_diff:type_name -> c1.connectorapi.baton.v1.Task.CreateSyncDiffTask + 34, // 21: c1.connectorapi.baton.v1.Task.compact_syncs:type_name -> c1.connectorapi.baton.v1.Task.CompactSyncs + 36, // 22: c1.connectorapi.baton.v1.BatonServiceHelloRequest.build_info:type_name -> c1.connectorapi.baton.v1.BatonServiceHelloRequest.BuildInfo + 37, // 23: c1.connectorapi.baton.v1.BatonServiceHelloRequest.os_info:type_name -> c1.connectorapi.baton.v1.BatonServiceHelloRequest.OSInfo + 43, // 24: c1.connectorapi.baton.v1.BatonServiceHelloRequest.connector_metadata:type_name -> c1.connector.v2.ConnectorMetadata + 44, // 25: c1.connectorapi.baton.v1.BatonServiceHelloRequest.annotations:type_name -> google.protobuf.Any + 44, // 26: c1.connectorapi.baton.v1.BatonServiceHelloResponse.annotations:type_name -> google.protobuf.Any + 1, // 27: c1.connectorapi.baton.v1.BatonServiceGetTaskResponse.task:type_name -> c1.connectorapi.baton.v1.Task + 45, // 28: c1.connectorapi.baton.v1.BatonServiceGetTaskResponse.next_poll:type_name -> google.protobuf.Duration + 45, // 29: c1.connectorapi.baton.v1.BatonServiceGetTaskResponse.next_heartbeat:type_name -> google.protobuf.Duration + 44, // 30: c1.connectorapi.baton.v1.BatonServiceGetTaskResponse.annotations:type_name -> google.protobuf.Any + 44, // 31: c1.connectorapi.baton.v1.BatonServiceHeartbeatRequest.annotations:type_name -> google.protobuf.Any + 45, // 32: c1.connectorapi.baton.v1.BatonServiceHeartbeatResponse.next_heartbeat:type_name -> google.protobuf.Duration + 44, // 33: c1.connectorapi.baton.v1.BatonServiceHeartbeatResponse.annotations:type_name -> google.protobuf.Any + 38, // 34: c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.metadata:type_name -> c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.UploadMetadata + 39, // 35: c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.data:type_name -> c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.UploadData + 40, // 36: c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.eof:type_name -> c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.UploadEOF + 44, // 37: c1.connectorapi.baton.v1.BatonServiceUploadAssetResponse.annotations:type_name -> google.protobuf.Any + 46, // 38: c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.status:type_name -> google.rpc.Status + 41, // 39: c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.error:type_name -> c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.Error + 42, // 40: c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.success:type_name -> c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.Success + 44, // 41: c1.connectorapi.baton.v1.BatonServiceFinishTaskResponse.annotations:type_name -> google.protobuf.Any + 44, // 42: c1.connectorapi.baton.v1.Task.NoneTask.annotations:type_name -> google.protobuf.Any + 44, // 43: c1.connectorapi.baton.v1.Task.HelloTask.annotations:type_name -> google.protobuf.Any + 44, // 44: c1.connectorapi.baton.v1.Task.SyncFullTask.annotations:type_name -> google.protobuf.Any + 44, // 45: c1.connectorapi.baton.v1.Task.EventFeedTask.annotations:type_name -> google.protobuf.Any + 47, // 46: c1.connectorapi.baton.v1.Task.EventFeedTask.start_at:type_name -> google.protobuf.Timestamp + 48, // 47: c1.connectorapi.baton.v1.Task.GrantTask.entitlement:type_name -> c1.connector.v2.Entitlement + 49, // 48: c1.connectorapi.baton.v1.Task.GrantTask.principal:type_name -> c1.connector.v2.Resource + 44, // 49: c1.connectorapi.baton.v1.Task.GrantTask.annotations:type_name -> google.protobuf.Any + 45, // 50: c1.connectorapi.baton.v1.Task.GrantTask.duration:type_name -> google.protobuf.Duration + 50, // 51: c1.connectorapi.baton.v1.Task.RevokeTask.grant:type_name -> c1.connector.v2.Grant + 44, // 52: c1.connectorapi.baton.v1.Task.RevokeTask.annotations:type_name -> google.protobuf.Any + 51, // 53: c1.connectorapi.baton.v1.Task.CreateAccountTask.account_info:type_name -> c1.connector.v2.AccountInfo + 52, // 54: c1.connectorapi.baton.v1.Task.CreateAccountTask.credential_options:type_name -> c1.connector.v2.CredentialOptions + 53, // 55: c1.connectorapi.baton.v1.Task.CreateAccountTask.encryption_configs:type_name -> c1.connector.v2.EncryptionConfig + 49, // 56: c1.connectorapi.baton.v1.Task.CreateResourceTask.resource:type_name -> c1.connector.v2.Resource + 54, // 57: c1.connectorapi.baton.v1.Task.DeleteResourceTask.resource_id:type_name -> c1.connector.v2.ResourceId + 54, // 58: c1.connectorapi.baton.v1.Task.DeleteResourceTask.parent_resource_id:type_name -> c1.connector.v2.ResourceId + 54, // 59: c1.connectorapi.baton.v1.Task.RotateCredentialsTask.resource_id:type_name -> c1.connector.v2.ResourceId + 52, // 60: c1.connectorapi.baton.v1.Task.RotateCredentialsTask.credential_options:type_name -> c1.connector.v2.CredentialOptions + 53, // 61: c1.connectorapi.baton.v1.Task.RotateCredentialsTask.encryption_configs:type_name -> c1.connector.v2.EncryptionConfig + 55, // 62: c1.connectorapi.baton.v1.Task.CreateTicketTask.ticket_request:type_name -> c1.connector.v2.TicketRequest + 56, // 63: c1.connectorapi.baton.v1.Task.CreateTicketTask.ticket_schema:type_name -> c1.connector.v2.TicketSchema + 44, // 64: c1.connectorapi.baton.v1.Task.CreateTicketTask.annotations:type_name -> google.protobuf.Any + 24, // 65: c1.connectorapi.baton.v1.Task.BulkCreateTicketsTask.ticket_requests:type_name -> c1.connectorapi.baton.v1.Task.CreateTicketTask + 28, // 66: c1.connectorapi.baton.v1.Task.BulkGetTicketsTask.ticket_requests:type_name -> c1.connectorapi.baton.v1.Task.GetTicketTask + 44, // 67: c1.connectorapi.baton.v1.Task.ListTicketSchemasTask.annotations:type_name -> google.protobuf.Any + 44, // 68: c1.connectorapi.baton.v1.Task.GetTicketTask.annotations:type_name -> google.protobuf.Any + 44, // 69: c1.connectorapi.baton.v1.Task.ActionListSchemasTask.annotations:type_name -> google.protobuf.Any + 44, // 70: c1.connectorapi.baton.v1.Task.ActionGetSchemaTask.annotations:type_name -> google.protobuf.Any + 57, // 71: c1.connectorapi.baton.v1.Task.ActionInvokeTask.args:type_name -> google.protobuf.Struct + 44, // 72: c1.connectorapi.baton.v1.Task.ActionInvokeTask.annotations:type_name -> google.protobuf.Any + 44, // 73: c1.connectorapi.baton.v1.Task.ActionStatusTask.annotations:type_name -> google.protobuf.Any + 44, // 74: c1.connectorapi.baton.v1.Task.CreateSyncDiffTask.annotations:type_name -> google.protobuf.Any + 35, // 75: c1.connectorapi.baton.v1.Task.CompactSyncs.compactable_syncs:type_name -> c1.connectorapi.baton.v1.Task.CompactSyncs.CompactableSync + 44, // 76: c1.connectorapi.baton.v1.Task.CompactSyncs.annotations:type_name -> google.protobuf.Any + 44, // 77: c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.UploadMetadata.annotations:type_name -> google.protobuf.Any + 44, // 78: c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest.UploadEOF.annotations:type_name -> google.protobuf.Any + 44, // 79: c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.Error.annotations:type_name -> google.protobuf.Any + 44, // 80: c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.Error.response:type_name -> google.protobuf.Any + 44, // 81: c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.Success.annotations:type_name -> google.protobuf.Any + 44, // 82: c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest.Success.response:type_name -> google.protobuf.Any + 2, // 83: c1.connectorapi.baton.v1.BatonService.Hello:input_type -> c1.connectorapi.baton.v1.BatonServiceHelloRequest + 4, // 84: c1.connectorapi.baton.v1.BatonService.GetTask:input_type -> c1.connectorapi.baton.v1.BatonServiceGetTaskRequest + 6, // 85: c1.connectorapi.baton.v1.BatonService.Heartbeat:input_type -> c1.connectorapi.baton.v1.BatonServiceHeartbeatRequest + 10, // 86: c1.connectorapi.baton.v1.BatonService.FinishTask:input_type -> c1.connectorapi.baton.v1.BatonServiceFinishTaskRequest + 8, // 87: c1.connectorapi.baton.v1.BatonService.UploadAsset:input_type -> c1.connectorapi.baton.v1.BatonServiceUploadAssetRequest + 12, // 88: c1.connectorapi.baton.v1.BatonService.StartDebugging:input_type -> c1.connectorapi.baton.v1.StartDebuggingRequest + 3, // 89: c1.connectorapi.baton.v1.BatonService.Hello:output_type -> c1.connectorapi.baton.v1.BatonServiceHelloResponse + 5, // 90: c1.connectorapi.baton.v1.BatonService.GetTask:output_type -> c1.connectorapi.baton.v1.BatonServiceGetTaskResponse + 7, // 91: c1.connectorapi.baton.v1.BatonService.Heartbeat:output_type -> c1.connectorapi.baton.v1.BatonServiceHeartbeatResponse + 11, // 92: c1.connectorapi.baton.v1.BatonService.FinishTask:output_type -> c1.connectorapi.baton.v1.BatonServiceFinishTaskResponse + 9, // 93: c1.connectorapi.baton.v1.BatonService.UploadAsset:output_type -> c1.connectorapi.baton.v1.BatonServiceUploadAssetResponse + 13, // 94: c1.connectorapi.baton.v1.BatonService.StartDebugging:output_type -> c1.connectorapi.baton.v1.StartDebuggingResponse + 89, // [89:95] is the sub-list for method output_type + 83, // [83:89] is the sub-list for method input_type + 83, // [83:83] is the sub-list for extension type_name + 83, // [83:83] is the sub-list for extension extendee + 0, // [0:83] is the sub-list for field type_name +} + +func init() { file_c1_connectorapi_baton_v1_baton_proto_init() } +func file_c1_connectorapi_baton_v1_baton_proto_init() { + if File_c1_connectorapi_baton_v1_baton_proto != nil { + return + } + file_c1_connectorapi_baton_v1_baton_proto_msgTypes[0].OneofWrappers = []any{ + (*task_None)(nil), + (*task_Hello)(nil), + (*task_SyncFull)(nil), + (*task_Grant)(nil), + (*task_Revoke)(nil), + (*task_CreateAccount)(nil), + (*task_CreateResource)(nil), + (*task_DeleteResource)(nil), + (*task_RotateCredentials)(nil), + (*task_EventFeed)(nil), + (*task_CreateTicketTask_)(nil), + (*task_ListTicketSchemas)(nil), + (*task_GetTicket)(nil), + (*task_BulkCreateTickets)(nil), + (*task_BulkGetTickets)(nil), + (*task_ActionListSchemas)(nil), + (*task_ActionGetSchema)(nil), + (*task_ActionInvoke)(nil), + (*task_ActionStatus)(nil), + (*task_CreateSyncDiff)(nil), + (*task_CompactSyncs_)(nil), + } + file_c1_connectorapi_baton_v1_baton_proto_msgTypes[7].OneofWrappers = []any{ + (*batonServiceUploadAssetRequest_Metadata)(nil), + (*batonServiceUploadAssetRequest_Data)(nil), + (*batonServiceUploadAssetRequest_Eof)(nil), + } + file_c1_connectorapi_baton_v1_baton_proto_msgTypes[9].OneofWrappers = []any{ + (*batonServiceFinishTaskRequest_Error_)(nil), + (*batonServiceFinishTaskRequest_Success_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_connectorapi_baton_v1_baton_proto_rawDesc), len(file_c1_connectorapi_baton_v1_baton_proto_rawDesc)), + NumEnums: 1, + NumMessages: 42, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_c1_connectorapi_baton_v1_baton_proto_goTypes, + DependencyIndexes: file_c1_connectorapi_baton_v1_baton_proto_depIdxs, + EnumInfos: file_c1_connectorapi_baton_v1_baton_proto_enumTypes, + MessageInfos: file_c1_connectorapi_baton_v1_baton_proto_msgTypes, + }.Build() + File_c1_connectorapi_baton_v1_baton_proto = out.File + file_c1_connectorapi_baton_v1_baton_proto_goTypes = nil + file_c1_connectorapi_baton_v1_baton_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/config.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/config.pb.go index ccf3c296..7838469a 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/config.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/config.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/connectorapi/baton/v1/config.proto +//go:build !protoopaque + package v1 import ( @@ -11,7 +13,6 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -23,7 +24,7 @@ const ( ) type GetConnectorConfigRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -53,13 +54,20 @@ func (x *GetConnectorConfigRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetConnectorConfigRequest.ProtoReflect.Descriptor instead. -func (*GetConnectorConfigRequest) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_config_proto_rawDescGZIP(), []int{0} +type GetConnectorConfigRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 GetConnectorConfigRequest_builder) Build() *GetConnectorConfigRequest { + m0 := &GetConnectorConfigRequest{} + b, x := &b0, m0 + _, _ = b, x + return m0 } type GetConnectorConfigResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Config []byte `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` LastUpdated *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` unknownFields protoimpl.UnknownFields @@ -91,11 +99,6 @@ func (x *GetConnectorConfigResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetConnectorConfigResponse.ProtoReflect.Descriptor instead. -func (*GetConnectorConfigResponse) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_config_proto_rawDescGZIP(), []int{1} -} - func (x *GetConnectorConfigResponse) GetConfig() []byte { if x != nil { return x.Config @@ -110,8 +113,46 @@ func (x *GetConnectorConfigResponse) GetLastUpdated() *timestamppb.Timestamp { return nil } +func (x *GetConnectorConfigResponse) SetConfig(v []byte) { + if v == nil { + v = []byte{} + } + x.Config = v +} + +func (x *GetConnectorConfigResponse) SetLastUpdated(v *timestamppb.Timestamp) { + x.LastUpdated = v +} + +func (x *GetConnectorConfigResponse) HasLastUpdated() bool { + if x == nil { + return false + } + return x.LastUpdated != nil +} + +func (x *GetConnectorConfigResponse) ClearLastUpdated() { + x.LastUpdated = nil +} + +type GetConnectorConfigResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Config []byte + LastUpdated *timestamppb.Timestamp +} + +func (b0 GetConnectorConfigResponse_builder) Build() *GetConnectorConfigResponse { + m0 := &GetConnectorConfigResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Config = b.Config + x.LastUpdated = b.LastUpdated + return m0 +} + type SignedHeader struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Value []string `protobuf:"bytes,2,rep,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields @@ -143,11 +184,6 @@ func (x *SignedHeader) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SignedHeader.ProtoReflect.Descriptor instead. -func (*SignedHeader) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_config_proto_rawDescGZIP(), []int{2} -} - func (x *SignedHeader) GetKey() string { if x != nil { return x.Key @@ -162,8 +198,32 @@ func (x *SignedHeader) GetValue() []string { return nil } +func (x *SignedHeader) SetKey(v string) { + x.Key = v +} + +func (x *SignedHeader) SetValue(v []string) { + x.Value = v +} + +type SignedHeader_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Key string + Value []string +} + +func (b0 SignedHeader_builder) Build() *SignedHeader { + m0 := &SignedHeader{} + b, x := &b0, m0 + _, _ = b, x + x.Key = b.Key + x.Value = b.Value + return m0 +} + type Sigv4SignedRequestSTSGetCallerIdentity struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"` Endpoint string `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"` Headers []*SignedHeader `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty"` @@ -197,11 +257,6 @@ func (x *Sigv4SignedRequestSTSGetCallerIdentity) ProtoReflect() protoreflect.Mes return mi.MessageOf(x) } -// Deprecated: Use Sigv4SignedRequestSTSGetCallerIdentity.ProtoReflect.Descriptor instead. -func (*Sigv4SignedRequestSTSGetCallerIdentity) Descriptor() ([]byte, []int) { - return file_c1_connectorapi_baton_v1_config_proto_rawDescGZIP(), []int{3} -} - func (x *Sigv4SignedRequestSTSGetCallerIdentity) GetMethod() string { if x != nil { return x.Method @@ -230,67 +285,65 @@ func (x *Sigv4SignedRequestSTSGetCallerIdentity) GetBody() []byte { return nil } -var File_c1_connectorapi_baton_v1_config_proto protoreflect.FileDescriptor +func (x *Sigv4SignedRequestSTSGetCallerIdentity) SetMethod(v string) { + x.Method = v +} -var file_c1_connectorapi_baton_v1_config_proto_rawDesc = string([]byte{ - 0x0a, 0x25, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, - 0x69, 0x2f, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, - 0x31, 0x1a, 0x1f, 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, 0x22, 0x1b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x73, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 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, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x22, 0x36, 0x0a, 0x0c, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb2, 0x01, 0x0a, - 0x26, 0x53, 0x69, 0x67, 0x76, 0x34, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x53, 0x54, 0x53, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x07, 0x68, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, - 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, - 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, - 0x79, 0x32, 0x99, 0x01, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7f, 0x0a, 0x12, - 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x33, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x37, 0x5a, - 0x35, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x75, 0x63, 0x74, - 0x6f, 0x6e, 0x65, 0x2f, 0x63, 0x31, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x62, 0x2f, 0x63, 0x31, - 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x61, 0x70, 0x69, 0x2f, 0x62, 0x61, - 0x74, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) - -var ( - file_c1_connectorapi_baton_v1_config_proto_rawDescOnce sync.Once - file_c1_connectorapi_baton_v1_config_proto_rawDescData []byte -) +func (x *Sigv4SignedRequestSTSGetCallerIdentity) SetEndpoint(v string) { + x.Endpoint = v +} + +func (x *Sigv4SignedRequestSTSGetCallerIdentity) SetHeaders(v []*SignedHeader) { + x.Headers = v +} + +func (x *Sigv4SignedRequestSTSGetCallerIdentity) SetBody(v []byte) { + if v == nil { + v = []byte{} + } + x.Body = v +} -func file_c1_connectorapi_baton_v1_config_proto_rawDescGZIP() []byte { - file_c1_connectorapi_baton_v1_config_proto_rawDescOnce.Do(func() { - file_c1_connectorapi_baton_v1_config_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connectorapi_baton_v1_config_proto_rawDesc), len(file_c1_connectorapi_baton_v1_config_proto_rawDesc))) - }) - return file_c1_connectorapi_baton_v1_config_proto_rawDescData +type Sigv4SignedRequestSTSGetCallerIdentity_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Method string + Endpoint string + Headers []*SignedHeader + Body []byte +} + +func (b0 Sigv4SignedRequestSTSGetCallerIdentity_builder) Build() *Sigv4SignedRequestSTSGetCallerIdentity { + m0 := &Sigv4SignedRequestSTSGetCallerIdentity{} + b, x := &b0, m0 + _, _ = b, x + x.Method = b.Method + x.Endpoint = b.Endpoint + x.Headers = b.Headers + x.Body = b.Body + return m0 } +var File_c1_connectorapi_baton_v1_config_proto protoreflect.FileDescriptor + +const file_c1_connectorapi_baton_v1_config_proto_rawDesc = "" + + "\n" + + "%c1/connectorapi/baton/v1/config.proto\x12\x18c1.connectorapi.baton.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x1b\n" + + "\x19GetConnectorConfigRequest\"s\n" + + "\x1aGetConnectorConfigResponse\x12\x16\n" + + "\x06config\x18\x01 \x01(\fR\x06config\x12=\n" + + "\flast_updated\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\vlastUpdated\"6\n" + + "\fSignedHeader\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x03(\tR\x05value\"\xb2\x01\n" + + "&Sigv4SignedRequestSTSGetCallerIdentity\x12\x16\n" + + "\x06method\x18\x01 \x01(\tR\x06method\x12\x1a\n" + + "\bendpoint\x18\x02 \x01(\tR\bendpoint\x12@\n" + + "\aheaders\x18\x03 \x03(\v2&.c1.connectorapi.baton.v1.SignedHeaderR\aheaders\x12\x12\n" + + "\x04body\x18\x04 \x01(\fR\x04body2\x99\x01\n" + + "\x16ConnectorConfigService\x12\x7f\n" + + "\x12GetConnectorConfig\x123.c1.connectorapi.baton.v1.GetConnectorConfigRequest\x1a4.c1.connectorapi.baton.v1.GetConnectorConfigResponseB7Z5gitlab.com/ductone/c1/pkg/pb/c1/connectorapi/baton/v1b\x06proto3" + var file_c1_connectorapi_baton_v1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_c1_connectorapi_baton_v1_config_proto_goTypes = []any{ (*GetConnectorConfigRequest)(nil), // 0: c1.connectorapi.baton.v1.GetConnectorConfigRequest diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/config_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/config_protoopaque.pb.go new file mode 100644 index 00000000..3e277b71 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/config_protoopaque.pb.go @@ -0,0 +1,391 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connectorapi/baton/v1/config.proto + +//go:build protoopaque + +package v1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + 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) +) + +type GetConnectorConfigRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetConnectorConfigRequest) Reset() { + *x = GetConnectorConfigRequest{} + mi := &file_c1_connectorapi_baton_v1_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetConnectorConfigRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetConnectorConfigRequest) ProtoMessage() {} + +func (x *GetConnectorConfigRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_config_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) +} + +type GetConnectorConfigRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 GetConnectorConfigRequest_builder) Build() *GetConnectorConfigRequest { + m0 := &GetConnectorConfigRequest{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +type GetConnectorConfigResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Config []byte `protobuf:"bytes,1,opt,name=config,proto3"` + xxx_hidden_LastUpdated *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=last_updated,json=lastUpdated,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetConnectorConfigResponse) Reset() { + *x = GetConnectorConfigResponse{} + mi := &file_c1_connectorapi_baton_v1_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetConnectorConfigResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetConnectorConfigResponse) ProtoMessage() {} + +func (x *GetConnectorConfigResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_config_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) +} + +func (x *GetConnectorConfigResponse) GetConfig() []byte { + if x != nil { + return x.xxx_hidden_Config + } + return nil +} + +func (x *GetConnectorConfigResponse) GetLastUpdated() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_LastUpdated + } + return nil +} + +func (x *GetConnectorConfigResponse) SetConfig(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_Config = v +} + +func (x *GetConnectorConfigResponse) SetLastUpdated(v *timestamppb.Timestamp) { + x.xxx_hidden_LastUpdated = v +} + +func (x *GetConnectorConfigResponse) HasLastUpdated() bool { + if x == nil { + return false + } + return x.xxx_hidden_LastUpdated != nil +} + +func (x *GetConnectorConfigResponse) ClearLastUpdated() { + x.xxx_hidden_LastUpdated = nil +} + +type GetConnectorConfigResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Config []byte + LastUpdated *timestamppb.Timestamp +} + +func (b0 GetConnectorConfigResponse_builder) Build() *GetConnectorConfigResponse { + m0 := &GetConnectorConfigResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Config = b.Config + x.xxx_hidden_LastUpdated = b.LastUpdated + return m0 +} + +type SignedHeader struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Key string `protobuf:"bytes,1,opt,name=key,proto3"` + xxx_hidden_Value []string `protobuf:"bytes,2,rep,name=value,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SignedHeader) Reset() { + *x = SignedHeader{} + mi := &file_c1_connectorapi_baton_v1_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SignedHeader) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignedHeader) ProtoMessage() {} + +func (x *SignedHeader) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_config_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) +} + +func (x *SignedHeader) GetKey() string { + if x != nil { + return x.xxx_hidden_Key + } + return "" +} + +func (x *SignedHeader) GetValue() []string { + if x != nil { + return x.xxx_hidden_Value + } + return nil +} + +func (x *SignedHeader) SetKey(v string) { + x.xxx_hidden_Key = v +} + +func (x *SignedHeader) SetValue(v []string) { + x.xxx_hidden_Value = v +} + +type SignedHeader_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Key string + Value []string +} + +func (b0 SignedHeader_builder) Build() *SignedHeader { + m0 := &SignedHeader{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Key = b.Key + x.xxx_hidden_Value = b.Value + return m0 +} + +type Sigv4SignedRequestSTSGetCallerIdentity struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Method string `protobuf:"bytes,1,opt,name=method,proto3"` + xxx_hidden_Endpoint string `protobuf:"bytes,2,opt,name=endpoint,proto3"` + xxx_hidden_Headers *[]*SignedHeader `protobuf:"bytes,3,rep,name=headers,proto3"` + xxx_hidden_Body []byte `protobuf:"bytes,4,opt,name=body,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Sigv4SignedRequestSTSGetCallerIdentity) Reset() { + *x = Sigv4SignedRequestSTSGetCallerIdentity{} + mi := &file_c1_connectorapi_baton_v1_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Sigv4SignedRequestSTSGetCallerIdentity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Sigv4SignedRequestSTSGetCallerIdentity) ProtoMessage() {} + +func (x *Sigv4SignedRequestSTSGetCallerIdentity) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_config_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) +} + +func (x *Sigv4SignedRequestSTSGetCallerIdentity) GetMethod() string { + if x != nil { + return x.xxx_hidden_Method + } + return "" +} + +func (x *Sigv4SignedRequestSTSGetCallerIdentity) GetEndpoint() string { + if x != nil { + return x.xxx_hidden_Endpoint + } + return "" +} + +func (x *Sigv4SignedRequestSTSGetCallerIdentity) GetHeaders() []*SignedHeader { + if x != nil { + if x.xxx_hidden_Headers != nil { + return *x.xxx_hidden_Headers + } + } + return nil +} + +func (x *Sigv4SignedRequestSTSGetCallerIdentity) GetBody() []byte { + if x != nil { + return x.xxx_hidden_Body + } + return nil +} + +func (x *Sigv4SignedRequestSTSGetCallerIdentity) SetMethod(v string) { + x.xxx_hidden_Method = v +} + +func (x *Sigv4SignedRequestSTSGetCallerIdentity) SetEndpoint(v string) { + x.xxx_hidden_Endpoint = v +} + +func (x *Sigv4SignedRequestSTSGetCallerIdentity) SetHeaders(v []*SignedHeader) { + x.xxx_hidden_Headers = &v +} + +func (x *Sigv4SignedRequestSTSGetCallerIdentity) SetBody(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_Body = v +} + +type Sigv4SignedRequestSTSGetCallerIdentity_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Method string + Endpoint string + Headers []*SignedHeader + Body []byte +} + +func (b0 Sigv4SignedRequestSTSGetCallerIdentity_builder) Build() *Sigv4SignedRequestSTSGetCallerIdentity { + m0 := &Sigv4SignedRequestSTSGetCallerIdentity{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Method = b.Method + x.xxx_hidden_Endpoint = b.Endpoint + x.xxx_hidden_Headers = &b.Headers + x.xxx_hidden_Body = b.Body + return m0 +} + +var File_c1_connectorapi_baton_v1_config_proto protoreflect.FileDescriptor + +const file_c1_connectorapi_baton_v1_config_proto_rawDesc = "" + + "\n" + + "%c1/connectorapi/baton/v1/config.proto\x12\x18c1.connectorapi.baton.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x1b\n" + + "\x19GetConnectorConfigRequest\"s\n" + + "\x1aGetConnectorConfigResponse\x12\x16\n" + + "\x06config\x18\x01 \x01(\fR\x06config\x12=\n" + + "\flast_updated\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\vlastUpdated\"6\n" + + "\fSignedHeader\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x03(\tR\x05value\"\xb2\x01\n" + + "&Sigv4SignedRequestSTSGetCallerIdentity\x12\x16\n" + + "\x06method\x18\x01 \x01(\tR\x06method\x12\x1a\n" + + "\bendpoint\x18\x02 \x01(\tR\bendpoint\x12@\n" + + "\aheaders\x18\x03 \x03(\v2&.c1.connectorapi.baton.v1.SignedHeaderR\aheaders\x12\x12\n" + + "\x04body\x18\x04 \x01(\fR\x04body2\x99\x01\n" + + "\x16ConnectorConfigService\x12\x7f\n" + + "\x12GetConnectorConfig\x123.c1.connectorapi.baton.v1.GetConnectorConfigRequest\x1a4.c1.connectorapi.baton.v1.GetConnectorConfigResponseB7Z5gitlab.com/ductone/c1/pkg/pb/c1/connectorapi/baton/v1b\x06proto3" + +var file_c1_connectorapi_baton_v1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_c1_connectorapi_baton_v1_config_proto_goTypes = []any{ + (*GetConnectorConfigRequest)(nil), // 0: c1.connectorapi.baton.v1.GetConnectorConfigRequest + (*GetConnectorConfigResponse)(nil), // 1: c1.connectorapi.baton.v1.GetConnectorConfigResponse + (*SignedHeader)(nil), // 2: c1.connectorapi.baton.v1.SignedHeader + (*Sigv4SignedRequestSTSGetCallerIdentity)(nil), // 3: c1.connectorapi.baton.v1.Sigv4SignedRequestSTSGetCallerIdentity + (*timestamppb.Timestamp)(nil), // 4: google.protobuf.Timestamp +} +var file_c1_connectorapi_baton_v1_config_proto_depIdxs = []int32{ + 4, // 0: c1.connectorapi.baton.v1.GetConnectorConfigResponse.last_updated:type_name -> google.protobuf.Timestamp + 2, // 1: c1.connectorapi.baton.v1.Sigv4SignedRequestSTSGetCallerIdentity.headers:type_name -> c1.connectorapi.baton.v1.SignedHeader + 0, // 2: c1.connectorapi.baton.v1.ConnectorConfigService.GetConnectorConfig:input_type -> c1.connectorapi.baton.v1.GetConnectorConfigRequest + 1, // 3: c1.connectorapi.baton.v1.ConnectorConfigService.GetConnectorConfig:output_type -> c1.connectorapi.baton.v1.GetConnectorConfigResponse + 3, // [3:4] is the sub-list for method output_type + 2, // [2:3] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_c1_connectorapi_baton_v1_config_proto_init() } +func file_c1_connectorapi_baton_v1_config_proto_init() { + if File_c1_connectorapi_baton_v1_config_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_connectorapi_baton_v1_config_proto_rawDesc), len(file_c1_connectorapi_baton_v1_config_proto_rawDesc)), + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_c1_connectorapi_baton_v1_config_proto_goTypes, + DependencyIndexes: file_c1_connectorapi_baton_v1_config_proto_depIdxs, + MessageInfos: file_c1_connectorapi_baton_v1_config_proto_msgTypes, + }.Build() + File_c1_connectorapi_baton_v1_config_proto = out.File + file_c1_connectorapi_baton_v1_config_proto_goTypes = nil + file_c1_connectorapi_baton_v1_config_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/session.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/session.pb.go new file mode 100644 index 00000000..6792e16b --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/session.pb.go @@ -0,0 +1,1408 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connectorapi/baton/v1/session.proto + +//go:build !protoopaque + +package v1 + +import ( + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + 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) +) + +type GetRequest struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + SyncId string `protobuf:"bytes,1,opt,name=sync_id,json=syncId,proto3" json:"sync_id,omitempty"` + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetRequest) Reset() { + *x = GetRequest{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRequest) ProtoMessage() {} + +func (x *GetRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_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) +} + +func (x *GetRequest) GetSyncId() string { + if x != nil { + return x.SyncId + } + return "" +} + +func (x *GetRequest) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *GetRequest) GetPrefix() string { + if x != nil { + return x.Prefix + } + return "" +} + +func (x *GetRequest) SetSyncId(v string) { + x.SyncId = v +} + +func (x *GetRequest) SetKey(v string) { + x.Key = v +} + +func (x *GetRequest) SetPrefix(v string) { + x.Prefix = v +} + +type GetRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SyncId string + Key string + Prefix string +} + +func (b0 GetRequest_builder) Build() *GetRequest { + m0 := &GetRequest{} + b, x := &b0, m0 + _, _ = b, x + x.SyncId = b.SyncId + x.Key = b.Key + x.Prefix = b.Prefix + return m0 +} + +type GetResponse struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetResponse) Reset() { + *x = GetResponse{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetResponse) ProtoMessage() {} + +func (x *GetResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_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) +} + +func (x *GetResponse) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + +func (x *GetResponse) SetValue(v []byte) { + if v == nil { + v = []byte{} + } + x.Value = v +} + +type GetResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Value []byte +} + +func (b0 GetResponse_builder) Build() *GetResponse { + m0 := &GetResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Value = b.Value + return m0 +} + +type GetManyRequest struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + SyncId string `protobuf:"bytes,1,opt,name=sync_id,json=syncId,proto3" json:"sync_id,omitempty"` + Keys []string `protobuf:"bytes,2,rep,name=keys,proto3" json:"keys,omitempty"` + Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetManyRequest) Reset() { + *x = GetManyRequest{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetManyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetManyRequest) ProtoMessage() {} + +func (x *GetManyRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_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) +} + +func (x *GetManyRequest) GetSyncId() string { + if x != nil { + return x.SyncId + } + return "" +} + +func (x *GetManyRequest) GetKeys() []string { + if x != nil { + return x.Keys + } + return nil +} + +func (x *GetManyRequest) GetPrefix() string { + if x != nil { + return x.Prefix + } + return "" +} + +func (x *GetManyRequest) SetSyncId(v string) { + x.SyncId = v +} + +func (x *GetManyRequest) SetKeys(v []string) { + x.Keys = v +} + +func (x *GetManyRequest) SetPrefix(v string) { + x.Prefix = v +} + +type GetManyRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SyncId string + Keys []string + Prefix string +} + +func (b0 GetManyRequest_builder) Build() *GetManyRequest { + m0 := &GetManyRequest{} + b, x := &b0, m0 + _, _ = b, x + x.SyncId = b.SyncId + x.Keys = b.Keys + x.Prefix = b.Prefix + return m0 +} + +type GetManyResponse struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + Items []*GetManyItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetManyResponse) Reset() { + *x = GetManyResponse{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetManyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetManyResponse) ProtoMessage() {} + +func (x *GetManyResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_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) +} + +func (x *GetManyResponse) GetItems() []*GetManyItem { + if x != nil { + return x.Items + } + return nil +} + +func (x *GetManyResponse) SetItems(v []*GetManyItem) { + x.Items = v +} + +type GetManyResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Items []*GetManyItem +} + +func (b0 GetManyResponse_builder) Build() *GetManyResponse { + m0 := &GetManyResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Items = b.Items + return m0 +} + +type GetManyItem struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetManyItem) Reset() { + *x = GetManyItem{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetManyItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetManyItem) ProtoMessage() {} + +func (x *GetManyItem) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *GetManyItem) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *GetManyItem) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + +func (x *GetManyItem) SetKey(v string) { + x.Key = v +} + +func (x *GetManyItem) SetValue(v []byte) { + if v == nil { + v = []byte{} + } + x.Value = v +} + +type GetManyItem_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Key string + Value []byte +} + +func (b0 GetManyItem_builder) Build() *GetManyItem { + m0 := &GetManyItem{} + b, x := &b0, m0 + _, _ = b, x + x.Key = b.Key + x.Value = b.Value + return m0 +} + +type GetAllRequest struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + SyncId string `protobuf:"bytes,1,opt,name=sync_id,json=syncId,proto3" json:"sync_id,omitempty"` + PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAllRequest) Reset() { + *x = GetAllRequest{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAllRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAllRequest) ProtoMessage() {} + +func (x *GetAllRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *GetAllRequest) GetSyncId() string { + if x != nil { + return x.SyncId + } + return "" +} + +func (x *GetAllRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *GetAllRequest) GetPrefix() string { + if x != nil { + return x.Prefix + } + return "" +} + +func (x *GetAllRequest) SetSyncId(v string) { + x.SyncId = v +} + +func (x *GetAllRequest) SetPageToken(v string) { + x.PageToken = v +} + +func (x *GetAllRequest) SetPrefix(v string) { + x.Prefix = v +} + +type GetAllRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SyncId string + PageToken string + Prefix string +} + +func (b0 GetAllRequest_builder) Build() *GetAllRequest { + m0 := &GetAllRequest{} + b, x := &b0, m0 + _, _ = b, x + x.SyncId = b.SyncId + x.PageToken = b.PageToken + x.Prefix = b.Prefix + return m0 +} + +type GetAllResponse struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + Items []*GetAllItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAllResponse) Reset() { + *x = GetAllResponse{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAllResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAllResponse) ProtoMessage() {} + +func (x *GetAllResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *GetAllResponse) GetItems() []*GetAllItem { + if x != nil { + return x.Items + } + return nil +} + +func (x *GetAllResponse) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *GetAllResponse) SetItems(v []*GetAllItem) { + x.Items = v +} + +func (x *GetAllResponse) SetPageToken(v string) { + x.PageToken = v +} + +type GetAllResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Items []*GetAllItem + PageToken string +} + +func (b0 GetAllResponse_builder) Build() *GetAllResponse { + m0 := &GetAllResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Items = b.Items + x.PageToken = b.PageToken + return m0 +} + +type GetAllItem struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAllItem) Reset() { + *x = GetAllItem{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAllItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAllItem) ProtoMessage() {} + +func (x *GetAllItem) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_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) +} + +func (x *GetAllItem) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *GetAllItem) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + +func (x *GetAllItem) SetKey(v string) { + x.Key = v +} + +func (x *GetAllItem) SetValue(v []byte) { + if v == nil { + v = []byte{} + } + x.Value = v +} + +type GetAllItem_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Key string + Value []byte +} + +func (b0 GetAllItem_builder) Build() *GetAllItem { + m0 := &GetAllItem{} + b, x := &b0, m0 + _, _ = b, x + x.Key = b.Key + x.Value = b.Value + return m0 +} + +type SetRequest struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + SyncId string `protobuf:"bytes,1,opt,name=sync_id,json=syncId,proto3" json:"sync_id,omitempty"` + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + Prefix string `protobuf:"bytes,4,opt,name=prefix,proto3" json:"prefix,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetRequest) Reset() { + *x = SetRequest{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetRequest) ProtoMessage() {} + +func (x *SetRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_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) +} + +func (x *SetRequest) GetSyncId() string { + if x != nil { + return x.SyncId + } + return "" +} + +func (x *SetRequest) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *SetRequest) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + +func (x *SetRequest) GetPrefix() string { + if x != nil { + return x.Prefix + } + return "" +} + +func (x *SetRequest) SetSyncId(v string) { + x.SyncId = v +} + +func (x *SetRequest) SetKey(v string) { + x.Key = v +} + +func (x *SetRequest) SetValue(v []byte) { + if v == nil { + v = []byte{} + } + x.Value = v +} + +func (x *SetRequest) SetPrefix(v string) { + x.Prefix = v +} + +type SetRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SyncId string + Key string + Value []byte + Prefix string +} + +func (b0 SetRequest_builder) Build() *SetRequest { + m0 := &SetRequest{} + b, x := &b0, m0 + _, _ = b, x + x.SyncId = b.SyncId + x.Key = b.Key + x.Value = b.Value + x.Prefix = b.Prefix + return m0 +} + +type SetResponse struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetResponse) Reset() { + *x = SetResponse{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetResponse) ProtoMessage() {} + +func (x *SetResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +type SetResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 SetResponse_builder) Build() *SetResponse { + m0 := &SetResponse{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +type SetManyRequest struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + SyncId string `protobuf:"bytes,1,opt,name=sync_id,json=syncId,proto3" json:"sync_id,omitempty"` + Values map[string][]byte `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetManyRequest) Reset() { + *x = SetManyRequest{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetManyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetManyRequest) ProtoMessage() {} + +func (x *SetManyRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *SetManyRequest) GetSyncId() string { + if x != nil { + return x.SyncId + } + return "" +} + +func (x *SetManyRequest) GetValues() map[string][]byte { + if x != nil { + return x.Values + } + return nil +} + +func (x *SetManyRequest) GetPrefix() string { + if x != nil { + return x.Prefix + } + return "" +} + +func (x *SetManyRequest) SetSyncId(v string) { + x.SyncId = v +} + +func (x *SetManyRequest) SetValues(v map[string][]byte) { + x.Values = v +} + +func (x *SetManyRequest) SetPrefix(v string) { + x.Prefix = v +} + +type SetManyRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SyncId string + Values map[string][]byte + Prefix string +} + +func (b0 SetManyRequest_builder) Build() *SetManyRequest { + m0 := &SetManyRequest{} + b, x := &b0, m0 + _, _ = b, x + x.SyncId = b.SyncId + x.Values = b.Values + x.Prefix = b.Prefix + return m0 +} + +type SetManyResponse struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetManyResponse) Reset() { + *x = SetManyResponse{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetManyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetManyResponse) ProtoMessage() {} + +func (x *SetManyResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_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) +} + +type SetManyResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 SetManyResponse_builder) Build() *SetManyResponse { + m0 := &SetManyResponse{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +type DeleteRequest struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + SyncId string `protobuf:"bytes,1,opt,name=sync_id,json=syncId,proto3" json:"sync_id,omitempty"` + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteRequest) Reset() { + *x = DeleteRequest{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteRequest) ProtoMessage() {} + +func (x *DeleteRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *DeleteRequest) GetSyncId() string { + if x != nil { + return x.SyncId + } + return "" +} + +func (x *DeleteRequest) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *DeleteRequest) GetPrefix() string { + if x != nil { + return x.Prefix + } + return "" +} + +func (x *DeleteRequest) SetSyncId(v string) { + x.SyncId = v +} + +func (x *DeleteRequest) SetKey(v string) { + x.Key = v +} + +func (x *DeleteRequest) SetPrefix(v string) { + x.Prefix = v +} + +type DeleteRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SyncId string + Key string + Prefix string +} + +func (b0 DeleteRequest_builder) Build() *DeleteRequest { + m0 := &DeleteRequest{} + b, x := &b0, m0 + _, _ = b, x + x.SyncId = b.SyncId + x.Key = b.Key + x.Prefix = b.Prefix + return m0 +} + +type DeleteResponse struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteResponse) Reset() { + *x = DeleteResponse{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteResponse) ProtoMessage() {} + +func (x *DeleteResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_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) +} + +type DeleteResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 DeleteResponse_builder) Build() *DeleteResponse { + m0 := &DeleteResponse{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +type DeleteManyRequest struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + SyncId string `protobuf:"bytes,1,opt,name=sync_id,json=syncId,proto3" json:"sync_id,omitempty"` + Keys []string `protobuf:"bytes,2,rep,name=keys,proto3" json:"keys,omitempty"` + Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteManyRequest) Reset() { + *x = DeleteManyRequest{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteManyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteManyRequest) ProtoMessage() {} + +func (x *DeleteManyRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_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) +} + +func (x *DeleteManyRequest) GetSyncId() string { + if x != nil { + return x.SyncId + } + return "" +} + +func (x *DeleteManyRequest) GetKeys() []string { + if x != nil { + return x.Keys + } + return nil +} + +func (x *DeleteManyRequest) GetPrefix() string { + if x != nil { + return x.Prefix + } + return "" +} + +func (x *DeleteManyRequest) SetSyncId(v string) { + x.SyncId = v +} + +func (x *DeleteManyRequest) SetKeys(v []string) { + x.Keys = v +} + +func (x *DeleteManyRequest) SetPrefix(v string) { + x.Prefix = v +} + +type DeleteManyRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SyncId string + Keys []string + Prefix string +} + +func (b0 DeleteManyRequest_builder) Build() *DeleteManyRequest { + m0 := &DeleteManyRequest{} + b, x := &b0, m0 + _, _ = b, x + x.SyncId = b.SyncId + x.Keys = b.Keys + x.Prefix = b.Prefix + return m0 +} + +type DeleteManyResponse struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteManyResponse) Reset() { + *x = DeleteManyResponse{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteManyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteManyResponse) ProtoMessage() {} + +func (x *DeleteManyResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +type DeleteManyResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 DeleteManyResponse_builder) Build() *DeleteManyResponse { + m0 := &DeleteManyResponse{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +type ClearRequest struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + SyncId string `protobuf:"bytes,1,opt,name=sync_id,json=syncId,proto3" json:"sync_id,omitempty"` + Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ClearRequest) Reset() { + *x = ClearRequest{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ClearRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClearRequest) ProtoMessage() {} + +func (x *ClearRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ClearRequest) GetSyncId() string { + if x != nil { + return x.SyncId + } + return "" +} + +func (x *ClearRequest) GetPrefix() string { + if x != nil { + return x.Prefix + } + return "" +} + +func (x *ClearRequest) SetSyncId(v string) { + x.SyncId = v +} + +func (x *ClearRequest) SetPrefix(v string) { + x.Prefix = v +} + +type ClearRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SyncId string + Prefix string +} + +func (b0 ClearRequest_builder) Build() *ClearRequest { + m0 := &ClearRequest{} + b, x := &b0, m0 + _, _ = b, x + x.SyncId = b.SyncId + x.Prefix = b.Prefix + return m0 +} + +type ClearResponse struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ClearResponse) Reset() { + *x = ClearResponse{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ClearResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClearResponse) ProtoMessage() {} + +func (x *ClearResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +type ClearResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 ClearResponse_builder) Build() *ClearResponse { + m0 := &ClearResponse{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +var File_c1_connectorapi_baton_v1_session_proto protoreflect.FileDescriptor + +const file_c1_connectorapi_baton_v1_session_proto_rawDesc = "" + + "\n" + + "&c1/connectorapi/baton/v1/session.proto\x12\x18c1.connectorapi.baton.v1\x1a\x17validate/validate.proto\"\x7f\n" + + "\n" + + "GetRequest\x121\n" + + "\async_id\x18\x01 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06syncId\x12\x1c\n" + + "\x03key\x18\x02 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x03key\x12 \n" + + "\x06prefix\x18\x03 \x01(\tB\b\xfaB\x05r\x03\x18\x80\x02R\x06prefix\"#\n" + + "\vGetResponse\x12\x14\n" + + "\x05value\x18\x01 \x01(\fR\x05value\"\x90\x01\n" + + "\x0eGetManyRequest\x121\n" + + "\async_id\x18\x01 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06syncId\x12)\n" + + "\x04keys\x18\x02 \x03(\tB\x15\xfaB\x12\x92\x01\x0f\b\x01\x10d\x18\x01\"\ar\x05\x10\x01\x18\x80\x02R\x04keys\x12 \n" + + "\x06prefix\x18\x03 \x01(\tB\b\xfaB\x05r\x03\x18\x80\x02R\x06prefix\"N\n" + + "\x0fGetManyResponse\x12;\n" + + "\x05items\x18\x01 \x03(\v2%.c1.connectorapi.baton.v1.GetManyItemR\x05items\"5\n" + + "\vGetManyItem\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\fR\x05value\"\x83\x01\n" + + "\rGetAllRequest\x121\n" + + "\async_id\x18\x01 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06syncId\x12\x1d\n" + + "\n" + + "page_token\x18\x02 \x01(\tR\tpageToken\x12 \n" + + "\x06prefix\x18\x03 \x01(\tB\b\xfaB\x05r\x03\x18\x80\x02R\x06prefix\"k\n" + + "\x0eGetAllResponse\x12:\n" + + "\x05items\x18\x01 \x03(\v2$.c1.connectorapi.baton.v1.GetAllItemR\x05items\x12\x1d\n" + + "\n" + + "page_token\x18\x02 \x01(\tR\tpageToken\"4\n" + + "\n" + + "GetAllItem\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\fR\x05value\"\xa0\x01\n" + + "\n" + + "SetRequest\x121\n" + + "\async_id\x18\x01 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06syncId\x12\x1c\n" + + "\x03key\x18\x02 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x03key\x12\x1f\n" + + "\x05value\x18\x03 \x01(\fB\t\xfaB\x06z\x04\x18\x80\x98\x02R\x05value\x12 \n" + + "\x06prefix\x18\x04 \x01(\tB\b\xfaB\x05r\x03\x18\x80\x02R\x06prefix\"\r\n" + + "\vSetResponse\"\x8b\x02\n" + + "\x0eSetManyRequest\x121\n" + + "\async_id\x18\x01 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06syncId\x12i\n" + + "\x06values\x18\x02 \x03(\v24.c1.connectorapi.baton.v1.SetManyRequest.ValuesEntryB\x1b\xfaB\x18\x9a\x01\x15\b\x01\x10d\"\ar\x05\x10\x01\x18\x80\x02*\x06z\x04\x18\x80\x98\x02R\x06values\x12 \n" + + "\x06prefix\x18\x03 \x01(\tB\b\xfaB\x05r\x03\x18\x80\x02R\x06prefix\x1a9\n" + + "\vValuesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\fR\x05value:\x028\x01\"\x11\n" + + "\x0fSetManyResponse\"\x82\x01\n" + + "\rDeleteRequest\x121\n" + + "\async_id\x18\x01 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06syncId\x12\x1c\n" + + "\x03key\x18\x02 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x03key\x12 \n" + + "\x06prefix\x18\x03 \x01(\tB\b\xfaB\x05r\x03\x18\x80\x02R\x06prefix\"\x10\n" + + "\x0eDeleteResponse\"\x92\x01\n" + + "\x11DeleteManyRequest\x121\n" + + "\async_id\x18\x01 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06syncId\x12(\n" + + "\x04keys\x18\x02 \x03(\tB\x14\xfaB\x11\x92\x01\x0e\b\x01\x10\xc8\x01\"\ar\x05\x10\x01\x18\x80\x02R\x04keys\x12 \n" + + "\x06prefix\x18\x03 \x01(\tB\b\xfaB\x05r\x03\x18\x80\x02R\x06prefix\"\x14\n" + + "\x12DeleteManyResponse\"c\n" + + "\fClearRequest\x121\n" + + "\async_id\x18\x01 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06syncId\x12 \n" + + "\x06prefix\x18\x02 \x01(\tB\b\xfaB\x05r\x03\x18\x80\x02R\x06prefix\"\x0f\n" + + "\rClearResponse2\x8a\x06\n" + + "\x13BatonSessionService\x12T\n" + + "\x03Get\x12$.c1.connectorapi.baton.v1.GetRequest\x1a%.c1.connectorapi.baton.v1.GetResponse\"\x00\x12`\n" + + "\aGetMany\x12(.c1.connectorapi.baton.v1.GetManyRequest\x1a).c1.connectorapi.baton.v1.GetManyResponse\"\x00\x12]\n" + + "\x06GetAll\x12'.c1.connectorapi.baton.v1.GetAllRequest\x1a(.c1.connectorapi.baton.v1.GetAllResponse\"\x00\x12T\n" + + "\x03Set\x12$.c1.connectorapi.baton.v1.SetRequest\x1a%.c1.connectorapi.baton.v1.SetResponse\"\x00\x12`\n" + + "\aSetMany\x12(.c1.connectorapi.baton.v1.SetManyRequest\x1a).c1.connectorapi.baton.v1.SetManyResponse\"\x00\x12]\n" + + "\x06Delete\x12'.c1.connectorapi.baton.v1.DeleteRequest\x1a(.c1.connectorapi.baton.v1.DeleteResponse\"\x00\x12i\n" + + "\n" + + "DeleteMany\x12+.c1.connectorapi.baton.v1.DeleteManyRequest\x1a,.c1.connectorapi.baton.v1.DeleteManyResponse\"\x00\x12Z\n" + + "\x05Clear\x12&.c1.connectorapi.baton.v1.ClearRequest\x1a'.c1.connectorapi.baton.v1.ClearResponse\"\x00B7Z5gitlab.com/ductone/c1/pkg/pb/c1/connectorapi/baton/v1b\x06proto3" + +var file_c1_connectorapi_baton_v1_session_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_c1_connectorapi_baton_v1_session_proto_goTypes = []any{ + (*GetRequest)(nil), // 0: c1.connectorapi.baton.v1.GetRequest + (*GetResponse)(nil), // 1: c1.connectorapi.baton.v1.GetResponse + (*GetManyRequest)(nil), // 2: c1.connectorapi.baton.v1.GetManyRequest + (*GetManyResponse)(nil), // 3: c1.connectorapi.baton.v1.GetManyResponse + (*GetManyItem)(nil), // 4: c1.connectorapi.baton.v1.GetManyItem + (*GetAllRequest)(nil), // 5: c1.connectorapi.baton.v1.GetAllRequest + (*GetAllResponse)(nil), // 6: c1.connectorapi.baton.v1.GetAllResponse + (*GetAllItem)(nil), // 7: c1.connectorapi.baton.v1.GetAllItem + (*SetRequest)(nil), // 8: c1.connectorapi.baton.v1.SetRequest + (*SetResponse)(nil), // 9: c1.connectorapi.baton.v1.SetResponse + (*SetManyRequest)(nil), // 10: c1.connectorapi.baton.v1.SetManyRequest + (*SetManyResponse)(nil), // 11: c1.connectorapi.baton.v1.SetManyResponse + (*DeleteRequest)(nil), // 12: c1.connectorapi.baton.v1.DeleteRequest + (*DeleteResponse)(nil), // 13: c1.connectorapi.baton.v1.DeleteResponse + (*DeleteManyRequest)(nil), // 14: c1.connectorapi.baton.v1.DeleteManyRequest + (*DeleteManyResponse)(nil), // 15: c1.connectorapi.baton.v1.DeleteManyResponse + (*ClearRequest)(nil), // 16: c1.connectorapi.baton.v1.ClearRequest + (*ClearResponse)(nil), // 17: c1.connectorapi.baton.v1.ClearResponse + nil, // 18: c1.connectorapi.baton.v1.SetManyRequest.ValuesEntry +} +var file_c1_connectorapi_baton_v1_session_proto_depIdxs = []int32{ + 4, // 0: c1.connectorapi.baton.v1.GetManyResponse.items:type_name -> c1.connectorapi.baton.v1.GetManyItem + 7, // 1: c1.connectorapi.baton.v1.GetAllResponse.items:type_name -> c1.connectorapi.baton.v1.GetAllItem + 18, // 2: c1.connectorapi.baton.v1.SetManyRequest.values:type_name -> c1.connectorapi.baton.v1.SetManyRequest.ValuesEntry + 0, // 3: c1.connectorapi.baton.v1.BatonSessionService.Get:input_type -> c1.connectorapi.baton.v1.GetRequest + 2, // 4: c1.connectorapi.baton.v1.BatonSessionService.GetMany:input_type -> c1.connectorapi.baton.v1.GetManyRequest + 5, // 5: c1.connectorapi.baton.v1.BatonSessionService.GetAll:input_type -> c1.connectorapi.baton.v1.GetAllRequest + 8, // 6: c1.connectorapi.baton.v1.BatonSessionService.Set:input_type -> c1.connectorapi.baton.v1.SetRequest + 10, // 7: c1.connectorapi.baton.v1.BatonSessionService.SetMany:input_type -> c1.connectorapi.baton.v1.SetManyRequest + 12, // 8: c1.connectorapi.baton.v1.BatonSessionService.Delete:input_type -> c1.connectorapi.baton.v1.DeleteRequest + 14, // 9: c1.connectorapi.baton.v1.BatonSessionService.DeleteMany:input_type -> c1.connectorapi.baton.v1.DeleteManyRequest + 16, // 10: c1.connectorapi.baton.v1.BatonSessionService.Clear:input_type -> c1.connectorapi.baton.v1.ClearRequest + 1, // 11: c1.connectorapi.baton.v1.BatonSessionService.Get:output_type -> c1.connectorapi.baton.v1.GetResponse + 3, // 12: c1.connectorapi.baton.v1.BatonSessionService.GetMany:output_type -> c1.connectorapi.baton.v1.GetManyResponse + 6, // 13: c1.connectorapi.baton.v1.BatonSessionService.GetAll:output_type -> c1.connectorapi.baton.v1.GetAllResponse + 9, // 14: c1.connectorapi.baton.v1.BatonSessionService.Set:output_type -> c1.connectorapi.baton.v1.SetResponse + 11, // 15: c1.connectorapi.baton.v1.BatonSessionService.SetMany:output_type -> c1.connectorapi.baton.v1.SetManyResponse + 13, // 16: c1.connectorapi.baton.v1.BatonSessionService.Delete:output_type -> c1.connectorapi.baton.v1.DeleteResponse + 15, // 17: c1.connectorapi.baton.v1.BatonSessionService.DeleteMany:output_type -> c1.connectorapi.baton.v1.DeleteManyResponse + 17, // 18: c1.connectorapi.baton.v1.BatonSessionService.Clear:output_type -> c1.connectorapi.baton.v1.ClearResponse + 11, // [11:19] is the sub-list for method output_type + 3, // [3:11] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_c1_connectorapi_baton_v1_session_proto_init() } +func file_c1_connectorapi_baton_v1_session_proto_init() { + if File_c1_connectorapi_baton_v1_session_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_connectorapi_baton_v1_session_proto_rawDesc), len(file_c1_connectorapi_baton_v1_session_proto_rawDesc)), + NumEnums: 0, + NumMessages: 19, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_c1_connectorapi_baton_v1_session_proto_goTypes, + DependencyIndexes: file_c1_connectorapi_baton_v1_session_proto_depIdxs, + MessageInfos: file_c1_connectorapi_baton_v1_session_proto_msgTypes, + }.Build() + File_c1_connectorapi_baton_v1_session_proto = out.File + file_c1_connectorapi_baton_v1_session_proto_goTypes = nil + file_c1_connectorapi_baton_v1_session_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/session.pb.validate.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/session.pb.validate.go new file mode 100644 index 00000000..e8583dc6 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/session.pb.validate.go @@ -0,0 +1,2268 @@ +// Code generated by protoc-gen-validate. DO NOT EDIT. +// source: c1/connectorapi/baton/v1/session.proto + +package v1 + +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 GetRequest 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 *GetRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetRequest 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 GetRequestMultiError, or +// nil if none found. +func (m *GetRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *GetRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if !_GetRequest_SyncId_Pattern.MatchString(m.GetSyncId()) { + err := GetRequestValidationError{ + field: "SyncId", + reason: "value does not match regex pattern \"^[a-zA-Z0-9]{27}$\"", + } + if !all { + return err + } + errors = append(errors, err) + } + + if l := utf8.RuneCountInString(m.GetKey()); l < 1 || l > 256 { + err := GetRequestValidationError{ + field: "Key", + reason: "value length must be between 1 and 256 runes, inclusive", + } + if !all { + return err + } + errors = append(errors, err) + } + + if utf8.RuneCountInString(m.GetPrefix()) > 256 { + err := GetRequestValidationError{ + field: "Prefix", + reason: "value length must be at most 256 runes", + } + if !all { + return err + } + errors = append(errors, err) + } + + if len(errors) > 0 { + return GetRequestMultiError(errors) + } + + return nil +} + +// GetRequestMultiError is an error wrapping multiple validation errors +// returned by GetRequest.ValidateAll() if the designated constraints aren't met. +type GetRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetRequestMultiError) 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 GetRequestMultiError) AllErrors() []error { return m } + +// GetRequestValidationError is the validation error returned by +// GetRequest.Validate if the designated constraints aren't met. +type GetRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetRequestValidationError) ErrorName() string { return "GetRequestValidationError" } + +// Error satisfies the builtin error interface +func (e GetRequestValidationError) 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 %sGetRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetRequestValidationError{} + +var _GetRequest_SyncId_Pattern = regexp.MustCompile("^[a-zA-Z0-9]{27}$") + +// Validate checks the field values on GetResponse 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 *GetResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetResponse 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 GetResponseMultiError, or +// nil if none found. +func (m *GetResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *GetResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Value + + if len(errors) > 0 { + return GetResponseMultiError(errors) + } + + return nil +} + +// GetResponseMultiError is an error wrapping multiple validation errors +// returned by GetResponse.ValidateAll() if the designated constraints aren't met. +type GetResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetResponseMultiError) 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 GetResponseMultiError) AllErrors() []error { return m } + +// GetResponseValidationError is the validation error returned by +// GetResponse.Validate if the designated constraints aren't met. +type GetResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetResponseValidationError) ErrorName() string { return "GetResponseValidationError" } + +// Error satisfies the builtin error interface +func (e GetResponseValidationError) 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 %sGetResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetResponseValidationError{} + +// Validate checks the field values on GetManyRequest 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 *GetManyRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetManyRequest 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 GetManyRequestMultiError, +// or nil if none found. +func (m *GetManyRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *GetManyRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if !_GetManyRequest_SyncId_Pattern.MatchString(m.GetSyncId()) { + err := GetManyRequestValidationError{ + field: "SyncId", + reason: "value does not match regex pattern \"^[a-zA-Z0-9]{27}$\"", + } + if !all { + return err + } + errors = append(errors, err) + } + + if l := len(m.GetKeys()); l < 1 || l > 100 { + err := GetManyRequestValidationError{ + field: "Keys", + reason: "value must contain between 1 and 100 items, inclusive", + } + if !all { + return err + } + errors = append(errors, err) + } + + _GetManyRequest_Keys_Unique := make(map[string]struct{}, len(m.GetKeys())) + + for idx, item := range m.GetKeys() { + _, _ = idx, item + + if _, exists := _GetManyRequest_Keys_Unique[item]; exists { + err := GetManyRequestValidationError{ + field: fmt.Sprintf("Keys[%v]", idx), + reason: "repeated value must contain unique items", + } + if !all { + return err + } + errors = append(errors, err) + } else { + _GetManyRequest_Keys_Unique[item] = struct{}{} + } + + if l := utf8.RuneCountInString(item); l < 1 || l > 256 { + err := GetManyRequestValidationError{ + field: fmt.Sprintf("Keys[%v]", idx), + reason: "value length must be between 1 and 256 runes, inclusive", + } + if !all { + return err + } + errors = append(errors, err) + } + + } + + if utf8.RuneCountInString(m.GetPrefix()) > 256 { + err := GetManyRequestValidationError{ + field: "Prefix", + reason: "value length must be at most 256 runes", + } + if !all { + return err + } + errors = append(errors, err) + } + + if len(errors) > 0 { + return GetManyRequestMultiError(errors) + } + + return nil +} + +// GetManyRequestMultiError is an error wrapping multiple validation errors +// returned by GetManyRequest.ValidateAll() if the designated constraints +// aren't met. +type GetManyRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetManyRequestMultiError) 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 GetManyRequestMultiError) AllErrors() []error { return m } + +// GetManyRequestValidationError is the validation error returned by +// GetManyRequest.Validate if the designated constraints aren't met. +type GetManyRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetManyRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetManyRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetManyRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetManyRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetManyRequestValidationError) ErrorName() string { return "GetManyRequestValidationError" } + +// Error satisfies the builtin error interface +func (e GetManyRequestValidationError) 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 %sGetManyRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetManyRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetManyRequestValidationError{} + +var _GetManyRequest_SyncId_Pattern = regexp.MustCompile("^[a-zA-Z0-9]{27}$") + +// Validate checks the field values on GetManyResponse 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 *GetManyResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetManyResponse 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 +// GetManyResponseMultiError, or nil if none found. +func (m *GetManyResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *GetManyResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + for idx, item := range m.GetItems() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetManyResponseValidationError{ + field: fmt.Sprintf("Items[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetManyResponseValidationError{ + field: fmt.Sprintf("Items[%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 GetManyResponseValidationError{ + field: fmt.Sprintf("Items[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return GetManyResponseMultiError(errors) + } + + return nil +} + +// GetManyResponseMultiError is an error wrapping multiple validation errors +// returned by GetManyResponse.ValidateAll() if the designated constraints +// aren't met. +type GetManyResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetManyResponseMultiError) 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 GetManyResponseMultiError) AllErrors() []error { return m } + +// GetManyResponseValidationError is the validation error returned by +// GetManyResponse.Validate if the designated constraints aren't met. +type GetManyResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetManyResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetManyResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetManyResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetManyResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetManyResponseValidationError) ErrorName() string { return "GetManyResponseValidationError" } + +// Error satisfies the builtin error interface +func (e GetManyResponseValidationError) 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 %sGetManyResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetManyResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetManyResponseValidationError{} + +// Validate checks the field values on GetManyItem 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 *GetManyItem) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetManyItem 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 GetManyItemMultiError, or +// nil if none found. +func (m *GetManyItem) ValidateAll() error { + return m.validate(true) +} + +func (m *GetManyItem) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Key + + // no validation rules for Value + + if len(errors) > 0 { + return GetManyItemMultiError(errors) + } + + return nil +} + +// GetManyItemMultiError is an error wrapping multiple validation errors +// returned by GetManyItem.ValidateAll() if the designated constraints aren't met. +type GetManyItemMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetManyItemMultiError) 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 GetManyItemMultiError) AllErrors() []error { return m } + +// GetManyItemValidationError is the validation error returned by +// GetManyItem.Validate if the designated constraints aren't met. +type GetManyItemValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetManyItemValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetManyItemValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetManyItemValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetManyItemValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetManyItemValidationError) ErrorName() string { return "GetManyItemValidationError" } + +// Error satisfies the builtin error interface +func (e GetManyItemValidationError) 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 %sGetManyItem.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetManyItemValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetManyItemValidationError{} + +// Validate checks the field values on GetAllRequest 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 *GetAllRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetAllRequest 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 GetAllRequestMultiError, or +// nil if none found. +func (m *GetAllRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *GetAllRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if !_GetAllRequest_SyncId_Pattern.MatchString(m.GetSyncId()) { + err := GetAllRequestValidationError{ + field: "SyncId", + reason: "value does not match regex pattern \"^[a-zA-Z0-9]{27}$\"", + } + if !all { + return err + } + errors = append(errors, err) + } + + // no validation rules for PageToken + + if utf8.RuneCountInString(m.GetPrefix()) > 256 { + err := GetAllRequestValidationError{ + field: "Prefix", + reason: "value length must be at most 256 runes", + } + if !all { + return err + } + errors = append(errors, err) + } + + if len(errors) > 0 { + return GetAllRequestMultiError(errors) + } + + return nil +} + +// GetAllRequestMultiError is an error wrapping multiple validation errors +// returned by GetAllRequest.ValidateAll() if the designated constraints +// aren't met. +type GetAllRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetAllRequestMultiError) 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 GetAllRequestMultiError) AllErrors() []error { return m } + +// GetAllRequestValidationError is the validation error returned by +// GetAllRequest.Validate if the designated constraints aren't met. +type GetAllRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetAllRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetAllRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetAllRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetAllRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetAllRequestValidationError) ErrorName() string { return "GetAllRequestValidationError" } + +// Error satisfies the builtin error interface +func (e GetAllRequestValidationError) 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 %sGetAllRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetAllRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetAllRequestValidationError{} + +var _GetAllRequest_SyncId_Pattern = regexp.MustCompile("^[a-zA-Z0-9]{27}$") + +// Validate checks the field values on GetAllResponse 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 *GetAllResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetAllResponse 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 GetAllResponseMultiError, +// or nil if none found. +func (m *GetAllResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *GetAllResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + for idx, item := range m.GetItems() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetAllResponseValidationError{ + field: fmt.Sprintf("Items[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetAllResponseValidationError{ + field: fmt.Sprintf("Items[%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 GetAllResponseValidationError{ + field: fmt.Sprintf("Items[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + // no validation rules for PageToken + + if len(errors) > 0 { + return GetAllResponseMultiError(errors) + } + + return nil +} + +// GetAllResponseMultiError is an error wrapping multiple validation errors +// returned by GetAllResponse.ValidateAll() if the designated constraints +// aren't met. +type GetAllResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetAllResponseMultiError) 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 GetAllResponseMultiError) AllErrors() []error { return m } + +// GetAllResponseValidationError is the validation error returned by +// GetAllResponse.Validate if the designated constraints aren't met. +type GetAllResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetAllResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetAllResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetAllResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetAllResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetAllResponseValidationError) ErrorName() string { return "GetAllResponseValidationError" } + +// Error satisfies the builtin error interface +func (e GetAllResponseValidationError) 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 %sGetAllResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetAllResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetAllResponseValidationError{} + +// Validate checks the field values on GetAllItem 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 *GetAllItem) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetAllItem 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 GetAllItemMultiError, or +// nil if none found. +func (m *GetAllItem) ValidateAll() error { + return m.validate(true) +} + +func (m *GetAllItem) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Key + + // no validation rules for Value + + if len(errors) > 0 { + return GetAllItemMultiError(errors) + } + + return nil +} + +// GetAllItemMultiError is an error wrapping multiple validation errors +// returned by GetAllItem.ValidateAll() if the designated constraints aren't met. +type GetAllItemMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetAllItemMultiError) 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 GetAllItemMultiError) AllErrors() []error { return m } + +// GetAllItemValidationError is the validation error returned by +// GetAllItem.Validate if the designated constraints aren't met. +type GetAllItemValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetAllItemValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetAllItemValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetAllItemValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetAllItemValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetAllItemValidationError) ErrorName() string { return "GetAllItemValidationError" } + +// Error satisfies the builtin error interface +func (e GetAllItemValidationError) 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 %sGetAllItem.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetAllItemValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetAllItemValidationError{} + +// Validate checks the field values on SetRequest 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 *SetRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on SetRequest 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 SetRequestMultiError, or +// nil if none found. +func (m *SetRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *SetRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if !_SetRequest_SyncId_Pattern.MatchString(m.GetSyncId()) { + err := SetRequestValidationError{ + field: "SyncId", + reason: "value does not match regex pattern \"^[a-zA-Z0-9]{27}$\"", + } + if !all { + return err + } + errors = append(errors, err) + } + + if l := utf8.RuneCountInString(m.GetKey()); l < 1 || l > 256 { + err := SetRequestValidationError{ + field: "Key", + reason: "value length must be between 1 and 256 runes, inclusive", + } + if !all { + return err + } + errors = append(errors, err) + } + + if len(m.GetValue()) > 35840 { + err := SetRequestValidationError{ + field: "Value", + reason: "value length must be at most 35840 bytes", + } + if !all { + return err + } + errors = append(errors, err) + } + + if utf8.RuneCountInString(m.GetPrefix()) > 256 { + err := SetRequestValidationError{ + field: "Prefix", + reason: "value length must be at most 256 runes", + } + if !all { + return err + } + errors = append(errors, err) + } + + if len(errors) > 0 { + return SetRequestMultiError(errors) + } + + return nil +} + +// SetRequestMultiError is an error wrapping multiple validation errors +// returned by SetRequest.ValidateAll() if the designated constraints aren't met. +type SetRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m SetRequestMultiError) 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 SetRequestMultiError) AllErrors() []error { return m } + +// SetRequestValidationError is the validation error returned by +// SetRequest.Validate if the designated constraints aren't met. +type SetRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SetRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SetRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SetRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SetRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SetRequestValidationError) ErrorName() string { return "SetRequestValidationError" } + +// Error satisfies the builtin error interface +func (e SetRequestValidationError) 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 %sSetRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SetRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SetRequestValidationError{} + +var _SetRequest_SyncId_Pattern = regexp.MustCompile("^[a-zA-Z0-9]{27}$") + +// Validate checks the field values on SetResponse 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 *SetResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on SetResponse 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 SetResponseMultiError, or +// nil if none found. +func (m *SetResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *SetResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return SetResponseMultiError(errors) + } + + return nil +} + +// SetResponseMultiError is an error wrapping multiple validation errors +// returned by SetResponse.ValidateAll() if the designated constraints aren't met. +type SetResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m SetResponseMultiError) 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 SetResponseMultiError) AllErrors() []error { return m } + +// SetResponseValidationError is the validation error returned by +// SetResponse.Validate if the designated constraints aren't met. +type SetResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SetResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SetResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SetResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SetResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SetResponseValidationError) ErrorName() string { return "SetResponseValidationError" } + +// Error satisfies the builtin error interface +func (e SetResponseValidationError) 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 %sSetResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SetResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SetResponseValidationError{} + +// Validate checks the field values on SetManyRequest 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 *SetManyRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on SetManyRequest 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 SetManyRequestMultiError, +// or nil if none found. +func (m *SetManyRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *SetManyRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if !_SetManyRequest_SyncId_Pattern.MatchString(m.GetSyncId()) { + err := SetManyRequestValidationError{ + field: "SyncId", + reason: "value does not match regex pattern \"^[a-zA-Z0-9]{27}$\"", + } + if !all { + return err + } + errors = append(errors, err) + } + + if l := len(m.GetValues()); l < 1 || l > 100 { + err := SetManyRequestValidationError{ + field: "Values", + reason: "value must contain between 1 and 100 pairs, inclusive", + } + if !all { + return err + } + errors = append(errors, err) + } + + { + sorted_keys := make([]string, len(m.GetValues())) + i := 0 + for key := range m.GetValues() { + sorted_keys[i] = key + i++ + } + sort.Slice(sorted_keys, func(i, j int) bool { return sorted_keys[i] < sorted_keys[j] }) + for _, key := range sorted_keys { + val := m.GetValues()[key] + _ = val + + if l := utf8.RuneCountInString(key); l < 1 || l > 256 { + err := SetManyRequestValidationError{ + field: fmt.Sprintf("Values[%v]", key), + reason: "value length must be between 1 and 256 runes, inclusive", + } + if !all { + return err + } + errors = append(errors, err) + } + + if len(val) > 35840 { + err := SetManyRequestValidationError{ + field: fmt.Sprintf("Values[%v]", key), + reason: "value length must be at most 35840 bytes", + } + if !all { + return err + } + errors = append(errors, err) + } + + } + } + + if utf8.RuneCountInString(m.GetPrefix()) > 256 { + err := SetManyRequestValidationError{ + field: "Prefix", + reason: "value length must be at most 256 runes", + } + if !all { + return err + } + errors = append(errors, err) + } + + if len(errors) > 0 { + return SetManyRequestMultiError(errors) + } + + return nil +} + +// SetManyRequestMultiError is an error wrapping multiple validation errors +// returned by SetManyRequest.ValidateAll() if the designated constraints +// aren't met. +type SetManyRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m SetManyRequestMultiError) 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 SetManyRequestMultiError) AllErrors() []error { return m } + +// SetManyRequestValidationError is the validation error returned by +// SetManyRequest.Validate if the designated constraints aren't met. +type SetManyRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SetManyRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SetManyRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SetManyRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SetManyRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SetManyRequestValidationError) ErrorName() string { return "SetManyRequestValidationError" } + +// Error satisfies the builtin error interface +func (e SetManyRequestValidationError) 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 %sSetManyRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SetManyRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SetManyRequestValidationError{} + +var _SetManyRequest_SyncId_Pattern = regexp.MustCompile("^[a-zA-Z0-9]{27}$") + +// Validate checks the field values on SetManyResponse 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 *SetManyResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on SetManyResponse 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 +// SetManyResponseMultiError, or nil if none found. +func (m *SetManyResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *SetManyResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return SetManyResponseMultiError(errors) + } + + return nil +} + +// SetManyResponseMultiError is an error wrapping multiple validation errors +// returned by SetManyResponse.ValidateAll() if the designated constraints +// aren't met. +type SetManyResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m SetManyResponseMultiError) 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 SetManyResponseMultiError) AllErrors() []error { return m } + +// SetManyResponseValidationError is the validation error returned by +// SetManyResponse.Validate if the designated constraints aren't met. +type SetManyResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SetManyResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SetManyResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SetManyResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SetManyResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SetManyResponseValidationError) ErrorName() string { return "SetManyResponseValidationError" } + +// Error satisfies the builtin error interface +func (e SetManyResponseValidationError) 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 %sSetManyResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SetManyResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SetManyResponseValidationError{} + +// Validate checks the field values on DeleteRequest 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 *DeleteRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on DeleteRequest 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 DeleteRequestMultiError, or +// nil if none found. +func (m *DeleteRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *DeleteRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if !_DeleteRequest_SyncId_Pattern.MatchString(m.GetSyncId()) { + err := DeleteRequestValidationError{ + field: "SyncId", + reason: "value does not match regex pattern \"^[a-zA-Z0-9]{27}$\"", + } + if !all { + return err + } + errors = append(errors, err) + } + + if l := utf8.RuneCountInString(m.GetKey()); l < 1 || l > 256 { + err := DeleteRequestValidationError{ + field: "Key", + reason: "value length must be between 1 and 256 runes, inclusive", + } + if !all { + return err + } + errors = append(errors, err) + } + + if utf8.RuneCountInString(m.GetPrefix()) > 256 { + err := DeleteRequestValidationError{ + field: "Prefix", + reason: "value length must be at most 256 runes", + } + if !all { + return err + } + errors = append(errors, err) + } + + if len(errors) > 0 { + return DeleteRequestMultiError(errors) + } + + return nil +} + +// DeleteRequestMultiError is an error wrapping multiple validation errors +// returned by DeleteRequest.ValidateAll() if the designated constraints +// aren't met. +type DeleteRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m DeleteRequestMultiError) 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 DeleteRequestMultiError) AllErrors() []error { return m } + +// DeleteRequestValidationError is the validation error returned by +// DeleteRequest.Validate if the designated constraints aren't met. +type DeleteRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e DeleteRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e DeleteRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e DeleteRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e DeleteRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e DeleteRequestValidationError) ErrorName() string { return "DeleteRequestValidationError" } + +// Error satisfies the builtin error interface +func (e DeleteRequestValidationError) 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 %sDeleteRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = DeleteRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = DeleteRequestValidationError{} + +var _DeleteRequest_SyncId_Pattern = regexp.MustCompile("^[a-zA-Z0-9]{27}$") + +// Validate checks the field values on DeleteResponse 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 *DeleteResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on DeleteResponse 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 DeleteResponseMultiError, +// or nil if none found. +func (m *DeleteResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *DeleteResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return DeleteResponseMultiError(errors) + } + + return nil +} + +// DeleteResponseMultiError is an error wrapping multiple validation errors +// returned by DeleteResponse.ValidateAll() if the designated constraints +// aren't met. +type DeleteResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m DeleteResponseMultiError) 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 DeleteResponseMultiError) AllErrors() []error { return m } + +// DeleteResponseValidationError is the validation error returned by +// DeleteResponse.Validate if the designated constraints aren't met. +type DeleteResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e DeleteResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e DeleteResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e DeleteResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e DeleteResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e DeleteResponseValidationError) ErrorName() string { return "DeleteResponseValidationError" } + +// Error satisfies the builtin error interface +func (e DeleteResponseValidationError) 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 %sDeleteResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = DeleteResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = DeleteResponseValidationError{} + +// Validate checks the field values on DeleteManyRequest 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 *DeleteManyRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on DeleteManyRequest 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 +// DeleteManyRequestMultiError, or nil if none found. +func (m *DeleteManyRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *DeleteManyRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if !_DeleteManyRequest_SyncId_Pattern.MatchString(m.GetSyncId()) { + err := DeleteManyRequestValidationError{ + field: "SyncId", + reason: "value does not match regex pattern \"^[a-zA-Z0-9]{27}$\"", + } + if !all { + return err + } + errors = append(errors, err) + } + + if l := len(m.GetKeys()); l < 1 || l > 200 { + err := DeleteManyRequestValidationError{ + field: "Keys", + reason: "value must contain between 1 and 200 items, inclusive", + } + if !all { + return err + } + errors = append(errors, err) + } + + for idx, item := range m.GetKeys() { + _, _ = idx, item + + if l := utf8.RuneCountInString(item); l < 1 || l > 256 { + err := DeleteManyRequestValidationError{ + field: fmt.Sprintf("Keys[%v]", idx), + reason: "value length must be between 1 and 256 runes, inclusive", + } + if !all { + return err + } + errors = append(errors, err) + } + + } + + if utf8.RuneCountInString(m.GetPrefix()) > 256 { + err := DeleteManyRequestValidationError{ + field: "Prefix", + reason: "value length must be at most 256 runes", + } + if !all { + return err + } + errors = append(errors, err) + } + + if len(errors) > 0 { + return DeleteManyRequestMultiError(errors) + } + + return nil +} + +// DeleteManyRequestMultiError is an error wrapping multiple validation errors +// returned by DeleteManyRequest.ValidateAll() if the designated constraints +// aren't met. +type DeleteManyRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m DeleteManyRequestMultiError) 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 DeleteManyRequestMultiError) AllErrors() []error { return m } + +// DeleteManyRequestValidationError is the validation error returned by +// DeleteManyRequest.Validate if the designated constraints aren't met. +type DeleteManyRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e DeleteManyRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e DeleteManyRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e DeleteManyRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e DeleteManyRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e DeleteManyRequestValidationError) ErrorName() string { + return "DeleteManyRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e DeleteManyRequestValidationError) 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 %sDeleteManyRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = DeleteManyRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = DeleteManyRequestValidationError{} + +var _DeleteManyRequest_SyncId_Pattern = regexp.MustCompile("^[a-zA-Z0-9]{27}$") + +// Validate checks the field values on DeleteManyResponse 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 *DeleteManyResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on DeleteManyResponse 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 +// DeleteManyResponseMultiError, or nil if none found. +func (m *DeleteManyResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *DeleteManyResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return DeleteManyResponseMultiError(errors) + } + + return nil +} + +// DeleteManyResponseMultiError is an error wrapping multiple validation errors +// returned by DeleteManyResponse.ValidateAll() if the designated constraints +// aren't met. +type DeleteManyResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m DeleteManyResponseMultiError) 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 DeleteManyResponseMultiError) AllErrors() []error { return m } + +// DeleteManyResponseValidationError is the validation error returned by +// DeleteManyResponse.Validate if the designated constraints aren't met. +type DeleteManyResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e DeleteManyResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e DeleteManyResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e DeleteManyResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e DeleteManyResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e DeleteManyResponseValidationError) ErrorName() string { + return "DeleteManyResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e DeleteManyResponseValidationError) 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 %sDeleteManyResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = DeleteManyResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = DeleteManyResponseValidationError{} + +// Validate checks the field values on ClearRequest 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 *ClearRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ClearRequest 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 ClearRequestMultiError, or +// nil if none found. +func (m *ClearRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *ClearRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if !_ClearRequest_SyncId_Pattern.MatchString(m.GetSyncId()) { + err := ClearRequestValidationError{ + field: "SyncId", + reason: "value does not match regex pattern \"^[a-zA-Z0-9]{27}$\"", + } + if !all { + return err + } + errors = append(errors, err) + } + + if utf8.RuneCountInString(m.GetPrefix()) > 256 { + err := ClearRequestValidationError{ + field: "Prefix", + reason: "value length must be at most 256 runes", + } + if !all { + return err + } + errors = append(errors, err) + } + + if len(errors) > 0 { + return ClearRequestMultiError(errors) + } + + return nil +} + +// ClearRequestMultiError is an error wrapping multiple validation errors +// returned by ClearRequest.ValidateAll() if the designated constraints aren't met. +type ClearRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ClearRequestMultiError) 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 ClearRequestMultiError) AllErrors() []error { return m } + +// ClearRequestValidationError is the validation error returned by +// ClearRequest.Validate if the designated constraints aren't met. +type ClearRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ClearRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ClearRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ClearRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ClearRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ClearRequestValidationError) ErrorName() string { return "ClearRequestValidationError" } + +// Error satisfies the builtin error interface +func (e ClearRequestValidationError) 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 %sClearRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ClearRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ClearRequestValidationError{} + +var _ClearRequest_SyncId_Pattern = regexp.MustCompile("^[a-zA-Z0-9]{27}$") + +// Validate checks the field values on ClearResponse 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 *ClearResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ClearResponse 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 ClearResponseMultiError, or +// nil if none found. +func (m *ClearResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *ClearResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return ClearResponseMultiError(errors) + } + + return nil +} + +// ClearResponseMultiError is an error wrapping multiple validation errors +// returned by ClearResponse.ValidateAll() if the designated constraints +// aren't met. +type ClearResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ClearResponseMultiError) 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 ClearResponseMultiError) AllErrors() []error { return m } + +// ClearResponseValidationError is the validation error returned by +// ClearResponse.Validate if the designated constraints aren't met. +type ClearResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ClearResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ClearResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ClearResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ClearResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ClearResponseValidationError) ErrorName() string { return "ClearResponseValidationError" } + +// Error satisfies the builtin error interface +func (e ClearResponseValidationError) 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 %sClearResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ClearResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ClearResponseValidationError{} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/session_grpc.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/session_grpc.pb.go new file mode 100644 index 00000000..1e93c3d1 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/session_grpc.pb.go @@ -0,0 +1,385 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.5.1 +// - protoc (unknown) +// source: c1/connectorapi/baton/v1/session.proto + +package v1 + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + BatonSessionService_Get_FullMethodName = "/c1.connectorapi.baton.v1.BatonSessionService/Get" + BatonSessionService_GetMany_FullMethodName = "/c1.connectorapi.baton.v1.BatonSessionService/GetMany" + BatonSessionService_GetAll_FullMethodName = "/c1.connectorapi.baton.v1.BatonSessionService/GetAll" + BatonSessionService_Set_FullMethodName = "/c1.connectorapi.baton.v1.BatonSessionService/Set" + BatonSessionService_SetMany_FullMethodName = "/c1.connectorapi.baton.v1.BatonSessionService/SetMany" + BatonSessionService_Delete_FullMethodName = "/c1.connectorapi.baton.v1.BatonSessionService/Delete" + BatonSessionService_DeleteMany_FullMethodName = "/c1.connectorapi.baton.v1.BatonSessionService/DeleteMany" + BatonSessionService_Clear_FullMethodName = "/c1.connectorapi.baton.v1.BatonSessionService/Clear" +) + +// BatonSessionServiceClient is the client API for BatonSessionService service. +// +// 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 BatonSessionServiceClient interface { + Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error) + GetMany(ctx context.Context, in *GetManyRequest, opts ...grpc.CallOption) (*GetManyResponse, error) + GetAll(ctx context.Context, in *GetAllRequest, opts ...grpc.CallOption) (*GetAllResponse, error) + Set(ctx context.Context, in *SetRequest, opts ...grpc.CallOption) (*SetResponse, error) + SetMany(ctx context.Context, in *SetManyRequest, opts ...grpc.CallOption) (*SetManyResponse, error) + Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error) + DeleteMany(ctx context.Context, in *DeleteManyRequest, opts ...grpc.CallOption) (*DeleteManyResponse, error) + Clear(ctx context.Context, in *ClearRequest, opts ...grpc.CallOption) (*ClearResponse, error) +} + +type batonSessionServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewBatonSessionServiceClient(cc grpc.ClientConnInterface) BatonSessionServiceClient { + return &batonSessionServiceClient{cc} +} + +func (c *batonSessionServiceClient) Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetResponse) + err := c.cc.Invoke(ctx, BatonSessionService_Get_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *batonSessionServiceClient) GetMany(ctx context.Context, in *GetManyRequest, opts ...grpc.CallOption) (*GetManyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetManyResponse) + err := c.cc.Invoke(ctx, BatonSessionService_GetMany_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *batonSessionServiceClient) GetAll(ctx context.Context, in *GetAllRequest, opts ...grpc.CallOption) (*GetAllResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetAllResponse) + err := c.cc.Invoke(ctx, BatonSessionService_GetAll_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *batonSessionServiceClient) Set(ctx context.Context, in *SetRequest, opts ...grpc.CallOption) (*SetResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(SetResponse) + err := c.cc.Invoke(ctx, BatonSessionService_Set_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *batonSessionServiceClient) SetMany(ctx context.Context, in *SetManyRequest, opts ...grpc.CallOption) (*SetManyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(SetManyResponse) + err := c.cc.Invoke(ctx, BatonSessionService_SetMany_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *batonSessionServiceClient) Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DeleteResponse) + err := c.cc.Invoke(ctx, BatonSessionService_Delete_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *batonSessionServiceClient) DeleteMany(ctx context.Context, in *DeleteManyRequest, opts ...grpc.CallOption) (*DeleteManyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DeleteManyResponse) + err := c.cc.Invoke(ctx, BatonSessionService_DeleteMany_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *batonSessionServiceClient) Clear(ctx context.Context, in *ClearRequest, opts ...grpc.CallOption) (*ClearResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ClearResponse) + err := c.cc.Invoke(ctx, BatonSessionService_Clear_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// BatonSessionServiceServer is the server API for BatonSessionService service. +// All implementations should embed UnimplementedBatonSessionServiceServer +// for forward compatibility. +type BatonSessionServiceServer interface { + Get(context.Context, *GetRequest) (*GetResponse, error) + GetMany(context.Context, *GetManyRequest) (*GetManyResponse, error) + GetAll(context.Context, *GetAllRequest) (*GetAllResponse, error) + Set(context.Context, *SetRequest) (*SetResponse, error) + SetMany(context.Context, *SetManyRequest) (*SetManyResponse, error) + Delete(context.Context, *DeleteRequest) (*DeleteResponse, error) + DeleteMany(context.Context, *DeleteManyRequest) (*DeleteManyResponse, error) + Clear(context.Context, *ClearRequest) (*ClearResponse, error) +} + +// UnimplementedBatonSessionServiceServer should be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedBatonSessionServiceServer struct{} + +func (UnimplementedBatonSessionServiceServer) Get(context.Context, *GetRequest) (*GetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Get not implemented") +} +func (UnimplementedBatonSessionServiceServer) GetMany(context.Context, *GetManyRequest) (*GetManyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMany not implemented") +} +func (UnimplementedBatonSessionServiceServer) GetAll(context.Context, *GetAllRequest) (*GetAllResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAll not implemented") +} +func (UnimplementedBatonSessionServiceServer) Set(context.Context, *SetRequest) (*SetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Set not implemented") +} +func (UnimplementedBatonSessionServiceServer) SetMany(context.Context, *SetManyRequest) (*SetManyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetMany not implemented") +} +func (UnimplementedBatonSessionServiceServer) Delete(context.Context, *DeleteRequest) (*DeleteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented") +} +func (UnimplementedBatonSessionServiceServer) DeleteMany(context.Context, *DeleteManyRequest) (*DeleteManyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteMany not implemented") +} +func (UnimplementedBatonSessionServiceServer) Clear(context.Context, *ClearRequest) (*ClearResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Clear not implemented") +} +func (UnimplementedBatonSessionServiceServer) testEmbeddedByValue() {} + +// UnsafeBatonSessionServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to BatonSessionServiceServer will +// result in compilation errors. +type UnsafeBatonSessionServiceServer interface { + mustEmbedUnimplementedBatonSessionServiceServer() +} + +func RegisterBatonSessionServiceServer(s grpc.ServiceRegistrar, srv BatonSessionServiceServer) { + // If the following call pancis, it indicates UnimplementedBatonSessionServiceServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&BatonSessionService_ServiceDesc, srv) +} + +func _BatonSessionService_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BatonSessionServiceServer).Get(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BatonSessionService_Get_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BatonSessionServiceServer).Get(ctx, req.(*GetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BatonSessionService_GetMany_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetManyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BatonSessionServiceServer).GetMany(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BatonSessionService_GetMany_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BatonSessionServiceServer).GetMany(ctx, req.(*GetManyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BatonSessionService_GetAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAllRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BatonSessionServiceServer).GetAll(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BatonSessionService_GetAll_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BatonSessionServiceServer).GetAll(ctx, req.(*GetAllRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BatonSessionService_Set_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BatonSessionServiceServer).Set(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BatonSessionService_Set_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BatonSessionServiceServer).Set(ctx, req.(*SetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BatonSessionService_SetMany_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetManyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BatonSessionServiceServer).SetMany(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BatonSessionService_SetMany_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BatonSessionServiceServer).SetMany(ctx, req.(*SetManyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BatonSessionService_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BatonSessionServiceServer).Delete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BatonSessionService_Delete_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BatonSessionServiceServer).Delete(ctx, req.(*DeleteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BatonSessionService_DeleteMany_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteManyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BatonSessionServiceServer).DeleteMany(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BatonSessionService_DeleteMany_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BatonSessionServiceServer).DeleteMany(ctx, req.(*DeleteManyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BatonSessionService_Clear_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ClearRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BatonSessionServiceServer).Clear(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BatonSessionService_Clear_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BatonSessionServiceServer).Clear(ctx, req.(*ClearRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// BatonSessionService_ServiceDesc is the grpc.ServiceDesc for BatonSessionService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var BatonSessionService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "c1.connectorapi.baton.v1.BatonSessionService", + HandlerType: (*BatonSessionServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Get", + Handler: _BatonSessionService_Get_Handler, + }, + { + MethodName: "GetMany", + Handler: _BatonSessionService_GetMany_Handler, + }, + { + MethodName: "GetAll", + Handler: _BatonSessionService_GetAll_Handler, + }, + { + MethodName: "Set", + Handler: _BatonSessionService_Set_Handler, + }, + { + MethodName: "SetMany", + Handler: _BatonSessionService_SetMany_Handler, + }, + { + MethodName: "Delete", + Handler: _BatonSessionService_Delete_Handler, + }, + { + MethodName: "DeleteMany", + Handler: _BatonSessionService_DeleteMany_Handler, + }, + { + MethodName: "Clear", + Handler: _BatonSessionService_Clear_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "c1/connectorapi/baton/v1/session.proto", +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/session_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/session_protoopaque.pb.go new file mode 100644 index 00000000..594cddeb --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1/session_protoopaque.pb.go @@ -0,0 +1,1412 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/connectorapi/baton/v1/session.proto + +//go:build protoopaque + +package v1 + +import ( + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + 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) +) + +type GetRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_SyncId string `protobuf:"bytes,1,opt,name=sync_id,json=syncId,proto3"` + xxx_hidden_Key string `protobuf:"bytes,2,opt,name=key,proto3"` + xxx_hidden_Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetRequest) Reset() { + *x = GetRequest{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRequest) ProtoMessage() {} + +func (x *GetRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_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) +} + +func (x *GetRequest) GetSyncId() string { + if x != nil { + return x.xxx_hidden_SyncId + } + return "" +} + +func (x *GetRequest) GetKey() string { + if x != nil { + return x.xxx_hidden_Key + } + return "" +} + +func (x *GetRequest) GetPrefix() string { + if x != nil { + return x.xxx_hidden_Prefix + } + return "" +} + +func (x *GetRequest) SetSyncId(v string) { + x.xxx_hidden_SyncId = v +} + +func (x *GetRequest) SetKey(v string) { + x.xxx_hidden_Key = v +} + +func (x *GetRequest) SetPrefix(v string) { + x.xxx_hidden_Prefix = v +} + +type GetRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SyncId string + Key string + Prefix string +} + +func (b0 GetRequest_builder) Build() *GetRequest { + m0 := &GetRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_SyncId = b.SyncId + x.xxx_hidden_Key = b.Key + x.xxx_hidden_Prefix = b.Prefix + return m0 +} + +type GetResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Value []byte `protobuf:"bytes,1,opt,name=value,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetResponse) Reset() { + *x = GetResponse{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetResponse) ProtoMessage() {} + +func (x *GetResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_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) +} + +func (x *GetResponse) GetValue() []byte { + if x != nil { + return x.xxx_hidden_Value + } + return nil +} + +func (x *GetResponse) SetValue(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_Value = v +} + +type GetResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Value []byte +} + +func (b0 GetResponse_builder) Build() *GetResponse { + m0 := &GetResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Value = b.Value + return m0 +} + +type GetManyRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_SyncId string `protobuf:"bytes,1,opt,name=sync_id,json=syncId,proto3"` + xxx_hidden_Keys []string `protobuf:"bytes,2,rep,name=keys,proto3"` + xxx_hidden_Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetManyRequest) Reset() { + *x = GetManyRequest{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetManyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetManyRequest) ProtoMessage() {} + +func (x *GetManyRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_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) +} + +func (x *GetManyRequest) GetSyncId() string { + if x != nil { + return x.xxx_hidden_SyncId + } + return "" +} + +func (x *GetManyRequest) GetKeys() []string { + if x != nil { + return x.xxx_hidden_Keys + } + return nil +} + +func (x *GetManyRequest) GetPrefix() string { + if x != nil { + return x.xxx_hidden_Prefix + } + return "" +} + +func (x *GetManyRequest) SetSyncId(v string) { + x.xxx_hidden_SyncId = v +} + +func (x *GetManyRequest) SetKeys(v []string) { + x.xxx_hidden_Keys = v +} + +func (x *GetManyRequest) SetPrefix(v string) { + x.xxx_hidden_Prefix = v +} + +type GetManyRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SyncId string + Keys []string + Prefix string +} + +func (b0 GetManyRequest_builder) Build() *GetManyRequest { + m0 := &GetManyRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_SyncId = b.SyncId + x.xxx_hidden_Keys = b.Keys + x.xxx_hidden_Prefix = b.Prefix + return m0 +} + +type GetManyResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Items *[]*GetManyItem `protobuf:"bytes,1,rep,name=items,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetManyResponse) Reset() { + *x = GetManyResponse{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetManyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetManyResponse) ProtoMessage() {} + +func (x *GetManyResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_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) +} + +func (x *GetManyResponse) GetItems() []*GetManyItem { + if x != nil { + if x.xxx_hidden_Items != nil { + return *x.xxx_hidden_Items + } + } + return nil +} + +func (x *GetManyResponse) SetItems(v []*GetManyItem) { + x.xxx_hidden_Items = &v +} + +type GetManyResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Items []*GetManyItem +} + +func (b0 GetManyResponse_builder) Build() *GetManyResponse { + m0 := &GetManyResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Items = &b.Items + return m0 +} + +type GetManyItem struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Key string `protobuf:"bytes,1,opt,name=key,proto3"` + xxx_hidden_Value []byte `protobuf:"bytes,2,opt,name=value,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetManyItem) Reset() { + *x = GetManyItem{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetManyItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetManyItem) ProtoMessage() {} + +func (x *GetManyItem) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *GetManyItem) GetKey() string { + if x != nil { + return x.xxx_hidden_Key + } + return "" +} + +func (x *GetManyItem) GetValue() []byte { + if x != nil { + return x.xxx_hidden_Value + } + return nil +} + +func (x *GetManyItem) SetKey(v string) { + x.xxx_hidden_Key = v +} + +func (x *GetManyItem) SetValue(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_Value = v +} + +type GetManyItem_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Key string + Value []byte +} + +func (b0 GetManyItem_builder) Build() *GetManyItem { + m0 := &GetManyItem{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Key = b.Key + x.xxx_hidden_Value = b.Value + return m0 +} + +type GetAllRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_SyncId string `protobuf:"bytes,1,opt,name=sync_id,json=syncId,proto3"` + xxx_hidden_PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3"` + xxx_hidden_Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAllRequest) Reset() { + *x = GetAllRequest{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAllRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAllRequest) ProtoMessage() {} + +func (x *GetAllRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *GetAllRequest) GetSyncId() string { + if x != nil { + return x.xxx_hidden_SyncId + } + return "" +} + +func (x *GetAllRequest) GetPageToken() string { + if x != nil { + return x.xxx_hidden_PageToken + } + return "" +} + +func (x *GetAllRequest) GetPrefix() string { + if x != nil { + return x.xxx_hidden_Prefix + } + return "" +} + +func (x *GetAllRequest) SetSyncId(v string) { + x.xxx_hidden_SyncId = v +} + +func (x *GetAllRequest) SetPageToken(v string) { + x.xxx_hidden_PageToken = v +} + +func (x *GetAllRequest) SetPrefix(v string) { + x.xxx_hidden_Prefix = v +} + +type GetAllRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SyncId string + PageToken string + Prefix string +} + +func (b0 GetAllRequest_builder) Build() *GetAllRequest { + m0 := &GetAllRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_SyncId = b.SyncId + x.xxx_hidden_PageToken = b.PageToken + x.xxx_hidden_Prefix = b.Prefix + return m0 +} + +type GetAllResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Items *[]*GetAllItem `protobuf:"bytes,1,rep,name=items,proto3"` + xxx_hidden_PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAllResponse) Reset() { + *x = GetAllResponse{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAllResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAllResponse) ProtoMessage() {} + +func (x *GetAllResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *GetAllResponse) GetItems() []*GetAllItem { + if x != nil { + if x.xxx_hidden_Items != nil { + return *x.xxx_hidden_Items + } + } + return nil +} + +func (x *GetAllResponse) GetPageToken() string { + if x != nil { + return x.xxx_hidden_PageToken + } + return "" +} + +func (x *GetAllResponse) SetItems(v []*GetAllItem) { + x.xxx_hidden_Items = &v +} + +func (x *GetAllResponse) SetPageToken(v string) { + x.xxx_hidden_PageToken = v +} + +type GetAllResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Items []*GetAllItem + PageToken string +} + +func (b0 GetAllResponse_builder) Build() *GetAllResponse { + m0 := &GetAllResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Items = &b.Items + x.xxx_hidden_PageToken = b.PageToken + return m0 +} + +type GetAllItem struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Key string `protobuf:"bytes,1,opt,name=key,proto3"` + xxx_hidden_Value []byte `protobuf:"bytes,2,opt,name=value,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAllItem) Reset() { + *x = GetAllItem{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAllItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAllItem) ProtoMessage() {} + +func (x *GetAllItem) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_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) +} + +func (x *GetAllItem) GetKey() string { + if x != nil { + return x.xxx_hidden_Key + } + return "" +} + +func (x *GetAllItem) GetValue() []byte { + if x != nil { + return x.xxx_hidden_Value + } + return nil +} + +func (x *GetAllItem) SetKey(v string) { + x.xxx_hidden_Key = v +} + +func (x *GetAllItem) SetValue(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_Value = v +} + +type GetAllItem_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Key string + Value []byte +} + +func (b0 GetAllItem_builder) Build() *GetAllItem { + m0 := &GetAllItem{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Key = b.Key + x.xxx_hidden_Value = b.Value + return m0 +} + +type SetRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_SyncId string `protobuf:"bytes,1,opt,name=sync_id,json=syncId,proto3"` + xxx_hidden_Key string `protobuf:"bytes,2,opt,name=key,proto3"` + xxx_hidden_Value []byte `protobuf:"bytes,3,opt,name=value,proto3"` + xxx_hidden_Prefix string `protobuf:"bytes,4,opt,name=prefix,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetRequest) Reset() { + *x = SetRequest{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetRequest) ProtoMessage() {} + +func (x *SetRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_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) +} + +func (x *SetRequest) GetSyncId() string { + if x != nil { + return x.xxx_hidden_SyncId + } + return "" +} + +func (x *SetRequest) GetKey() string { + if x != nil { + return x.xxx_hidden_Key + } + return "" +} + +func (x *SetRequest) GetValue() []byte { + if x != nil { + return x.xxx_hidden_Value + } + return nil +} + +func (x *SetRequest) GetPrefix() string { + if x != nil { + return x.xxx_hidden_Prefix + } + return "" +} + +func (x *SetRequest) SetSyncId(v string) { + x.xxx_hidden_SyncId = v +} + +func (x *SetRequest) SetKey(v string) { + x.xxx_hidden_Key = v +} + +func (x *SetRequest) SetValue(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_Value = v +} + +func (x *SetRequest) SetPrefix(v string) { + x.xxx_hidden_Prefix = v +} + +type SetRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SyncId string + Key string + Value []byte + Prefix string +} + +func (b0 SetRequest_builder) Build() *SetRequest { + m0 := &SetRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_SyncId = b.SyncId + x.xxx_hidden_Key = b.Key + x.xxx_hidden_Value = b.Value + x.xxx_hidden_Prefix = b.Prefix + return m0 +} + +type SetResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetResponse) Reset() { + *x = SetResponse{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetResponse) ProtoMessage() {} + +func (x *SetResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +type SetResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 SetResponse_builder) Build() *SetResponse { + m0 := &SetResponse{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +type SetManyRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_SyncId string `protobuf:"bytes,1,opt,name=sync_id,json=syncId,proto3"` + xxx_hidden_Values map[string][]byte `protobuf:"bytes,2,rep,name=values,proto3" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + xxx_hidden_Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetManyRequest) Reset() { + *x = SetManyRequest{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetManyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetManyRequest) ProtoMessage() {} + +func (x *SetManyRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *SetManyRequest) GetSyncId() string { + if x != nil { + return x.xxx_hidden_SyncId + } + return "" +} + +func (x *SetManyRequest) GetValues() map[string][]byte { + if x != nil { + return x.xxx_hidden_Values + } + return nil +} + +func (x *SetManyRequest) GetPrefix() string { + if x != nil { + return x.xxx_hidden_Prefix + } + return "" +} + +func (x *SetManyRequest) SetSyncId(v string) { + x.xxx_hidden_SyncId = v +} + +func (x *SetManyRequest) SetValues(v map[string][]byte) { + x.xxx_hidden_Values = v +} + +func (x *SetManyRequest) SetPrefix(v string) { + x.xxx_hidden_Prefix = v +} + +type SetManyRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SyncId string + Values map[string][]byte + Prefix string +} + +func (b0 SetManyRequest_builder) Build() *SetManyRequest { + m0 := &SetManyRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_SyncId = b.SyncId + x.xxx_hidden_Values = b.Values + x.xxx_hidden_Prefix = b.Prefix + return m0 +} + +type SetManyResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetManyResponse) Reset() { + *x = SetManyResponse{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetManyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetManyResponse) ProtoMessage() {} + +func (x *SetManyResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_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) +} + +type SetManyResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 SetManyResponse_builder) Build() *SetManyResponse { + m0 := &SetManyResponse{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +type DeleteRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_SyncId string `protobuf:"bytes,1,opt,name=sync_id,json=syncId,proto3"` + xxx_hidden_Key string `protobuf:"bytes,2,opt,name=key,proto3"` + xxx_hidden_Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteRequest) Reset() { + *x = DeleteRequest{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteRequest) ProtoMessage() {} + +func (x *DeleteRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *DeleteRequest) GetSyncId() string { + if x != nil { + return x.xxx_hidden_SyncId + } + return "" +} + +func (x *DeleteRequest) GetKey() string { + if x != nil { + return x.xxx_hidden_Key + } + return "" +} + +func (x *DeleteRequest) GetPrefix() string { + if x != nil { + return x.xxx_hidden_Prefix + } + return "" +} + +func (x *DeleteRequest) SetSyncId(v string) { + x.xxx_hidden_SyncId = v +} + +func (x *DeleteRequest) SetKey(v string) { + x.xxx_hidden_Key = v +} + +func (x *DeleteRequest) SetPrefix(v string) { + x.xxx_hidden_Prefix = v +} + +type DeleteRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SyncId string + Key string + Prefix string +} + +func (b0 DeleteRequest_builder) Build() *DeleteRequest { + m0 := &DeleteRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_SyncId = b.SyncId + x.xxx_hidden_Key = b.Key + x.xxx_hidden_Prefix = b.Prefix + return m0 +} + +type DeleteResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteResponse) Reset() { + *x = DeleteResponse{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteResponse) ProtoMessage() {} + +func (x *DeleteResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_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) +} + +type DeleteResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 DeleteResponse_builder) Build() *DeleteResponse { + m0 := &DeleteResponse{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +type DeleteManyRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_SyncId string `protobuf:"bytes,1,opt,name=sync_id,json=syncId,proto3"` + xxx_hidden_Keys []string `protobuf:"bytes,2,rep,name=keys,proto3"` + xxx_hidden_Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteManyRequest) Reset() { + *x = DeleteManyRequest{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteManyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteManyRequest) ProtoMessage() {} + +func (x *DeleteManyRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_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) +} + +func (x *DeleteManyRequest) GetSyncId() string { + if x != nil { + return x.xxx_hidden_SyncId + } + return "" +} + +func (x *DeleteManyRequest) GetKeys() []string { + if x != nil { + return x.xxx_hidden_Keys + } + return nil +} + +func (x *DeleteManyRequest) GetPrefix() string { + if x != nil { + return x.xxx_hidden_Prefix + } + return "" +} + +func (x *DeleteManyRequest) SetSyncId(v string) { + x.xxx_hidden_SyncId = v +} + +func (x *DeleteManyRequest) SetKeys(v []string) { + x.xxx_hidden_Keys = v +} + +func (x *DeleteManyRequest) SetPrefix(v string) { + x.xxx_hidden_Prefix = v +} + +type DeleteManyRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SyncId string + Keys []string + Prefix string +} + +func (b0 DeleteManyRequest_builder) Build() *DeleteManyRequest { + m0 := &DeleteManyRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_SyncId = b.SyncId + x.xxx_hidden_Keys = b.Keys + x.xxx_hidden_Prefix = b.Prefix + return m0 +} + +type DeleteManyResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteManyResponse) Reset() { + *x = DeleteManyResponse{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteManyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteManyResponse) ProtoMessage() {} + +func (x *DeleteManyResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +type DeleteManyResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 DeleteManyResponse_builder) Build() *DeleteManyResponse { + m0 := &DeleteManyResponse{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +type ClearRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_SyncId string `protobuf:"bytes,1,opt,name=sync_id,json=syncId,proto3"` + xxx_hidden_Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ClearRequest) Reset() { + *x = ClearRequest{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ClearRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClearRequest) ProtoMessage() {} + +func (x *ClearRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ClearRequest) GetSyncId() string { + if x != nil { + return x.xxx_hidden_SyncId + } + return "" +} + +func (x *ClearRequest) GetPrefix() string { + if x != nil { + return x.xxx_hidden_Prefix + } + return "" +} + +func (x *ClearRequest) SetSyncId(v string) { + x.xxx_hidden_SyncId = v +} + +func (x *ClearRequest) SetPrefix(v string) { + x.xxx_hidden_Prefix = v +} + +type ClearRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SyncId string + Prefix string +} + +func (b0 ClearRequest_builder) Build() *ClearRequest { + m0 := &ClearRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_SyncId = b.SyncId + x.xxx_hidden_Prefix = b.Prefix + return m0 +} + +type ClearResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ClearResponse) Reset() { + *x = ClearResponse{} + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ClearResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClearResponse) ProtoMessage() {} + +func (x *ClearResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_connectorapi_baton_v1_session_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +type ClearResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 ClearResponse_builder) Build() *ClearResponse { + m0 := &ClearResponse{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +var File_c1_connectorapi_baton_v1_session_proto protoreflect.FileDescriptor + +const file_c1_connectorapi_baton_v1_session_proto_rawDesc = "" + + "\n" + + "&c1/connectorapi/baton/v1/session.proto\x12\x18c1.connectorapi.baton.v1\x1a\x17validate/validate.proto\"\x7f\n" + + "\n" + + "GetRequest\x121\n" + + "\async_id\x18\x01 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06syncId\x12\x1c\n" + + "\x03key\x18\x02 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x03key\x12 \n" + + "\x06prefix\x18\x03 \x01(\tB\b\xfaB\x05r\x03\x18\x80\x02R\x06prefix\"#\n" + + "\vGetResponse\x12\x14\n" + + "\x05value\x18\x01 \x01(\fR\x05value\"\x90\x01\n" + + "\x0eGetManyRequest\x121\n" + + "\async_id\x18\x01 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06syncId\x12)\n" + + "\x04keys\x18\x02 \x03(\tB\x15\xfaB\x12\x92\x01\x0f\b\x01\x10d\x18\x01\"\ar\x05\x10\x01\x18\x80\x02R\x04keys\x12 \n" + + "\x06prefix\x18\x03 \x01(\tB\b\xfaB\x05r\x03\x18\x80\x02R\x06prefix\"N\n" + + "\x0fGetManyResponse\x12;\n" + + "\x05items\x18\x01 \x03(\v2%.c1.connectorapi.baton.v1.GetManyItemR\x05items\"5\n" + + "\vGetManyItem\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\fR\x05value\"\x83\x01\n" + + "\rGetAllRequest\x121\n" + + "\async_id\x18\x01 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06syncId\x12\x1d\n" + + "\n" + + "page_token\x18\x02 \x01(\tR\tpageToken\x12 \n" + + "\x06prefix\x18\x03 \x01(\tB\b\xfaB\x05r\x03\x18\x80\x02R\x06prefix\"k\n" + + "\x0eGetAllResponse\x12:\n" + + "\x05items\x18\x01 \x03(\v2$.c1.connectorapi.baton.v1.GetAllItemR\x05items\x12\x1d\n" + + "\n" + + "page_token\x18\x02 \x01(\tR\tpageToken\"4\n" + + "\n" + + "GetAllItem\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\fR\x05value\"\xa0\x01\n" + + "\n" + + "SetRequest\x121\n" + + "\async_id\x18\x01 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06syncId\x12\x1c\n" + + "\x03key\x18\x02 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x03key\x12\x1f\n" + + "\x05value\x18\x03 \x01(\fB\t\xfaB\x06z\x04\x18\x80\x98\x02R\x05value\x12 \n" + + "\x06prefix\x18\x04 \x01(\tB\b\xfaB\x05r\x03\x18\x80\x02R\x06prefix\"\r\n" + + "\vSetResponse\"\x8b\x02\n" + + "\x0eSetManyRequest\x121\n" + + "\async_id\x18\x01 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06syncId\x12i\n" + + "\x06values\x18\x02 \x03(\v24.c1.connectorapi.baton.v1.SetManyRequest.ValuesEntryB\x1b\xfaB\x18\x9a\x01\x15\b\x01\x10d\"\ar\x05\x10\x01\x18\x80\x02*\x06z\x04\x18\x80\x98\x02R\x06values\x12 \n" + + "\x06prefix\x18\x03 \x01(\tB\b\xfaB\x05r\x03\x18\x80\x02R\x06prefix\x1a9\n" + + "\vValuesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\fR\x05value:\x028\x01\"\x11\n" + + "\x0fSetManyResponse\"\x82\x01\n" + + "\rDeleteRequest\x121\n" + + "\async_id\x18\x01 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06syncId\x12\x1c\n" + + "\x03key\x18\x02 \x01(\tB\n" + + "\xfaB\ar\x05\x10\x01\x18\x80\x02R\x03key\x12 \n" + + "\x06prefix\x18\x03 \x01(\tB\b\xfaB\x05r\x03\x18\x80\x02R\x06prefix\"\x10\n" + + "\x0eDeleteResponse\"\x92\x01\n" + + "\x11DeleteManyRequest\x121\n" + + "\async_id\x18\x01 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06syncId\x12(\n" + + "\x04keys\x18\x02 \x03(\tB\x14\xfaB\x11\x92\x01\x0e\b\x01\x10\xc8\x01\"\ar\x05\x10\x01\x18\x80\x02R\x04keys\x12 \n" + + "\x06prefix\x18\x03 \x01(\tB\b\xfaB\x05r\x03\x18\x80\x02R\x06prefix\"\x14\n" + + "\x12DeleteManyResponse\"c\n" + + "\fClearRequest\x121\n" + + "\async_id\x18\x01 \x01(\tB\x18\xfaB\x15r\x132\x11^[a-zA-Z0-9]{27}$R\x06syncId\x12 \n" + + "\x06prefix\x18\x02 \x01(\tB\b\xfaB\x05r\x03\x18\x80\x02R\x06prefix\"\x0f\n" + + "\rClearResponse2\x8a\x06\n" + + "\x13BatonSessionService\x12T\n" + + "\x03Get\x12$.c1.connectorapi.baton.v1.GetRequest\x1a%.c1.connectorapi.baton.v1.GetResponse\"\x00\x12`\n" + + "\aGetMany\x12(.c1.connectorapi.baton.v1.GetManyRequest\x1a).c1.connectorapi.baton.v1.GetManyResponse\"\x00\x12]\n" + + "\x06GetAll\x12'.c1.connectorapi.baton.v1.GetAllRequest\x1a(.c1.connectorapi.baton.v1.GetAllResponse\"\x00\x12T\n" + + "\x03Set\x12$.c1.connectorapi.baton.v1.SetRequest\x1a%.c1.connectorapi.baton.v1.SetResponse\"\x00\x12`\n" + + "\aSetMany\x12(.c1.connectorapi.baton.v1.SetManyRequest\x1a).c1.connectorapi.baton.v1.SetManyResponse\"\x00\x12]\n" + + "\x06Delete\x12'.c1.connectorapi.baton.v1.DeleteRequest\x1a(.c1.connectorapi.baton.v1.DeleteResponse\"\x00\x12i\n" + + "\n" + + "DeleteMany\x12+.c1.connectorapi.baton.v1.DeleteManyRequest\x1a,.c1.connectorapi.baton.v1.DeleteManyResponse\"\x00\x12Z\n" + + "\x05Clear\x12&.c1.connectorapi.baton.v1.ClearRequest\x1a'.c1.connectorapi.baton.v1.ClearResponse\"\x00B7Z5gitlab.com/ductone/c1/pkg/pb/c1/connectorapi/baton/v1b\x06proto3" + +var file_c1_connectorapi_baton_v1_session_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_c1_connectorapi_baton_v1_session_proto_goTypes = []any{ + (*GetRequest)(nil), // 0: c1.connectorapi.baton.v1.GetRequest + (*GetResponse)(nil), // 1: c1.connectorapi.baton.v1.GetResponse + (*GetManyRequest)(nil), // 2: c1.connectorapi.baton.v1.GetManyRequest + (*GetManyResponse)(nil), // 3: c1.connectorapi.baton.v1.GetManyResponse + (*GetManyItem)(nil), // 4: c1.connectorapi.baton.v1.GetManyItem + (*GetAllRequest)(nil), // 5: c1.connectorapi.baton.v1.GetAllRequest + (*GetAllResponse)(nil), // 6: c1.connectorapi.baton.v1.GetAllResponse + (*GetAllItem)(nil), // 7: c1.connectorapi.baton.v1.GetAllItem + (*SetRequest)(nil), // 8: c1.connectorapi.baton.v1.SetRequest + (*SetResponse)(nil), // 9: c1.connectorapi.baton.v1.SetResponse + (*SetManyRequest)(nil), // 10: c1.connectorapi.baton.v1.SetManyRequest + (*SetManyResponse)(nil), // 11: c1.connectorapi.baton.v1.SetManyResponse + (*DeleteRequest)(nil), // 12: c1.connectorapi.baton.v1.DeleteRequest + (*DeleteResponse)(nil), // 13: c1.connectorapi.baton.v1.DeleteResponse + (*DeleteManyRequest)(nil), // 14: c1.connectorapi.baton.v1.DeleteManyRequest + (*DeleteManyResponse)(nil), // 15: c1.connectorapi.baton.v1.DeleteManyResponse + (*ClearRequest)(nil), // 16: c1.connectorapi.baton.v1.ClearRequest + (*ClearResponse)(nil), // 17: c1.connectorapi.baton.v1.ClearResponse + nil, // 18: c1.connectorapi.baton.v1.SetManyRequest.ValuesEntry +} +var file_c1_connectorapi_baton_v1_session_proto_depIdxs = []int32{ + 4, // 0: c1.connectorapi.baton.v1.GetManyResponse.items:type_name -> c1.connectorapi.baton.v1.GetManyItem + 7, // 1: c1.connectorapi.baton.v1.GetAllResponse.items:type_name -> c1.connectorapi.baton.v1.GetAllItem + 18, // 2: c1.connectorapi.baton.v1.SetManyRequest.values:type_name -> c1.connectorapi.baton.v1.SetManyRequest.ValuesEntry + 0, // 3: c1.connectorapi.baton.v1.BatonSessionService.Get:input_type -> c1.connectorapi.baton.v1.GetRequest + 2, // 4: c1.connectorapi.baton.v1.BatonSessionService.GetMany:input_type -> c1.connectorapi.baton.v1.GetManyRequest + 5, // 5: c1.connectorapi.baton.v1.BatonSessionService.GetAll:input_type -> c1.connectorapi.baton.v1.GetAllRequest + 8, // 6: c1.connectorapi.baton.v1.BatonSessionService.Set:input_type -> c1.connectorapi.baton.v1.SetRequest + 10, // 7: c1.connectorapi.baton.v1.BatonSessionService.SetMany:input_type -> c1.connectorapi.baton.v1.SetManyRequest + 12, // 8: c1.connectorapi.baton.v1.BatonSessionService.Delete:input_type -> c1.connectorapi.baton.v1.DeleteRequest + 14, // 9: c1.connectorapi.baton.v1.BatonSessionService.DeleteMany:input_type -> c1.connectorapi.baton.v1.DeleteManyRequest + 16, // 10: c1.connectorapi.baton.v1.BatonSessionService.Clear:input_type -> c1.connectorapi.baton.v1.ClearRequest + 1, // 11: c1.connectorapi.baton.v1.BatonSessionService.Get:output_type -> c1.connectorapi.baton.v1.GetResponse + 3, // 12: c1.connectorapi.baton.v1.BatonSessionService.GetMany:output_type -> c1.connectorapi.baton.v1.GetManyResponse + 6, // 13: c1.connectorapi.baton.v1.BatonSessionService.GetAll:output_type -> c1.connectorapi.baton.v1.GetAllResponse + 9, // 14: c1.connectorapi.baton.v1.BatonSessionService.Set:output_type -> c1.connectorapi.baton.v1.SetResponse + 11, // 15: c1.connectorapi.baton.v1.BatonSessionService.SetMany:output_type -> c1.connectorapi.baton.v1.SetManyResponse + 13, // 16: c1.connectorapi.baton.v1.BatonSessionService.Delete:output_type -> c1.connectorapi.baton.v1.DeleteResponse + 15, // 17: c1.connectorapi.baton.v1.BatonSessionService.DeleteMany:output_type -> c1.connectorapi.baton.v1.DeleteManyResponse + 17, // 18: c1.connectorapi.baton.v1.BatonSessionService.Clear:output_type -> c1.connectorapi.baton.v1.ClearResponse + 11, // [11:19] is the sub-list for method output_type + 3, // [3:11] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_c1_connectorapi_baton_v1_session_proto_init() } +func file_c1_connectorapi_baton_v1_session_proto_init() { + if File_c1_connectorapi_baton_v1_session_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_connectorapi_baton_v1_session_proto_rawDesc), len(file_c1_connectorapi_baton_v1_session_proto_rawDesc)), + NumEnums: 0, + NumMessages: 19, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_c1_connectorapi_baton_v1_session_proto_goTypes, + DependencyIndexes: file_c1_connectorapi_baton_v1_session_proto_depIdxs, + MessageInfos: file_c1_connectorapi_baton_v1_session_proto_msgTypes, + }.Build() + File_c1_connectorapi_baton_v1_session_proto = out.File + file_c1_connectorapi_baton_v1_session_proto_goTypes = nil + file_c1_connectorapi_baton_v1_session_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/ratelimit/v1/ratelimit.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/ratelimit/v1/ratelimit.pb.go index 664980eb..7e91231d 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/ratelimit/v1/ratelimit.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/ratelimit/v1/ratelimit.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/ratelimit/v1/ratelimit.proto +//go:build !protoopaque + package v1 import ( @@ -13,7 +15,6 @@ import ( durationpb "google.golang.org/protobuf/types/known/durationpb" timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -74,15 +75,10 @@ func (x RateLimitDescription_Status) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use RateLimitDescription_Status.Descriptor instead. -func (RateLimitDescription_Status) EnumDescriptor() ([]byte, []int) { - return file_c1_ratelimit_v1_ratelimit_proto_rawDescGZIP(), []int{0, 0} -} - // https://tools.ietf.org/html/draft-ietf-httpapi-ratelimit-headers-00#section-1.1 // RateLimitDescription is a minimal representation of a rate limit. type RateLimitDescription struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Status RateLimitDescription_Status `protobuf:"varint,1,opt,name=status,proto3,enum=c1.ratelimit.v1.RateLimitDescription_Status" json:"status,omitempty"` Limit int64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` Remaining int64 `protobuf:"varint,3,opt,name=remaining,proto3" json:"remaining,omitempty"` @@ -117,11 +113,6 @@ func (x *RateLimitDescription) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RateLimitDescription.ProtoReflect.Descriptor instead. -func (*RateLimitDescription) Descriptor() ([]byte, []int) { - return file_c1_ratelimit_v1_ratelimit_proto_rawDescGZIP(), []int{0} -} - func (x *RateLimitDescription) GetStatus() RateLimitDescription_Status { if x != nil { return x.Status @@ -157,8 +148,61 @@ func (x *RateLimitDescription) GetResetAt() *timestamppb.Timestamp { return nil } +func (x *RateLimitDescription) SetStatus(v RateLimitDescription_Status) { + x.Status = v +} + +func (x *RateLimitDescription) SetLimit(v int64) { + x.Limit = v +} + +func (x *RateLimitDescription) SetRemaining(v int64) { + x.Remaining = v +} + +func (x *RateLimitDescription) SetCount(v int64) { + x.Count = v +} + +func (x *RateLimitDescription) SetResetAt(v *timestamppb.Timestamp) { + x.ResetAt = v +} + +func (x *RateLimitDescription) HasResetAt() bool { + if x == nil { + return false + } + return x.ResetAt != nil +} + +func (x *RateLimitDescription) ClearResetAt() { + x.ResetAt = nil +} + +type RateLimitDescription_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Status RateLimitDescription_Status + Limit int64 + Remaining int64 + Count int64 + ResetAt *timestamppb.Timestamp +} + +func (b0 RateLimitDescription_builder) Build() *RateLimitDescription { + m0 := &RateLimitDescription{} + b, x := &b0, m0 + _, _ = b, x + x.Status = b.Status + x.Limit = b.Limit + x.Remaining = b.Remaining + x.Count = b.Count + x.ResetAt = b.ResetAt + return m0 +} + type ReportRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` RequestToken string `protobuf:"bytes,1,opt,name=request_token,json=requestToken,proto3" json:"request_token,omitempty"` Description *RateLimitDescription `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` Service string `protobuf:"bytes,3,opt,name=service,proto3" json:"service,omitempty"` @@ -192,11 +236,6 @@ func (x *ReportRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ReportRequest.ProtoReflect.Descriptor instead. -func (*ReportRequest) Descriptor() ([]byte, []int) { - return file_c1_ratelimit_v1_ratelimit_proto_rawDescGZIP(), []int{1} -} - func (x *ReportRequest) GetRequestToken() string { if x != nil { return x.RequestToken @@ -225,8 +264,66 @@ func (x *ReportRequest) GetDescriptors() *RateLimitDescriptors { return nil } +func (x *ReportRequest) SetRequestToken(v string) { + x.RequestToken = v +} + +func (x *ReportRequest) SetDescription(v *RateLimitDescription) { + x.Description = v +} + +func (x *ReportRequest) SetService(v string) { + x.Service = v +} + +func (x *ReportRequest) SetDescriptors(v *RateLimitDescriptors) { + x.Descriptors = v +} + +func (x *ReportRequest) HasDescription() bool { + if x == nil { + return false + } + return x.Description != nil +} + +func (x *ReportRequest) HasDescriptors() bool { + if x == nil { + return false + } + return x.Descriptors != nil +} + +func (x *ReportRequest) ClearDescription() { + x.Description = nil +} + +func (x *ReportRequest) ClearDescriptors() { + x.Descriptors = nil +} + +type ReportRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + RequestToken string + Description *RateLimitDescription + Service string + Descriptors *RateLimitDescriptors +} + +func (b0 ReportRequest_builder) Build() *ReportRequest { + m0 := &ReportRequest{} + b, x := &b0, m0 + _, _ = b, x + x.RequestToken = b.RequestToken + x.Description = b.Description + x.Service = b.Service + x.Descriptors = b.Descriptors + return m0 +} + type ReportResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -256,13 +353,20 @@ func (x *ReportResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ReportResponse.ProtoReflect.Descriptor instead. -func (*ReportResponse) Descriptor() ([]byte, []int) { - return file_c1_ratelimit_v1_ratelimit_proto_rawDescGZIP(), []int{2} +type ReportResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 ReportResponse_builder) Build() *ReportResponse { + m0 := &ReportResponse{} + b, x := &b0, m0 + _, _ = b, x + return m0 } type RateLimitDescriptors struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Entries []*RateLimitDescriptors_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -293,11 +397,6 @@ func (x *RateLimitDescriptors) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RateLimitDescriptors.ProtoReflect.Descriptor instead. -func (*RateLimitDescriptors) Descriptor() ([]byte, []int) { - return file_c1_ratelimit_v1_ratelimit_proto_rawDescGZIP(), []int{3} -} - func (x *RateLimitDescriptors) GetEntries() []*RateLimitDescriptors_Entry { if x != nil { return x.Entries @@ -305,8 +404,26 @@ func (x *RateLimitDescriptors) GetEntries() []*RateLimitDescriptors_Entry { return nil } +func (x *RateLimitDescriptors) SetEntries(v []*RateLimitDescriptors_Entry) { + x.Entries = v +} + +type RateLimitDescriptors_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Entries []*RateLimitDescriptors_Entry +} + +func (b0 RateLimitDescriptors_builder) Build() *RateLimitDescriptors { + m0 := &RateLimitDescriptors{} + b, x := &b0, m0 + _, _ = b, x + x.Entries = b.Entries + return m0 +} + type DoRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` RequestToken string `protobuf:"bytes,1,opt,name=request_token,json=requestToken,proto3" json:"request_token,omitempty"` Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` Descriptors *RateLimitDescriptors `protobuf:"bytes,3,opt,name=descriptors,proto3" json:"descriptors,omitempty"` @@ -339,11 +456,6 @@ func (x *DoRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DoRequest.ProtoReflect.Descriptor instead. -func (*DoRequest) Descriptor() ([]byte, []int) { - return file_c1_ratelimit_v1_ratelimit_proto_rawDescGZIP(), []int{4} -} - func (x *DoRequest) GetRequestToken() string { if x != nil { return x.RequestToken @@ -365,8 +477,49 @@ func (x *DoRequest) GetDescriptors() *RateLimitDescriptors { return nil } +func (x *DoRequest) SetRequestToken(v string) { + x.RequestToken = v +} + +func (x *DoRequest) SetService(v string) { + x.Service = v +} + +func (x *DoRequest) SetDescriptors(v *RateLimitDescriptors) { + x.Descriptors = v +} + +func (x *DoRequest) HasDescriptors() bool { + if x == nil { + return false + } + return x.Descriptors != nil +} + +func (x *DoRequest) ClearDescriptors() { + x.Descriptors = nil +} + +type DoRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + RequestToken string + Service string + Descriptors *RateLimitDescriptors +} + +func (b0 DoRequest_builder) Build() *DoRequest { + m0 := &DoRequest{} + b, x := &b0, m0 + _, _ = b, x + x.RequestToken = b.RequestToken + x.Service = b.Service + x.Descriptors = b.Descriptors + return m0 +} + type DoResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` RequestToken string `protobuf:"bytes,1,opt,name=request_token,json=requestToken,proto3" json:"request_token,omitempty"` Description *RateLimitDescription `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` unknownFields protoimpl.UnknownFields @@ -398,11 +551,6 @@ func (x *DoResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DoResponse.ProtoReflect.Descriptor instead. -func (*DoResponse) Descriptor() ([]byte, []int) { - return file_c1_ratelimit_v1_ratelimit_proto_rawDescGZIP(), []int{5} -} - func (x *DoResponse) GetRequestToken() string { if x != nil { return x.RequestToken @@ -417,8 +565,43 @@ func (x *DoResponse) GetDescription() *RateLimitDescription { return nil } +func (x *DoResponse) SetRequestToken(v string) { + x.RequestToken = v +} + +func (x *DoResponse) SetDescription(v *RateLimitDescription) { + x.Description = v +} + +func (x *DoResponse) HasDescription() bool { + if x == nil { + return false + } + return x.Description != nil +} + +func (x *DoResponse) ClearDescription() { + x.Description = nil +} + +type DoResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + RequestToken string + Description *RateLimitDescription +} + +func (b0 DoResponse_builder) Build() *DoResponse { + m0 := &DoResponse{} + b, x := &b0, m0 + _, _ = b, x + x.RequestToken = b.RequestToken + x.Description = b.Description + return m0 +} + type DisabledLimiter struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -448,13 +631,20 @@ func (x *DisabledLimiter) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DisabledLimiter.ProtoReflect.Descriptor instead. -func (*DisabledLimiter) Descriptor() ([]byte, []int) { - return file_c1_ratelimit_v1_ratelimit_proto_rawDescGZIP(), []int{6} +type DisabledLimiter_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 DisabledLimiter_builder) Build() *DisabledLimiter { + m0 := &DisabledLimiter{} + b, x := &b0, m0 + _, _ = b, x + return m0 } type SlidingMemoryLimiter struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` UsePercent float64 `protobuf:"fixed64,1,opt,name=use_percent,json=usePercent,proto3" json:"use_percent,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -485,11 +675,6 @@ func (x *SlidingMemoryLimiter) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SlidingMemoryLimiter.ProtoReflect.Descriptor instead. -func (*SlidingMemoryLimiter) Descriptor() ([]byte, []int) { - return file_c1_ratelimit_v1_ratelimit_proto_rawDescGZIP(), []int{7} -} - func (x *SlidingMemoryLimiter) GetUsePercent() float64 { if x != nil { return x.UsePercent @@ -497,8 +682,26 @@ func (x *SlidingMemoryLimiter) GetUsePercent() float64 { return 0 } +func (x *SlidingMemoryLimiter) SetUsePercent(v float64) { + x.UsePercent = v +} + +type SlidingMemoryLimiter_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + UsePercent float64 +} + +func (b0 SlidingMemoryLimiter_builder) Build() *SlidingMemoryLimiter { + m0 := &SlidingMemoryLimiter{} + b, x := &b0, m0 + _, _ = b, x + x.UsePercent = b.UsePercent + return m0 +} + type FixedMemoryLimiter struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Rate int64 `protobuf:"varint,1,opt,name=rate,proto3" json:"rate,omitempty"` Period *durationpb.Duration `protobuf:"bytes,2,opt,name=period,proto3" json:"period,omitempty"` unknownFields protoimpl.UnknownFields @@ -530,11 +733,6 @@ func (x *FixedMemoryLimiter) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FixedMemoryLimiter.ProtoReflect.Descriptor instead. -func (*FixedMemoryLimiter) Descriptor() ([]byte, []int) { - return file_c1_ratelimit_v1_ratelimit_proto_rawDescGZIP(), []int{8} -} - func (x *FixedMemoryLimiter) GetRate() int64 { if x != nil { return x.Rate @@ -549,8 +747,43 @@ func (x *FixedMemoryLimiter) GetPeriod() *durationpb.Duration { return nil } +func (x *FixedMemoryLimiter) SetRate(v int64) { + x.Rate = v +} + +func (x *FixedMemoryLimiter) SetPeriod(v *durationpb.Duration) { + x.Period = v +} + +func (x *FixedMemoryLimiter) HasPeriod() bool { + if x == nil { + return false + } + return x.Period != nil +} + +func (x *FixedMemoryLimiter) ClearPeriod() { + x.Period = nil +} + +type FixedMemoryLimiter_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Rate int64 + Period *durationpb.Duration +} + +func (b0 FixedMemoryLimiter_builder) Build() *FixedMemoryLimiter { + m0 := &FixedMemoryLimiter{} + b, x := &b0, m0 + _, _ = b, x + x.Rate = b.Rate + x.Period = b.Period + return m0 +} + type ExternalLimiter struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` Options map[string]string `protobuf:"bytes,1,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields @@ -582,11 +815,6 @@ func (x *ExternalLimiter) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ExternalLimiter.ProtoReflect.Descriptor instead. -func (*ExternalLimiter) Descriptor() ([]byte, []int) { - return file_c1_ratelimit_v1_ratelimit_proto_rawDescGZIP(), []int{9} -} - func (x *ExternalLimiter) GetAddress() string { if x != nil { return x.Address @@ -601,8 +829,32 @@ func (x *ExternalLimiter) GetOptions() map[string]string { return nil } +func (x *ExternalLimiter) SetAddress(v string) { + x.Address = v +} + +func (x *ExternalLimiter) SetOptions(v map[string]string) { + x.Options = v +} + +type ExternalLimiter_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Address string + Options map[string]string +} + +func (b0 ExternalLimiter_builder) Build() *ExternalLimiter { + m0 := &ExternalLimiter{} + b, x := &b0, m0 + _, _ = b, x + x.Address = b.Address + x.Options = b.Options + return m0 +} + type RateLimiterConfig struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` // Types that are valid to be assigned to Type: // // *RateLimiterConfig_Disabled @@ -639,11 +891,6 @@ func (x *RateLimiterConfig) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RateLimiterConfig.ProtoReflect.Descriptor instead. -func (*RateLimiterConfig) Descriptor() ([]byte, []int) { - return file_c1_ratelimit_v1_ratelimit_proto_rawDescGZIP(), []int{10} -} - func (x *RateLimiterConfig) GetType() isRateLimiterConfig_Type { if x != nil { return x.Type @@ -687,6 +934,169 @@ func (x *RateLimiterConfig) GetExternal() *ExternalLimiter { return nil } +func (x *RateLimiterConfig) SetDisabled(v *DisabledLimiter) { + if v == nil { + x.Type = nil + return + } + x.Type = &RateLimiterConfig_Disabled{v} +} + +func (x *RateLimiterConfig) SetSlidingMem(v *SlidingMemoryLimiter) { + if v == nil { + x.Type = nil + return + } + x.Type = &RateLimiterConfig_SlidingMem{v} +} + +func (x *RateLimiterConfig) SetFixedMem(v *FixedMemoryLimiter) { + if v == nil { + x.Type = nil + return + } + x.Type = &RateLimiterConfig_FixedMem{v} +} + +func (x *RateLimiterConfig) SetExternal(v *ExternalLimiter) { + if v == nil { + x.Type = nil + return + } + x.Type = &RateLimiterConfig_External{v} +} + +func (x *RateLimiterConfig) HasType() bool { + if x == nil { + return false + } + return x.Type != nil +} + +func (x *RateLimiterConfig) HasDisabled() bool { + if x == nil { + return false + } + _, ok := x.Type.(*RateLimiterConfig_Disabled) + return ok +} + +func (x *RateLimiterConfig) HasSlidingMem() bool { + if x == nil { + return false + } + _, ok := x.Type.(*RateLimiterConfig_SlidingMem) + return ok +} + +func (x *RateLimiterConfig) HasFixedMem() bool { + if x == nil { + return false + } + _, ok := x.Type.(*RateLimiterConfig_FixedMem) + return ok +} + +func (x *RateLimiterConfig) HasExternal() bool { + if x == nil { + return false + } + _, ok := x.Type.(*RateLimiterConfig_External) + return ok +} + +func (x *RateLimiterConfig) ClearType() { + x.Type = nil +} + +func (x *RateLimiterConfig) ClearDisabled() { + if _, ok := x.Type.(*RateLimiterConfig_Disabled); ok { + x.Type = nil + } +} + +func (x *RateLimiterConfig) ClearSlidingMem() { + if _, ok := x.Type.(*RateLimiterConfig_SlidingMem); ok { + x.Type = nil + } +} + +func (x *RateLimiterConfig) ClearFixedMem() { + if _, ok := x.Type.(*RateLimiterConfig_FixedMem); ok { + x.Type = nil + } +} + +func (x *RateLimiterConfig) ClearExternal() { + if _, ok := x.Type.(*RateLimiterConfig_External); ok { + x.Type = nil + } +} + +const RateLimiterConfig_Type_not_set_case case_RateLimiterConfig_Type = 0 +const RateLimiterConfig_Disabled_case case_RateLimiterConfig_Type = 100 +const RateLimiterConfig_SlidingMem_case case_RateLimiterConfig_Type = 101 +const RateLimiterConfig_FixedMem_case case_RateLimiterConfig_Type = 102 +const RateLimiterConfig_External_case case_RateLimiterConfig_Type = 103 + +func (x *RateLimiterConfig) WhichType() case_RateLimiterConfig_Type { + if x == nil { + return RateLimiterConfig_Type_not_set_case + } + switch x.Type.(type) { + case *RateLimiterConfig_Disabled: + return RateLimiterConfig_Disabled_case + case *RateLimiterConfig_SlidingMem: + return RateLimiterConfig_SlidingMem_case + case *RateLimiterConfig_FixedMem: + return RateLimiterConfig_FixedMem_case + case *RateLimiterConfig_External: + return RateLimiterConfig_External_case + default: + return RateLimiterConfig_Type_not_set_case + } +} + +type RateLimiterConfig_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Fields of oneof Type: + Disabled *DisabledLimiter + SlidingMem *SlidingMemoryLimiter + FixedMem *FixedMemoryLimiter + External *ExternalLimiter + // -- end of Type +} + +func (b0 RateLimiterConfig_builder) Build() *RateLimiterConfig { + m0 := &RateLimiterConfig{} + b, x := &b0, m0 + _, _ = b, x + if b.Disabled != nil { + x.Type = &RateLimiterConfig_Disabled{b.Disabled} + } + if b.SlidingMem != nil { + x.Type = &RateLimiterConfig_SlidingMem{b.SlidingMem} + } + if b.FixedMem != nil { + x.Type = &RateLimiterConfig_FixedMem{b.FixedMem} + } + if b.External != nil { + x.Type = &RateLimiterConfig_External{b.External} + } + return m0 +} + +type case_RateLimiterConfig_Type protoreflect.FieldNumber + +func (x case_RateLimiterConfig_Type) String() string { + md := file_c1_ratelimit_v1_ratelimit_proto_msgTypes[10].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + type isRateLimiterConfig_Type interface { isRateLimiterConfig_Type() } @@ -716,7 +1126,7 @@ func (*RateLimiterConfig_FixedMem) isRateLimiterConfig_Type() {} func (*RateLimiterConfig_External) isRateLimiterConfig_Type() {} type RateLimitDescriptors_Entry struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields @@ -748,11 +1158,6 @@ func (x *RateLimitDescriptors_Entry) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RateLimitDescriptors_Entry.ProtoReflect.Descriptor instead. -func (*RateLimitDescriptors_Entry) Descriptor() ([]byte, []int) { - return file_c1_ratelimit_v1_ratelimit_proto_rawDescGZIP(), []int{3, 0} -} - func (x *RateLimitDescriptors_Entry) GetKey() string { if x != nil { return x.Key @@ -767,151 +1172,90 @@ func (x *RateLimitDescriptors_Entry) GetValue() string { return "" } -var File_c1_ratelimit_v1_ratelimit_proto protoreflect.FileDescriptor +func (x *RateLimitDescriptors_Entry) SetKey(v string) { + x.Key = v +} -var file_c1_ratelimit_v1_ratelimit_proto_rawDesc = string([]byte{ - 0x0a, 0x1f, 0x63, 0x31, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x0f, 0x63, 0x31, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x1f, 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, 0xc8, 0x02, 0x0a, - 0x14, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, - 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x61, - 0x74, 0x18, 0x04, 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, 0x07, 0x72, 0x65, 0x73, 0x65, 0x74, 0x41, 0x74, 0x22, 0x69, 0x0a, 0x06, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, - 0x0a, 0x09, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x14, 0x0a, - 0x10, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x4c, 0x49, 0x4d, 0x49, - 0x54, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0x04, 0x22, 0xe0, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x47, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x61, 0x74, 0x65, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x10, 0x0a, 0x0e, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xaa, 0x01, 0x0a, - 0x14, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x4f, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x61, 0x74, 0x65, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x07, 0x65, - 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x41, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x09, 0x44, 0x6f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x31, - 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, - 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, - 0x72, 0x73, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x22, - 0x7a, 0x0a, 0x0a, 0x44, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, - 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x47, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x61, 0x74, - 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x11, 0x0a, 0x0f, 0x44, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x22, 0x37, - 0x0a, 0x14, 0x53, 0x6c, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x65, - 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x75, 0x73, 0x65, - 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x5b, 0x0a, 0x12, 0x46, 0x69, 0x78, 0x65, 0x64, - 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, - 0x04, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x72, 0x61, 0x74, - 0x65, 0x12, 0x31, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x65, - 0x72, 0x69, 0x6f, 0x64, 0x22, 0xb0, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x47, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa9, 0x02, 0x0a, 0x11, 0x52, 0x61, 0x74, 0x65, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3e, 0x0a, - 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, - 0x72, 0x48, 0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x48, 0x0a, - 0x0b, 0x73, 0x6c, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x6d, 0x18, 0x65, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x6d, 0x6f, - 0x72, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x6c, 0x69, - 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x6d, 0x12, 0x42, 0x0a, 0x09, 0x66, 0x69, 0x78, 0x65, 0x64, - 0x5f, 0x6d, 0x65, 0x6d, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x31, 0x2e, - 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x78, - 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x48, - 0x00, 0x52, 0x08, 0x66, 0x69, 0x78, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x12, 0x3e, 0x0a, 0x08, 0x65, - 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x63, 0x31, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x48, - 0x00, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x32, 0x9e, 0x01, 0x0a, 0x12, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x02, 0x44, 0x6f, - 0x12, 0x1a, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x63, - 0x31, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 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, - 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, -}) +func (x *RateLimitDescriptors_Entry) SetValue(v string) { + x.Value = v +} -var ( - file_c1_ratelimit_v1_ratelimit_proto_rawDescOnce sync.Once - file_c1_ratelimit_v1_ratelimit_proto_rawDescData []byte -) +type RateLimitDescriptors_Entry_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Key string + Value string +} -func file_c1_ratelimit_v1_ratelimit_proto_rawDescGZIP() []byte { - file_c1_ratelimit_v1_ratelimit_proto_rawDescOnce.Do(func() { - file_c1_ratelimit_v1_ratelimit_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_ratelimit_v1_ratelimit_proto_rawDesc), len(file_c1_ratelimit_v1_ratelimit_proto_rawDesc))) - }) - return file_c1_ratelimit_v1_ratelimit_proto_rawDescData +func (b0 RateLimitDescriptors_Entry_builder) Build() *RateLimitDescriptors_Entry { + m0 := &RateLimitDescriptors_Entry{} + b, x := &b0, m0 + _, _ = b, x + x.Key = b.Key + x.Value = b.Value + return m0 } +var File_c1_ratelimit_v1_ratelimit_proto protoreflect.FileDescriptor + +const file_c1_ratelimit_v1_ratelimit_proto_rawDesc = "" + + "\n" + + "\x1fc1/ratelimit/v1/ratelimit.proto\x12\x0fc1.ratelimit.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17validate/validate.proto\"\xc8\x02\n" + + "\x14RateLimitDescription\x12D\n" + + "\x06status\x18\x01 \x01(\x0e2,.c1.ratelimit.v1.RateLimitDescription.StatusR\x06status\x12\x14\n" + + "\x05limit\x18\x02 \x01(\x03R\x05limit\x12\x1c\n" + + "\tremaining\x18\x03 \x01(\x03R\tremaining\x12\x14\n" + + "\x05count\x18\x05 \x01(\x03R\x05count\x125\n" + + "\breset_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\aresetAt\"i\n" + + "\x06Status\x12\x16\n" + + "\x12STATUS_UNSPECIFIED\x10\x00\x12\r\n" + + "\tSTATUS_OK\x10\x01\x12\x14\n" + + "\x10STATUS_OVERLIMIT\x10\x02\x12\x10\n" + + "\fSTATUS_ERROR\x10\x03\x12\x10\n" + + "\fSTATUS_EMPTY\x10\x04\"\xe0\x01\n" + + "\rReportRequest\x12#\n" + + "\rrequest_token\x18\x01 \x01(\tR\frequestToken\x12G\n" + + "\vdescription\x18\x02 \x01(\v2%.c1.ratelimit.v1.RateLimitDescriptionR\vdescription\x12\x18\n" + + "\aservice\x18\x03 \x01(\tR\aservice\x12G\n" + + "\vdescriptors\x18\x04 \x01(\v2%.c1.ratelimit.v1.RateLimitDescriptorsR\vdescriptors\"\x10\n" + + "\x0eReportResponse\"\xaa\x01\n" + + "\x14RateLimitDescriptors\x12O\n" + + "\aentries\x18\x01 \x03(\v2+.c1.ratelimit.v1.RateLimitDescriptors.EntryB\b\xfaB\x05\x92\x01\x02\b\x01R\aentries\x1aA\n" + + "\x05Entry\x12\x19\n" + + "\x03key\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\x03key\x12\x1d\n" + + "\x05value\x18\x02 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\x05value\"\x93\x01\n" + + "\tDoRequest\x12#\n" + + "\rrequest_token\x18\x01 \x01(\tR\frequestToken\x12\x18\n" + + "\aservice\x18\x02 \x01(\tR\aservice\x12G\n" + + "\vdescriptors\x18\x03 \x01(\v2%.c1.ratelimit.v1.RateLimitDescriptorsR\vdescriptors\"z\n" + + "\n" + + "DoResponse\x12#\n" + + "\rrequest_token\x18\x01 \x01(\tR\frequestToken\x12G\n" + + "\vdescription\x18\x02 \x01(\v2%.c1.ratelimit.v1.RateLimitDescriptionR\vdescription\"\x11\n" + + "\x0fDisabledLimiter\"7\n" + + "\x14SlidingMemoryLimiter\x12\x1f\n" + + "\vuse_percent\x18\x01 \x01(\x01R\n" + + "usePercent\"[\n" + + "\x12FixedMemoryLimiter\x12\x12\n" + + "\x04rate\x18\x01 \x01(\x03R\x04rate\x121\n" + + "\x06period\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x06period\"\xb0\x01\n" + + "\x0fExternalLimiter\x12\x18\n" + + "\aaddress\x18\x02 \x01(\tR\aaddress\x12G\n" + + "\aoptions\x18\x01 \x03(\v2-.c1.ratelimit.v1.ExternalLimiter.OptionsEntryR\aoptions\x1a:\n" + + "\fOptionsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xa9\x02\n" + + "\x11RateLimiterConfig\x12>\n" + + "\bdisabled\x18d \x01(\v2 .c1.ratelimit.v1.DisabledLimiterH\x00R\bdisabled\x12H\n" + + "\vsliding_mem\x18e \x01(\v2%.c1.ratelimit.v1.SlidingMemoryLimiterH\x00R\n" + + "slidingMem\x12B\n" + + "\tfixed_mem\x18f \x01(\v2#.c1.ratelimit.v1.FixedMemoryLimiterH\x00R\bfixedMem\x12>\n" + + "\bexternal\x18g \x01(\v2 .c1.ratelimit.v1.ExternalLimiterH\x00R\bexternalB\x06\n" + + "\x04type2\x9e\x01\n" + + "\x12RateLimiterService\x12=\n" + + "\x02Do\x12\x1a.c1.ratelimit.v1.DoRequest\x1a\x1b.c1.ratelimit.v1.DoResponse\x12I\n" + + "\x06Report\x12\x1e.c1.ratelimit.v1.ReportRequest\x1a\x1f.c1.ratelimit.v1.ReportResponseB6Z4github.com/conductorone/baton-sdk/pb/c1/ratelimit/v1b\x06proto3" + var file_c1_ratelimit_v1_ratelimit_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_c1_ratelimit_v1_ratelimit_proto_msgTypes = make([]protoimpl.MessageInfo, 13) var file_c1_ratelimit_v1_ratelimit_proto_goTypes = []any{ diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/ratelimit/v1/ratelimit_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/ratelimit/v1/ratelimit_protoopaque.pb.go new file mode 100644 index 00000000..29c584f8 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/ratelimit/v1/ratelimit_protoopaque.pb.go @@ -0,0 +1,1322 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/ratelimit/v1/ratelimit.proto + +//go:build protoopaque + +package v1 + +import ( + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + 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) +) + +type RateLimitDescription_Status int32 + +const ( + RateLimitDescription_STATUS_UNSPECIFIED RateLimitDescription_Status = 0 + RateLimitDescription_STATUS_OK RateLimitDescription_Status = 1 + RateLimitDescription_STATUS_OVERLIMIT RateLimitDescription_Status = 2 + RateLimitDescription_STATUS_ERROR RateLimitDescription_Status = 3 + RateLimitDescription_STATUS_EMPTY RateLimitDescription_Status = 4 +) + +// Enum value maps for RateLimitDescription_Status. +var ( + RateLimitDescription_Status_name = map[int32]string{ + 0: "STATUS_UNSPECIFIED", + 1: "STATUS_OK", + 2: "STATUS_OVERLIMIT", + 3: "STATUS_ERROR", + 4: "STATUS_EMPTY", + } + RateLimitDescription_Status_value = map[string]int32{ + "STATUS_UNSPECIFIED": 0, + "STATUS_OK": 1, + "STATUS_OVERLIMIT": 2, + "STATUS_ERROR": 3, + "STATUS_EMPTY": 4, + } +) + +func (x RateLimitDescription_Status) Enum() *RateLimitDescription_Status { + p := new(RateLimitDescription_Status) + *p = x + return p +} + +func (x RateLimitDescription_Status) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RateLimitDescription_Status) Descriptor() protoreflect.EnumDescriptor { + return file_c1_ratelimit_v1_ratelimit_proto_enumTypes[0].Descriptor() +} + +func (RateLimitDescription_Status) Type() protoreflect.EnumType { + return &file_c1_ratelimit_v1_ratelimit_proto_enumTypes[0] +} + +func (x RateLimitDescription_Status) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// https://tools.ietf.org/html/draft-ietf-httpapi-ratelimit-headers-00#section-1.1 +// RateLimitDescription is a minimal representation of a rate limit. +type RateLimitDescription struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Status RateLimitDescription_Status `protobuf:"varint,1,opt,name=status,proto3,enum=c1.ratelimit.v1.RateLimitDescription_Status"` + xxx_hidden_Limit int64 `protobuf:"varint,2,opt,name=limit,proto3"` + xxx_hidden_Remaining int64 `protobuf:"varint,3,opt,name=remaining,proto3"` + xxx_hidden_Count int64 `protobuf:"varint,5,opt,name=count,proto3"` + xxx_hidden_ResetAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=reset_at,json=resetAt,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RateLimitDescription) Reset() { + *x = RateLimitDescription{} + mi := &file_c1_ratelimit_v1_ratelimit_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RateLimitDescription) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitDescription) ProtoMessage() {} + +func (x *RateLimitDescription) ProtoReflect() protoreflect.Message { + mi := &file_c1_ratelimit_v1_ratelimit_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) +} + +func (x *RateLimitDescription) GetStatus() RateLimitDescription_Status { + if x != nil { + return x.xxx_hidden_Status + } + return RateLimitDescription_STATUS_UNSPECIFIED +} + +func (x *RateLimitDescription) GetLimit() int64 { + if x != nil { + return x.xxx_hidden_Limit + } + return 0 +} + +func (x *RateLimitDescription) GetRemaining() int64 { + if x != nil { + return x.xxx_hidden_Remaining + } + return 0 +} + +func (x *RateLimitDescription) GetCount() int64 { + if x != nil { + return x.xxx_hidden_Count + } + return 0 +} + +func (x *RateLimitDescription) GetResetAt() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_ResetAt + } + return nil +} + +func (x *RateLimitDescription) SetStatus(v RateLimitDescription_Status) { + x.xxx_hidden_Status = v +} + +func (x *RateLimitDescription) SetLimit(v int64) { + x.xxx_hidden_Limit = v +} + +func (x *RateLimitDescription) SetRemaining(v int64) { + x.xxx_hidden_Remaining = v +} + +func (x *RateLimitDescription) SetCount(v int64) { + x.xxx_hidden_Count = v +} + +func (x *RateLimitDescription) SetResetAt(v *timestamppb.Timestamp) { + x.xxx_hidden_ResetAt = v +} + +func (x *RateLimitDescription) HasResetAt() bool { + if x == nil { + return false + } + return x.xxx_hidden_ResetAt != nil +} + +func (x *RateLimitDescription) ClearResetAt() { + x.xxx_hidden_ResetAt = nil +} + +type RateLimitDescription_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Status RateLimitDescription_Status + Limit int64 + Remaining int64 + Count int64 + ResetAt *timestamppb.Timestamp +} + +func (b0 RateLimitDescription_builder) Build() *RateLimitDescription { + m0 := &RateLimitDescription{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Status = b.Status + x.xxx_hidden_Limit = b.Limit + x.xxx_hidden_Remaining = b.Remaining + x.xxx_hidden_Count = b.Count + x.xxx_hidden_ResetAt = b.ResetAt + return m0 +} + +type ReportRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_RequestToken string `protobuf:"bytes,1,opt,name=request_token,json=requestToken,proto3"` + xxx_hidden_Description *RateLimitDescription `protobuf:"bytes,2,opt,name=description,proto3"` + xxx_hidden_Service string `protobuf:"bytes,3,opt,name=service,proto3"` + xxx_hidden_Descriptors *RateLimitDescriptors `protobuf:"bytes,4,opt,name=descriptors,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReportRequest) Reset() { + *x = ReportRequest{} + mi := &file_c1_ratelimit_v1_ratelimit_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReportRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReportRequest) ProtoMessage() {} + +func (x *ReportRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_ratelimit_v1_ratelimit_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) +} + +func (x *ReportRequest) GetRequestToken() string { + if x != nil { + return x.xxx_hidden_RequestToken + } + return "" +} + +func (x *ReportRequest) GetDescription() *RateLimitDescription { + if x != nil { + return x.xxx_hidden_Description + } + return nil +} + +func (x *ReportRequest) GetService() string { + if x != nil { + return x.xxx_hidden_Service + } + return "" +} + +func (x *ReportRequest) GetDescriptors() *RateLimitDescriptors { + if x != nil { + return x.xxx_hidden_Descriptors + } + return nil +} + +func (x *ReportRequest) SetRequestToken(v string) { + x.xxx_hidden_RequestToken = v +} + +func (x *ReportRequest) SetDescription(v *RateLimitDescription) { + x.xxx_hidden_Description = v +} + +func (x *ReportRequest) SetService(v string) { + x.xxx_hidden_Service = v +} + +func (x *ReportRequest) SetDescriptors(v *RateLimitDescriptors) { + x.xxx_hidden_Descriptors = v +} + +func (x *ReportRequest) HasDescription() bool { + if x == nil { + return false + } + return x.xxx_hidden_Description != nil +} + +func (x *ReportRequest) HasDescriptors() bool { + if x == nil { + return false + } + return x.xxx_hidden_Descriptors != nil +} + +func (x *ReportRequest) ClearDescription() { + x.xxx_hidden_Description = nil +} + +func (x *ReportRequest) ClearDescriptors() { + x.xxx_hidden_Descriptors = nil +} + +type ReportRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + RequestToken string + Description *RateLimitDescription + Service string + Descriptors *RateLimitDescriptors +} + +func (b0 ReportRequest_builder) Build() *ReportRequest { + m0 := &ReportRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_RequestToken = b.RequestToken + x.xxx_hidden_Description = b.Description + x.xxx_hidden_Service = b.Service + x.xxx_hidden_Descriptors = b.Descriptors + return m0 +} + +type ReportResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReportResponse) Reset() { + *x = ReportResponse{} + mi := &file_c1_ratelimit_v1_ratelimit_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReportResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReportResponse) ProtoMessage() {} + +func (x *ReportResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_ratelimit_v1_ratelimit_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) +} + +type ReportResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 ReportResponse_builder) Build() *ReportResponse { + m0 := &ReportResponse{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +type RateLimitDescriptors struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Entries *[]*RateLimitDescriptors_Entry `protobuf:"bytes,1,rep,name=entries,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RateLimitDescriptors) Reset() { + *x = RateLimitDescriptors{} + mi := &file_c1_ratelimit_v1_ratelimit_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RateLimitDescriptors) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitDescriptors) ProtoMessage() {} + +func (x *RateLimitDescriptors) ProtoReflect() protoreflect.Message { + mi := &file_c1_ratelimit_v1_ratelimit_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) +} + +func (x *RateLimitDescriptors) GetEntries() []*RateLimitDescriptors_Entry { + if x != nil { + if x.xxx_hidden_Entries != nil { + return *x.xxx_hidden_Entries + } + } + return nil +} + +func (x *RateLimitDescriptors) SetEntries(v []*RateLimitDescriptors_Entry) { + x.xxx_hidden_Entries = &v +} + +type RateLimitDescriptors_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Entries []*RateLimitDescriptors_Entry +} + +func (b0 RateLimitDescriptors_builder) Build() *RateLimitDescriptors { + m0 := &RateLimitDescriptors{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Entries = &b.Entries + return m0 +} + +type DoRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_RequestToken string `protobuf:"bytes,1,opt,name=request_token,json=requestToken,proto3"` + xxx_hidden_Service string `protobuf:"bytes,2,opt,name=service,proto3"` + xxx_hidden_Descriptors *RateLimitDescriptors `protobuf:"bytes,3,opt,name=descriptors,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DoRequest) Reset() { + *x = DoRequest{} + mi := &file_c1_ratelimit_v1_ratelimit_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DoRequest) ProtoMessage() {} + +func (x *DoRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_ratelimit_v1_ratelimit_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *DoRequest) GetRequestToken() string { + if x != nil { + return x.xxx_hidden_RequestToken + } + return "" +} + +func (x *DoRequest) GetService() string { + if x != nil { + return x.xxx_hidden_Service + } + return "" +} + +func (x *DoRequest) GetDescriptors() *RateLimitDescriptors { + if x != nil { + return x.xxx_hidden_Descriptors + } + return nil +} + +func (x *DoRequest) SetRequestToken(v string) { + x.xxx_hidden_RequestToken = v +} + +func (x *DoRequest) SetService(v string) { + x.xxx_hidden_Service = v +} + +func (x *DoRequest) SetDescriptors(v *RateLimitDescriptors) { + x.xxx_hidden_Descriptors = v +} + +func (x *DoRequest) HasDescriptors() bool { + if x == nil { + return false + } + return x.xxx_hidden_Descriptors != nil +} + +func (x *DoRequest) ClearDescriptors() { + x.xxx_hidden_Descriptors = nil +} + +type DoRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + RequestToken string + Service string + Descriptors *RateLimitDescriptors +} + +func (b0 DoRequest_builder) Build() *DoRequest { + m0 := &DoRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_RequestToken = b.RequestToken + x.xxx_hidden_Service = b.Service + x.xxx_hidden_Descriptors = b.Descriptors + return m0 +} + +type DoResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_RequestToken string `protobuf:"bytes,1,opt,name=request_token,json=requestToken,proto3"` + xxx_hidden_Description *RateLimitDescription `protobuf:"bytes,2,opt,name=description,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DoResponse) Reset() { + *x = DoResponse{} + mi := &file_c1_ratelimit_v1_ratelimit_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DoResponse) ProtoMessage() {} + +func (x *DoResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_ratelimit_v1_ratelimit_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *DoResponse) GetRequestToken() string { + if x != nil { + return x.xxx_hidden_RequestToken + } + return "" +} + +func (x *DoResponse) GetDescription() *RateLimitDescription { + if x != nil { + return x.xxx_hidden_Description + } + return nil +} + +func (x *DoResponse) SetRequestToken(v string) { + x.xxx_hidden_RequestToken = v +} + +func (x *DoResponse) SetDescription(v *RateLimitDescription) { + x.xxx_hidden_Description = v +} + +func (x *DoResponse) HasDescription() bool { + if x == nil { + return false + } + return x.xxx_hidden_Description != nil +} + +func (x *DoResponse) ClearDescription() { + x.xxx_hidden_Description = nil +} + +type DoResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + RequestToken string + Description *RateLimitDescription +} + +func (b0 DoResponse_builder) Build() *DoResponse { + m0 := &DoResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_RequestToken = b.RequestToken + x.xxx_hidden_Description = b.Description + return m0 +} + +type DisabledLimiter struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DisabledLimiter) Reset() { + *x = DisabledLimiter{} + mi := &file_c1_ratelimit_v1_ratelimit_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DisabledLimiter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisabledLimiter) ProtoMessage() {} + +func (x *DisabledLimiter) ProtoReflect() protoreflect.Message { + mi := &file_c1_ratelimit_v1_ratelimit_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +type DisabledLimiter_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 DisabledLimiter_builder) Build() *DisabledLimiter { + m0 := &DisabledLimiter{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +type SlidingMemoryLimiter struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_UsePercent float64 `protobuf:"fixed64,1,opt,name=use_percent,json=usePercent,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SlidingMemoryLimiter) Reset() { + *x = SlidingMemoryLimiter{} + mi := &file_c1_ratelimit_v1_ratelimit_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SlidingMemoryLimiter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlidingMemoryLimiter) ProtoMessage() {} + +func (x *SlidingMemoryLimiter) ProtoReflect() protoreflect.Message { + mi := &file_c1_ratelimit_v1_ratelimit_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) +} + +func (x *SlidingMemoryLimiter) GetUsePercent() float64 { + if x != nil { + return x.xxx_hidden_UsePercent + } + return 0 +} + +func (x *SlidingMemoryLimiter) SetUsePercent(v float64) { + x.xxx_hidden_UsePercent = v +} + +type SlidingMemoryLimiter_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + UsePercent float64 +} + +func (b0 SlidingMemoryLimiter_builder) Build() *SlidingMemoryLimiter { + m0 := &SlidingMemoryLimiter{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_UsePercent = b.UsePercent + return m0 +} + +type FixedMemoryLimiter struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Rate int64 `protobuf:"varint,1,opt,name=rate,proto3"` + xxx_hidden_Period *durationpb.Duration `protobuf:"bytes,2,opt,name=period,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FixedMemoryLimiter) Reset() { + *x = FixedMemoryLimiter{} + mi := &file_c1_ratelimit_v1_ratelimit_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FixedMemoryLimiter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FixedMemoryLimiter) ProtoMessage() {} + +func (x *FixedMemoryLimiter) ProtoReflect() protoreflect.Message { + mi := &file_c1_ratelimit_v1_ratelimit_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) +} + +func (x *FixedMemoryLimiter) GetRate() int64 { + if x != nil { + return x.xxx_hidden_Rate + } + return 0 +} + +func (x *FixedMemoryLimiter) GetPeriod() *durationpb.Duration { + if x != nil { + return x.xxx_hidden_Period + } + return nil +} + +func (x *FixedMemoryLimiter) SetRate(v int64) { + x.xxx_hidden_Rate = v +} + +func (x *FixedMemoryLimiter) SetPeriod(v *durationpb.Duration) { + x.xxx_hidden_Period = v +} + +func (x *FixedMemoryLimiter) HasPeriod() bool { + if x == nil { + return false + } + return x.xxx_hidden_Period != nil +} + +func (x *FixedMemoryLimiter) ClearPeriod() { + x.xxx_hidden_Period = nil +} + +type FixedMemoryLimiter_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Rate int64 + Period *durationpb.Duration +} + +func (b0 FixedMemoryLimiter_builder) Build() *FixedMemoryLimiter { + m0 := &FixedMemoryLimiter{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Rate = b.Rate + x.xxx_hidden_Period = b.Period + return m0 +} + +type ExternalLimiter struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Address string `protobuf:"bytes,2,opt,name=address,proto3"` + xxx_hidden_Options map[string]string `protobuf:"bytes,1,rep,name=options,proto3" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExternalLimiter) Reset() { + *x = ExternalLimiter{} + mi := &file_c1_ratelimit_v1_ratelimit_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExternalLimiter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalLimiter) ProtoMessage() {} + +func (x *ExternalLimiter) ProtoReflect() protoreflect.Message { + mi := &file_c1_ratelimit_v1_ratelimit_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ExternalLimiter) GetAddress() string { + if x != nil { + return x.xxx_hidden_Address + } + return "" +} + +func (x *ExternalLimiter) GetOptions() map[string]string { + if x != nil { + return x.xxx_hidden_Options + } + return nil +} + +func (x *ExternalLimiter) SetAddress(v string) { + x.xxx_hidden_Address = v +} + +func (x *ExternalLimiter) SetOptions(v map[string]string) { + x.xxx_hidden_Options = v +} + +type ExternalLimiter_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Address string + Options map[string]string +} + +func (b0 ExternalLimiter_builder) Build() *ExternalLimiter { + m0 := &ExternalLimiter{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Address = b.Address + x.xxx_hidden_Options = b.Options + return m0 +} + +type RateLimiterConfig struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Type isRateLimiterConfig_Type `protobuf_oneof:"type"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RateLimiterConfig) Reset() { + *x = RateLimiterConfig{} + mi := &file_c1_ratelimit_v1_ratelimit_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RateLimiterConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimiterConfig) ProtoMessage() {} + +func (x *RateLimiterConfig) ProtoReflect() protoreflect.Message { + mi := &file_c1_ratelimit_v1_ratelimit_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *RateLimiterConfig) GetDisabled() *DisabledLimiter { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*rateLimiterConfig_Disabled); ok { + return x.Disabled + } + } + return nil +} + +func (x *RateLimiterConfig) GetSlidingMem() *SlidingMemoryLimiter { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*rateLimiterConfig_SlidingMem); ok { + return x.SlidingMem + } + } + return nil +} + +func (x *RateLimiterConfig) GetFixedMem() *FixedMemoryLimiter { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*rateLimiterConfig_FixedMem); ok { + return x.FixedMem + } + } + return nil +} + +func (x *RateLimiterConfig) GetExternal() *ExternalLimiter { + if x != nil { + if x, ok := x.xxx_hidden_Type.(*rateLimiterConfig_External); ok { + return x.External + } + } + return nil +} + +func (x *RateLimiterConfig) SetDisabled(v *DisabledLimiter) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &rateLimiterConfig_Disabled{v} +} + +func (x *RateLimiterConfig) SetSlidingMem(v *SlidingMemoryLimiter) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &rateLimiterConfig_SlidingMem{v} +} + +func (x *RateLimiterConfig) SetFixedMem(v *FixedMemoryLimiter) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &rateLimiterConfig_FixedMem{v} +} + +func (x *RateLimiterConfig) SetExternal(v *ExternalLimiter) { + if v == nil { + x.xxx_hidden_Type = nil + return + } + x.xxx_hidden_Type = &rateLimiterConfig_External{v} +} + +func (x *RateLimiterConfig) HasType() bool { + if x == nil { + return false + } + return x.xxx_hidden_Type != nil +} + +func (x *RateLimiterConfig) HasDisabled() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*rateLimiterConfig_Disabled) + return ok +} + +func (x *RateLimiterConfig) HasSlidingMem() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*rateLimiterConfig_SlidingMem) + return ok +} + +func (x *RateLimiterConfig) HasFixedMem() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*rateLimiterConfig_FixedMem) + return ok +} + +func (x *RateLimiterConfig) HasExternal() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_Type.(*rateLimiterConfig_External) + return ok +} + +func (x *RateLimiterConfig) ClearType() { + x.xxx_hidden_Type = nil +} + +func (x *RateLimiterConfig) ClearDisabled() { + if _, ok := x.xxx_hidden_Type.(*rateLimiterConfig_Disabled); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *RateLimiterConfig) ClearSlidingMem() { + if _, ok := x.xxx_hidden_Type.(*rateLimiterConfig_SlidingMem); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *RateLimiterConfig) ClearFixedMem() { + if _, ok := x.xxx_hidden_Type.(*rateLimiterConfig_FixedMem); ok { + x.xxx_hidden_Type = nil + } +} + +func (x *RateLimiterConfig) ClearExternal() { + if _, ok := x.xxx_hidden_Type.(*rateLimiterConfig_External); ok { + x.xxx_hidden_Type = nil + } +} + +const RateLimiterConfig_Type_not_set_case case_RateLimiterConfig_Type = 0 +const RateLimiterConfig_Disabled_case case_RateLimiterConfig_Type = 100 +const RateLimiterConfig_SlidingMem_case case_RateLimiterConfig_Type = 101 +const RateLimiterConfig_FixedMem_case case_RateLimiterConfig_Type = 102 +const RateLimiterConfig_External_case case_RateLimiterConfig_Type = 103 + +func (x *RateLimiterConfig) WhichType() case_RateLimiterConfig_Type { + if x == nil { + return RateLimiterConfig_Type_not_set_case + } + switch x.xxx_hidden_Type.(type) { + case *rateLimiterConfig_Disabled: + return RateLimiterConfig_Disabled_case + case *rateLimiterConfig_SlidingMem: + return RateLimiterConfig_SlidingMem_case + case *rateLimiterConfig_FixedMem: + return RateLimiterConfig_FixedMem_case + case *rateLimiterConfig_External: + return RateLimiterConfig_External_case + default: + return RateLimiterConfig_Type_not_set_case + } +} + +type RateLimiterConfig_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Fields of oneof xxx_hidden_Type: + Disabled *DisabledLimiter + SlidingMem *SlidingMemoryLimiter + FixedMem *FixedMemoryLimiter + External *ExternalLimiter + // -- end of xxx_hidden_Type +} + +func (b0 RateLimiterConfig_builder) Build() *RateLimiterConfig { + m0 := &RateLimiterConfig{} + b, x := &b0, m0 + _, _ = b, x + if b.Disabled != nil { + x.xxx_hidden_Type = &rateLimiterConfig_Disabled{b.Disabled} + } + if b.SlidingMem != nil { + x.xxx_hidden_Type = &rateLimiterConfig_SlidingMem{b.SlidingMem} + } + if b.FixedMem != nil { + x.xxx_hidden_Type = &rateLimiterConfig_FixedMem{b.FixedMem} + } + if b.External != nil { + x.xxx_hidden_Type = &rateLimiterConfig_External{b.External} + } + return m0 +} + +type case_RateLimiterConfig_Type protoreflect.FieldNumber + +func (x case_RateLimiterConfig_Type) String() string { + md := file_c1_ratelimit_v1_ratelimit_proto_msgTypes[10].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isRateLimiterConfig_Type interface { + isRateLimiterConfig_Type() +} + +type rateLimiterConfig_Disabled struct { + Disabled *DisabledLimiter `protobuf:"bytes,100,opt,name=disabled,proto3,oneof"` +} + +type rateLimiterConfig_SlidingMem struct { + SlidingMem *SlidingMemoryLimiter `protobuf:"bytes,101,opt,name=sliding_mem,json=slidingMem,proto3,oneof"` +} + +type rateLimiterConfig_FixedMem struct { + FixedMem *FixedMemoryLimiter `protobuf:"bytes,102,opt,name=fixed_mem,json=fixedMem,proto3,oneof"` +} + +type rateLimiterConfig_External struct { + External *ExternalLimiter `protobuf:"bytes,103,opt,name=external,proto3,oneof"` +} + +func (*rateLimiterConfig_Disabled) isRateLimiterConfig_Type() {} + +func (*rateLimiterConfig_SlidingMem) isRateLimiterConfig_Type() {} + +func (*rateLimiterConfig_FixedMem) isRateLimiterConfig_Type() {} + +func (*rateLimiterConfig_External) isRateLimiterConfig_Type() {} + +type RateLimitDescriptors_Entry struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Key string `protobuf:"bytes,1,opt,name=key,proto3"` + xxx_hidden_Value string `protobuf:"bytes,2,opt,name=value,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RateLimitDescriptors_Entry) Reset() { + *x = RateLimitDescriptors_Entry{} + mi := &file_c1_ratelimit_v1_ratelimit_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RateLimitDescriptors_Entry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitDescriptors_Entry) ProtoMessage() {} + +func (x *RateLimitDescriptors_Entry) ProtoReflect() protoreflect.Message { + mi := &file_c1_ratelimit_v1_ratelimit_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) +} + +func (x *RateLimitDescriptors_Entry) GetKey() string { + if x != nil { + return x.xxx_hidden_Key + } + return "" +} + +func (x *RateLimitDescriptors_Entry) GetValue() string { + if x != nil { + return x.xxx_hidden_Value + } + return "" +} + +func (x *RateLimitDescriptors_Entry) SetKey(v string) { + x.xxx_hidden_Key = v +} + +func (x *RateLimitDescriptors_Entry) SetValue(v string) { + x.xxx_hidden_Value = v +} + +type RateLimitDescriptors_Entry_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Key string + Value string +} + +func (b0 RateLimitDescriptors_Entry_builder) Build() *RateLimitDescriptors_Entry { + m0 := &RateLimitDescriptors_Entry{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Key = b.Key + x.xxx_hidden_Value = b.Value + return m0 +} + +var File_c1_ratelimit_v1_ratelimit_proto protoreflect.FileDescriptor + +const file_c1_ratelimit_v1_ratelimit_proto_rawDesc = "" + + "\n" + + "\x1fc1/ratelimit/v1/ratelimit.proto\x12\x0fc1.ratelimit.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17validate/validate.proto\"\xc8\x02\n" + + "\x14RateLimitDescription\x12D\n" + + "\x06status\x18\x01 \x01(\x0e2,.c1.ratelimit.v1.RateLimitDescription.StatusR\x06status\x12\x14\n" + + "\x05limit\x18\x02 \x01(\x03R\x05limit\x12\x1c\n" + + "\tremaining\x18\x03 \x01(\x03R\tremaining\x12\x14\n" + + "\x05count\x18\x05 \x01(\x03R\x05count\x125\n" + + "\breset_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\aresetAt\"i\n" + + "\x06Status\x12\x16\n" + + "\x12STATUS_UNSPECIFIED\x10\x00\x12\r\n" + + "\tSTATUS_OK\x10\x01\x12\x14\n" + + "\x10STATUS_OVERLIMIT\x10\x02\x12\x10\n" + + "\fSTATUS_ERROR\x10\x03\x12\x10\n" + + "\fSTATUS_EMPTY\x10\x04\"\xe0\x01\n" + + "\rReportRequest\x12#\n" + + "\rrequest_token\x18\x01 \x01(\tR\frequestToken\x12G\n" + + "\vdescription\x18\x02 \x01(\v2%.c1.ratelimit.v1.RateLimitDescriptionR\vdescription\x12\x18\n" + + "\aservice\x18\x03 \x01(\tR\aservice\x12G\n" + + "\vdescriptors\x18\x04 \x01(\v2%.c1.ratelimit.v1.RateLimitDescriptorsR\vdescriptors\"\x10\n" + + "\x0eReportResponse\"\xaa\x01\n" + + "\x14RateLimitDescriptors\x12O\n" + + "\aentries\x18\x01 \x03(\v2+.c1.ratelimit.v1.RateLimitDescriptors.EntryB\b\xfaB\x05\x92\x01\x02\b\x01R\aentries\x1aA\n" + + "\x05Entry\x12\x19\n" + + "\x03key\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\x03key\x12\x1d\n" + + "\x05value\x18\x02 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\x05value\"\x93\x01\n" + + "\tDoRequest\x12#\n" + + "\rrequest_token\x18\x01 \x01(\tR\frequestToken\x12\x18\n" + + "\aservice\x18\x02 \x01(\tR\aservice\x12G\n" + + "\vdescriptors\x18\x03 \x01(\v2%.c1.ratelimit.v1.RateLimitDescriptorsR\vdescriptors\"z\n" + + "\n" + + "DoResponse\x12#\n" + + "\rrequest_token\x18\x01 \x01(\tR\frequestToken\x12G\n" + + "\vdescription\x18\x02 \x01(\v2%.c1.ratelimit.v1.RateLimitDescriptionR\vdescription\"\x11\n" + + "\x0fDisabledLimiter\"7\n" + + "\x14SlidingMemoryLimiter\x12\x1f\n" + + "\vuse_percent\x18\x01 \x01(\x01R\n" + + "usePercent\"[\n" + + "\x12FixedMemoryLimiter\x12\x12\n" + + "\x04rate\x18\x01 \x01(\x03R\x04rate\x121\n" + + "\x06period\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x06period\"\xb0\x01\n" + + "\x0fExternalLimiter\x12\x18\n" + + "\aaddress\x18\x02 \x01(\tR\aaddress\x12G\n" + + "\aoptions\x18\x01 \x03(\v2-.c1.ratelimit.v1.ExternalLimiter.OptionsEntryR\aoptions\x1a:\n" + + "\fOptionsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xa9\x02\n" + + "\x11RateLimiterConfig\x12>\n" + + "\bdisabled\x18d \x01(\v2 .c1.ratelimit.v1.DisabledLimiterH\x00R\bdisabled\x12H\n" + + "\vsliding_mem\x18e \x01(\v2%.c1.ratelimit.v1.SlidingMemoryLimiterH\x00R\n" + + "slidingMem\x12B\n" + + "\tfixed_mem\x18f \x01(\v2#.c1.ratelimit.v1.FixedMemoryLimiterH\x00R\bfixedMem\x12>\n" + + "\bexternal\x18g \x01(\v2 .c1.ratelimit.v1.ExternalLimiterH\x00R\bexternalB\x06\n" + + "\x04type2\x9e\x01\n" + + "\x12RateLimiterService\x12=\n" + + "\x02Do\x12\x1a.c1.ratelimit.v1.DoRequest\x1a\x1b.c1.ratelimit.v1.DoResponse\x12I\n" + + "\x06Report\x12\x1e.c1.ratelimit.v1.ReportRequest\x1a\x1f.c1.ratelimit.v1.ReportResponseB6Z4github.com/conductorone/baton-sdk/pb/c1/ratelimit/v1b\x06proto3" + +var file_c1_ratelimit_v1_ratelimit_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_c1_ratelimit_v1_ratelimit_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_c1_ratelimit_v1_ratelimit_proto_goTypes = []any{ + (RateLimitDescription_Status)(0), // 0: c1.ratelimit.v1.RateLimitDescription.Status + (*RateLimitDescription)(nil), // 1: c1.ratelimit.v1.RateLimitDescription + (*ReportRequest)(nil), // 2: c1.ratelimit.v1.ReportRequest + (*ReportResponse)(nil), // 3: c1.ratelimit.v1.ReportResponse + (*RateLimitDescriptors)(nil), // 4: c1.ratelimit.v1.RateLimitDescriptors + (*DoRequest)(nil), // 5: c1.ratelimit.v1.DoRequest + (*DoResponse)(nil), // 6: c1.ratelimit.v1.DoResponse + (*DisabledLimiter)(nil), // 7: c1.ratelimit.v1.DisabledLimiter + (*SlidingMemoryLimiter)(nil), // 8: c1.ratelimit.v1.SlidingMemoryLimiter + (*FixedMemoryLimiter)(nil), // 9: c1.ratelimit.v1.FixedMemoryLimiter + (*ExternalLimiter)(nil), // 10: c1.ratelimit.v1.ExternalLimiter + (*RateLimiterConfig)(nil), // 11: c1.ratelimit.v1.RateLimiterConfig + (*RateLimitDescriptors_Entry)(nil), // 12: c1.ratelimit.v1.RateLimitDescriptors.Entry + nil, // 13: c1.ratelimit.v1.ExternalLimiter.OptionsEntry + (*timestamppb.Timestamp)(nil), // 14: google.protobuf.Timestamp + (*durationpb.Duration)(nil), // 15: google.protobuf.Duration +} +var file_c1_ratelimit_v1_ratelimit_proto_depIdxs = []int32{ + 0, // 0: c1.ratelimit.v1.RateLimitDescription.status:type_name -> c1.ratelimit.v1.RateLimitDescription.Status + 14, // 1: c1.ratelimit.v1.RateLimitDescription.reset_at:type_name -> google.protobuf.Timestamp + 1, // 2: c1.ratelimit.v1.ReportRequest.description:type_name -> c1.ratelimit.v1.RateLimitDescription + 4, // 3: c1.ratelimit.v1.ReportRequest.descriptors:type_name -> c1.ratelimit.v1.RateLimitDescriptors + 12, // 4: c1.ratelimit.v1.RateLimitDescriptors.entries:type_name -> c1.ratelimit.v1.RateLimitDescriptors.Entry + 4, // 5: c1.ratelimit.v1.DoRequest.descriptors:type_name -> c1.ratelimit.v1.RateLimitDescriptors + 1, // 6: c1.ratelimit.v1.DoResponse.description:type_name -> c1.ratelimit.v1.RateLimitDescription + 15, // 7: c1.ratelimit.v1.FixedMemoryLimiter.period:type_name -> google.protobuf.Duration + 13, // 8: c1.ratelimit.v1.ExternalLimiter.options:type_name -> c1.ratelimit.v1.ExternalLimiter.OptionsEntry + 7, // 9: c1.ratelimit.v1.RateLimiterConfig.disabled:type_name -> c1.ratelimit.v1.DisabledLimiter + 8, // 10: c1.ratelimit.v1.RateLimiterConfig.sliding_mem:type_name -> c1.ratelimit.v1.SlidingMemoryLimiter + 9, // 11: c1.ratelimit.v1.RateLimiterConfig.fixed_mem:type_name -> c1.ratelimit.v1.FixedMemoryLimiter + 10, // 12: c1.ratelimit.v1.RateLimiterConfig.external:type_name -> c1.ratelimit.v1.ExternalLimiter + 5, // 13: c1.ratelimit.v1.RateLimiterService.Do:input_type -> c1.ratelimit.v1.DoRequest + 2, // 14: c1.ratelimit.v1.RateLimiterService.Report:input_type -> c1.ratelimit.v1.ReportRequest + 6, // 15: c1.ratelimit.v1.RateLimiterService.Do:output_type -> c1.ratelimit.v1.DoResponse + 3, // 16: c1.ratelimit.v1.RateLimiterService.Report:output_type -> c1.ratelimit.v1.ReportResponse + 15, // [15:17] is the sub-list for method output_type + 13, // [13:15] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name +} + +func init() { file_c1_ratelimit_v1_ratelimit_proto_init() } +func file_c1_ratelimit_v1_ratelimit_proto_init() { + if File_c1_ratelimit_v1_ratelimit_proto != nil { + return + } + file_c1_ratelimit_v1_ratelimit_proto_msgTypes[10].OneofWrappers = []any{ + (*rateLimiterConfig_Disabled)(nil), + (*rateLimiterConfig_SlidingMem)(nil), + (*rateLimiterConfig_FixedMem)(nil), + (*rateLimiterConfig_External)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_ratelimit_v1_ratelimit_proto_rawDesc), len(file_c1_ratelimit_v1_ratelimit_proto_rawDesc)), + NumEnums: 1, + NumMessages: 13, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_c1_ratelimit_v1_ratelimit_proto_goTypes, + DependencyIndexes: file_c1_ratelimit_v1_ratelimit_proto_depIdxs, + EnumInfos: file_c1_ratelimit_v1_ratelimit_proto_enumTypes, + MessageInfos: file_c1_ratelimit_v1_ratelimit_proto_msgTypes, + }.Build() + File_c1_ratelimit_v1_ratelimit_proto = out.File + file_c1_ratelimit_v1_ratelimit_proto_goTypes = nil + file_c1_ratelimit_v1_ratelimit_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/entitlement.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/entitlement.pb.go index 1cf92ff9..a2a13b1a 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/entitlement.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/entitlement.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/reader/v2/entitlement.proto +//go:build !protoopaque + package v2 import ( @@ -13,7 +15,6 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" anypb "google.golang.org/protobuf/types/known/anypb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -25,7 +26,7 @@ const ( ) type EntitlementsReaderServiceGetEntitlementRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` EntitlementId string `protobuf:"bytes,1,opt,name=entitlement_id,json=entitlementId,proto3" json:"entitlement_id,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -57,11 +58,6 @@ func (x *EntitlementsReaderServiceGetEntitlementRequest) ProtoReflect() protoref return mi.MessageOf(x) } -// Deprecated: Use EntitlementsReaderServiceGetEntitlementRequest.ProtoReflect.Descriptor instead. -func (*EntitlementsReaderServiceGetEntitlementRequest) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_entitlement_proto_rawDescGZIP(), []int{0} -} - func (x *EntitlementsReaderServiceGetEntitlementRequest) GetEntitlementId() string { if x != nil { return x.EntitlementId @@ -76,8 +72,32 @@ func (x *EntitlementsReaderServiceGetEntitlementRequest) GetAnnotations() []*any return nil } +func (x *EntitlementsReaderServiceGetEntitlementRequest) SetEntitlementId(v string) { + x.EntitlementId = v +} + +func (x *EntitlementsReaderServiceGetEntitlementRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type EntitlementsReaderServiceGetEntitlementRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + EntitlementId string + Annotations []*anypb.Any +} + +func (b0 EntitlementsReaderServiceGetEntitlementRequest_builder) Build() *EntitlementsReaderServiceGetEntitlementRequest { + m0 := &EntitlementsReaderServiceGetEntitlementRequest{} + b, x := &b0, m0 + _, _ = b, x + x.EntitlementId = b.EntitlementId + x.Annotations = b.Annotations + return m0 +} + type EntitlementsReaderServiceGetEntitlementResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Entitlement *v2.Entitlement `protobuf:"bytes,1,opt,name=entitlement,proto3" json:"entitlement,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -108,11 +128,6 @@ func (x *EntitlementsReaderServiceGetEntitlementResponse) ProtoReflect() protore return mi.MessageOf(x) } -// Deprecated: Use EntitlementsReaderServiceGetEntitlementResponse.ProtoReflect.Descriptor instead. -func (*EntitlementsReaderServiceGetEntitlementResponse) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_entitlement_proto_rawDescGZIP(), []int{1} -} - func (x *EntitlementsReaderServiceGetEntitlementResponse) GetEntitlement() *v2.Entitlement { if x != nil { return x.Entitlement @@ -120,64 +135,49 @@ func (x *EntitlementsReaderServiceGetEntitlementResponse) GetEntitlement() *v2.E return nil } -var File_c1_reader_v2_entitlement_proto protoreflect.FileDescriptor +func (x *EntitlementsReaderServiceGetEntitlementResponse) SetEntitlement(v *v2.Entitlement) { + x.Entitlement = v +} -var file_c1_reader_v2_entitlement_proto_rawDesc = string([]byte{ - 0x0a, 0x1e, 0x63, 0x31, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x0c, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x21, - 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x2f, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 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, 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, 0x9b, 0x01, 0x0a, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x20, 0x01, 0x28, 0x80, 0x08, 0x52, 0x0d, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 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, 0x71, 0x0a, 0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x47, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x32, 0xab, 0x01, 0x0a, 0x19, 0x45, 0x6e, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x47, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, - 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x33, 0x5a, 0x31, 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, - 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, -}) - -var ( - file_c1_reader_v2_entitlement_proto_rawDescOnce sync.Once - file_c1_reader_v2_entitlement_proto_rawDescData []byte -) +func (x *EntitlementsReaderServiceGetEntitlementResponse) HasEntitlement() bool { + if x == nil { + return false + } + return x.Entitlement != nil +} -func file_c1_reader_v2_entitlement_proto_rawDescGZIP() []byte { - file_c1_reader_v2_entitlement_proto_rawDescOnce.Do(func() { - file_c1_reader_v2_entitlement_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_reader_v2_entitlement_proto_rawDesc), len(file_c1_reader_v2_entitlement_proto_rawDesc))) - }) - return file_c1_reader_v2_entitlement_proto_rawDescData +func (x *EntitlementsReaderServiceGetEntitlementResponse) ClearEntitlement() { + x.Entitlement = nil } +type EntitlementsReaderServiceGetEntitlementResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Entitlement *v2.Entitlement +} + +func (b0 EntitlementsReaderServiceGetEntitlementResponse_builder) Build() *EntitlementsReaderServiceGetEntitlementResponse { + m0 := &EntitlementsReaderServiceGetEntitlementResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Entitlement = b.Entitlement + return m0 +} + +var File_c1_reader_v2_entitlement_proto protoreflect.FileDescriptor + +const file_c1_reader_v2_entitlement_proto_rawDesc = "" + + "\n" + + "\x1ec1/reader/v2/entitlement.proto\x12\fc1.reader.v2\x1a!c1/connector/v2/entitlement.proto\x1a\x19google/protobuf/any.proto\x1a\x17validate/validate.proto\"\x9b\x01\n" + + ".EntitlementsReaderServiceGetEntitlementRequest\x121\n" + + "\x0eentitlement_id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\rentitlementId\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"q\n" + + "/EntitlementsReaderServiceGetEntitlementResponse\x12>\n" + + "\ventitlement\x18\x01 \x01(\v2\x1c.c1.connector.v2.EntitlementR\ventitlement2\xab\x01\n" + + "\x19EntitlementsReaderService\x12\x8d\x01\n" + + "\x0eGetEntitlement\x12<.c1.reader.v2.EntitlementsReaderServiceGetEntitlementRequest\x1a=.c1.reader.v2.EntitlementsReaderServiceGetEntitlementResponseB3Z1github.com/conductorone/baton-sdk/pb/c1/reader/v2b\x06proto3" + var file_c1_reader_v2_entitlement_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_c1_reader_v2_entitlement_proto_goTypes = []any{ (*EntitlementsReaderServiceGetEntitlementRequest)(nil), // 0: c1.reader.v2.EntitlementsReaderServiceGetEntitlementRequest diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/entitlement_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/entitlement_protoopaque.pb.go new file mode 100644 index 00000000..5b9fb685 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/entitlement_protoopaque.pb.go @@ -0,0 +1,224 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/reader/v2/entitlement.proto + +//go:build protoopaque + +package v2 + +import ( + v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + reflect "reflect" + 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) +) + +type EntitlementsReaderServiceGetEntitlementRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_EntitlementId string `protobuf:"bytes,1,opt,name=entitlement_id,json=entitlementId,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EntitlementsReaderServiceGetEntitlementRequest) Reset() { + *x = EntitlementsReaderServiceGetEntitlementRequest{} + mi := &file_c1_reader_v2_entitlement_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EntitlementsReaderServiceGetEntitlementRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EntitlementsReaderServiceGetEntitlementRequest) ProtoMessage() {} + +func (x *EntitlementsReaderServiceGetEntitlementRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_entitlement_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) +} + +func (x *EntitlementsReaderServiceGetEntitlementRequest) GetEntitlementId() string { + if x != nil { + return x.xxx_hidden_EntitlementId + } + return "" +} + +func (x *EntitlementsReaderServiceGetEntitlementRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *EntitlementsReaderServiceGetEntitlementRequest) SetEntitlementId(v string) { + x.xxx_hidden_EntitlementId = v +} + +func (x *EntitlementsReaderServiceGetEntitlementRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type EntitlementsReaderServiceGetEntitlementRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + EntitlementId string + Annotations []*anypb.Any +} + +func (b0 EntitlementsReaderServiceGetEntitlementRequest_builder) Build() *EntitlementsReaderServiceGetEntitlementRequest { + m0 := &EntitlementsReaderServiceGetEntitlementRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_EntitlementId = b.EntitlementId + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type EntitlementsReaderServiceGetEntitlementResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Entitlement *v2.Entitlement `protobuf:"bytes,1,opt,name=entitlement,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EntitlementsReaderServiceGetEntitlementResponse) Reset() { + *x = EntitlementsReaderServiceGetEntitlementResponse{} + mi := &file_c1_reader_v2_entitlement_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EntitlementsReaderServiceGetEntitlementResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EntitlementsReaderServiceGetEntitlementResponse) ProtoMessage() {} + +func (x *EntitlementsReaderServiceGetEntitlementResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_entitlement_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) +} + +func (x *EntitlementsReaderServiceGetEntitlementResponse) GetEntitlement() *v2.Entitlement { + if x != nil { + return x.xxx_hidden_Entitlement + } + return nil +} + +func (x *EntitlementsReaderServiceGetEntitlementResponse) SetEntitlement(v *v2.Entitlement) { + x.xxx_hidden_Entitlement = v +} + +func (x *EntitlementsReaderServiceGetEntitlementResponse) HasEntitlement() bool { + if x == nil { + return false + } + return x.xxx_hidden_Entitlement != nil +} + +func (x *EntitlementsReaderServiceGetEntitlementResponse) ClearEntitlement() { + x.xxx_hidden_Entitlement = nil +} + +type EntitlementsReaderServiceGetEntitlementResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Entitlement *v2.Entitlement +} + +func (b0 EntitlementsReaderServiceGetEntitlementResponse_builder) Build() *EntitlementsReaderServiceGetEntitlementResponse { + m0 := &EntitlementsReaderServiceGetEntitlementResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Entitlement = b.Entitlement + return m0 +} + +var File_c1_reader_v2_entitlement_proto protoreflect.FileDescriptor + +const file_c1_reader_v2_entitlement_proto_rawDesc = "" + + "\n" + + "\x1ec1/reader/v2/entitlement.proto\x12\fc1.reader.v2\x1a!c1/connector/v2/entitlement.proto\x1a\x19google/protobuf/any.proto\x1a\x17validate/validate.proto\"\x9b\x01\n" + + ".EntitlementsReaderServiceGetEntitlementRequest\x121\n" + + "\x0eentitlement_id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\rentitlementId\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"q\n" + + "/EntitlementsReaderServiceGetEntitlementResponse\x12>\n" + + "\ventitlement\x18\x01 \x01(\v2\x1c.c1.connector.v2.EntitlementR\ventitlement2\xab\x01\n" + + "\x19EntitlementsReaderService\x12\x8d\x01\n" + + "\x0eGetEntitlement\x12<.c1.reader.v2.EntitlementsReaderServiceGetEntitlementRequest\x1a=.c1.reader.v2.EntitlementsReaderServiceGetEntitlementResponseB3Z1github.com/conductorone/baton-sdk/pb/c1/reader/v2b\x06proto3" + +var file_c1_reader_v2_entitlement_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_c1_reader_v2_entitlement_proto_goTypes = []any{ + (*EntitlementsReaderServiceGetEntitlementRequest)(nil), // 0: c1.reader.v2.EntitlementsReaderServiceGetEntitlementRequest + (*EntitlementsReaderServiceGetEntitlementResponse)(nil), // 1: c1.reader.v2.EntitlementsReaderServiceGetEntitlementResponse + (*anypb.Any)(nil), // 2: google.protobuf.Any + (*v2.Entitlement)(nil), // 3: c1.connector.v2.Entitlement +} +var file_c1_reader_v2_entitlement_proto_depIdxs = []int32{ + 2, // 0: c1.reader.v2.EntitlementsReaderServiceGetEntitlementRequest.annotations:type_name -> google.protobuf.Any + 3, // 1: c1.reader.v2.EntitlementsReaderServiceGetEntitlementResponse.entitlement:type_name -> c1.connector.v2.Entitlement + 0, // 2: c1.reader.v2.EntitlementsReaderService.GetEntitlement:input_type -> c1.reader.v2.EntitlementsReaderServiceGetEntitlementRequest + 1, // 3: c1.reader.v2.EntitlementsReaderService.GetEntitlement:output_type -> c1.reader.v2.EntitlementsReaderServiceGetEntitlementResponse + 3, // [3:4] is the sub-list for method output_type + 2, // [2:3] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_c1_reader_v2_entitlement_proto_init() } +func file_c1_reader_v2_entitlement_proto_init() { + if File_c1_reader_v2_entitlement_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_reader_v2_entitlement_proto_rawDesc), len(file_c1_reader_v2_entitlement_proto_rawDesc)), + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_c1_reader_v2_entitlement_proto_goTypes, + DependencyIndexes: file_c1_reader_v2_entitlement_proto_depIdxs, + MessageInfos: file_c1_reader_v2_entitlement_proto_msgTypes, + }.Build() + File_c1_reader_v2_entitlement_proto = out.File + file_c1_reader_v2_entitlement_proto_goTypes = nil + file_c1_reader_v2_entitlement_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/grant.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/grant.pb.go index 13690bcd..5cd35410 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/grant.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/grant.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/reader/v2/grant.proto +//go:build !protoopaque + package v2 import ( @@ -13,7 +15,6 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" anypb "google.golang.org/protobuf/types/known/anypb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -25,7 +26,7 @@ const ( ) type GrantsReaderServiceGetGrantRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` GrantId string `protobuf:"bytes,1,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -57,11 +58,6 @@ func (x *GrantsReaderServiceGetGrantRequest) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use GrantsReaderServiceGetGrantRequest.ProtoReflect.Descriptor instead. -func (*GrantsReaderServiceGetGrantRequest) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_grant_proto_rawDescGZIP(), []int{0} -} - func (x *GrantsReaderServiceGetGrantRequest) GetGrantId() string { if x != nil { return x.GrantId @@ -76,8 +72,32 @@ func (x *GrantsReaderServiceGetGrantRequest) GetAnnotations() []*anypb.Any { return nil } +func (x *GrantsReaderServiceGetGrantRequest) SetGrantId(v string) { + x.GrantId = v +} + +func (x *GrantsReaderServiceGetGrantRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type GrantsReaderServiceGetGrantRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + GrantId string + Annotations []*anypb.Any +} + +func (b0 GrantsReaderServiceGetGrantRequest_builder) Build() *GrantsReaderServiceGetGrantRequest { + m0 := &GrantsReaderServiceGetGrantRequest{} + b, x := &b0, m0 + _, _ = b, x + x.GrantId = b.GrantId + x.Annotations = b.Annotations + return m0 +} + type GrantsReaderServiceGetGrantResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Grant *v2.Grant `protobuf:"bytes,1,opt,name=grant,proto3" json:"grant,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -108,11 +128,6 @@ func (x *GrantsReaderServiceGetGrantResponse) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use GrantsReaderServiceGetGrantResponse.ProtoReflect.Descriptor instead. -func (*GrantsReaderServiceGetGrantResponse) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_grant_proto_rawDescGZIP(), []int{1} -} - func (x *GrantsReaderServiceGetGrantResponse) GetGrant() *v2.Grant { if x != nil { return x.Grant @@ -120,8 +135,37 @@ func (x *GrantsReaderServiceGetGrantResponse) GetGrant() *v2.Grant { return nil } +func (x *GrantsReaderServiceGetGrantResponse) SetGrant(v *v2.Grant) { + x.Grant = v +} + +func (x *GrantsReaderServiceGetGrantResponse) HasGrant() bool { + if x == nil { + return false + } + return x.Grant != nil +} + +func (x *GrantsReaderServiceGetGrantResponse) ClearGrant() { + x.Grant = nil +} + +type GrantsReaderServiceGetGrantResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Grant *v2.Grant +} + +func (b0 GrantsReaderServiceGetGrantResponse_builder) Build() *GrantsReaderServiceGetGrantResponse { + m0 := &GrantsReaderServiceGetGrantResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Grant = b.Grant + return m0 +} + type GrantsReaderServiceListGrantsForEntitlementRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Entitlement *v2.Entitlement `protobuf:"bytes,1,opt,name=entitlement,proto3" json:"entitlement,omitempty"` PrincipalId *v2.ResourceId `protobuf:"bytes,5,opt,name=principal_id,json=principalId,proto3" json:"principal_id,omitempty"` PageSize uint32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` @@ -156,11 +200,6 @@ func (x *GrantsReaderServiceListGrantsForEntitlementRequest) ProtoReflect() prot return mi.MessageOf(x) } -// Deprecated: Use GrantsReaderServiceListGrantsForEntitlementRequest.ProtoReflect.Descriptor instead. -func (*GrantsReaderServiceListGrantsForEntitlementRequest) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_grant_proto_rawDescGZIP(), []int{2} -} - func (x *GrantsReaderServiceListGrantsForEntitlementRequest) GetEntitlement() *v2.Entitlement { if x != nil { return x.Entitlement @@ -196,8 +235,72 @@ func (x *GrantsReaderServiceListGrantsForEntitlementRequest) GetAnnotations() [] return nil } +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) SetEntitlement(v *v2.Entitlement) { + x.Entitlement = v +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) SetPrincipalId(v *v2.ResourceId) { + x.PrincipalId = v +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) SetPageSize(v uint32) { + x.PageSize = v +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) SetPageToken(v string) { + x.PageToken = v +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) HasEntitlement() bool { + if x == nil { + return false + } + return x.Entitlement != nil +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) HasPrincipalId() bool { + if x == nil { + return false + } + return x.PrincipalId != nil +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) ClearEntitlement() { + x.Entitlement = nil +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) ClearPrincipalId() { + x.PrincipalId = nil +} + +type GrantsReaderServiceListGrantsForEntitlementRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Entitlement *v2.Entitlement + PrincipalId *v2.ResourceId + PageSize uint32 + PageToken string + Annotations []*anypb.Any +} + +func (b0 GrantsReaderServiceListGrantsForEntitlementRequest_builder) Build() *GrantsReaderServiceListGrantsForEntitlementRequest { + m0 := &GrantsReaderServiceListGrantsForEntitlementRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Entitlement = b.Entitlement + x.PrincipalId = b.PrincipalId + x.PageSize = b.PageSize + x.PageToken = b.PageToken + x.Annotations = b.Annotations + return m0 +} + type GrantsReaderServiceListGrantsForEntitlementResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` List []*v2.Grant `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` unknownFields protoimpl.UnknownFields @@ -229,11 +332,6 @@ func (x *GrantsReaderServiceListGrantsForEntitlementResponse) ProtoReflect() pro return mi.MessageOf(x) } -// Deprecated: Use GrantsReaderServiceListGrantsForEntitlementResponse.ProtoReflect.Descriptor instead. -func (*GrantsReaderServiceListGrantsForEntitlementResponse) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_grant_proto_rawDescGZIP(), []int{3} -} - func (x *GrantsReaderServiceListGrantsForEntitlementResponse) GetList() []*v2.Grant { if x != nil { return x.List @@ -248,8 +346,32 @@ func (x *GrantsReaderServiceListGrantsForEntitlementResponse) GetNextPageToken() return "" } +func (x *GrantsReaderServiceListGrantsForEntitlementResponse) SetList(v []*v2.Grant) { + x.List = v +} + +func (x *GrantsReaderServiceListGrantsForEntitlementResponse) SetNextPageToken(v string) { + x.NextPageToken = v +} + +type GrantsReaderServiceListGrantsForEntitlementResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + List []*v2.Grant + NextPageToken string +} + +func (b0 GrantsReaderServiceListGrantsForEntitlementResponse_builder) Build() *GrantsReaderServiceListGrantsForEntitlementResponse { + m0 := &GrantsReaderServiceListGrantsForEntitlementResponse{} + b, x := &b0, m0 + _, _ = b, x + x.List = b.List + x.NextPageToken = b.NextPageToken + return m0 +} + type GrantsReaderServiceListGrantsForResourceTypeRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` ResourceTypeId string `protobuf:"bytes,1,opt,name=resource_type_id,json=resourceTypeId,proto3" json:"resource_type_id,omitempty"` PageSize uint32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` @@ -283,11 +405,6 @@ func (x *GrantsReaderServiceListGrantsForResourceTypeRequest) ProtoReflect() pro return mi.MessageOf(x) } -// Deprecated: Use GrantsReaderServiceListGrantsForResourceTypeRequest.ProtoReflect.Descriptor instead. -func (*GrantsReaderServiceListGrantsForResourceTypeRequest) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_grant_proto_rawDescGZIP(), []int{4} -} - func (x *GrantsReaderServiceListGrantsForResourceTypeRequest) GetResourceTypeId() string { if x != nil { return x.ResourceTypeId @@ -316,8 +433,44 @@ func (x *GrantsReaderServiceListGrantsForResourceTypeRequest) GetAnnotations() [ return nil } +func (x *GrantsReaderServiceListGrantsForResourceTypeRequest) SetResourceTypeId(v string) { + x.ResourceTypeId = v +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeRequest) SetPageSize(v uint32) { + x.PageSize = v +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeRequest) SetPageToken(v string) { + x.PageToken = v +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type GrantsReaderServiceListGrantsForResourceTypeRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceTypeId string + PageSize uint32 + PageToken string + Annotations []*anypb.Any +} + +func (b0 GrantsReaderServiceListGrantsForResourceTypeRequest_builder) Build() *GrantsReaderServiceListGrantsForResourceTypeRequest { + m0 := &GrantsReaderServiceListGrantsForResourceTypeRequest{} + b, x := &b0, m0 + _, _ = b, x + x.ResourceTypeId = b.ResourceTypeId + x.PageSize = b.PageSize + x.PageToken = b.PageToken + x.Annotations = b.Annotations + return m0 +} + type GrantsReaderServiceListGrantsForResourceTypeResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` List []*v2.Grant `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` unknownFields protoimpl.UnknownFields @@ -349,11 +502,6 @@ func (x *GrantsReaderServiceListGrantsForResourceTypeResponse) ProtoReflect() pr return mi.MessageOf(x) } -// Deprecated: Use GrantsReaderServiceListGrantsForResourceTypeResponse.ProtoReflect.Descriptor instead. -func (*GrantsReaderServiceListGrantsForResourceTypeResponse) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_grant_proto_rawDescGZIP(), []int{5} -} - func (x *GrantsReaderServiceListGrantsForResourceTypeResponse) GetList() []*v2.Grant { if x != nil { return x.List @@ -368,139 +516,72 @@ func (x *GrantsReaderServiceListGrantsForResourceTypeResponse) GetNextPageToken( return "" } -var File_c1_reader_v2_grant_proto protoreflect.FileDescriptor +func (x *GrantsReaderServiceListGrantsForResourceTypeResponse) SetList(v []*v2.Grant) { + x.List = v +} -var file_c1_reader_v2_grant_proto_rawDesc = string([]byte{ - 0x0a, 0x18, 0x63, 0x31, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x63, 0x31, 0x2e, 0x72, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x21, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x63, 0x31, 0x2f, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x67, 0x72, 0x61, - 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 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, 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, 0x83, 0x01, 0x0a, - 0x22, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x20, 0x01, 0x28, 0x80, - 0x08, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 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, 0x53, 0x0a, 0x23, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x02, 0x0a, 0x32, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, - 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 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, 0x48, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x6e, - 0x63, 0x69, 0x70, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x05, 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, 0x0b, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, - 0x49, 0x64, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x02, 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, 0x2c, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0x28, 0x80, 0x10, 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, 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, 0x98, 0x01, 0x0a, 0x33, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, - 0x6e, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x6c, 0x69, 0x73, - 0x74, 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, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, - 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0x28, 0x80, 0x10, 0xd0, 0x01, 0x01, 0x52, 0x0d, 0x6e, - 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xfd, 0x01, 0x0a, - 0x33, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x46, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 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, 0x0d, - 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0x28, 0x80, 0x10, 0xd0, 0x01, 0x01, 0x52, 0x0e, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 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, 0x2c, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, - 0x08, 0x20, 0x01, 0x28, 0x80, 0x10, 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, 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, 0x99, 0x01, 0x0a, - 0x34, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x46, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 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, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, - 0x74, 0x12, 0x35, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, - 0x08, 0x20, 0x01, 0x28, 0x80, 0x10, 0xd0, 0x01, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x32, 0xcd, 0x03, 0x0a, 0x13, 0x47, 0x72, 0x61, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0x6f, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x63, - 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, - 0x65, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, - 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x9f, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, - 0x46, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x40, - 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x45, 0x6e, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x41, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x46, 0x6f, 0x72, - 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x73, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x41, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, - 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x46, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x73, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x33, 0x5a, 0x31, 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, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) - -var ( - file_c1_reader_v2_grant_proto_rawDescOnce sync.Once - file_c1_reader_v2_grant_proto_rawDescData []byte -) +func (x *GrantsReaderServiceListGrantsForResourceTypeResponse) SetNextPageToken(v string) { + x.NextPageToken = v +} + +type GrantsReaderServiceListGrantsForResourceTypeResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. -func file_c1_reader_v2_grant_proto_rawDescGZIP() []byte { - file_c1_reader_v2_grant_proto_rawDescOnce.Do(func() { - file_c1_reader_v2_grant_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_reader_v2_grant_proto_rawDesc), len(file_c1_reader_v2_grant_proto_rawDesc))) - }) - return file_c1_reader_v2_grant_proto_rawDescData + List []*v2.Grant + NextPageToken string } +func (b0 GrantsReaderServiceListGrantsForResourceTypeResponse_builder) Build() *GrantsReaderServiceListGrantsForResourceTypeResponse { + m0 := &GrantsReaderServiceListGrantsForResourceTypeResponse{} + b, x := &b0, m0 + _, _ = b, x + x.List = b.List + x.NextPageToken = b.NextPageToken + return m0 +} + +var File_c1_reader_v2_grant_proto protoreflect.FileDescriptor + +const file_c1_reader_v2_grant_proto_rawDesc = "" + + "\n" + + "\x18c1/reader/v2/grant.proto\x12\fc1.reader.v2\x1a!c1/connector/v2/entitlement.proto\x1a\x1bc1/connector/v2/grant.proto\x1a\x1ec1/connector/v2/resource.proto\x1a\x19google/protobuf/any.proto\x1a\x17validate/validate.proto\"\x83\x01\n" + + "\"GrantsReaderServiceGetGrantRequest\x12%\n" + + "\bgrant_id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\agrantId\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"S\n" + + "#GrantsReaderServiceGetGrantResponse\x12,\n" + + "\x05grant\x18\x01 \x01(\v2\x16.c1.connector.v2.GrantR\x05grant\"\xd7\x02\n" + + "2GrantsReaderServiceListGrantsForEntitlementRequest\x12H\n" + + "\ventitlement\x18\x01 \x01(\v2\x1c.c1.connector.v2.EntitlementB\b\xfaB\x05\x8a\x01\x02\x10\x01R\ventitlement\x12H\n" + + "\fprincipal_id\x18\x05 \x01(\v2\x1b.c1.connector.v2.ResourceIdB\b\xfaB\x05\x8a\x01\x02\x10\x00R\vprincipalId\x12'\n" + + "\tpage_size\x18\x02 \x01(\rB\n" + + "\xfaB\a*\x05\x18\xfa\x01@\x01R\bpageSize\x12,\n" + + "\n" + + "page_token\x18\x03 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\x10\xd0\x01\x01R\tpageToken\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x98\x01\n" + + "3GrantsReaderServiceListGrantsForEntitlementResponse\x12*\n" + + "\x04list\x18\x01 \x03(\v2\x16.c1.connector.v2.GrantR\x04list\x125\n" + + "\x0fnext_page_token\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\x10\xd0\x01\x01R\rnextPageToken\"\xfd\x01\n" + + "3GrantsReaderServiceListGrantsForResourceTypeRequest\x127\n" + + "\x10resource_type_id\x18\x01 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\x10\xd0\x01\x01R\x0eresourceTypeId\x12'\n" + + "\tpage_size\x18\x02 \x01(\rB\n" + + "\xfaB\a*\x05\x18\xfa\x01@\x01R\bpageSize\x12,\n" + + "\n" + + "page_token\x18\x03 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\x10\xd0\x01\x01R\tpageToken\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x99\x01\n" + + "4GrantsReaderServiceListGrantsForResourceTypeResponse\x12*\n" + + "\x04list\x18\x01 \x03(\v2\x16.c1.connector.v2.GrantR\x04list\x125\n" + + "\x0fnext_page_token\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\x10\xd0\x01\x01R\rnextPageToken2\xcd\x03\n" + + "\x13GrantsReaderService\x12o\n" + + "\bGetGrant\x120.c1.reader.v2.GrantsReaderServiceGetGrantRequest\x1a1.c1.reader.v2.GrantsReaderServiceGetGrantResponse\x12\x9f\x01\n" + + "\x18ListGrantsForEntitlement\x12@.c1.reader.v2.GrantsReaderServiceListGrantsForEntitlementRequest\x1aA.c1.reader.v2.GrantsReaderServiceListGrantsForEntitlementResponse\x12\xa2\x01\n" + + "\x19ListGrantsForResourceType\x12A.c1.reader.v2.GrantsReaderServiceListGrantsForResourceTypeRequest\x1aB.c1.reader.v2.GrantsReaderServiceListGrantsForResourceTypeResponseB3Z1github.com/conductorone/baton-sdk/pb/c1/reader/v2b\x06proto3" + var file_c1_reader_v2_grant_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_c1_reader_v2_grant_proto_goTypes = []any{ (*GrantsReaderServiceGetGrantRequest)(nil), // 0: c1.reader.v2.GrantsReaderServiceGetGrantRequest diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/grant_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/grant_protoopaque.pb.go new file mode 100644 index 00000000..78519c6b --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/grant_protoopaque.pb.go @@ -0,0 +1,652 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/reader/v2/grant.proto + +//go:build protoopaque + +package v2 + +import ( + v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + reflect "reflect" + 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) +) + +type GrantsReaderServiceGetGrantRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_GrantId string `protobuf:"bytes,1,opt,name=grant_id,json=grantId,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantsReaderServiceGetGrantRequest) Reset() { + *x = GrantsReaderServiceGetGrantRequest{} + mi := &file_c1_reader_v2_grant_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantsReaderServiceGetGrantRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantsReaderServiceGetGrantRequest) ProtoMessage() {} + +func (x *GrantsReaderServiceGetGrantRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_grant_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) +} + +func (x *GrantsReaderServiceGetGrantRequest) GetGrantId() string { + if x != nil { + return x.xxx_hidden_GrantId + } + return "" +} + +func (x *GrantsReaderServiceGetGrantRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *GrantsReaderServiceGetGrantRequest) SetGrantId(v string) { + x.xxx_hidden_GrantId = v +} + +func (x *GrantsReaderServiceGetGrantRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type GrantsReaderServiceGetGrantRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + GrantId string + Annotations []*anypb.Any +} + +func (b0 GrantsReaderServiceGetGrantRequest_builder) Build() *GrantsReaderServiceGetGrantRequest { + m0 := &GrantsReaderServiceGetGrantRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_GrantId = b.GrantId + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type GrantsReaderServiceGetGrantResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Grant *v2.Grant `protobuf:"bytes,1,opt,name=grant,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantsReaderServiceGetGrantResponse) Reset() { + *x = GrantsReaderServiceGetGrantResponse{} + mi := &file_c1_reader_v2_grant_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantsReaderServiceGetGrantResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantsReaderServiceGetGrantResponse) ProtoMessage() {} + +func (x *GrantsReaderServiceGetGrantResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_grant_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) +} + +func (x *GrantsReaderServiceGetGrantResponse) GetGrant() *v2.Grant { + if x != nil { + return x.xxx_hidden_Grant + } + return nil +} + +func (x *GrantsReaderServiceGetGrantResponse) SetGrant(v *v2.Grant) { + x.xxx_hidden_Grant = v +} + +func (x *GrantsReaderServiceGetGrantResponse) HasGrant() bool { + if x == nil { + return false + } + return x.xxx_hidden_Grant != nil +} + +func (x *GrantsReaderServiceGetGrantResponse) ClearGrant() { + x.xxx_hidden_Grant = nil +} + +type GrantsReaderServiceGetGrantResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Grant *v2.Grant +} + +func (b0 GrantsReaderServiceGetGrantResponse_builder) Build() *GrantsReaderServiceGetGrantResponse { + m0 := &GrantsReaderServiceGetGrantResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Grant = b.Grant + return m0 +} + +type GrantsReaderServiceListGrantsForEntitlementRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Entitlement *v2.Entitlement `protobuf:"bytes,1,opt,name=entitlement,proto3"` + xxx_hidden_PrincipalId *v2.ResourceId `protobuf:"bytes,5,opt,name=principal_id,json=principalId,proto3"` + xxx_hidden_PageSize uint32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3"` + xxx_hidden_PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) Reset() { + *x = GrantsReaderServiceListGrantsForEntitlementRequest{} + mi := &file_c1_reader_v2_grant_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantsReaderServiceListGrantsForEntitlementRequest) ProtoMessage() {} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_grant_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) +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) GetEntitlement() *v2.Entitlement { + if x != nil { + return x.xxx_hidden_Entitlement + } + return nil +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) GetPrincipalId() *v2.ResourceId { + if x != nil { + return x.xxx_hidden_PrincipalId + } + return nil +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) GetPageSize() uint32 { + if x != nil { + return x.xxx_hidden_PageSize + } + return 0 +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) GetPageToken() string { + if x != nil { + return x.xxx_hidden_PageToken + } + return "" +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) SetEntitlement(v *v2.Entitlement) { + x.xxx_hidden_Entitlement = v +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) SetPrincipalId(v *v2.ResourceId) { + x.xxx_hidden_PrincipalId = v +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) SetPageSize(v uint32) { + x.xxx_hidden_PageSize = v +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) SetPageToken(v string) { + x.xxx_hidden_PageToken = v +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) HasEntitlement() bool { + if x == nil { + return false + } + return x.xxx_hidden_Entitlement != nil +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) HasPrincipalId() bool { + if x == nil { + return false + } + return x.xxx_hidden_PrincipalId != nil +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) ClearEntitlement() { + x.xxx_hidden_Entitlement = nil +} + +func (x *GrantsReaderServiceListGrantsForEntitlementRequest) ClearPrincipalId() { + x.xxx_hidden_PrincipalId = nil +} + +type GrantsReaderServiceListGrantsForEntitlementRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Entitlement *v2.Entitlement + PrincipalId *v2.ResourceId + PageSize uint32 + PageToken string + Annotations []*anypb.Any +} + +func (b0 GrantsReaderServiceListGrantsForEntitlementRequest_builder) Build() *GrantsReaderServiceListGrantsForEntitlementRequest { + m0 := &GrantsReaderServiceListGrantsForEntitlementRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Entitlement = b.Entitlement + x.xxx_hidden_PrincipalId = b.PrincipalId + x.xxx_hidden_PageSize = b.PageSize + x.xxx_hidden_PageToken = b.PageToken + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type GrantsReaderServiceListGrantsForEntitlementResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_List *[]*v2.Grant `protobuf:"bytes,1,rep,name=list,proto3"` + xxx_hidden_NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantsReaderServiceListGrantsForEntitlementResponse) Reset() { + *x = GrantsReaderServiceListGrantsForEntitlementResponse{} + mi := &file_c1_reader_v2_grant_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantsReaderServiceListGrantsForEntitlementResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantsReaderServiceListGrantsForEntitlementResponse) ProtoMessage() {} + +func (x *GrantsReaderServiceListGrantsForEntitlementResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_grant_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) +} + +func (x *GrantsReaderServiceListGrantsForEntitlementResponse) GetList() []*v2.Grant { + if x != nil { + if x.xxx_hidden_List != nil { + return *x.xxx_hidden_List + } + } + return nil +} + +func (x *GrantsReaderServiceListGrantsForEntitlementResponse) GetNextPageToken() string { + if x != nil { + return x.xxx_hidden_NextPageToken + } + return "" +} + +func (x *GrantsReaderServiceListGrantsForEntitlementResponse) SetList(v []*v2.Grant) { + x.xxx_hidden_List = &v +} + +func (x *GrantsReaderServiceListGrantsForEntitlementResponse) SetNextPageToken(v string) { + x.xxx_hidden_NextPageToken = v +} + +type GrantsReaderServiceListGrantsForEntitlementResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + List []*v2.Grant + NextPageToken string +} + +func (b0 GrantsReaderServiceListGrantsForEntitlementResponse_builder) Build() *GrantsReaderServiceListGrantsForEntitlementResponse { + m0 := &GrantsReaderServiceListGrantsForEntitlementResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_List = &b.List + x.xxx_hidden_NextPageToken = b.NextPageToken + return m0 +} + +type GrantsReaderServiceListGrantsForResourceTypeRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ResourceTypeId string `protobuf:"bytes,1,opt,name=resource_type_id,json=resourceTypeId,proto3"` + xxx_hidden_PageSize uint32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3"` + xxx_hidden_PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeRequest) Reset() { + *x = GrantsReaderServiceListGrantsForResourceTypeRequest{} + mi := &file_c1_reader_v2_grant_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantsReaderServiceListGrantsForResourceTypeRequest) ProtoMessage() {} + +func (x *GrantsReaderServiceListGrantsForResourceTypeRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_grant_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeRequest) GetResourceTypeId() string { + if x != nil { + return x.xxx_hidden_ResourceTypeId + } + return "" +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeRequest) GetPageSize() uint32 { + if x != nil { + return x.xxx_hidden_PageSize + } + return 0 +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeRequest) GetPageToken() string { + if x != nil { + return x.xxx_hidden_PageToken + } + return "" +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeRequest) SetResourceTypeId(v string) { + x.xxx_hidden_ResourceTypeId = v +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeRequest) SetPageSize(v uint32) { + x.xxx_hidden_PageSize = v +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeRequest) SetPageToken(v string) { + x.xxx_hidden_PageToken = v +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type GrantsReaderServiceListGrantsForResourceTypeRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceTypeId string + PageSize uint32 + PageToken string + Annotations []*anypb.Any +} + +func (b0 GrantsReaderServiceListGrantsForResourceTypeRequest_builder) Build() *GrantsReaderServiceListGrantsForResourceTypeRequest { + m0 := &GrantsReaderServiceListGrantsForResourceTypeRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ResourceTypeId = b.ResourceTypeId + x.xxx_hidden_PageSize = b.PageSize + x.xxx_hidden_PageToken = b.PageToken + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type GrantsReaderServiceListGrantsForResourceTypeResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_List *[]*v2.Grant `protobuf:"bytes,1,rep,name=list,proto3"` + xxx_hidden_NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeResponse) Reset() { + *x = GrantsReaderServiceListGrantsForResourceTypeResponse{} + mi := &file_c1_reader_v2_grant_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantsReaderServiceListGrantsForResourceTypeResponse) ProtoMessage() {} + +func (x *GrantsReaderServiceListGrantsForResourceTypeResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_grant_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeResponse) GetList() []*v2.Grant { + if x != nil { + if x.xxx_hidden_List != nil { + return *x.xxx_hidden_List + } + } + return nil +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeResponse) GetNextPageToken() string { + if x != nil { + return x.xxx_hidden_NextPageToken + } + return "" +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeResponse) SetList(v []*v2.Grant) { + x.xxx_hidden_List = &v +} + +func (x *GrantsReaderServiceListGrantsForResourceTypeResponse) SetNextPageToken(v string) { + x.xxx_hidden_NextPageToken = v +} + +type GrantsReaderServiceListGrantsForResourceTypeResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + List []*v2.Grant + NextPageToken string +} + +func (b0 GrantsReaderServiceListGrantsForResourceTypeResponse_builder) Build() *GrantsReaderServiceListGrantsForResourceTypeResponse { + m0 := &GrantsReaderServiceListGrantsForResourceTypeResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_List = &b.List + x.xxx_hidden_NextPageToken = b.NextPageToken + return m0 +} + +var File_c1_reader_v2_grant_proto protoreflect.FileDescriptor + +const file_c1_reader_v2_grant_proto_rawDesc = "" + + "\n" + + "\x18c1/reader/v2/grant.proto\x12\fc1.reader.v2\x1a!c1/connector/v2/entitlement.proto\x1a\x1bc1/connector/v2/grant.proto\x1a\x1ec1/connector/v2/resource.proto\x1a\x19google/protobuf/any.proto\x1a\x17validate/validate.proto\"\x83\x01\n" + + "\"GrantsReaderServiceGetGrantRequest\x12%\n" + + "\bgrant_id\x18\x01 \x01(\tB\n" + + "\xfaB\ar\x05 \x01(\x80\bR\agrantId\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"S\n" + + "#GrantsReaderServiceGetGrantResponse\x12,\n" + + "\x05grant\x18\x01 \x01(\v2\x16.c1.connector.v2.GrantR\x05grant\"\xd7\x02\n" + + "2GrantsReaderServiceListGrantsForEntitlementRequest\x12H\n" + + "\ventitlement\x18\x01 \x01(\v2\x1c.c1.connector.v2.EntitlementB\b\xfaB\x05\x8a\x01\x02\x10\x01R\ventitlement\x12H\n" + + "\fprincipal_id\x18\x05 \x01(\v2\x1b.c1.connector.v2.ResourceIdB\b\xfaB\x05\x8a\x01\x02\x10\x00R\vprincipalId\x12'\n" + + "\tpage_size\x18\x02 \x01(\rB\n" + + "\xfaB\a*\x05\x18\xfa\x01@\x01R\bpageSize\x12,\n" + + "\n" + + "page_token\x18\x03 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\x10\xd0\x01\x01R\tpageToken\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x98\x01\n" + + "3GrantsReaderServiceListGrantsForEntitlementResponse\x12*\n" + + "\x04list\x18\x01 \x03(\v2\x16.c1.connector.v2.GrantR\x04list\x125\n" + + "\x0fnext_page_token\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\x10\xd0\x01\x01R\rnextPageToken\"\xfd\x01\n" + + "3GrantsReaderServiceListGrantsForResourceTypeRequest\x127\n" + + "\x10resource_type_id\x18\x01 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\x10\xd0\x01\x01R\x0eresourceTypeId\x12'\n" + + "\tpage_size\x18\x02 \x01(\rB\n" + + "\xfaB\a*\x05\x18\xfa\x01@\x01R\bpageSize\x12,\n" + + "\n" + + "page_token\x18\x03 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\x10\xd0\x01\x01R\tpageToken\x126\n" + + "\vannotations\x18\x04 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x99\x01\n" + + "4GrantsReaderServiceListGrantsForResourceTypeResponse\x12*\n" + + "\x04list\x18\x01 \x03(\v2\x16.c1.connector.v2.GrantR\x04list\x125\n" + + "\x0fnext_page_token\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\x10\xd0\x01\x01R\rnextPageToken2\xcd\x03\n" + + "\x13GrantsReaderService\x12o\n" + + "\bGetGrant\x120.c1.reader.v2.GrantsReaderServiceGetGrantRequest\x1a1.c1.reader.v2.GrantsReaderServiceGetGrantResponse\x12\x9f\x01\n" + + "\x18ListGrantsForEntitlement\x12@.c1.reader.v2.GrantsReaderServiceListGrantsForEntitlementRequest\x1aA.c1.reader.v2.GrantsReaderServiceListGrantsForEntitlementResponse\x12\xa2\x01\n" + + "\x19ListGrantsForResourceType\x12A.c1.reader.v2.GrantsReaderServiceListGrantsForResourceTypeRequest\x1aB.c1.reader.v2.GrantsReaderServiceListGrantsForResourceTypeResponseB3Z1github.com/conductorone/baton-sdk/pb/c1/reader/v2b\x06proto3" + +var file_c1_reader_v2_grant_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_c1_reader_v2_grant_proto_goTypes = []any{ + (*GrantsReaderServiceGetGrantRequest)(nil), // 0: c1.reader.v2.GrantsReaderServiceGetGrantRequest + (*GrantsReaderServiceGetGrantResponse)(nil), // 1: c1.reader.v2.GrantsReaderServiceGetGrantResponse + (*GrantsReaderServiceListGrantsForEntitlementRequest)(nil), // 2: c1.reader.v2.GrantsReaderServiceListGrantsForEntitlementRequest + (*GrantsReaderServiceListGrantsForEntitlementResponse)(nil), // 3: c1.reader.v2.GrantsReaderServiceListGrantsForEntitlementResponse + (*GrantsReaderServiceListGrantsForResourceTypeRequest)(nil), // 4: c1.reader.v2.GrantsReaderServiceListGrantsForResourceTypeRequest + (*GrantsReaderServiceListGrantsForResourceTypeResponse)(nil), // 5: c1.reader.v2.GrantsReaderServiceListGrantsForResourceTypeResponse + (*anypb.Any)(nil), // 6: google.protobuf.Any + (*v2.Grant)(nil), // 7: c1.connector.v2.Grant + (*v2.Entitlement)(nil), // 8: c1.connector.v2.Entitlement + (*v2.ResourceId)(nil), // 9: c1.connector.v2.ResourceId +} +var file_c1_reader_v2_grant_proto_depIdxs = []int32{ + 6, // 0: c1.reader.v2.GrantsReaderServiceGetGrantRequest.annotations:type_name -> google.protobuf.Any + 7, // 1: c1.reader.v2.GrantsReaderServiceGetGrantResponse.grant:type_name -> c1.connector.v2.Grant + 8, // 2: c1.reader.v2.GrantsReaderServiceListGrantsForEntitlementRequest.entitlement:type_name -> c1.connector.v2.Entitlement + 9, // 3: c1.reader.v2.GrantsReaderServiceListGrantsForEntitlementRequest.principal_id:type_name -> c1.connector.v2.ResourceId + 6, // 4: c1.reader.v2.GrantsReaderServiceListGrantsForEntitlementRequest.annotations:type_name -> google.protobuf.Any + 7, // 5: c1.reader.v2.GrantsReaderServiceListGrantsForEntitlementResponse.list:type_name -> c1.connector.v2.Grant + 6, // 6: c1.reader.v2.GrantsReaderServiceListGrantsForResourceTypeRequest.annotations:type_name -> google.protobuf.Any + 7, // 7: c1.reader.v2.GrantsReaderServiceListGrantsForResourceTypeResponse.list:type_name -> c1.connector.v2.Grant + 0, // 8: c1.reader.v2.GrantsReaderService.GetGrant:input_type -> c1.reader.v2.GrantsReaderServiceGetGrantRequest + 2, // 9: c1.reader.v2.GrantsReaderService.ListGrantsForEntitlement:input_type -> c1.reader.v2.GrantsReaderServiceListGrantsForEntitlementRequest + 4, // 10: c1.reader.v2.GrantsReaderService.ListGrantsForResourceType:input_type -> c1.reader.v2.GrantsReaderServiceListGrantsForResourceTypeRequest + 1, // 11: c1.reader.v2.GrantsReaderService.GetGrant:output_type -> c1.reader.v2.GrantsReaderServiceGetGrantResponse + 3, // 12: c1.reader.v2.GrantsReaderService.ListGrantsForEntitlement:output_type -> c1.reader.v2.GrantsReaderServiceListGrantsForEntitlementResponse + 5, // 13: c1.reader.v2.GrantsReaderService.ListGrantsForResourceType:output_type -> c1.reader.v2.GrantsReaderServiceListGrantsForResourceTypeResponse + 11, // [11:14] is the sub-list for method output_type + 8, // [8:11] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_c1_reader_v2_grant_proto_init() } +func file_c1_reader_v2_grant_proto_init() { + if File_c1_reader_v2_grant_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_reader_v2_grant_proto_rawDesc), len(file_c1_reader_v2_grant_proto_rawDesc)), + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_c1_reader_v2_grant_proto_goTypes, + DependencyIndexes: file_c1_reader_v2_grant_proto_depIdxs, + MessageInfos: file_c1_reader_v2_grant_proto_msgTypes, + }.Build() + File_c1_reader_v2_grant_proto = out.File + file_c1_reader_v2_grant_proto_goTypes = nil + file_c1_reader_v2_grant_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/resource.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/resource.pb.go index 06a4ec90..351e91d8 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/resource.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/resource.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/reader/v2/resource.proto +//go:build !protoopaque + package v2 import ( @@ -13,7 +15,6 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" anypb "google.golang.org/protobuf/types/known/anypb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -25,7 +26,7 @@ const ( ) type ResourceTypesReaderServiceGetResourceTypeRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` ResourceTypeId string `protobuf:"bytes,1,opt,name=resource_type_id,json=resourceTypeId,proto3" json:"resource_type_id,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -57,11 +58,6 @@ func (x *ResourceTypesReaderServiceGetResourceTypeRequest) ProtoReflect() protor return mi.MessageOf(x) } -// Deprecated: Use ResourceTypesReaderServiceGetResourceTypeRequest.ProtoReflect.Descriptor instead. -func (*ResourceTypesReaderServiceGetResourceTypeRequest) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_resource_proto_rawDescGZIP(), []int{0} -} - func (x *ResourceTypesReaderServiceGetResourceTypeRequest) GetResourceTypeId() string { if x != nil { return x.ResourceTypeId @@ -76,8 +72,32 @@ func (x *ResourceTypesReaderServiceGetResourceTypeRequest) GetAnnotations() []*a return nil } +func (x *ResourceTypesReaderServiceGetResourceTypeRequest) SetResourceTypeId(v string) { + x.ResourceTypeId = v +} + +func (x *ResourceTypesReaderServiceGetResourceTypeRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type ResourceTypesReaderServiceGetResourceTypeRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceTypeId string + Annotations []*anypb.Any +} + +func (b0 ResourceTypesReaderServiceGetResourceTypeRequest_builder) Build() *ResourceTypesReaderServiceGetResourceTypeRequest { + m0 := &ResourceTypesReaderServiceGetResourceTypeRequest{} + b, x := &b0, m0 + _, _ = b, x + x.ResourceTypeId = b.ResourceTypeId + x.Annotations = b.Annotations + return m0 +} + type ResourceTypesReaderServiceGetResourceTypeResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` ResourceType *v2.ResourceType `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -108,11 +128,6 @@ func (x *ResourceTypesReaderServiceGetResourceTypeResponse) ProtoReflect() proto return mi.MessageOf(x) } -// Deprecated: Use ResourceTypesReaderServiceGetResourceTypeResponse.ProtoReflect.Descriptor instead. -func (*ResourceTypesReaderServiceGetResourceTypeResponse) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_resource_proto_rawDescGZIP(), []int{1} -} - func (x *ResourceTypesReaderServiceGetResourceTypeResponse) GetResourceType() *v2.ResourceType { if x != nil { return x.ResourceType @@ -120,8 +135,37 @@ func (x *ResourceTypesReaderServiceGetResourceTypeResponse) GetResourceType() *v return nil } +func (x *ResourceTypesReaderServiceGetResourceTypeResponse) SetResourceType(v *v2.ResourceType) { + x.ResourceType = v +} + +func (x *ResourceTypesReaderServiceGetResourceTypeResponse) HasResourceType() bool { + if x == nil { + return false + } + return x.ResourceType != nil +} + +func (x *ResourceTypesReaderServiceGetResourceTypeResponse) ClearResourceType() { + x.ResourceType = nil +} + +type ResourceTypesReaderServiceGetResourceTypeResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceType *v2.ResourceType +} + +func (b0 ResourceTypesReaderServiceGetResourceTypeResponse_builder) Build() *ResourceTypesReaderServiceGetResourceTypeResponse { + m0 := &ResourceTypesReaderServiceGetResourceTypeResponse{} + b, x := &b0, m0 + _, _ = b, x + x.ResourceType = b.ResourceType + return m0 +} + type ResourcesReaderServiceGetResourceRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` ResourceId *v2.ResourceId `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -153,11 +197,6 @@ func (x *ResourcesReaderServiceGetResourceRequest) ProtoReflect() protoreflect.M return mi.MessageOf(x) } -// Deprecated: Use ResourcesReaderServiceGetResourceRequest.ProtoReflect.Descriptor instead. -func (*ResourcesReaderServiceGetResourceRequest) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_resource_proto_rawDescGZIP(), []int{2} -} - func (x *ResourcesReaderServiceGetResourceRequest) GetResourceId() *v2.ResourceId { if x != nil { return x.ResourceId @@ -172,8 +211,43 @@ func (x *ResourcesReaderServiceGetResourceRequest) GetAnnotations() []*anypb.Any return nil } +func (x *ResourcesReaderServiceGetResourceRequest) SetResourceId(v *v2.ResourceId) { + x.ResourceId = v +} + +func (x *ResourcesReaderServiceGetResourceRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *ResourcesReaderServiceGetResourceRequest) HasResourceId() bool { + if x == nil { + return false + } + return x.ResourceId != nil +} + +func (x *ResourcesReaderServiceGetResourceRequest) ClearResourceId() { + x.ResourceId = nil +} + +type ResourcesReaderServiceGetResourceRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceId *v2.ResourceId + Annotations []*anypb.Any +} + +func (b0 ResourcesReaderServiceGetResourceRequest_builder) Build() *ResourcesReaderServiceGetResourceRequest { + m0 := &ResourcesReaderServiceGetResourceRequest{} + b, x := &b0, m0 + _, _ = b, x + x.ResourceId = b.ResourceId + x.Annotations = b.Annotations + return m0 +} + type ResourcesReaderServiceGetResourceResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Resource *v2.Resource `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -204,11 +278,6 @@ func (x *ResourcesReaderServiceGetResourceResponse) ProtoReflect() protoreflect. return mi.MessageOf(x) } -// Deprecated: Use ResourcesReaderServiceGetResourceResponse.ProtoReflect.Descriptor instead. -func (*ResourcesReaderServiceGetResourceResponse) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_resource_proto_rawDescGZIP(), []int{3} -} - func (x *ResourcesReaderServiceGetResourceResponse) GetResource() *v2.Resource { if x != nil { return x.Resource @@ -216,90 +285,56 @@ func (x *ResourcesReaderServiceGetResourceResponse) GetResource() *v2.Resource { return nil } -var File_c1_reader_v2_resource_proto protoreflect.FileDescriptor +func (x *ResourcesReaderServiceGetResourceResponse) SetResource(v *v2.Resource) { + x.Resource = v +} -var file_c1_reader_v2_resource_proto_rawDesc = string([]byte{ - 0x0a, 0x1b, 0x63, 0x31, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x63, - 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x63, 0x31, 0x2f, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 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, - 0x94, 0x01, 0x0a, 0x30, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 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, 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, 0x77, 0x0a, 0x31, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 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, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, - 0xaa, 0x01, 0x0a, 0x28, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x61, - 0x64, 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, 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, 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, 0x62, 0x0a, 0x29, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 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, - 0x32, 0xb1, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x92, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x3e, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x98, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x7e, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x36, - 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 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, 0x37, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, - 0x65, 0x61, 0x64, 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, 0x42, - 0x33, 0x5a, 0x31, 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, 0x72, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) - -var ( - file_c1_reader_v2_resource_proto_rawDescOnce sync.Once - file_c1_reader_v2_resource_proto_rawDescData []byte -) +func (x *ResourcesReaderServiceGetResourceResponse) HasResource() bool { + if x == nil { + return false + } + return x.Resource != nil +} + +func (x *ResourcesReaderServiceGetResourceResponse) ClearResource() { + x.Resource = nil +} + +type ResourcesReaderServiceGetResourceResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resource *v2.Resource +} -func file_c1_reader_v2_resource_proto_rawDescGZIP() []byte { - file_c1_reader_v2_resource_proto_rawDescOnce.Do(func() { - file_c1_reader_v2_resource_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_reader_v2_resource_proto_rawDesc), len(file_c1_reader_v2_resource_proto_rawDesc))) - }) - return file_c1_reader_v2_resource_proto_rawDescData +func (b0 ResourcesReaderServiceGetResourceResponse_builder) Build() *ResourcesReaderServiceGetResourceResponse { + m0 := &ResourcesReaderServiceGetResourceResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Resource = b.Resource + return m0 } +var File_c1_reader_v2_resource_proto protoreflect.FileDescriptor + +const file_c1_reader_v2_resource_proto_rawDesc = "" + + "\n" + + "\x1bc1/reader/v2/resource.proto\x12\fc1.reader.v2\x1a\x1ec1/connector/v2/resource.proto\x1a\x19google/protobuf/any.proto\x1a\x17validate/validate.proto\"\x94\x01\n" + + "0ResourceTypesReaderServiceGetResourceTypeRequest\x12(\n" + + "\x10resource_type_id\x18\x01 \x01(\tR\x0eresourceTypeId\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"w\n" + + "1ResourceTypesReaderServiceGetResourceTypeResponse\x12B\n" + + "\rresource_type\x18\x01 \x01(\v2\x1d.c1.connector.v2.ResourceTypeR\fresourceType\"\xaa\x01\n" + + "(ResourcesReaderServiceGetResourceRequest\x12F\n" + + "\vresource_id\x18\x01 \x01(\v2\x1b.c1.connector.v2.ResourceIdB\b\xfaB\x05\x8a\x01\x02\x10\x01R\n" + + "resourceId\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"b\n" + + ")ResourcesReaderServiceGetResourceResponse\x125\n" + + "\bresource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\bresource2\xb1\x01\n" + + "\x1aResourceTypesReaderService\x12\x92\x01\n" + + "\x0fGetResourceType\x12>.c1.reader.v2.ResourceTypesReaderServiceGetResourceTypeRequest\x1a?.c1.reader.v2.ResourceTypesReaderServiceGetResourceTypeResponse2\x98\x01\n" + + "\x16ResourcesReaderService\x12~\n" + + "\vGetResource\x126.c1.reader.v2.ResourcesReaderServiceGetResourceRequest\x1a7.c1.reader.v2.ResourcesReaderServiceGetResourceResponseB3Z1github.com/conductorone/baton-sdk/pb/c1/reader/v2b\x06proto3" + var file_c1_reader_v2_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_c1_reader_v2_resource_proto_goTypes = []any{ (*ResourceTypesReaderServiceGetResourceTypeRequest)(nil), // 0: c1.reader.v2.ResourceTypesReaderServiceGetResourceTypeRequest diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/resource_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/resource_protoopaque.pb.go new file mode 100644 index 00000000..47c49e26 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/resource_protoopaque.pb.go @@ -0,0 +1,392 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/reader/v2/resource.proto + +//go:build protoopaque + +package v2 + +import ( + v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + reflect "reflect" + 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) +) + +type ResourceTypesReaderServiceGetResourceTypeRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ResourceTypeId string `protobuf:"bytes,1,opt,name=resource_type_id,json=resourceTypeId,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceTypesReaderServiceGetResourceTypeRequest) Reset() { + *x = ResourceTypesReaderServiceGetResourceTypeRequest{} + mi := &file_c1_reader_v2_resource_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceTypesReaderServiceGetResourceTypeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceTypesReaderServiceGetResourceTypeRequest) ProtoMessage() {} + +func (x *ResourceTypesReaderServiceGetResourceTypeRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_resource_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) +} + +func (x *ResourceTypesReaderServiceGetResourceTypeRequest) GetResourceTypeId() string { + if x != nil { + return x.xxx_hidden_ResourceTypeId + } + return "" +} + +func (x *ResourceTypesReaderServiceGetResourceTypeRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ResourceTypesReaderServiceGetResourceTypeRequest) SetResourceTypeId(v string) { + x.xxx_hidden_ResourceTypeId = v +} + +func (x *ResourceTypesReaderServiceGetResourceTypeRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type ResourceTypesReaderServiceGetResourceTypeRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceTypeId string + Annotations []*anypb.Any +} + +func (b0 ResourceTypesReaderServiceGetResourceTypeRequest_builder) Build() *ResourceTypesReaderServiceGetResourceTypeRequest { + m0 := &ResourceTypesReaderServiceGetResourceTypeRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ResourceTypeId = b.ResourceTypeId + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type ResourceTypesReaderServiceGetResourceTypeResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ResourceType *v2.ResourceType `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourceTypesReaderServiceGetResourceTypeResponse) Reset() { + *x = ResourceTypesReaderServiceGetResourceTypeResponse{} + mi := &file_c1_reader_v2_resource_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourceTypesReaderServiceGetResourceTypeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceTypesReaderServiceGetResourceTypeResponse) ProtoMessage() {} + +func (x *ResourceTypesReaderServiceGetResourceTypeResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_resource_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) +} + +func (x *ResourceTypesReaderServiceGetResourceTypeResponse) GetResourceType() *v2.ResourceType { + if x != nil { + return x.xxx_hidden_ResourceType + } + return nil +} + +func (x *ResourceTypesReaderServiceGetResourceTypeResponse) SetResourceType(v *v2.ResourceType) { + x.xxx_hidden_ResourceType = v +} + +func (x *ResourceTypesReaderServiceGetResourceTypeResponse) HasResourceType() bool { + if x == nil { + return false + } + return x.xxx_hidden_ResourceType != nil +} + +func (x *ResourceTypesReaderServiceGetResourceTypeResponse) ClearResourceType() { + x.xxx_hidden_ResourceType = nil +} + +type ResourceTypesReaderServiceGetResourceTypeResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceType *v2.ResourceType +} + +func (b0 ResourceTypesReaderServiceGetResourceTypeResponse_builder) Build() *ResourceTypesReaderServiceGetResourceTypeResponse { + m0 := &ResourceTypesReaderServiceGetResourceTypeResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ResourceType = b.ResourceType + return m0 +} + +type ResourcesReaderServiceGetResourceRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_ResourceId *v2.ResourceId `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourcesReaderServiceGetResourceRequest) Reset() { + *x = ResourcesReaderServiceGetResourceRequest{} + mi := &file_c1_reader_v2_resource_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourcesReaderServiceGetResourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourcesReaderServiceGetResourceRequest) ProtoMessage() {} + +func (x *ResourcesReaderServiceGetResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_resource_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) +} + +func (x *ResourcesReaderServiceGetResourceRequest) GetResourceId() *v2.ResourceId { + if x != nil { + return x.xxx_hidden_ResourceId + } + return nil +} + +func (x *ResourcesReaderServiceGetResourceRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *ResourcesReaderServiceGetResourceRequest) SetResourceId(v *v2.ResourceId) { + x.xxx_hidden_ResourceId = v +} + +func (x *ResourcesReaderServiceGetResourceRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *ResourcesReaderServiceGetResourceRequest) HasResourceId() bool { + if x == nil { + return false + } + return x.xxx_hidden_ResourceId != nil +} + +func (x *ResourcesReaderServiceGetResourceRequest) ClearResourceId() { + x.xxx_hidden_ResourceId = nil +} + +type ResourcesReaderServiceGetResourceRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + ResourceId *v2.ResourceId + Annotations []*anypb.Any +} + +func (b0 ResourcesReaderServiceGetResourceRequest_builder) Build() *ResourcesReaderServiceGetResourceRequest { + m0 := &ResourcesReaderServiceGetResourceRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_ResourceId = b.ResourceId + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type ResourcesReaderServiceGetResourceResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Resource *v2.Resource `protobuf:"bytes,1,opt,name=resource,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResourcesReaderServiceGetResourceResponse) Reset() { + *x = ResourcesReaderServiceGetResourceResponse{} + mi := &file_c1_reader_v2_resource_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResourcesReaderServiceGetResourceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourcesReaderServiceGetResourceResponse) ProtoMessage() {} + +func (x *ResourcesReaderServiceGetResourceResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_resource_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) +} + +func (x *ResourcesReaderServiceGetResourceResponse) GetResource() *v2.Resource { + if x != nil { + return x.xxx_hidden_Resource + } + return nil +} + +func (x *ResourcesReaderServiceGetResourceResponse) SetResource(v *v2.Resource) { + x.xxx_hidden_Resource = v +} + +func (x *ResourcesReaderServiceGetResourceResponse) HasResource() bool { + if x == nil { + return false + } + return x.xxx_hidden_Resource != nil +} + +func (x *ResourcesReaderServiceGetResourceResponse) ClearResource() { + x.xxx_hidden_Resource = nil +} + +type ResourcesReaderServiceGetResourceResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resource *v2.Resource +} + +func (b0 ResourcesReaderServiceGetResourceResponse_builder) Build() *ResourcesReaderServiceGetResourceResponse { + m0 := &ResourcesReaderServiceGetResourceResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Resource = b.Resource + return m0 +} + +var File_c1_reader_v2_resource_proto protoreflect.FileDescriptor + +const file_c1_reader_v2_resource_proto_rawDesc = "" + + "\n" + + "\x1bc1/reader/v2/resource.proto\x12\fc1.reader.v2\x1a\x1ec1/connector/v2/resource.proto\x1a\x19google/protobuf/any.proto\x1a\x17validate/validate.proto\"\x94\x01\n" + + "0ResourceTypesReaderServiceGetResourceTypeRequest\x12(\n" + + "\x10resource_type_id\x18\x01 \x01(\tR\x0eresourceTypeId\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"w\n" + + "1ResourceTypesReaderServiceGetResourceTypeResponse\x12B\n" + + "\rresource_type\x18\x01 \x01(\v2\x1d.c1.connector.v2.ResourceTypeR\fresourceType\"\xaa\x01\n" + + "(ResourcesReaderServiceGetResourceRequest\x12F\n" + + "\vresource_id\x18\x01 \x01(\v2\x1b.c1.connector.v2.ResourceIdB\b\xfaB\x05\x8a\x01\x02\x10\x01R\n" + + "resourceId\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"b\n" + + ")ResourcesReaderServiceGetResourceResponse\x125\n" + + "\bresource\x18\x01 \x01(\v2\x19.c1.connector.v2.ResourceR\bresource2\xb1\x01\n" + + "\x1aResourceTypesReaderService\x12\x92\x01\n" + + "\x0fGetResourceType\x12>.c1.reader.v2.ResourceTypesReaderServiceGetResourceTypeRequest\x1a?.c1.reader.v2.ResourceTypesReaderServiceGetResourceTypeResponse2\x98\x01\n" + + "\x16ResourcesReaderService\x12~\n" + + "\vGetResource\x126.c1.reader.v2.ResourcesReaderServiceGetResourceRequest\x1a7.c1.reader.v2.ResourcesReaderServiceGetResourceResponseB3Z1github.com/conductorone/baton-sdk/pb/c1/reader/v2b\x06proto3" + +var file_c1_reader_v2_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_c1_reader_v2_resource_proto_goTypes = []any{ + (*ResourceTypesReaderServiceGetResourceTypeRequest)(nil), // 0: c1.reader.v2.ResourceTypesReaderServiceGetResourceTypeRequest + (*ResourceTypesReaderServiceGetResourceTypeResponse)(nil), // 1: c1.reader.v2.ResourceTypesReaderServiceGetResourceTypeResponse + (*ResourcesReaderServiceGetResourceRequest)(nil), // 2: c1.reader.v2.ResourcesReaderServiceGetResourceRequest + (*ResourcesReaderServiceGetResourceResponse)(nil), // 3: c1.reader.v2.ResourcesReaderServiceGetResourceResponse + (*anypb.Any)(nil), // 4: google.protobuf.Any + (*v2.ResourceType)(nil), // 5: c1.connector.v2.ResourceType + (*v2.ResourceId)(nil), // 6: c1.connector.v2.ResourceId + (*v2.Resource)(nil), // 7: c1.connector.v2.Resource +} +var file_c1_reader_v2_resource_proto_depIdxs = []int32{ + 4, // 0: c1.reader.v2.ResourceTypesReaderServiceGetResourceTypeRequest.annotations:type_name -> google.protobuf.Any + 5, // 1: c1.reader.v2.ResourceTypesReaderServiceGetResourceTypeResponse.resource_type:type_name -> c1.connector.v2.ResourceType + 6, // 2: c1.reader.v2.ResourcesReaderServiceGetResourceRequest.resource_id:type_name -> c1.connector.v2.ResourceId + 4, // 3: c1.reader.v2.ResourcesReaderServiceGetResourceRequest.annotations:type_name -> google.protobuf.Any + 7, // 4: c1.reader.v2.ResourcesReaderServiceGetResourceResponse.resource:type_name -> c1.connector.v2.Resource + 0, // 5: c1.reader.v2.ResourceTypesReaderService.GetResourceType:input_type -> c1.reader.v2.ResourceTypesReaderServiceGetResourceTypeRequest + 2, // 6: c1.reader.v2.ResourcesReaderService.GetResource:input_type -> c1.reader.v2.ResourcesReaderServiceGetResourceRequest + 1, // 7: c1.reader.v2.ResourceTypesReaderService.GetResourceType:output_type -> c1.reader.v2.ResourceTypesReaderServiceGetResourceTypeResponse + 3, // 8: c1.reader.v2.ResourcesReaderService.GetResource:output_type -> c1.reader.v2.ResourcesReaderServiceGetResourceResponse + 7, // [7:9] is the sub-list for method output_type + 5, // [5:7] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_c1_reader_v2_resource_proto_init() } +func file_c1_reader_v2_resource_proto_init() { + if File_c1_reader_v2_resource_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_reader_v2_resource_proto_rawDesc), len(file_c1_reader_v2_resource_proto_rawDesc)), + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 2, + }, + GoTypes: file_c1_reader_v2_resource_proto_goTypes, + DependencyIndexes: file_c1_reader_v2_resource_proto_depIdxs, + MessageInfos: file_c1_reader_v2_resource_proto_msgTypes, + }.Build() + File_c1_reader_v2_resource_proto = out.File + file_c1_reader_v2_resource_proto_goTypes = nil + file_c1_reader_v2_resource_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/sync.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/sync.pb.go index ec106f8e..454f1ee8 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/sync.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/sync.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/reader/v2/sync.proto +//go:build !protoopaque + package v2 import ( @@ -13,7 +15,6 @@ import ( anypb "google.golang.org/protobuf/types/known/anypb" timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -25,7 +26,7 @@ const ( ) type SyncRun struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` StartedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` EndedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=ended_at,json=endedAt,proto3" json:"ended_at,omitempty"` @@ -61,11 +62,6 @@ func (x *SyncRun) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SyncRun.ProtoReflect.Descriptor instead. -func (*SyncRun) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_sync_proto_rawDescGZIP(), []int{0} -} - func (x *SyncRun) GetId() string { if x != nil { return x.Id @@ -108,8 +104,78 @@ func (x *SyncRun) GetParentSyncId() string { return "" } +func (x *SyncRun) SetId(v string) { + x.Id = v +} + +func (x *SyncRun) SetStartedAt(v *timestamppb.Timestamp) { + x.StartedAt = v +} + +func (x *SyncRun) SetEndedAt(v *timestamppb.Timestamp) { + x.EndedAt = v +} + +func (x *SyncRun) SetSyncToken(v string) { + x.SyncToken = v +} + +func (x *SyncRun) SetSyncType(v string) { + x.SyncType = v +} + +func (x *SyncRun) SetParentSyncId(v string) { + x.ParentSyncId = v +} + +func (x *SyncRun) HasStartedAt() bool { + if x == nil { + return false + } + return x.StartedAt != nil +} + +func (x *SyncRun) HasEndedAt() bool { + if x == nil { + return false + } + return x.EndedAt != nil +} + +func (x *SyncRun) ClearStartedAt() { + x.StartedAt = nil +} + +func (x *SyncRun) ClearEndedAt() { + x.EndedAt = nil +} + +type SyncRun_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + StartedAt *timestamppb.Timestamp + EndedAt *timestamppb.Timestamp + SyncToken string + SyncType string + ParentSyncId string +} + +func (b0 SyncRun_builder) Build() *SyncRun { + m0 := &SyncRun{} + b, x := &b0, m0 + _, _ = b, x + x.Id = b.Id + x.StartedAt = b.StartedAt + x.EndedAt = b.EndedAt + x.SyncToken = b.SyncToken + x.SyncType = b.SyncType + x.ParentSyncId = b.ParentSyncId + return m0 +} + type SyncsReaderServiceGetSyncRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` SyncId string `protobuf:"bytes,1,opt,name=sync_id,json=syncId,proto3" json:"sync_id,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -141,11 +207,6 @@ func (x *SyncsReaderServiceGetSyncRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SyncsReaderServiceGetSyncRequest.ProtoReflect.Descriptor instead. -func (*SyncsReaderServiceGetSyncRequest) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_sync_proto_rawDescGZIP(), []int{1} -} - func (x *SyncsReaderServiceGetSyncRequest) GetSyncId() string { if x != nil { return x.SyncId @@ -160,8 +221,32 @@ func (x *SyncsReaderServiceGetSyncRequest) GetAnnotations() []*anypb.Any { return nil } +func (x *SyncsReaderServiceGetSyncRequest) SetSyncId(v string) { + x.SyncId = v +} + +func (x *SyncsReaderServiceGetSyncRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type SyncsReaderServiceGetSyncRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SyncId string + Annotations []*anypb.Any +} + +func (b0 SyncsReaderServiceGetSyncRequest_builder) Build() *SyncsReaderServiceGetSyncRequest { + m0 := &SyncsReaderServiceGetSyncRequest{} + b, x := &b0, m0 + _, _ = b, x + x.SyncId = b.SyncId + x.Annotations = b.Annotations + return m0 +} + type SyncsReaderServiceGetSyncResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Sync *SyncRun `protobuf:"bytes,1,opt,name=sync,proto3" json:"sync,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -193,11 +278,6 @@ func (x *SyncsReaderServiceGetSyncResponse) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use SyncsReaderServiceGetSyncResponse.ProtoReflect.Descriptor instead. -func (*SyncsReaderServiceGetSyncResponse) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_sync_proto_rawDescGZIP(), []int{2} -} - func (x *SyncsReaderServiceGetSyncResponse) GetSync() *SyncRun { if x != nil { return x.Sync @@ -212,8 +292,43 @@ func (x *SyncsReaderServiceGetSyncResponse) GetAnnotations() []*anypb.Any { return nil } +func (x *SyncsReaderServiceGetSyncResponse) SetSync(v *SyncRun) { + x.Sync = v +} + +func (x *SyncsReaderServiceGetSyncResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *SyncsReaderServiceGetSyncResponse) HasSync() bool { + if x == nil { + return false + } + return x.Sync != nil +} + +func (x *SyncsReaderServiceGetSyncResponse) ClearSync() { + x.Sync = nil +} + +type SyncsReaderServiceGetSyncResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Sync *SyncRun + Annotations []*anypb.Any +} + +func (b0 SyncsReaderServiceGetSyncResponse_builder) Build() *SyncsReaderServiceGetSyncResponse { + m0 := &SyncsReaderServiceGetSyncResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Sync = b.Sync + x.Annotations = b.Annotations + return m0 +} + type SyncsReaderServiceListSyncsRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` PageSize uint32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` @@ -246,11 +361,6 @@ func (x *SyncsReaderServiceListSyncsRequest) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use SyncsReaderServiceListSyncsRequest.ProtoReflect.Descriptor instead. -func (*SyncsReaderServiceListSyncsRequest) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_sync_proto_rawDescGZIP(), []int{3} -} - func (x *SyncsReaderServiceListSyncsRequest) GetPageSize() uint32 { if x != nil { return x.PageSize @@ -272,8 +382,38 @@ func (x *SyncsReaderServiceListSyncsRequest) GetAnnotations() []*anypb.Any { return nil } +func (x *SyncsReaderServiceListSyncsRequest) SetPageSize(v uint32) { + x.PageSize = v +} + +func (x *SyncsReaderServiceListSyncsRequest) SetPageToken(v string) { + x.PageToken = v +} + +func (x *SyncsReaderServiceListSyncsRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type SyncsReaderServiceListSyncsRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + PageSize uint32 + PageToken string + Annotations []*anypb.Any +} + +func (b0 SyncsReaderServiceListSyncsRequest_builder) Build() *SyncsReaderServiceListSyncsRequest { + m0 := &SyncsReaderServiceListSyncsRequest{} + b, x := &b0, m0 + _, _ = b, x + x.PageSize = b.PageSize + x.PageToken = b.PageToken + x.Annotations = b.Annotations + return m0 +} + type SyncsReaderServiceListSyncsResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Syncs []*SyncRun `protobuf:"bytes,1,rep,name=syncs,proto3" json:"syncs,omitempty"` NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"` @@ -306,11 +446,6 @@ func (x *SyncsReaderServiceListSyncsResponse) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use SyncsReaderServiceListSyncsResponse.ProtoReflect.Descriptor instead. -func (*SyncsReaderServiceListSyncsResponse) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_sync_proto_rawDescGZIP(), []int{4} -} - func (x *SyncsReaderServiceListSyncsResponse) GetSyncs() []*SyncRun { if x != nil { return x.Syncs @@ -332,8 +467,38 @@ func (x *SyncsReaderServiceListSyncsResponse) GetAnnotations() []*anypb.Any { return nil } +func (x *SyncsReaderServiceListSyncsResponse) SetSyncs(v []*SyncRun) { + x.Syncs = v +} + +func (x *SyncsReaderServiceListSyncsResponse) SetNextPageToken(v string) { + x.NextPageToken = v +} + +func (x *SyncsReaderServiceListSyncsResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +type SyncsReaderServiceListSyncsResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Syncs []*SyncRun + NextPageToken string + Annotations []*anypb.Any +} + +func (b0 SyncsReaderServiceListSyncsResponse_builder) Build() *SyncsReaderServiceListSyncsResponse { + m0 := &SyncsReaderServiceListSyncsResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Syncs = b.Syncs + x.NextPageToken = b.NextPageToken + x.Annotations = b.Annotations + return m0 +} + type SyncsReaderServiceGetLatestFinishedSyncRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` SyncType string `protobuf:"bytes,2,opt,name=sync_type,json=syncType,proto3" json:"sync_type,omitempty"` unknownFields protoimpl.UnknownFields @@ -365,11 +530,6 @@ func (x *SyncsReaderServiceGetLatestFinishedSyncRequest) ProtoReflect() protoref return mi.MessageOf(x) } -// Deprecated: Use SyncsReaderServiceGetLatestFinishedSyncRequest.ProtoReflect.Descriptor instead. -func (*SyncsReaderServiceGetLatestFinishedSyncRequest) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_sync_proto_rawDescGZIP(), []int{5} -} - func (x *SyncsReaderServiceGetLatestFinishedSyncRequest) GetAnnotations() []*anypb.Any { if x != nil { return x.Annotations @@ -384,8 +544,32 @@ func (x *SyncsReaderServiceGetLatestFinishedSyncRequest) GetSyncType() string { return "" } +func (x *SyncsReaderServiceGetLatestFinishedSyncRequest) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} + +func (x *SyncsReaderServiceGetLatestFinishedSyncRequest) SetSyncType(v string) { + x.SyncType = v +} + +type SyncsReaderServiceGetLatestFinishedSyncRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any + SyncType string +} + +func (b0 SyncsReaderServiceGetLatestFinishedSyncRequest_builder) Build() *SyncsReaderServiceGetLatestFinishedSyncRequest { + m0 := &SyncsReaderServiceGetLatestFinishedSyncRequest{} + b, x := &b0, m0 + _, _ = b, x + x.Annotations = b.Annotations + x.SyncType = b.SyncType + return m0 +} + type SyncsReaderServiceGetLatestFinishedSyncResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Sync *SyncRun `protobuf:"bytes,1,opt,name=sync,proto3" json:"sync,omitempty"` Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"` unknownFields protoimpl.UnknownFields @@ -417,11 +601,6 @@ func (x *SyncsReaderServiceGetLatestFinishedSyncResponse) ProtoReflect() protore return mi.MessageOf(x) } -// Deprecated: Use SyncsReaderServiceGetLatestFinishedSyncResponse.ProtoReflect.Descriptor instead. -func (*SyncsReaderServiceGetLatestFinishedSyncResponse) Descriptor() ([]byte, []int) { - return file_c1_reader_v2_sync_proto_rawDescGZIP(), []int{6} -} - func (x *SyncsReaderServiceGetLatestFinishedSyncResponse) GetSync() *SyncRun { if x != nil { return x.Sync @@ -436,132 +615,84 @@ func (x *SyncsReaderServiceGetLatestFinishedSyncResponse) GetAnnotations() []*an return nil } -var File_c1_reader_v2_sync_proto protoreflect.FileDescriptor +func (x *SyncsReaderServiceGetLatestFinishedSyncResponse) SetSync(v *SyncRun) { + x.Sync = v +} -var file_c1_reader_v2_sync_proto_rawDesc = string([]byte{ - 0x0a, 0x17, 0x63, 0x31, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x73, - 0x79, 0x6e, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x63, 0x31, 0x2e, 0x72, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 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, 0x1a, 0x1f, 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, 0xed, 0x01, 0x0a, - 0x07, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x75, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, - 0x74, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x03, 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, 0x07, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x79, - 0x6e, 0x63, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x73, 0x79, 0x6e, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x79, 0x6e, - 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x79, - 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x64, 0x22, 0x73, 0x0a, 0x20, - 0x53, 0x79, 0x6e, 0x63, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x47, 0x65, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x17, 0x0a, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x79, 0x6e, 0x63, 0x49, 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, 0x86, 0x01, 0x0a, 0x21, 0x53, 0x79, 0x6e, 0x63, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x75, 0x6e, 0x52, 0x04, 0x73, 0x79, - 0x6e, 0x63, 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, 0xb3, 0x01, 0x0a, 0x22, 0x53, - 0x79, 0x6e, 0x63, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, - 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, 0x2c, 0x0a, 0x0a, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0x28, 0x80, 0x10, 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, 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, 0xc1, 0x01, 0x0a, 0x23, 0x53, 0x79, 0x6e, 0x63, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x73, 0x79, 0x6e, 0x63, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x75, 0x6e, 0x52, 0x05, - 0x73, 0x79, 0x6e, 0x63, 0x73, 0x12, 0x35, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0x28, 0x80, 0x10, 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, 0x85, 0x01, 0x0a, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x73, 0x52, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x4c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x53, 0x79, 0x6e, 0x63, - 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, 0x12, - 0x1b, 0x0a, 0x09, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, 0x22, 0x94, 0x01, 0x0a, - 0x2f, 0x53, 0x79, 0x6e, 0x63, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x69, - 0x73, 0x68, 0x65, 0x64, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x29, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, - 0x6e, 0x63, 0x52, 0x75, 0x6e, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 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, 0x32, 0x89, 0x03, 0x0a, 0x12, 0x53, 0x79, 0x6e, 0x63, 0x73, 0x52, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6a, 0x0a, 0x07, 0x47, 0x65, - 0x74, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x2e, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x79, - 0x6e, 0x63, 0x73, 0x12, 0x30, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, - 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x94, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, - 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x53, 0x79, - 0x6e, 0x63, 0x12, 0x3c, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x65, 0x64, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x3d, 0x2e, 0x63, 0x31, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, - 0x53, 0x79, 0x6e, 0x63, 0x73, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, - 0x68, 0x65, 0x64, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, - 0x33, 0x5a, 0x31, 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, 0x72, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) - -var ( - file_c1_reader_v2_sync_proto_rawDescOnce sync.Once - file_c1_reader_v2_sync_proto_rawDescData []byte -) +func (x *SyncsReaderServiceGetLatestFinishedSyncResponse) SetAnnotations(v []*anypb.Any) { + x.Annotations = v +} -func file_c1_reader_v2_sync_proto_rawDescGZIP() []byte { - file_c1_reader_v2_sync_proto_rawDescOnce.Do(func() { - file_c1_reader_v2_sync_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_reader_v2_sync_proto_rawDesc), len(file_c1_reader_v2_sync_proto_rawDesc))) - }) - return file_c1_reader_v2_sync_proto_rawDescData +func (x *SyncsReaderServiceGetLatestFinishedSyncResponse) HasSync() bool { + if x == nil { + return false + } + return x.Sync != nil } +func (x *SyncsReaderServiceGetLatestFinishedSyncResponse) ClearSync() { + x.Sync = nil +} + +type SyncsReaderServiceGetLatestFinishedSyncResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Sync *SyncRun + Annotations []*anypb.Any +} + +func (b0 SyncsReaderServiceGetLatestFinishedSyncResponse_builder) Build() *SyncsReaderServiceGetLatestFinishedSyncResponse { + m0 := &SyncsReaderServiceGetLatestFinishedSyncResponse{} + b, x := &b0, m0 + _, _ = b, x + x.Sync = b.Sync + x.Annotations = b.Annotations + return m0 +} + +var File_c1_reader_v2_sync_proto protoreflect.FileDescriptor + +const file_c1_reader_v2_sync_proto_rawDesc = "" + + "\n" + + "\x17c1/reader/v2/sync.proto\x12\fc1.reader.v2\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17validate/validate.proto\"\xed\x01\n" + + "\aSyncRun\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x129\n" + + "\n" + + "started_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x125\n" + + "\bended_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\aendedAt\x12\x1d\n" + + "\n" + + "sync_token\x18\x04 \x01(\tR\tsyncToken\x12\x1b\n" + + "\tsync_type\x18\x05 \x01(\tR\bsyncType\x12$\n" + + "\x0eparent_sync_id\x18\x06 \x01(\tR\fparentSyncId\"s\n" + + " SyncsReaderServiceGetSyncRequest\x12\x17\n" + + "\async_id\x18\x01 \x01(\tR\x06syncId\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x86\x01\n" + + "!SyncsReaderServiceGetSyncResponse\x12)\n" + + "\x04sync\x18\x01 \x01(\v2\x15.c1.reader.v2.SyncRunR\x04sync\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xb3\x01\n" + + "\"SyncsReaderServiceListSyncsRequest\x12'\n" + + "\tpage_size\x18\x01 \x01(\rB\n" + + "\xfaB\a*\x05\x18\xfa\x01@\x01R\bpageSize\x12,\n" + + "\n" + + "page_token\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\x10\xd0\x01\x01R\tpageToken\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xc1\x01\n" + + "#SyncsReaderServiceListSyncsResponse\x12+\n" + + "\x05syncs\x18\x01 \x03(\v2\x15.c1.reader.v2.SyncRunR\x05syncs\x125\n" + + "\x0fnext_page_token\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\x10\xd0\x01\x01R\rnextPageToken\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x85\x01\n" + + ".SyncsReaderServiceGetLatestFinishedSyncRequest\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12\x1b\n" + + "\tsync_type\x18\x02 \x01(\tR\bsyncType\"\x94\x01\n" + + "/SyncsReaderServiceGetLatestFinishedSyncResponse\x12)\n" + + "\x04sync\x18\x01 \x01(\v2\x15.c1.reader.v2.SyncRunR\x04sync\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations2\x89\x03\n" + + "\x12SyncsReaderService\x12j\n" + + "\aGetSync\x12..c1.reader.v2.SyncsReaderServiceGetSyncRequest\x1a/.c1.reader.v2.SyncsReaderServiceGetSyncResponse\x12p\n" + + "\tListSyncs\x120.c1.reader.v2.SyncsReaderServiceListSyncsRequest\x1a1.c1.reader.v2.SyncsReaderServiceListSyncsResponse\x12\x94\x01\n" + + "\x15GetLatestFinishedSync\x12<.c1.reader.v2.SyncsReaderServiceGetLatestFinishedSyncRequest\x1a=.c1.reader.v2.SyncsReaderServiceGetLatestFinishedSyncResponseB3Z1github.com/conductorone/baton-sdk/pb/c1/reader/v2b\x06proto3" + var file_c1_reader_v2_sync_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_c1_reader_v2_sync_proto_goTypes = []any{ (*SyncRun)(nil), // 0: c1.reader.v2.SyncRun diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/sync_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/sync_protoopaque.pb.go new file mode 100644 index 00000000..3276ac81 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/reader/v2/sync_protoopaque.pb.go @@ -0,0 +1,769 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/reader/v2/sync.proto + +//go:build protoopaque + +package v2 + +import ( + _ "github.com/envoyproxy/protoc-gen-validate/validate" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + 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) +) + +type SyncRun struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Id string `protobuf:"bytes,1,opt,name=id,proto3"` + xxx_hidden_StartedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=started_at,json=startedAt,proto3"` + xxx_hidden_EndedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=ended_at,json=endedAt,proto3"` + xxx_hidden_SyncToken string `protobuf:"bytes,4,opt,name=sync_token,json=syncToken,proto3"` + xxx_hidden_SyncType string `protobuf:"bytes,5,opt,name=sync_type,json=syncType,proto3"` + xxx_hidden_ParentSyncId string `protobuf:"bytes,6,opt,name=parent_sync_id,json=parentSyncId,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SyncRun) Reset() { + *x = SyncRun{} + mi := &file_c1_reader_v2_sync_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SyncRun) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncRun) ProtoMessage() {} + +func (x *SyncRun) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_sync_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) +} + +func (x *SyncRun) GetId() string { + if x != nil { + return x.xxx_hidden_Id + } + return "" +} + +func (x *SyncRun) GetStartedAt() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_StartedAt + } + return nil +} + +func (x *SyncRun) GetEndedAt() *timestamppb.Timestamp { + if x != nil { + return x.xxx_hidden_EndedAt + } + return nil +} + +func (x *SyncRun) GetSyncToken() string { + if x != nil { + return x.xxx_hidden_SyncToken + } + return "" +} + +func (x *SyncRun) GetSyncType() string { + if x != nil { + return x.xxx_hidden_SyncType + } + return "" +} + +func (x *SyncRun) GetParentSyncId() string { + if x != nil { + return x.xxx_hidden_ParentSyncId + } + return "" +} + +func (x *SyncRun) SetId(v string) { + x.xxx_hidden_Id = v +} + +func (x *SyncRun) SetStartedAt(v *timestamppb.Timestamp) { + x.xxx_hidden_StartedAt = v +} + +func (x *SyncRun) SetEndedAt(v *timestamppb.Timestamp) { + x.xxx_hidden_EndedAt = v +} + +func (x *SyncRun) SetSyncToken(v string) { + x.xxx_hidden_SyncToken = v +} + +func (x *SyncRun) SetSyncType(v string) { + x.xxx_hidden_SyncType = v +} + +func (x *SyncRun) SetParentSyncId(v string) { + x.xxx_hidden_ParentSyncId = v +} + +func (x *SyncRun) HasStartedAt() bool { + if x == nil { + return false + } + return x.xxx_hidden_StartedAt != nil +} + +func (x *SyncRun) HasEndedAt() bool { + if x == nil { + return false + } + return x.xxx_hidden_EndedAt != nil +} + +func (x *SyncRun) ClearStartedAt() { + x.xxx_hidden_StartedAt = nil +} + +func (x *SyncRun) ClearEndedAt() { + x.xxx_hidden_EndedAt = nil +} + +type SyncRun_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Id string + StartedAt *timestamppb.Timestamp + EndedAt *timestamppb.Timestamp + SyncToken string + SyncType string + ParentSyncId string +} + +func (b0 SyncRun_builder) Build() *SyncRun { + m0 := &SyncRun{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Id = b.Id + x.xxx_hidden_StartedAt = b.StartedAt + x.xxx_hidden_EndedAt = b.EndedAt + x.xxx_hidden_SyncToken = b.SyncToken + x.xxx_hidden_SyncType = b.SyncType + x.xxx_hidden_ParentSyncId = b.ParentSyncId + return m0 +} + +type SyncsReaderServiceGetSyncRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_SyncId string `protobuf:"bytes,1,opt,name=sync_id,json=syncId,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SyncsReaderServiceGetSyncRequest) Reset() { + *x = SyncsReaderServiceGetSyncRequest{} + mi := &file_c1_reader_v2_sync_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SyncsReaderServiceGetSyncRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncsReaderServiceGetSyncRequest) ProtoMessage() {} + +func (x *SyncsReaderServiceGetSyncRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_sync_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) +} + +func (x *SyncsReaderServiceGetSyncRequest) GetSyncId() string { + if x != nil { + return x.xxx_hidden_SyncId + } + return "" +} + +func (x *SyncsReaderServiceGetSyncRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *SyncsReaderServiceGetSyncRequest) SetSyncId(v string) { + x.xxx_hidden_SyncId = v +} + +func (x *SyncsReaderServiceGetSyncRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type SyncsReaderServiceGetSyncRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SyncId string + Annotations []*anypb.Any +} + +func (b0 SyncsReaderServiceGetSyncRequest_builder) Build() *SyncsReaderServiceGetSyncRequest { + m0 := &SyncsReaderServiceGetSyncRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_SyncId = b.SyncId + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type SyncsReaderServiceGetSyncResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Sync *SyncRun `protobuf:"bytes,1,opt,name=sync,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SyncsReaderServiceGetSyncResponse) Reset() { + *x = SyncsReaderServiceGetSyncResponse{} + mi := &file_c1_reader_v2_sync_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SyncsReaderServiceGetSyncResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncsReaderServiceGetSyncResponse) ProtoMessage() {} + +func (x *SyncsReaderServiceGetSyncResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_sync_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) +} + +func (x *SyncsReaderServiceGetSyncResponse) GetSync() *SyncRun { + if x != nil { + return x.xxx_hidden_Sync + } + return nil +} + +func (x *SyncsReaderServiceGetSyncResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *SyncsReaderServiceGetSyncResponse) SetSync(v *SyncRun) { + x.xxx_hidden_Sync = v +} + +func (x *SyncsReaderServiceGetSyncResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *SyncsReaderServiceGetSyncResponse) HasSync() bool { + if x == nil { + return false + } + return x.xxx_hidden_Sync != nil +} + +func (x *SyncsReaderServiceGetSyncResponse) ClearSync() { + x.xxx_hidden_Sync = nil +} + +type SyncsReaderServiceGetSyncResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Sync *SyncRun + Annotations []*anypb.Any +} + +func (b0 SyncsReaderServiceGetSyncResponse_builder) Build() *SyncsReaderServiceGetSyncResponse { + m0 := &SyncsReaderServiceGetSyncResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Sync = b.Sync + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type SyncsReaderServiceListSyncsRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_PageSize uint32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3"` + xxx_hidden_PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SyncsReaderServiceListSyncsRequest) Reset() { + *x = SyncsReaderServiceListSyncsRequest{} + mi := &file_c1_reader_v2_sync_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SyncsReaderServiceListSyncsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncsReaderServiceListSyncsRequest) ProtoMessage() {} + +func (x *SyncsReaderServiceListSyncsRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_sync_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) +} + +func (x *SyncsReaderServiceListSyncsRequest) GetPageSize() uint32 { + if x != nil { + return x.xxx_hidden_PageSize + } + return 0 +} + +func (x *SyncsReaderServiceListSyncsRequest) GetPageToken() string { + if x != nil { + return x.xxx_hidden_PageToken + } + return "" +} + +func (x *SyncsReaderServiceListSyncsRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *SyncsReaderServiceListSyncsRequest) SetPageSize(v uint32) { + x.xxx_hidden_PageSize = v +} + +func (x *SyncsReaderServiceListSyncsRequest) SetPageToken(v string) { + x.xxx_hidden_PageToken = v +} + +func (x *SyncsReaderServiceListSyncsRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type SyncsReaderServiceListSyncsRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + PageSize uint32 + PageToken string + Annotations []*anypb.Any +} + +func (b0 SyncsReaderServiceListSyncsRequest_builder) Build() *SyncsReaderServiceListSyncsRequest { + m0 := &SyncsReaderServiceListSyncsRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_PageSize = b.PageSize + x.xxx_hidden_PageToken = b.PageToken + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type SyncsReaderServiceListSyncsResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Syncs *[]*SyncRun `protobuf:"bytes,1,rep,name=syncs,proto3"` + xxx_hidden_NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SyncsReaderServiceListSyncsResponse) Reset() { + *x = SyncsReaderServiceListSyncsResponse{} + mi := &file_c1_reader_v2_sync_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SyncsReaderServiceListSyncsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncsReaderServiceListSyncsResponse) ProtoMessage() {} + +func (x *SyncsReaderServiceListSyncsResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_sync_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *SyncsReaderServiceListSyncsResponse) GetSyncs() []*SyncRun { + if x != nil { + if x.xxx_hidden_Syncs != nil { + return *x.xxx_hidden_Syncs + } + } + return nil +} + +func (x *SyncsReaderServiceListSyncsResponse) GetNextPageToken() string { + if x != nil { + return x.xxx_hidden_NextPageToken + } + return "" +} + +func (x *SyncsReaderServiceListSyncsResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *SyncsReaderServiceListSyncsResponse) SetSyncs(v []*SyncRun) { + x.xxx_hidden_Syncs = &v +} + +func (x *SyncsReaderServiceListSyncsResponse) SetNextPageToken(v string) { + x.xxx_hidden_NextPageToken = v +} + +func (x *SyncsReaderServiceListSyncsResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +type SyncsReaderServiceListSyncsResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Syncs []*SyncRun + NextPageToken string + Annotations []*anypb.Any +} + +func (b0 SyncsReaderServiceListSyncsResponse_builder) Build() *SyncsReaderServiceListSyncsResponse { + m0 := &SyncsReaderServiceListSyncsResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Syncs = &b.Syncs + x.xxx_hidden_NextPageToken = b.NextPageToken + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +type SyncsReaderServiceGetLatestFinishedSyncRequest struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3"` + xxx_hidden_SyncType string `protobuf:"bytes,2,opt,name=sync_type,json=syncType,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SyncsReaderServiceGetLatestFinishedSyncRequest) Reset() { + *x = SyncsReaderServiceGetLatestFinishedSyncRequest{} + mi := &file_c1_reader_v2_sync_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SyncsReaderServiceGetLatestFinishedSyncRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncsReaderServiceGetLatestFinishedSyncRequest) ProtoMessage() {} + +func (x *SyncsReaderServiceGetLatestFinishedSyncRequest) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_sync_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *SyncsReaderServiceGetLatestFinishedSyncRequest) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *SyncsReaderServiceGetLatestFinishedSyncRequest) GetSyncType() string { + if x != nil { + return x.xxx_hidden_SyncType + } + return "" +} + +func (x *SyncsReaderServiceGetLatestFinishedSyncRequest) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *SyncsReaderServiceGetLatestFinishedSyncRequest) SetSyncType(v string) { + x.xxx_hidden_SyncType = v +} + +type SyncsReaderServiceGetLatestFinishedSyncRequest_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Annotations []*anypb.Any + SyncType string +} + +func (b0 SyncsReaderServiceGetLatestFinishedSyncRequest_builder) Build() *SyncsReaderServiceGetLatestFinishedSyncRequest { + m0 := &SyncsReaderServiceGetLatestFinishedSyncRequest{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Annotations = &b.Annotations + x.xxx_hidden_SyncType = b.SyncType + return m0 +} + +type SyncsReaderServiceGetLatestFinishedSyncResponse struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Sync *SyncRun `protobuf:"bytes,1,opt,name=sync,proto3"` + xxx_hidden_Annotations *[]*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SyncsReaderServiceGetLatestFinishedSyncResponse) Reset() { + *x = SyncsReaderServiceGetLatestFinishedSyncResponse{} + mi := &file_c1_reader_v2_sync_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SyncsReaderServiceGetLatestFinishedSyncResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncsReaderServiceGetLatestFinishedSyncResponse) ProtoMessage() {} + +func (x *SyncsReaderServiceGetLatestFinishedSyncResponse) ProtoReflect() protoreflect.Message { + mi := &file_c1_reader_v2_sync_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *SyncsReaderServiceGetLatestFinishedSyncResponse) GetSync() *SyncRun { + if x != nil { + return x.xxx_hidden_Sync + } + return nil +} + +func (x *SyncsReaderServiceGetLatestFinishedSyncResponse) GetAnnotations() []*anypb.Any { + if x != nil { + if x.xxx_hidden_Annotations != nil { + return *x.xxx_hidden_Annotations + } + } + return nil +} + +func (x *SyncsReaderServiceGetLatestFinishedSyncResponse) SetSync(v *SyncRun) { + x.xxx_hidden_Sync = v +} + +func (x *SyncsReaderServiceGetLatestFinishedSyncResponse) SetAnnotations(v []*anypb.Any) { + x.xxx_hidden_Annotations = &v +} + +func (x *SyncsReaderServiceGetLatestFinishedSyncResponse) HasSync() bool { + if x == nil { + return false + } + return x.xxx_hidden_Sync != nil +} + +func (x *SyncsReaderServiceGetLatestFinishedSyncResponse) ClearSync() { + x.xxx_hidden_Sync = nil +} + +type SyncsReaderServiceGetLatestFinishedSyncResponse_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Sync *SyncRun + Annotations []*anypb.Any +} + +func (b0 SyncsReaderServiceGetLatestFinishedSyncResponse_builder) Build() *SyncsReaderServiceGetLatestFinishedSyncResponse { + m0 := &SyncsReaderServiceGetLatestFinishedSyncResponse{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Sync = b.Sync + x.xxx_hidden_Annotations = &b.Annotations + return m0 +} + +var File_c1_reader_v2_sync_proto protoreflect.FileDescriptor + +const file_c1_reader_v2_sync_proto_rawDesc = "" + + "\n" + + "\x17c1/reader/v2/sync.proto\x12\fc1.reader.v2\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17validate/validate.proto\"\xed\x01\n" + + "\aSyncRun\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x129\n" + + "\n" + + "started_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x125\n" + + "\bended_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\aendedAt\x12\x1d\n" + + "\n" + + "sync_token\x18\x04 \x01(\tR\tsyncToken\x12\x1b\n" + + "\tsync_type\x18\x05 \x01(\tR\bsyncType\x12$\n" + + "\x0eparent_sync_id\x18\x06 \x01(\tR\fparentSyncId\"s\n" + + " SyncsReaderServiceGetSyncRequest\x12\x17\n" + + "\async_id\x18\x01 \x01(\tR\x06syncId\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x86\x01\n" + + "!SyncsReaderServiceGetSyncResponse\x12)\n" + + "\x04sync\x18\x01 \x01(\v2\x15.c1.reader.v2.SyncRunR\x04sync\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xb3\x01\n" + + "\"SyncsReaderServiceListSyncsRequest\x12'\n" + + "\tpage_size\x18\x01 \x01(\rB\n" + + "\xfaB\a*\x05\x18\xfa\x01@\x01R\bpageSize\x12,\n" + + "\n" + + "page_token\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\x10\xd0\x01\x01R\tpageToken\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\xc1\x01\n" + + "#SyncsReaderServiceListSyncsResponse\x12+\n" + + "\x05syncs\x18\x01 \x03(\v2\x15.c1.reader.v2.SyncRunR\x05syncs\x125\n" + + "\x0fnext_page_token\x18\x02 \x01(\tB\r\xfaB\n" + + "r\b \x01(\x80\x10\xd0\x01\x01R\rnextPageToken\x126\n" + + "\vannotations\x18\x03 \x03(\v2\x14.google.protobuf.AnyR\vannotations\"\x85\x01\n" + + ".SyncsReaderServiceGetLatestFinishedSyncRequest\x126\n" + + "\vannotations\x18\x01 \x03(\v2\x14.google.protobuf.AnyR\vannotations\x12\x1b\n" + + "\tsync_type\x18\x02 \x01(\tR\bsyncType\"\x94\x01\n" + + "/SyncsReaderServiceGetLatestFinishedSyncResponse\x12)\n" + + "\x04sync\x18\x01 \x01(\v2\x15.c1.reader.v2.SyncRunR\x04sync\x126\n" + + "\vannotations\x18\x02 \x03(\v2\x14.google.protobuf.AnyR\vannotations2\x89\x03\n" + + "\x12SyncsReaderService\x12j\n" + + "\aGetSync\x12..c1.reader.v2.SyncsReaderServiceGetSyncRequest\x1a/.c1.reader.v2.SyncsReaderServiceGetSyncResponse\x12p\n" + + "\tListSyncs\x120.c1.reader.v2.SyncsReaderServiceListSyncsRequest\x1a1.c1.reader.v2.SyncsReaderServiceListSyncsResponse\x12\x94\x01\n" + + "\x15GetLatestFinishedSync\x12<.c1.reader.v2.SyncsReaderServiceGetLatestFinishedSyncRequest\x1a=.c1.reader.v2.SyncsReaderServiceGetLatestFinishedSyncResponseB3Z1github.com/conductorone/baton-sdk/pb/c1/reader/v2b\x06proto3" + +var file_c1_reader_v2_sync_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_c1_reader_v2_sync_proto_goTypes = []any{ + (*SyncRun)(nil), // 0: c1.reader.v2.SyncRun + (*SyncsReaderServiceGetSyncRequest)(nil), // 1: c1.reader.v2.SyncsReaderServiceGetSyncRequest + (*SyncsReaderServiceGetSyncResponse)(nil), // 2: c1.reader.v2.SyncsReaderServiceGetSyncResponse + (*SyncsReaderServiceListSyncsRequest)(nil), // 3: c1.reader.v2.SyncsReaderServiceListSyncsRequest + (*SyncsReaderServiceListSyncsResponse)(nil), // 4: c1.reader.v2.SyncsReaderServiceListSyncsResponse + (*SyncsReaderServiceGetLatestFinishedSyncRequest)(nil), // 5: c1.reader.v2.SyncsReaderServiceGetLatestFinishedSyncRequest + (*SyncsReaderServiceGetLatestFinishedSyncResponse)(nil), // 6: c1.reader.v2.SyncsReaderServiceGetLatestFinishedSyncResponse + (*timestamppb.Timestamp)(nil), // 7: google.protobuf.Timestamp + (*anypb.Any)(nil), // 8: google.protobuf.Any +} +var file_c1_reader_v2_sync_proto_depIdxs = []int32{ + 7, // 0: c1.reader.v2.SyncRun.started_at:type_name -> google.protobuf.Timestamp + 7, // 1: c1.reader.v2.SyncRun.ended_at:type_name -> google.protobuf.Timestamp + 8, // 2: c1.reader.v2.SyncsReaderServiceGetSyncRequest.annotations:type_name -> google.protobuf.Any + 0, // 3: c1.reader.v2.SyncsReaderServiceGetSyncResponse.sync:type_name -> c1.reader.v2.SyncRun + 8, // 4: c1.reader.v2.SyncsReaderServiceGetSyncResponse.annotations:type_name -> google.protobuf.Any + 8, // 5: c1.reader.v2.SyncsReaderServiceListSyncsRequest.annotations:type_name -> google.protobuf.Any + 0, // 6: c1.reader.v2.SyncsReaderServiceListSyncsResponse.syncs:type_name -> c1.reader.v2.SyncRun + 8, // 7: c1.reader.v2.SyncsReaderServiceListSyncsResponse.annotations:type_name -> google.protobuf.Any + 8, // 8: c1.reader.v2.SyncsReaderServiceGetLatestFinishedSyncRequest.annotations:type_name -> google.protobuf.Any + 0, // 9: c1.reader.v2.SyncsReaderServiceGetLatestFinishedSyncResponse.sync:type_name -> c1.reader.v2.SyncRun + 8, // 10: c1.reader.v2.SyncsReaderServiceGetLatestFinishedSyncResponse.annotations:type_name -> google.protobuf.Any + 1, // 11: c1.reader.v2.SyncsReaderService.GetSync:input_type -> c1.reader.v2.SyncsReaderServiceGetSyncRequest + 3, // 12: c1.reader.v2.SyncsReaderService.ListSyncs:input_type -> c1.reader.v2.SyncsReaderServiceListSyncsRequest + 5, // 13: c1.reader.v2.SyncsReaderService.GetLatestFinishedSync:input_type -> c1.reader.v2.SyncsReaderServiceGetLatestFinishedSyncRequest + 2, // 14: c1.reader.v2.SyncsReaderService.GetSync:output_type -> c1.reader.v2.SyncsReaderServiceGetSyncResponse + 4, // 15: c1.reader.v2.SyncsReaderService.ListSyncs:output_type -> c1.reader.v2.SyncsReaderServiceListSyncsResponse + 6, // 16: c1.reader.v2.SyncsReaderService.GetLatestFinishedSync:output_type -> c1.reader.v2.SyncsReaderServiceGetLatestFinishedSyncResponse + 14, // [14:17] is the sub-list for method output_type + 11, // [11:14] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_c1_reader_v2_sync_proto_init() } +func file_c1_reader_v2_sync_proto_init() { + if File_c1_reader_v2_sync_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_reader_v2_sync_proto_rawDesc), len(file_c1_reader_v2_sync_proto_rawDesc)), + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_c1_reader_v2_sync_proto_goTypes, + DependencyIndexes: file_c1_reader_v2_sync_proto_depIdxs, + MessageInfos: file_c1_reader_v2_sync_proto_msgTypes, + }.Build() + File_c1_reader_v2_sync_proto = out.File + file_c1_reader_v2_sync_proto_goTypes = nil + file_c1_reader_v2_sync_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/transport/v1/transport.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/transport/v1/transport.pb.go index a899c5f6..a2643683 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/transport/v1/transport.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/transport/v1/transport.pb.go @@ -1,9 +1,11 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/transport/v1/transport.proto +//go:build !protoopaque + package v1 import ( @@ -12,7 +14,6 @@ import ( anypb "google.golang.org/protobuf/types/known/anypb" structpb "google.golang.org/protobuf/types/known/structpb" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -24,7 +25,7 @@ const ( ) type Request struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"` Req *anypb.Any `protobuf:"bytes,2,opt,name=req,proto3" json:"req,omitempty"` Headers *structpb.Struct `protobuf:"bytes,3,opt,name=headers,proto3" json:"headers,omitempty"` @@ -57,11 +58,6 @@ func (x *Request) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Request.ProtoReflect.Descriptor instead. -func (*Request) Descriptor() ([]byte, []int) { - return file_c1_transport_v1_transport_proto_rawDescGZIP(), []int{0} -} - func (x *Request) GetMethod() string { if x != nil { return x.Method @@ -83,8 +79,60 @@ func (x *Request) GetHeaders() *structpb.Struct { return nil } +func (x *Request) SetMethod(v string) { + x.Method = v +} + +func (x *Request) SetReq(v *anypb.Any) { + x.Req = v +} + +func (x *Request) SetHeaders(v *structpb.Struct) { + x.Headers = v +} + +func (x *Request) HasReq() bool { + if x == nil { + return false + } + return x.Req != nil +} + +func (x *Request) HasHeaders() bool { + if x == nil { + return false + } + return x.Headers != nil +} + +func (x *Request) ClearReq() { + x.Req = nil +} + +func (x *Request) ClearHeaders() { + x.Headers = nil +} + +type Request_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Method string + Req *anypb.Any + Headers *structpb.Struct +} + +func (b0 Request_builder) Build() *Request { + m0 := &Request{} + b, x := &b0, m0 + _, _ = b, x + x.Method = b.Method + x.Req = b.Req + x.Headers = b.Headers + return m0 +} + type Response struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` Resp *anypb.Any `protobuf:"bytes,1,opt,name=resp,proto3" json:"resp,omitempty"` Status *anypb.Any `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` Headers *structpb.Struct `protobuf:"bytes,3,opt,name=headers,proto3" json:"headers,omitempty"` @@ -118,11 +166,6 @@ func (x *Response) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Response.ProtoReflect.Descriptor instead. -func (*Response) Descriptor() ([]byte, []int) { - return file_c1_transport_v1_transport_proto_rawDescGZIP(), []int{1} -} - func (x *Response) GetResp() *anypb.Any { if x != nil { return x.Resp @@ -151,55 +194,101 @@ func (x *Response) GetTrailers() *structpb.Struct { return nil } -var File_c1_transport_v1_transport_proto protoreflect.FileDescriptor +func (x *Response) SetResp(v *anypb.Any) { + x.Resp = v +} -var file_c1_transport_v1_transport_proto_rawDesc = string([]byte{ - 0x0a, 0x1f, 0x63, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x76, - 0x31, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x0f, 0x63, 0x31, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2e, - 0x76, 0x31, 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, 0x1a, 0x1c, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a, 0x07, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x26, - 0x0a, 0x03, 0x72, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 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, 0x03, 0x72, 0x65, 0x71, 0x12, 0x31, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x73, 0x18, 0x03, 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, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0xca, 0x01, 0x0a, 0x08, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x72, 0x65, 0x73, 0x70, 0x18, 0x01, - 0x20, 0x01, 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, 0x04, 0x72, 0x65, 0x73, 0x70, - 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 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, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, - 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 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, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x73, 0x12, 0x33, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x73, 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, 0x08, 0x74, 0x72, - 0x61, 0x69, 0x6c, 0x65, 0x72, 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, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) - -var ( - file_c1_transport_v1_transport_proto_rawDescOnce sync.Once - file_c1_transport_v1_transport_proto_rawDescData []byte -) +func (x *Response) SetStatus(v *anypb.Any) { + x.Status = v +} -func file_c1_transport_v1_transport_proto_rawDescGZIP() []byte { - file_c1_transport_v1_transport_proto_rawDescOnce.Do(func() { - file_c1_transport_v1_transport_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_transport_v1_transport_proto_rawDesc), len(file_c1_transport_v1_transport_proto_rawDesc))) - }) - return file_c1_transport_v1_transport_proto_rawDescData +func (x *Response) SetHeaders(v *structpb.Struct) { + x.Headers = v } +func (x *Response) SetTrailers(v *structpb.Struct) { + x.Trailers = v +} + +func (x *Response) HasResp() bool { + if x == nil { + return false + } + return x.Resp != nil +} + +func (x *Response) HasStatus() bool { + if x == nil { + return false + } + return x.Status != nil +} + +func (x *Response) HasHeaders() bool { + if x == nil { + return false + } + return x.Headers != nil +} + +func (x *Response) HasTrailers() bool { + if x == nil { + return false + } + return x.Trailers != nil +} + +func (x *Response) ClearResp() { + x.Resp = nil +} + +func (x *Response) ClearStatus() { + x.Status = nil +} + +func (x *Response) ClearHeaders() { + x.Headers = nil +} + +func (x *Response) ClearTrailers() { + x.Trailers = nil +} + +type Response_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resp *anypb.Any + Status *anypb.Any + Headers *structpb.Struct + Trailers *structpb.Struct +} + +func (b0 Response_builder) Build() *Response { + m0 := &Response{} + b, x := &b0, m0 + _, _ = b, x + x.Resp = b.Resp + x.Status = b.Status + x.Headers = b.Headers + x.Trailers = b.Trailers + return m0 +} + +var File_c1_transport_v1_transport_proto protoreflect.FileDescriptor + +const file_c1_transport_v1_transport_proto_rawDesc = "" + + "\n" + + "\x1fc1/transport/v1/transport.proto\x12\x0fc1.transport.v1\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\"|\n" + + "\aRequest\x12\x16\n" + + "\x06method\x18\x01 \x01(\tR\x06method\x12&\n" + + "\x03req\x18\x02 \x01(\v2\x14.google.protobuf.AnyR\x03req\x121\n" + + "\aheaders\x18\x03 \x01(\v2\x17.google.protobuf.StructR\aheaders\"\xca\x01\n" + + "\bResponse\x12(\n" + + "\x04resp\x18\x01 \x01(\v2\x14.google.protobuf.AnyR\x04resp\x12,\n" + + "\x06status\x18\x02 \x01(\v2\x14.google.protobuf.AnyR\x06status\x121\n" + + "\aheaders\x18\x03 \x01(\v2\x17.google.protobuf.StructR\aheaders\x123\n" + + "\btrailers\x18\x04 \x01(\v2\x17.google.protobuf.StructR\btrailersB6Z4github.com/conductorone/baton-sdk/pb/c1/transport/v1b\x06proto3" + var file_c1_transport_v1_transport_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_c1_transport_v1_transport_proto_goTypes = []any{ (*Request)(nil), // 0: c1.transport.v1.Request diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/transport/v1/transport.proto b/vendor/github.com/conductorone/baton-sdk/pb/c1/transport/v1/transport.proto deleted file mode 100644 index 94efa33c..00000000 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/transport/v1/transport.proto +++ /dev/null @@ -1,22 +0,0 @@ -syntax = "proto3"; - -package c1.svc.transport.v1; - -import "google/protobuf/struct.proto"; -import "google/protobuf/any.proto"; - - -option go_package = "github.com/conductorone/baton-sdk/pb/c1/transport/v1"; - -message Request { - string method = 1; - google.protobuf.Any req = 2; - google.protobuf.Struct headers = 3; -} - -message Response { - google.protobuf.Any resp = 1; - google.protobuf.Any status = 2; - google.protobuf.Struct headers = 3; - google.protobuf.Struct trailers = 4; -} \ No newline at end of file diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/transport/v1/transport_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/transport/v1/transport_protoopaque.pb.go new file mode 100644 index 00000000..07b8ca04 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/transport/v1/transport_protoopaque.pb.go @@ -0,0 +1,335 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/transport/v1/transport.proto + +//go:build protoopaque + +package v1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + structpb "google.golang.org/protobuf/types/known/structpb" + reflect "reflect" + 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) +) + +type Request struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Method string `protobuf:"bytes,1,opt,name=method,proto3"` + xxx_hidden_Req *anypb.Any `protobuf:"bytes,2,opt,name=req,proto3"` + xxx_hidden_Headers *structpb.Struct `protobuf:"bytes,3,opt,name=headers,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Request) Reset() { + *x = Request{} + mi := &file_c1_transport_v1_transport_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Request) ProtoMessage() {} + +func (x *Request) ProtoReflect() protoreflect.Message { + mi := &file_c1_transport_v1_transport_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) +} + +func (x *Request) GetMethod() string { + if x != nil { + return x.xxx_hidden_Method + } + return "" +} + +func (x *Request) GetReq() *anypb.Any { + if x != nil { + return x.xxx_hidden_Req + } + return nil +} + +func (x *Request) GetHeaders() *structpb.Struct { + if x != nil { + return x.xxx_hidden_Headers + } + return nil +} + +func (x *Request) SetMethod(v string) { + x.xxx_hidden_Method = v +} + +func (x *Request) SetReq(v *anypb.Any) { + x.xxx_hidden_Req = v +} + +func (x *Request) SetHeaders(v *structpb.Struct) { + x.xxx_hidden_Headers = v +} + +func (x *Request) HasReq() bool { + if x == nil { + return false + } + return x.xxx_hidden_Req != nil +} + +func (x *Request) HasHeaders() bool { + if x == nil { + return false + } + return x.xxx_hidden_Headers != nil +} + +func (x *Request) ClearReq() { + x.xxx_hidden_Req = nil +} + +func (x *Request) ClearHeaders() { + x.xxx_hidden_Headers = nil +} + +type Request_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Method string + Req *anypb.Any + Headers *structpb.Struct +} + +func (b0 Request_builder) Build() *Request { + m0 := &Request{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Method = b.Method + x.xxx_hidden_Req = b.Req + x.xxx_hidden_Headers = b.Headers + return m0 +} + +type Response struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Resp *anypb.Any `protobuf:"bytes,1,opt,name=resp,proto3"` + xxx_hidden_Status *anypb.Any `protobuf:"bytes,2,opt,name=status,proto3"` + xxx_hidden_Headers *structpb.Struct `protobuf:"bytes,3,opt,name=headers,proto3"` + xxx_hidden_Trailers *structpb.Struct `protobuf:"bytes,4,opt,name=trailers,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Response) Reset() { + *x = Response{} + mi := &file_c1_transport_v1_transport_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Response) ProtoMessage() {} + +func (x *Response) ProtoReflect() protoreflect.Message { + mi := &file_c1_transport_v1_transport_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) +} + +func (x *Response) GetResp() *anypb.Any { + if x != nil { + return x.xxx_hidden_Resp + } + return nil +} + +func (x *Response) GetStatus() *anypb.Any { + if x != nil { + return x.xxx_hidden_Status + } + return nil +} + +func (x *Response) GetHeaders() *structpb.Struct { + if x != nil { + return x.xxx_hidden_Headers + } + return nil +} + +func (x *Response) GetTrailers() *structpb.Struct { + if x != nil { + return x.xxx_hidden_Trailers + } + return nil +} + +func (x *Response) SetResp(v *anypb.Any) { + x.xxx_hidden_Resp = v +} + +func (x *Response) SetStatus(v *anypb.Any) { + x.xxx_hidden_Status = v +} + +func (x *Response) SetHeaders(v *structpb.Struct) { + x.xxx_hidden_Headers = v +} + +func (x *Response) SetTrailers(v *structpb.Struct) { + x.xxx_hidden_Trailers = v +} + +func (x *Response) HasResp() bool { + if x == nil { + return false + } + return x.xxx_hidden_Resp != nil +} + +func (x *Response) HasStatus() bool { + if x == nil { + return false + } + return x.xxx_hidden_Status != nil +} + +func (x *Response) HasHeaders() bool { + if x == nil { + return false + } + return x.xxx_hidden_Headers != nil +} + +func (x *Response) HasTrailers() bool { + if x == nil { + return false + } + return x.xxx_hidden_Trailers != nil +} + +func (x *Response) ClearResp() { + x.xxx_hidden_Resp = nil +} + +func (x *Response) ClearStatus() { + x.xxx_hidden_Status = nil +} + +func (x *Response) ClearHeaders() { + x.xxx_hidden_Headers = nil +} + +func (x *Response) ClearTrailers() { + x.xxx_hidden_Trailers = nil +} + +type Response_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + Resp *anypb.Any + Status *anypb.Any + Headers *structpb.Struct + Trailers *structpb.Struct +} + +func (b0 Response_builder) Build() *Response { + m0 := &Response{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Resp = b.Resp + x.xxx_hidden_Status = b.Status + x.xxx_hidden_Headers = b.Headers + x.xxx_hidden_Trailers = b.Trailers + return m0 +} + +var File_c1_transport_v1_transport_proto protoreflect.FileDescriptor + +const file_c1_transport_v1_transport_proto_rawDesc = "" + + "\n" + + "\x1fc1/transport/v1/transport.proto\x12\x0fc1.transport.v1\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\"|\n" + + "\aRequest\x12\x16\n" + + "\x06method\x18\x01 \x01(\tR\x06method\x12&\n" + + "\x03req\x18\x02 \x01(\v2\x14.google.protobuf.AnyR\x03req\x121\n" + + "\aheaders\x18\x03 \x01(\v2\x17.google.protobuf.StructR\aheaders\"\xca\x01\n" + + "\bResponse\x12(\n" + + "\x04resp\x18\x01 \x01(\v2\x14.google.protobuf.AnyR\x04resp\x12,\n" + + "\x06status\x18\x02 \x01(\v2\x14.google.protobuf.AnyR\x06status\x121\n" + + "\aheaders\x18\x03 \x01(\v2\x17.google.protobuf.StructR\aheaders\x123\n" + + "\btrailers\x18\x04 \x01(\v2\x17.google.protobuf.StructR\btrailersB6Z4github.com/conductorone/baton-sdk/pb/c1/transport/v1b\x06proto3" + +var file_c1_transport_v1_transport_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_c1_transport_v1_transport_proto_goTypes = []any{ + (*Request)(nil), // 0: c1.transport.v1.Request + (*Response)(nil), // 1: c1.transport.v1.Response + (*anypb.Any)(nil), // 2: google.protobuf.Any + (*structpb.Struct)(nil), // 3: google.protobuf.Struct +} +var file_c1_transport_v1_transport_proto_depIdxs = []int32{ + 2, // 0: c1.transport.v1.Request.req:type_name -> google.protobuf.Any + 3, // 1: c1.transport.v1.Request.headers:type_name -> google.protobuf.Struct + 2, // 2: c1.transport.v1.Response.resp:type_name -> google.protobuf.Any + 2, // 3: c1.transport.v1.Response.status:type_name -> google.protobuf.Any + 3, // 4: c1.transport.v1.Response.headers:type_name -> google.protobuf.Struct + 3, // 5: c1.transport.v1.Response.trailers:type_name -> google.protobuf.Struct + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_c1_transport_v1_transport_proto_init() } +func file_c1_transport_v1_transport_proto_init() { + if File_c1_transport_v1_transport_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_transport_v1_transport_proto_rawDesc), len(file_c1_transport_v1_transport_proto_rawDesc)), + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_transport_v1_transport_proto_goTypes, + DependencyIndexes: file_c1_transport_v1_transport_proto_depIdxs, + MessageInfos: file_c1_transport_v1_transport_proto_msgTypes, + }.Build() + File_c1_transport_v1_transport_proto = out.File + file_c1_transport_v1_transport_proto_goTypes = nil + file_c1_transport_v1_transport_proto_depIdxs = nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/utls/v1/tls.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/utls/v1/tls.pb.go index fcfe5b8c..b9c28da5 100644 --- a/vendor/github.com/conductorone/baton-sdk/pb/c1/utls/v1/tls.pb.go +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/utls/v1/tls.pb.go @@ -1,16 +1,17 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.4 +// protoc-gen-go v1.36.10 // protoc (unknown) // source: c1/utls/v1/tls.proto +//go:build !protoopaque + package v1 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" - sync "sync" unsafe "unsafe" ) @@ -22,7 +23,7 @@ const ( ) type Credential struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState `protogen:"hybrid.v1"` CaCert []byte `protobuf:"bytes,1,opt,name=ca_cert,json=caCert,proto3" json:"ca_cert,omitempty"` Key []byte `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` Cert []byte `protobuf:"bytes,3,opt,name=cert,proto3" json:"cert,omitempty"` @@ -55,11 +56,6 @@ func (x *Credential) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Credential.ProtoReflect.Descriptor instead. -func (*Credential) Descriptor() ([]byte, []int) { - return file_c1_utls_v1_tls_proto_rawDescGZIP(), []int{0} -} - func (x *Credential) GetCaCert() []byte { if x != nil { return x.CaCert @@ -81,34 +77,57 @@ func (x *Credential) GetCert() []byte { return nil } -var File_c1_utls_v1_tls_proto protoreflect.FileDescriptor +func (x *Credential) SetCaCert(v []byte) { + if v == nil { + v = []byte{} + } + x.CaCert = v +} -var file_c1_utls_v1_tls_proto_rawDesc = string([]byte{ - 0x0a, 0x14, 0x63, 0x31, 0x2f, 0x75, 0x74, 0x6c, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6c, 0x73, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x63, 0x31, 0x2e, 0x75, 0x74, 0x6c, 0x73, 0x2e, - 0x76, 0x31, 0x22, 0x4b, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x06, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x63, - 0x65, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x63, 0x65, 0x72, 0x74, 0x42, - 0x31, 0x5a, 0x2f, 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, 0x75, 0x74, 0x6c, 0x73, 0x2f, - 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -}) - -var ( - file_c1_utls_v1_tls_proto_rawDescOnce sync.Once - file_c1_utls_v1_tls_proto_rawDescData []byte -) +func (x *Credential) SetKey(v []byte) { + if v == nil { + v = []byte{} + } + x.Key = v +} -func file_c1_utls_v1_tls_proto_rawDescGZIP() []byte { - file_c1_utls_v1_tls_proto_rawDescOnce.Do(func() { - file_c1_utls_v1_tls_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_utls_v1_tls_proto_rawDesc), len(file_c1_utls_v1_tls_proto_rawDesc))) - }) - return file_c1_utls_v1_tls_proto_rawDescData +func (x *Credential) SetCert(v []byte) { + if v == nil { + v = []byte{} + } + x.Cert = v } +type Credential_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + CaCert []byte + Key []byte + Cert []byte +} + +func (b0 Credential_builder) Build() *Credential { + m0 := &Credential{} + b, x := &b0, m0 + _, _ = b, x + x.CaCert = b.CaCert + x.Key = b.Key + x.Cert = b.Cert + return m0 +} + +var File_c1_utls_v1_tls_proto protoreflect.FileDescriptor + +const file_c1_utls_v1_tls_proto_rawDesc = "" + + "\n" + + "\x14c1/utls/v1/tls.proto\x12\n" + + "c1.utls.v1\"K\n" + + "\n" + + "Credential\x12\x17\n" + + "\aca_cert\x18\x01 \x01(\fR\x06caCert\x12\x10\n" + + "\x03key\x18\x02 \x01(\fR\x03key\x12\x12\n" + + "\x04cert\x18\x03 \x01(\fR\x04certB1Z/github.com/conductorone/baton-sdk/pb/c1/utls/v1b\x06proto3" + var file_c1_utls_v1_tls_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_c1_utls_v1_tls_proto_goTypes = []any{ (*Credential)(nil), // 0: c1.utls.v1.Credential diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/utls/v1/tls_protoopaque.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/utls/v1/tls_protoopaque.pb.go new file mode 100644 index 00000000..aace2723 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/utls/v1/tls_protoopaque.pb.go @@ -0,0 +1,165 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc (unknown) +// source: c1/utls/v1/tls.proto + +//go:build protoopaque + +package v1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + 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) +) + +type Credential struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_CaCert []byte `protobuf:"bytes,1,opt,name=ca_cert,json=caCert,proto3"` + xxx_hidden_Key []byte `protobuf:"bytes,2,opt,name=key,proto3"` + xxx_hidden_Cert []byte `protobuf:"bytes,3,opt,name=cert,proto3"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Credential) Reset() { + *x = Credential{} + mi := &file_c1_utls_v1_tls_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Credential) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Credential) ProtoMessage() {} + +func (x *Credential) ProtoReflect() protoreflect.Message { + mi := &file_c1_utls_v1_tls_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) +} + +func (x *Credential) GetCaCert() []byte { + if x != nil { + return x.xxx_hidden_CaCert + } + return nil +} + +func (x *Credential) GetKey() []byte { + if x != nil { + return x.xxx_hidden_Key + } + return nil +} + +func (x *Credential) GetCert() []byte { + if x != nil { + return x.xxx_hidden_Cert + } + return nil +} + +func (x *Credential) SetCaCert(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_CaCert = v +} + +func (x *Credential) SetKey(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_Key = v +} + +func (x *Credential) SetCert(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_Cert = v +} + +type Credential_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + CaCert []byte + Key []byte + Cert []byte +} + +func (b0 Credential_builder) Build() *Credential { + m0 := &Credential{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_CaCert = b.CaCert + x.xxx_hidden_Key = b.Key + x.xxx_hidden_Cert = b.Cert + return m0 +} + +var File_c1_utls_v1_tls_proto protoreflect.FileDescriptor + +const file_c1_utls_v1_tls_proto_rawDesc = "" + + "\n" + + "\x14c1/utls/v1/tls.proto\x12\n" + + "c1.utls.v1\"K\n" + + "\n" + + "Credential\x12\x17\n" + + "\aca_cert\x18\x01 \x01(\fR\x06caCert\x12\x10\n" + + "\x03key\x18\x02 \x01(\fR\x03key\x12\x12\n" + + "\x04cert\x18\x03 \x01(\fR\x04certB1Z/github.com/conductorone/baton-sdk/pb/c1/utls/v1b\x06proto3" + +var file_c1_utls_v1_tls_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_c1_utls_v1_tls_proto_goTypes = []any{ + (*Credential)(nil), // 0: c1.utls.v1.Credential +} +var file_c1_utls_v1_tls_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_utls_v1_tls_proto_init() } +func file_c1_utls_v1_tls_proto_init() { + if File_c1_utls_v1_tls_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_utls_v1_tls_proto_rawDesc), len(file_c1_utls_v1_tls_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_c1_utls_v1_tls_proto_goTypes, + DependencyIndexes: file_c1_utls_v1_tls_proto_depIdxs, + MessageInfos: file_c1_utls_v1_tls_proto_msgTypes, + }.Build() + File_c1_utls_v1_tls_proto = out.File + file_c1_utls_v1_tls_proto_goTypes = nil + file_c1_utls_v1_tls_proto_depIdxs = nil +} 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..64a3004b 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) diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/bid/bid.go b/vendor/github.com/conductorone/baton-sdk/pkg/bid/bid.go index bf639b78..cd24e2cd 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/bid/bid.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/bid/bid.go @@ -132,8 +132,11 @@ func resourcePartToStr(r *v2.Resource) (string, error) { } resourceType := escapeParts(rid.GetResourceType()) resource := escapeParts(rid.GetResource()) - if resourceType == "" || resource == "" { - return "", NewBidStringError(r, "resource type or id is empty") + if resourceType == "" { + return "", NewBidStringError(r, "resource type is empty") + } + if resource == "" { + return "", NewBidStringError(r, "resource id is empty") } prid := r.GetParentResourceId() if prid == nil { @@ -150,15 +153,15 @@ func resourcePartToStr(r *v2.Resource) (string, error) { } func entitlementPartToStr(e *v2.Entitlement) (string, error) { - resourcePart, err := resourcePartToStr(e.Resource) + resourcePart, err := resourcePartToStr(e.GetResource()) if err != nil { return "", err } - if e.Slug == "" { + if e.GetSlug() == "" { return "", NewBidStringError(e, "entitlement slug is empty") } - return strings.Join([]string{resourcePart, escapeParts(e.Slug)}, ":"), nil + return strings.Join([]string{resourcePart, escapeParts(e.GetSlug())}, ":"), nil } func makeResourceBid(r *v2.Resource) (string, error) { @@ -180,11 +183,11 @@ func makeEntitlementBid(e *v2.Entitlement) (string, error) { } func makeGrantBid(g *v2.Grant) (string, error) { - principalPart, err := resourcePartToStr(g.Principal) + principalPart, err := resourcePartToStr(g.GetPrincipal()) if err != nil { return "", err } - entitlementPart, err := entitlementPartToStr(g.Entitlement) + entitlementPart, err := entitlementPartToStr(g.GetEntitlement()) if err != nil { return "", err } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/bid/parser.go b/vendor/github.com/conductorone/baton-sdk/pkg/bid/parser.go index c857bcda..cbe7604e 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/bid/parser.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/bid/parser.go @@ -136,19 +136,19 @@ func parseResourcePart(rs *bidScanner) (*v2.Resource, error) { } if len(tokens) == 4 { - parentResourceId.ResourceType = tokens[0] - parentResourceId.Resource = tokens[1] - resourceId.ResourceType = tokens[2] - resourceId.Resource = tokens[3] - return &v2.Resource{ + parentResourceId.SetResourceType(tokens[0]) + parentResourceId.SetResource(tokens[1]) + resourceId.SetResourceType(tokens[2]) + resourceId.SetResource(tokens[3]) + return v2.Resource_builder{ Id: resourceId, ParentResourceId: parentResourceId, - }, nil + }.Build(), nil } if len(tokens) == 2 { - resourceId.ResourceType = tokens[0] - resourceId.Resource = tokens[1] - return &v2.Resource{Id: resourceId}, nil + resourceId.SetResourceType(tokens[0]) + resourceId.SetResource(tokens[1]) + return v2.Resource_builder{Id: resourceId}.Build(), nil } return nil, NewBidParseError(rs, "invalid resource part") @@ -189,10 +189,10 @@ func parseEntitlementPart(rs *bidScanner) (*v2.Entitlement, error) { return nil, NewBidParseError(rs, "invalid baton id entitlement part: %s", val) } - return &v2.Entitlement{ + return v2.Entitlement_builder{ Slug: val, Resource: resource, - }, nil + }.Build(), nil } func ParseEntitlementBid(bidStr string) (*v2.Entitlement, error) { @@ -225,10 +225,10 @@ func parseGrantPart(rs *bidScanner) (*v2.Grant, error) { return nil, err } - return &v2.Grant{ + return v2.Grant_builder{ Entitlement: entitlement, Principal: principal, - }, nil + }.Build(), nil } func ParseGrantBid(bidStr string) (*v2.Grant, error) { diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/cli/cli.go b/vendor/github.com/conductorone/baton-sdk/pkg/cli/cli.go index e9402b39..1b1fdfc9 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/cli/cli.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/cli/cli.go @@ -5,16 +5,37 @@ import ( "fmt" "reflect" + "github.com/conductorone/baton-sdk/pkg/connectorbuilder" "github.com/conductorone/baton-sdk/pkg/field" "github.com/conductorone/baton-sdk/pkg/types" + "github.com/conductorone/baton-sdk/pkg/types/sessions" "github.com/spf13/cobra" "github.com/spf13/pflag" "github.com/spf13/viper" ) -type GetConnectorFunc[T field.Configurable] func(context.Context, T) (types.ConnectorServer, error) +type RunTimeOpts struct { + SessionStore sessions.SessionStore +} + +// GetConnectorFunc is a function type that creates a connector instance. +// It takes a context and configuration. The session cache constructor is retrieved from the context. +type GetConnectorFunc[T field.Configurable] func(ctx context.Context, cfg T) (types.ConnectorServer, error) +type GetConnectorFunc2[T field.Configurable] func(ctx context.Context, cfg T, runTimeOpts RunTimeOpts) (types.ConnectorServer, error) + +// WithSessionCache creates a session cache using the provided constructor and adds it to the context. +func WithSessionCache(ctx context.Context, constructor sessions.SessionStoreConstructor) (context.Context, error) { + sessionCache, err := constructor(ctx) + if err != nil { + return ctx, fmt.Errorf("failed to create session cache: %w", err) + } + return context.WithValue(ctx, sessions.SessionStoreKey{}, sessionCache), nil +} + +type ConnectorOpts struct{} +type NewConnector[T field.Configurable] func(ctx context.Context, cfg T, opts *ConnectorOpts) (connectorbuilder.ConnectorBuilderV2, []connectorbuilder.Opt, error) -func MakeGenericConfiguration[T field.Configurable](v *viper.Viper) (T, error) { +func MakeGenericConfiguration[T field.Configurable](v *viper.Viper, opts ...field.DecodeHookOption) (T, error) { // Create an instance of the struct type T using reflection var config T // Create a zero-value instance of T @@ -26,8 +47,8 @@ func MakeGenericConfiguration[T field.Configurable](v *viper.Viper) (T, error) { return config, fmt.Errorf("cannot convert *viper.Viper to %T", config) } - // Unmarshal into the config struct - err := v.Unmarshal(&config) + // Unmarshal into the config struct with any decode hook options provided + err := v.Unmarshal(&config, viper.DecodeHook(field.ComposeDecodeHookFunc(opts...))) if err != nil { return config, fmt.Errorf("failed to unmarshal config: %w", err) } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/cli/commands.go b/vendor/github.com/conductorone/baton-sdk/pkg/cli/commands.go index a530871e..f303d9d3 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/cli/commands.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/cli/commands.go @@ -14,6 +14,8 @@ import ( "github.com/spf13/cobra" "github.com/spf13/viper" "go.uber.org/zap" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials" "google.golang.org/protobuf/encoding/protojson" "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/anypb" @@ -22,10 +24,15 @@ import ( "github.com/conductorone/baton-sdk/internal/connector" v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" v1 "github.com/conductorone/baton-sdk/pb/c1/connector_wrapper/v1" + baton_v1 "github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1" "github.com/conductorone/baton-sdk/pkg/connectorrunner" + "github.com/conductorone/baton-sdk/pkg/crypto" "github.com/conductorone/baton-sdk/pkg/field" "github.com/conductorone/baton-sdk/pkg/logging" + "github.com/conductorone/baton-sdk/pkg/session" + "github.com/conductorone/baton-sdk/pkg/types/sessions" "github.com/conductorone/baton-sdk/pkg/uotel" + utls2 "github.com/conductorone/baton-sdk/pkg/utls" ) const ( @@ -34,12 +41,61 @@ const ( type ContrainstSetter func(*cobra.Command, field.Configuration) error +// In one shot & service mode, the child process uses this client to connect to the session store server... +// +// which uses the C1Z for storage. Unfortunately the C1Z is instantiated well after we fork the child process, +// so there is quite a bit of pass through. +func getGRPCSessionStoreClient(ctx context.Context, serverCfg *v1.ServerConfig) func(ctx context.Context, opt ...sessions.SessionStoreConstructorOption) (sessions.SessionStore, error) { + return func(_ context.Context, opt ...sessions.SessionStoreConstructorOption) (sessions.SessionStore, error) { + l := ctxzap.Extract(ctx) + clientTLSConfig, err := utls2.ClientConfig(ctx, serverCfg.GetCredential()) + if err != nil { + return nil, err + } + + // connected, grpc will handle retries for us. + dialCtx, canc := context.WithTimeout(ctx, 5*time.Second) + defer canc() + var dialErr error + var conn *grpc.ClientConn + for { + conn, err = grpc.DialContext( //nolint:staticcheck // grpc.DialContext is deprecated but we are using it still. + ctx, + fmt.Sprintf("127.0.0.1:%d", serverCfg.GetSessionStoreListenPort()), + grpc.WithTransportCredentials(credentials.NewTLS(clientTLSConfig)), + grpc.WithBlock(), //nolint:staticcheck // grpc.WithBlock is deprecated but we are using it still. + ) + if err != nil { + dialErr = err + select { + case <-time.After(time.Millisecond * 500): + case <-dialCtx.Done(): + return nil, dialErr + } + continue + } + break + } + + client := baton_v1.NewBatonSessionServiceClient(conn) + ss, err := session.NewGRPCSessionStore(ctx, client, opt...) + if err != nil { + err2 := conn.Close() + if err2 != nil { + l.Error("error closing connection", zap.Error(err2)) + } + return nil, err + } + return ss, nil + } +} + func MakeMainCommand[T field.Configurable]( ctx context.Context, name string, v *viper.Viper, confschema field.Configuration, - getconnector GetConnectorFunc[T], + getconnector GetConnectorFunc2[T], opts ...connectorrunner.Option, ) func(*cobra.Command, []string) error { return func(cmd *cobra.Command, args []string) error { @@ -90,8 +146,14 @@ func MakeMainCommand[T field.Configurable]( } } + readFromPath := true + decodeOpts := field.WithAdditionalDecodeHooks(field.FileUploadDecodeHook(readFromPath)) + t, err := MakeGenericConfiguration[T](v, decodeOpts) + if err != nil { + return fmt.Errorf("failed to make configuration: %w", err) + } // validate required fields and relationship constraints - if err := field.Validate(confschema, v); err != nil { + if err := field.Validate(confschema, t); err != nil { return err } @@ -132,7 +194,7 @@ func MakeMainCommand[T field.Configurable]( v.GetString("revoke-grant"), )) case v.GetBool("event-feed"): - opts = append(opts, connectorrunner.WithOnDemandEventStream(v.GetString("event-feed-id"), v.GetTime("event-feed-start-at"))) + opts = append(opts, connectorrunner.WithOnDemandEventStream(v.GetString("event-feed-id"), v.GetTime("event-feed-start-at"), v.GetString("event-feed-cursor"))) case v.GetString("create-account-profile") != "": profileMap := v.GetStringMap("create-account-profile") if profileMap == nil { @@ -240,11 +302,6 @@ func MakeMainCommand[T field.Configurable]( opts = append(opts, connectorrunner.WithTicketingEnabled(), connectorrunner.WithGetTicket(v.GetString("ticket-id"))) - case len(v.GetStringSlice("sync-resources")) > 0: - opts = append(opts, - connectorrunner.WithTargetedSyncResourceIDs(v.GetStringSlice("sync-resources")), - connectorrunner.WithOnDemandSync(v.GetString("file")), - ) case v.GetBool("diff-syncs"): opts = append(opts, connectorrunner.WithDiffSyncs( @@ -261,8 +318,15 @@ func MakeMainCommand[T field.Configurable]( v.GetStringSlice("compact-sync-ids"), ), ) - default: + if len(v.GetStringSlice("sync-resources")) > 0 { + opts = append(opts, + connectorrunner.WithTargetedSyncResourceIDs(v.GetStringSlice("sync-resources"))) + } + if len(v.GetStringSlice("sync-resource-types")) > 0 { + opts = append(opts, + connectorrunner.WithSyncResourceTypeIDs(v.GetStringSlice("sync-resource-types"))) + } opts = append(opts, connectorrunner.WithOnDemandSync(v.GetString("file"))) } } @@ -289,12 +353,12 @@ func MakeMainCommand[T field.Configurable]( opts = append(opts, connectorrunner.WithExternalResourceEntitlementFilter(externalResourceEntitlementIdFilter)) } - t, err := MakeGenericConfiguration[T](v) - if err != nil { - return fmt.Errorf("failed to make configuration: %w", err) + opts = append(opts, connectorrunner.WithSkipEntitlementsAndGrants(v.GetBool("skip-entitlements-and-grants"))) + if v.GetBool("skip-grants") { + opts = append(opts, connectorrunner.WithSkipGrants(v.GetBool("skip-grants"))) } - c, err := getconnector(runCtx, t) + c, err := getconnector(runCtx, t, RunTimeOpts{}) if err != nil { return err } @@ -355,7 +419,7 @@ func MakeGRPCServerCommand[T field.Configurable]( name string, v *viper.Viper, confschema field.Configuration, - getconnector GetConnectorFunc[T], + getconnector GetConnectorFunc2[T], ) func(*cobra.Command, []string) error { return func(cmd *cobra.Command, args []string) error { // NOTE(shackra): bind all the flags (persistent and @@ -396,15 +460,66 @@ func MakeGRPCServerCommand[T field.Configurable]( l := ctxzap.Extract(runCtx) l.Debug("starting grpc server") + readFromPath := true + decodeOpts := field.WithAdditionalDecodeHooks(field.FileUploadDecodeHook(readFromPath)) + t, err := MakeGenericConfiguration[T](v, decodeOpts) + if err != nil { + return fmt.Errorf("failed to make configuration: %w", err) + } // validate required fields and relationship constraints - if err := field.Validate(confschema, v); err != nil { + if err := field.Validate(confschema, t); err != nil { return err } - t, err := MakeGenericConfiguration[T](v) + + var cfgStr string + scn := bufio.NewScanner(os.Stdin) + for scn.Scan() { + cfgStr = scn.Text() + break + } + + cfgBytes, err := base64.StdEncoding.DecodeString(cfgStr) if err != nil { - return fmt.Errorf("failed to make configuration: %w", err) + return err + } + + // Avoid zombie processes. If the parent dies, this + // will cause Stdin on the child to close, and then + // the child will exit itself. + go func() { + in := make([]byte, 1) + _, err := os.Stdin.Read(in) + if err != nil { + os.Exit(0) + } + }() + + if len(cfgBytes) == 0 { + return fmt.Errorf("unexpected empty input") + } + + serverCfg := &v1.ServerConfig{} + err = proto.Unmarshal(cfgBytes, serverCfg) + if err != nil { + return err } - c, err := getconnector(runCtx, t) + + err = serverCfg.ValidateAll() + if err != nil { + return err + } + clientSecret := v.GetString("client-secret") + if clientSecret != "" { + secretJwk, err := crypto.ParseClientSecret([]byte(clientSecret), true) + if err != nil { + return err + } + runCtx = context.WithValue(runCtx, crypto.ContextClientSecretKey, secretJwk) + } + sessionConstructor := getGRPCSessionStoreClient(runCtx, serverCfg) + c, err := getconnector(runCtx, t, RunTimeOpts{ + SessionStore: &lazySessionStore{constructor: sessionConstructor}, + }) if err != nil { return err } @@ -423,6 +538,14 @@ func MakeGRPCServerCommand[T field.Configurable]( copts = append(copts, connector.WithFullSyncDisabled()) } + if len(v.GetStringSlice("sync-resources")) > 0 { + copts = append(copts, connector.WithTargetedSyncResourceIDs(v.GetStringSlice("sync-resources"))) + } + + if len(v.GetStringSlice("sync-resource-types")) > 0 { + copts = append(copts, connector.WithSyncResourceTypeIDs(v.GetStringSlice("sync-resource-types"))) + } + switch { case v.GetString("grant-entitlement") != "": copts = append(copts, connector.WithProvisioningEnabled()) @@ -444,8 +567,6 @@ func MakeGRPCServerCommand[T field.Configurable]( copts = append(copts, connector.WithTicketingEnabled()) case v.GetBool("get-ticket"): copts = append(copts, connector.WithTicketingEnabled()) - case len(v.GetStringSlice("sync-resources")) > 0: - copts = append(copts, connector.WithTargetedSyncResourceIDs(v.GetStringSlice("sync-resources"))) } cw, err := connector.NewWrapper(runCtx, c, copts...) @@ -453,43 +574,6 @@ func MakeGRPCServerCommand[T field.Configurable]( return err } - var cfgStr string - scn := bufio.NewScanner(os.Stdin) - for scn.Scan() { - cfgStr = scn.Text() - break - } - cfgBytes, err := base64.StdEncoding.DecodeString(cfgStr) - if err != nil { - return err - } - - // Avoid zombie processes. If the parent dies, this - // will cause Stdin on the child to close, and then - // the child will exit itself. - go func() { - in := make([]byte, 1) - _, err := os.Stdin.Read(in) - if err != nil { - os.Exit(0) - } - }() - - if len(cfgBytes) == 0 { - return fmt.Errorf("unexpected empty input") - } - - serverCfg := &v1.ServerConfig{} - err = proto.Unmarshal(cfgBytes, serverCfg) - if err != nil { - return err - } - - err = serverCfg.ValidateAll() - if err != nil { - return err - } - return cw.Run(runCtx, serverCfg) } } @@ -499,7 +583,7 @@ func MakeCapabilitiesCommand[T field.Configurable]( name string, v *viper.Viper, confschema field.Configuration, - getconnector GetConnectorFunc[T], + getconnector GetConnectorFunc2[T], ) func(*cobra.Command, []string) error { return func(cmd *cobra.Command, args []string) error { // NOTE(shackra): bind all the flags (persistent and @@ -521,16 +605,18 @@ func MakeCapabilitiesCommand[T field.Configurable]( return err } - // validate required fields and relationship constraints - if err := field.Validate(confschema, v); err != nil { - return err - } - t, err := MakeGenericConfiguration[T](v) + readFromPath := true + decodeOpts := field.WithAdditionalDecodeHooks(field.FileUploadDecodeHook(readFromPath)) + t, err := MakeGenericConfiguration[T](v, decodeOpts) if err != nil { return fmt.Errorf("failed to make configuration: %w", err) } + // validate required fields and relationship constraints + if err := field.Validate(confschema, t); err != nil { + return err + } - c, err := getconnector(runCtx, t) + c, err := getconnector(runCtx, t, RunTimeOpts{}) if err != nil { return err } @@ -540,7 +626,7 @@ func MakeCapabilitiesCommand[T field.Configurable]( return err } - if md.Metadata.Capabilities == nil { + if !md.GetMetadata().HasCapabilities() { return fmt.Errorf("connector does not support capabilities") } @@ -550,7 +636,7 @@ func MakeCapabilitiesCommand[T field.Configurable]( } a := &anypb.Any{} - err = anypb.MarshalFrom(a, md.Metadata.Capabilities, proto.MarshalOptions{Deterministic: true}) + err = anypb.MarshalFrom(a, md.GetMetadata().GetCapabilities(), proto.MarshalOptions{Deterministic: true}) if err != nil { return err } @@ -574,7 +660,7 @@ func MakeConfigSchemaCommand[T field.Configurable]( name string, v *viper.Viper, confschema field.Configuration, - getconnector GetConnectorFunc[T], + getconnector GetConnectorFunc2[T], ) func(*cobra.Command, []string) error { return func(cmd *cobra.Command, args []string) error { // Sort fields by FieldName diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/cli/lambda_server__added.go b/vendor/github.com/conductorone/baton-sdk/pkg/cli/lambda_server__added.go index 4a521882..805a8fdd 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/cli/lambda_server__added.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/cli/lambda_server__added.go @@ -11,8 +11,11 @@ import ( "time" aws_lambda "github.com/aws/aws-lambda-go/lambda" + "github.com/conductorone/baton-sdk/pkg/crypto" "github.com/conductorone/baton-sdk/pkg/crypto/providers/jwk" "github.com/conductorone/baton-sdk/pkg/logging" + "github.com/conductorone/baton-sdk/pkg/session" + "github.com/conductorone/baton-sdk/pkg/ugrpc" "github.com/mitchellh/mapstructure" "github.com/spf13/cobra" "github.com/spf13/viper" @@ -20,19 +23,21 @@ import ( "google.golang.org/protobuf/types/known/structpb" "github.com/conductorone/baton-sdk/internal/connector" - pb_connector_api "github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1" + v1 "github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1" "github.com/conductorone/baton-sdk/pkg/auth" "github.com/conductorone/baton-sdk/pkg/field" c1_lambda_grpc "github.com/conductorone/baton-sdk/pkg/lambda/grpc" c1_lambda_config "github.com/conductorone/baton-sdk/pkg/lambda/grpc/config" "github.com/conductorone/baton-sdk/pkg/lambda/grpc/middleware" + "github.com/conductorone/baton-sdk/pkg/types/sessions" + "google.golang.org/grpc" ) func OptionallyAddLambdaCommand[T field.Configurable]( ctx context.Context, name string, v *viper.Viper, - getconnector GetConnectorFunc[T], + getconnector GetConnectorFunc2[T], connectorSchema field.Configuration, mainCmd *cobra.Command, ) error { @@ -62,12 +67,16 @@ func OptionallyAddLambdaCommand[T field.Configurable]( logLevel = "info" } - initalLogFields := map[string]interface{}{ - "tenant": os.Getenv("tenant"), - "connector": os.Getenv("connector"), - "installation": os.Getenv("installation"), - "app": os.Getenv("app"), - "version": os.Getenv("version"), + initialLogFields := map[string]interface{}{ + "tenant_id": os.Getenv("tenant"), + "connector_id": os.Getenv("connector"), + "app_id": os.Getenv("app"), + "release_version": os.Getenv("version"), + "installation": os.Getenv("installation"), + "catalog_id": os.Getenv("catalog_id"), + "catalog_name": os.Getenv("catalog_name"), + "tenant_name": os.Getenv("tenant_name"), + "tenant_is_internal": os.Getenv("tenant_is_internal"), } runCtx, err := initLogger( @@ -75,13 +84,13 @@ func OptionallyAddLambdaCommand[T field.Configurable]( name, logging.WithLogFormat(v.GetString("log-format")), logging.WithLogLevel(logLevel), - logging.WithInitialFields(initalLogFields), + logging.WithInitialFields(initialLogFields), ) if err != nil { return err } - runCtx, otelShutdown, err := initOtel(runCtx, name, v, initalLogFields) + runCtx, otelShutdown, err := initOtel(runCtx, name, v, initialLogFields) if err != nil { return err } @@ -101,17 +110,21 @@ func OptionallyAddLambdaCommand[T field.Configurable]( return err } - client, webKey, err := c1_lambda_config.GetConnectorConfigServiceClient( + // Create DPoP client with authentication + grpcClient, webKey, _, err := c1_lambda_config.NewDPoPClient( runCtx, v.GetString(field.LambdaServerClientIDField.GetName()), v.GetString(field.LambdaServerClientSecretField.GetName()), ) if err != nil { - return fmt.Errorf("lambda-run: failed to get connector manager client: %w", err) + return fmt.Errorf("lambda-run: failed to create DPoP client: %w", err) } + // Create connector config service client using the DPoP client + configClient := v1.NewConnectorConfigServiceClient(grpcClient) + // Get configuration, convert it to viper flag values, then proceed. - config, err := client.GetConnectorConfig(runCtx, &pb_connector_api.GetConnectorConfigRequest{}) + config, err := configClient.GetConnectorConfig(runCtx, &v1.GetConnectorConfigRequest{}) if err != nil { return fmt.Errorf("lambda-run: failed to get connector config: %w", err) } @@ -132,7 +145,10 @@ func OptionallyAddLambdaCommand[T field.Configurable]( return fmt.Errorf("lambda-run: failed to unmarshal decrypted config: %w", err) } - t, err := MakeGenericConfiguration[T](v) + // parse content directly for lambdas, don't read from file + readFromPath := false + decodeOpts := field.WithAdditionalDecodeHooks(field.FileUploadDecodeHook(readFromPath)) + t, err := MakeGenericConfiguration[T](v, decodeOpts) if err != nil { return fmt.Errorf("lambda-run: failed to make generic configuration: %w", err) } @@ -142,7 +158,15 @@ func OptionallyAddLambdaCommand[T field.Configurable]( cfg.Set(k, v) } default: - err = mapstructure.Decode(configStruct.AsMap(), cfg) + // Use mapstructure with decode hook for file upload fields + decoder, err := mapstructure.NewDecoder(&mapstructure.DecoderConfig{ + DecodeHook: field.ComposeDecodeHookFunc(decodeOpts), + Result: cfg, + }) + if err != nil { + return fmt.Errorf("lambda-run: failed to create decoder: %w", err) + } + err = decoder.Decode(configStruct.AsMap()) if err != nil { return fmt.Errorf("lambda-run: failed to decode config: %w", err) } @@ -152,7 +176,18 @@ func OptionallyAddLambdaCommand[T field.Configurable]( return fmt.Errorf("lambda-run: failed to validate config: %w", err) } - c, err := getconnector(runCtx, t) + clientSecret := v.GetString("client-secret") + if clientSecret != "" { + secretJwk, err := crypto.ParseClientSecret([]byte(clientSecret), true) + if err != nil { + return err + } + runCtx = context.WithValue(runCtx, crypto.ContextClientSecretKey, secretJwk) + } + + c, err := getconnector(runCtx, t, RunTimeOpts{ + SessionStore: &lazySessionStore{constructor: createSessionCacheConstructor(grpcClient)}, + }) if err != nil { return fmt.Errorf("lambda-run: failed to get connector: %w", err) } @@ -184,11 +219,24 @@ func OptionallyAddLambdaCommand[T field.Configurable]( TicketingEnabled: true, } - s := c1_lambda_grpc.NewServer(authOpt) + chain := ugrpc.ChainUnaryInterceptors(authOpt) + + s := c1_lambda_grpc.NewServer(chain) connector.Register(runCtx, s, c, opts) aws_lambda.StartWithOptions(s.Handler, aws_lambda.WithContext(runCtx)) return nil } + return nil } + +// createSessionCacheConstructor creates a session cache constructor function that uses the provided gRPC client. +func createSessionCacheConstructor(grpcClient grpc.ClientConnInterface) sessions.SessionStoreConstructor { + return func(ctx context.Context, opt ...sessions.SessionStoreConstructorOption) (sessions.SessionStore, error) { + // Create the gRPC session client using the same gRPC connection + client := v1.NewBatonSessionServiceClient(grpcClient) + // Create and return the session cache + return session.NewGRPCSessionStore(ctx, client, opt...) + } +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/cli/lambda_server_omitted.go b/vendor/github.com/conductorone/baton-sdk/pkg/cli/lambda_server_omitted.go index 902887d0..b05691d6 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/cli/lambda_server_omitted.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/cli/lambda_server_omitted.go @@ -15,7 +15,7 @@ func OptionallyAddLambdaCommand[T field.Configurable]( ctx context.Context, name string, v *viper.Viper, - getconnector GetConnectorFunc[T], + getconnector GetConnectorFunc2[T], connectorSchema field.Configuration, mainCmd *cobra.Command, ) error { diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/cli/lazy_session.go b/vendor/github.com/conductorone/baton-sdk/pkg/cli/lazy_session.go new file mode 100644 index 00000000..8a7801ac --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/cli/lazy_session.go @@ -0,0 +1,83 @@ +package cli + +import ( + "context" + "sync" + + "github.com/conductorone/baton-sdk/pkg/types/sessions" +) + +var _ sessions.SessionStore = (*lazySessionStore)(nil) + +// lazySessionStore implements types.SessionStore interface but only creates the actual session +// when a method is called for the first time. +type lazySessionStore struct { + constructor sessions.SessionStoreConstructor + once sync.Once + session sessions.SessionStore + err error +} + +// ensureSession creates the actual session store if it hasn't been created yet. +func (l *lazySessionStore) ensureSession(ctx context.Context) error { + l.once.Do(func() { + l.session, l.err = l.constructor(ctx) + }) + return l.err +} + +// Get implements types.SessionStore. +func (l *lazySessionStore) Get(ctx context.Context, key string, opt ...sessions.SessionStoreOption) ([]byte, bool, error) { + if err := l.ensureSession(ctx); err != nil { + return nil, false, err + } + return l.session.Get(ctx, key, opt...) +} + +// GetMany implements types.SessionStore. +func (l *lazySessionStore) GetMany(ctx context.Context, keys []string, opt ...sessions.SessionStoreOption) (map[string][]byte, error) { + if err := l.ensureSession(ctx); err != nil { + return nil, err + } + return l.session.GetMany(ctx, keys, opt...) +} + +// Set implements types.SessionStore. +func (l *lazySessionStore) Set(ctx context.Context, key string, value []byte, opt ...sessions.SessionStoreOption) error { + if err := l.ensureSession(ctx); err != nil { + return err + } + return l.session.Set(ctx, key, value, opt...) +} + +// SetMany implements types.SessionStore. +func (l *lazySessionStore) SetMany(ctx context.Context, values map[string][]byte, opt ...sessions.SessionStoreOption) error { + if err := l.ensureSession(ctx); err != nil { + return err + } + return l.session.SetMany(ctx, values, opt...) +} + +// Delete implements types.SessionStore. +func (l *lazySessionStore) Delete(ctx context.Context, key string, opt ...sessions.SessionStoreOption) error { + if err := l.ensureSession(ctx); err != nil { + return err + } + return l.session.Delete(ctx, key, opt...) +} + +// Clear implements types.SessionStore. +func (l *lazySessionStore) Clear(ctx context.Context, opt ...sessions.SessionStoreOption) error { + if err := l.ensureSession(ctx); err != nil { + return err + } + return l.session.Clear(ctx, opt...) +} + +// GetAll implements types.SessionStore. +func (l *lazySessionStore) GetAll(ctx context.Context, pageToken string, opt ...sessions.SessionStoreOption) (map[string][]byte, string, error) { + if err := l.ensureSession(ctx); err != nil { + return nil, "", err + } + return l.session.GetAll(ctx, pageToken, opt...) +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/config/config.go b/vendor/github.com/conductorone/baton-sdk/pkg/config/config.go index 4149a39b..6e1c02a1 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/config/config.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/config/config.go @@ -10,23 +10,88 @@ import ( "strings" "github.com/conductorone/baton-sdk/pkg/cli" + "github.com/conductorone/baton-sdk/pkg/connectorbuilder" "github.com/conductorone/baton-sdk/pkg/connectorrunner" "github.com/conductorone/baton-sdk/pkg/field" + "github.com/conductorone/baton-sdk/pkg/types" + "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap" "github.com/spf13/cobra" "github.com/spf13/viper" + "go.uber.org/zap" ) +func RunConnector[T field.Configurable]( + ctx context.Context, + connectorName string, + version string, + schema field.Configuration, + cf cli.NewConnector[T], + options ...connectorrunner.Option, +) { + f := func(ctx context.Context, cfg T, runTimeOpts cli.RunTimeOpts) (types.ConnectorServer, error) { + l := ctxzap.Extract(ctx) + connector, builderOpts, err := cf(ctx, cfg, &cli.ConnectorOpts{}) + if err != nil { + return nil, err + } + + builderOpts = append(builderOpts, connectorbuilder.WithSessionStore(runTimeOpts.SessionStore)) + + c, err := connectorbuilder.NewConnector(ctx, connector, builderOpts...) + if err != nil { + l.Error("error creating connector", zap.Error(err)) + return nil, err + } + return c, nil + } + + _, cmd, err := DefineConfigurationV2(ctx, connectorName, f, schema, options...) + if err != nil { + fmt.Fprintln(os.Stderr, err.Error()) + os.Exit(1) + return + } + + cmd.Version = version + + err = cmd.Execute() + if err != nil { + fmt.Fprintln(os.Stderr, err.Error()) + os.Exit(1) + } +} + +// GetConnectorFunc is a function type that creates a connector instance. +// It takes a context and configuration. The session cache constructor is retrieved from the context. +// deprecated - prefer RunConnector. func DefineConfiguration[T field.Configurable]( ctx context.Context, connectorName string, connector cli.GetConnectorFunc[T], schema field.Configuration, options ...connectorrunner.Option, +) (*viper.Viper, *cobra.Command, error) { + f := func(ctx context.Context, cfg T, runTimeOpts cli.RunTimeOpts) (types.ConnectorServer, error) { + connector, err := connector(ctx, cfg) + if err != nil { + return nil, err + } + return connector, nil + } + return DefineConfigurationV2(ctx, connectorName, f, schema, options...) +} + +// deprecated - prefer RunConnector. +func DefineConfigurationV2[T field.Configurable]( + ctx context.Context, + connectorName string, + connector cli.GetConnectorFunc2[T], + schema field.Configuration, + options ...connectorrunner.Option, ) (*viper.Viper, *cobra.Command, error) { if err := verifyStructFields[T](schema); err != nil { return nil, nil, fmt.Errorf("VerifyStructFields failed: %w", err) } - v := viper.New() v.SetConfigType("yaml") @@ -52,7 +117,7 @@ func DefineConfiguration[T field.Configurable]( uniqueFields := make(map[string]field.SchemaField) for _, f := range confschema.Fields { if s, ok := uniqueFields[f.FieldName]; ok { - if !(f.WasReExported || s.WasReExported) { + if !f.WasReExported && !s.WasReExported { return nil, nil, fmt.Errorf("multiple fields with the same name: %s.If you want to use a default field in the SDK, use ExportAs on the connector schema field", f.FieldName) } } @@ -140,7 +205,7 @@ func verifyStructFields[T field.Configurable](schema field.Configuration) error configType = configType.Elem() } if configType.Kind() != reflect.Struct { - return fmt.Errorf("T must be a struct type, got %v", configType.Kind()) + return fmt.Errorf("T must be a struct type, got %v", configType.Kind()) //nolint:staticcheck // we want to capital letter here } for _, field := range schema.Fields { fieldFound := false diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/config/generate.go b/vendor/github.com/conductorone/baton-sdk/pkg/config/generate.go index 25498beb..6ce7100d 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/config/generate.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/config/generate.go @@ -68,7 +68,11 @@ func Generate(name string, schema field.Configuration) { } switch f.Variant { case field.StringVariant: - nf.FieldType = "string" + if f.ConnectorConfig.FieldType == field.FileUpload { + nf.FieldType = "[]byte" + } else { + nf.FieldType = "string" + } case field.BoolVariant: nf.FieldType = "bool" case field.IntVariant: @@ -108,7 +112,7 @@ type {{ .StructName }} struct { {{- end }} } -func (c* {{ .StructName }}) findFieldByTag(tagValue string) (any, bool) { +func (c *{{ .StructName }}) findFieldByTag(tagValue string) (any, bool) { v := reflect.ValueOf(c).Elem() // Dereference pointer to struct t := v.Type() @@ -140,11 +144,13 @@ func (c *{{ .StructName }}) GetString(fieldName string) string { if !ok { return "" } - t, ok := v.(string) - if !ok { - panic("wrong type") + if t, ok := v.(string); ok { + return t } - return t + if t, ok := v.([]byte); ok { + return string(t) + } + panic("wrong type") } func (c *{{ .StructName }}) GetInt(fieldName string) int { diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/accounts.go b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/accounts.go new file mode 100644 index 00000000..2ab3df56 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/accounts.go @@ -0,0 +1,127 @@ +package connectorbuilder + +import ( + "context" + "fmt" + + v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" + "github.com/conductorone/baton-sdk/pkg/annotations" + "github.com/conductorone/baton-sdk/pkg/crypto" + "github.com/conductorone/baton-sdk/pkg/types/tasks" + "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap" + "go.uber.org/zap" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// CreateAccountResponse is a semi-opaque type returned from CreateAccount operations. +// +// This is used to communicate the result of account creation back to Baton. +type CreateAccountResponse interface { + proto.Message + GetIsCreateAccountResult() bool +} + +// AccountManager extends ResourceSyncer to add capabilities for managing user accounts. +// +// Implementing this interface indicates the connector supports creating accounts +// in the external system. A resource type should implement this interface if it +// represents users or accounts that can be provisioned. +type AccountManager interface { + ResourceSyncer + AccountManagerLimited +} + +type AccountManagerLimited interface { + CreateAccount(ctx context.Context, + accountInfo *v2.AccountInfo, + credentialOptions *v2.LocalCredentialOptions) (CreateAccountResponse, []*v2.PlaintextData, annotations.Annotations, error) + CreateAccountCapabilityDetails(ctx context.Context) (*v2.CredentialDetailsAccountProvisioning, annotations.Annotations, error) +} + +type OldAccountManager interface { + ResourceSyncer + CreateAccount(ctx context.Context, + accountInfo *v2.AccountInfo, + credentialOptions *v2.CredentialOptions) (CreateAccountResponse, []*v2.PlaintextData, annotations.Annotations, error) +} + +func (b *builder) CreateAccount(ctx context.Context, request *v2.CreateAccountRequest) (*v2.CreateAccountResponse, error) { + ctx, span := tracer.Start(ctx, "builder.CreateAccount") + defer span.End() + + start := b.nowFunc() + tt := tasks.CreateAccountType + l := ctxzap.Extract(ctx) + if b.accountManager == nil { + l.Error("error: connector does not have account manager configured") + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, status.Error(codes.Unimplemented, "connector does not have account manager configured") + } + + opts, err := crypto.ConvertCredentialOptions(ctx, b.clientSecret, request.GetCredentialOptions(), request.GetEncryptionConfigs()) + if err != nil { + l.Error("error: converting credential options failed", zap.Error(err)) + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: converting credential options failed: %w", err) + } + + result, plaintexts, annos, err := b.accountManager.CreateAccount(ctx, request.GetAccountInfo(), opts) + if err != nil { + l.Error("error: create account failed", zap.Error(err)) + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: create account failed: %w", err) + } + + pkem, err := crypto.NewEncryptionManager(request.GetCredentialOptions(), request.GetEncryptionConfigs()) + if err != nil { + l.Error("error: creating encryption manager failed", zap.Error(err)) + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: creating encryption manager failed: %w", err) + } + + var encryptedDatas []*v2.EncryptedData + for _, plaintextCredential := range plaintexts { + encryptedData, err := pkem.Encrypt(ctx, plaintextCredential) + if err != nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, err + } + encryptedDatas = append(encryptedDatas, encryptedData...) + } + + rv := v2.CreateAccountResponse_builder{ + EncryptedData: encryptedDatas, + Annotations: annos, + }.Build() + + switch r := result.(type) { + case *v2.CreateAccountResponse_SuccessResult: + rv.SetSuccess(proto.ValueOrDefault(r)) + case *v2.CreateAccountResponse_ActionRequiredResult: + rv.SetActionRequired(proto.ValueOrDefault(r)) + default: + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, status.Error(codes.Unimplemented, fmt.Sprintf("unknown result type: %T", result)) + } + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return rv, nil +} + +func (b *builder) addAccountManager(_ context.Context, typeId string, in interface{}) error { + if _, ok := in.(OldAccountManager); ok { + return fmt.Errorf("error: old account manager interface implemented for %s", typeId) + } + + if accountManager, ok := in.(AccountManagerLimited); ok { + // NOTE(kans): currently unused - but these should probably be (resource) typed + b.accountManagers[typeId] = accountManager + if b.accountManager != nil { + return fmt.Errorf("error: duplicate resource type found for account manager %s", typeId) + } + b.accountManager = accountManager + } + return nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/actions.go b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/actions.go new file mode 100644 index 00000000..f8e0ccc7 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/actions.go @@ -0,0 +1,171 @@ +package connectorbuilder + +import ( + "context" + "fmt" + + v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" + "github.com/conductorone/baton-sdk/pkg/annotations" + "github.com/conductorone/baton-sdk/pkg/types/tasks" + "google.golang.org/protobuf/types/known/structpb" +) + +// CustomActionManager defines capabilities for handling custom actions. +// +// Note: RegisterActionManager is preferred for new connectors. +// +// This interface allows connectors to define and execute custom actions +// that can be triggered from Baton. +type CustomActionManager interface { + ListActionSchemas(ctx context.Context) ([]*v2.BatonActionSchema, annotations.Annotations, error) + GetActionSchema(ctx context.Context, name string) (*v2.BatonActionSchema, annotations.Annotations, error) + InvokeAction(ctx context.Context, name string, args *structpb.Struct) (string, v2.BatonActionStatus, *structpb.Struct, annotations.Annotations, error) + GetActionStatus(ctx context.Context, id string) (v2.BatonActionStatus, string, *structpb.Struct, annotations.Annotations, error) +} + +// RegisterActionManager extends ConnectorBuilder to add capabilities for registering custom actions. +// +// This is the recommended interface for implementing custom action support in new connectors. +// It provides a mechanism to register a CustomActionManager with the connector. +type RegisterActionManager interface { + ConnectorBuilder + RegisterActionManagerLimited +} + +type RegisterActionManagerLimited interface { + RegisterActionManager(ctx context.Context) (CustomActionManager, error) +} + +func (b *builder) ListActionSchemas(ctx context.Context, request *v2.ListActionSchemasRequest) (*v2.ListActionSchemasResponse, error) { + ctx, span := tracer.Start(ctx, "builder.ListActionSchemas") + defer span.End() + + start := b.nowFunc() + tt := tasks.ActionListSchemasType + if b.actionManager == nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: action manager not implemented") + } + + actionSchemas, annos, err := b.actionManager.ListActionSchemas(ctx) + if err != nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: listing action schemas failed: %w", err) + } + + rv := v2.ListActionSchemasResponse_builder{ + Schemas: actionSchemas, + Annotations: annos, + }.Build() + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return rv, nil +} + +func (b *builder) GetActionSchema(ctx context.Context, request *v2.GetActionSchemaRequest) (*v2.GetActionSchemaResponse, error) { + ctx, span := tracer.Start(ctx, "builder.GetActionSchema") + defer span.End() + + start := b.nowFunc() + tt := tasks.ActionGetSchemaType + if b.actionManager == nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: action manager not implemented") + } + + actionSchema, annos, err := b.actionManager.GetActionSchema(ctx, request.GetName()) + if err != nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: getting action schema failed: %w", err) + } + + rv := v2.GetActionSchemaResponse_builder{ + Schema: actionSchema, + Annotations: annos, + }.Build() + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return rv, nil +} + +func (b *builder) InvokeAction(ctx context.Context, request *v2.InvokeActionRequest) (*v2.InvokeActionResponse, error) { + ctx, span := tracer.Start(ctx, "builder.InvokeAction") + defer span.End() + + start := b.nowFunc() + tt := tasks.ActionInvokeType + if b.actionManager == nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: action manager not implemented") + } + + id, status, resp, annos, err := b.actionManager.InvokeAction(ctx, request.GetName(), request.GetArgs()) + if err != nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: invoking action failed: %w", err) + } + + rv := v2.InvokeActionResponse_builder{ + Id: id, + Name: request.GetName(), + Status: status, + Annotations: annos, + Response: resp, + }.Build() + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return rv, nil +} + +func (b *builder) GetActionStatus(ctx context.Context, request *v2.GetActionStatusRequest) (*v2.GetActionStatusResponse, error) { + ctx, span := tracer.Start(ctx, "builder.GetActionStatus") + defer span.End() + + start := b.nowFunc() + tt := tasks.ActionStatusType + if b.actionManager == nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: action manager not implemented") + } + + status, name, rv, annos, err := b.actionManager.GetActionStatus(ctx, request.GetId()) + if err != nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: getting action status failed: %w", err) + } + + resp := v2.GetActionStatusResponse_builder{ + Id: request.GetId(), + Name: name, + Status: status, + Annotations: annos, + Response: rv, + }.Build() + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return resp, nil +} + +func (b *builder) addActionManager(ctx context.Context, in interface{}) error { + if actionManager, ok := in.(CustomActionManager); ok { + if b.actionManager != nil { + return fmt.Errorf("error: cannot set multiple action managers") + } + b.actionManager = actionManager + } + + if registerActionManager, ok := in.(RegisterActionManagerLimited); ok { + if b.actionManager != nil { + return fmt.Errorf("error: cannot register multiple action managers") + } + actionManager, err := registerActionManager.RegisterActionManager(ctx) + if err != nil { + return fmt.Errorf("error: registering action manager failed: %w", err) + } + if actionManager == nil { + return fmt.Errorf("error: action manager is nil") + } + b.actionManager = actionManager + } + return nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/assets.go b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/assets.go index f6431512..d0e551c6 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/assets.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/assets.go @@ -1,5 +1,7 @@ package connectorbuilder +import v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" + // FIXME(jirwin): Come back to streaming assets soon. // // const ( @@ -40,3 +42,12 @@ package connectorbuilder // } // return nil // } + +// GetAsset streams the asset to the client. +// FIXME(jirwin): Asset streaming is disabled. +func (b *builder) GetAsset(request *v2.AssetServiceGetAssetRequest, server v2.AssetService_GetAssetServer) error { + _, span := tracer.Start(server.Context(), "builderImpl.GetAsset") + defer span.End() + + return nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/connectorbuilder.go b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/connectorbuilder.go index df60a97f..7f988099 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/connectorbuilder.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/connectorbuilder.go @@ -8,222 +8,27 @@ import ( "sort" "time" + "github.com/go-jose/go-jose/v4" "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap" "go.opentelemetry.io/otel" "go.uber.org/zap" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" - "google.golang.org/protobuf/proto" - "google.golang.org/protobuf/types/known/structpb" - "google.golang.org/protobuf/types/known/timestamppb" v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" "github.com/conductorone/baton-sdk/pkg/annotations" "github.com/conductorone/baton-sdk/pkg/crypto" "github.com/conductorone/baton-sdk/pkg/metrics" - "github.com/conductorone/baton-sdk/pkg/pagination" "github.com/conductorone/baton-sdk/pkg/retry" + "github.com/conductorone/baton-sdk/pkg/sdk" "github.com/conductorone/baton-sdk/pkg/types" + "github.com/conductorone/baton-sdk/pkg/types/sessions" "github.com/conductorone/baton-sdk/pkg/types/tasks" "github.com/conductorone/baton-sdk/pkg/uhttp" ) var tracer = otel.Tracer("baton-sdk/pkg.connectorbuilder") -// ResourceSyncer is the primary interface for connector developers to implement. -// -// It defines the core functionality for synchronizing resources, entitlements, and grants -// from external systems into Baton. Every connector must implement at least this interface -// for each resource type it supports. -// -// Extensions to this interface include: -// - ResourceProvisioner/ResourceProvisionerV2: For adding/removing access -// - ResourceManager: For creating and managing resources -// - ResourceDeleter: For deleting resources -// - AccountManager: For account provisioning operations -// - CredentialManager: For credential rotation operations. -// - ResourceTargetedSyncer: For directly getting a resource supporting targeted sync. -type ResourceSyncer interface { - ResourceType(ctx context.Context) *v2.ResourceType - List(ctx context.Context, parentResourceID *v2.ResourceId, pToken *pagination.Token) ([]*v2.Resource, string, annotations.Annotations, error) - Entitlements(ctx context.Context, resource *v2.Resource, pToken *pagination.Token) ([]*v2.Entitlement, string, annotations.Annotations, error) - Grants(ctx context.Context, resource *v2.Resource, pToken *pagination.Token) ([]*v2.Grant, string, annotations.Annotations, error) -} - -// ResourceProvisioner extends ResourceSyncer to add capabilities for granting and revoking access. -// -// Note: ResourceProvisionerV2 is preferred for new connectors as it provides -// enhanced grant capabilities. -// -// Implementing this interface indicates the connector supports provisioning operations -// for the associated resource type. -type ResourceProvisioner interface { - ResourceSyncer - ResourceType(ctx context.Context) *v2.ResourceType - Grant(ctx context.Context, resource *v2.Resource, entitlement *v2.Entitlement) (annotations.Annotations, error) - Revoke(ctx context.Context, grant *v2.Grant) (annotations.Annotations, error) -} - -// ResourceProvisionerV2 extends ResourceSyncer to add capabilities for granting and revoking access -// with enhanced functionality compared to ResourceProvisioner. -// -// This is the recommended interface for implementing provisioning operations in new connectors. -// It differs from ResourceProvisioner by returning a list of grants from the Grant method. -type ResourceProvisionerV2 interface { - ResourceSyncer - ResourceType(ctx context.Context) *v2.ResourceType - Grant(ctx context.Context, resource *v2.Resource, entitlement *v2.Entitlement) ([]*v2.Grant, annotations.Annotations, error) - Revoke(ctx context.Context, grant *v2.Grant) (annotations.Annotations, error) -} - -// ResourceManager extends ResourceSyncer to add capabilities for creating resources. -// -// Implementing this interface indicates the connector supports creating and deleting resources -// of the associated resource type. A ResourceManager automatically provides ResourceDeleter -// functionality. -type ResourceManager interface { - ResourceSyncer - Create(ctx context.Context, resource *v2.Resource) (*v2.Resource, annotations.Annotations, error) - ResourceDeleter -} - -// ResourceDeleter extends ResourceSyncer to add capabilities for deleting resources. -// -// Implementing this interface indicates the connector supports deleting resources -// of the associated resource type. -type ResourceDeleter interface { - ResourceSyncer - Delete(ctx context.Context, resourceId *v2.ResourceId) (annotations.Annotations, error) -} - -// ResourceTargetedSyncer extends ResourceSyncer to add capabilities for directly syncing an individual resource -// -// Implementing this interface indicates the connector supports calling "get" on a resource -// of the associated resource type. -type ResourceTargetedSyncer interface { - ResourceSyncer - Get(ctx context.Context, resourceId *v2.ResourceId, parentResourceId *v2.ResourceId) (*v2.Resource, annotations.Annotations, error) -} - -// CreateAccountResponse is a semi-opaque type returned from CreateAccount operations. -// -// This is used to communicate the result of account creation back to Baton. -type CreateAccountResponse interface { - proto.Message - GetIsCreateAccountResult() bool -} - -// AccountManager extends ResourceSyncer to add capabilities for managing user accounts. -// -// Implementing this interface indicates the connector supports creating accounts -// in the external system. A resource type should implement this interface if it -// represents users or accounts that can be provisioned. -type AccountManager interface { - ResourceSyncer - CreateAccount(ctx context.Context, accountInfo *v2.AccountInfo, credentialOptions *v2.CredentialOptions) (CreateAccountResponse, []*v2.PlaintextData, annotations.Annotations, error) - CreateAccountCapabilityDetails(ctx context.Context) (*v2.CredentialDetailsAccountProvisioning, annotations.Annotations, error) -} - -// CredentialManager extends ResourceSyncer to add capabilities for managing credentials. -// -// Implementing this interface indicates the connector supports rotating credentials -// for resources of the associated type. This is commonly used for user accounts -// or service accounts that have rotatable credentials. -type CredentialManager interface { - ResourceSyncer - Rotate(ctx context.Context, resourceId *v2.ResourceId, credentialOptions *v2.CredentialOptions) ([]*v2.PlaintextData, annotations.Annotations, error) - RotateCapabilityDetails(ctx context.Context) (*v2.CredentialDetailsCredentialRotation, annotations.Annotations, error) -} - -// Compatibility interface lets us handle both EventFeed and EventProvider the same. -type EventLister interface { - ListEvents(ctx context.Context, earliestEvent *timestamppb.Timestamp, pToken *pagination.StreamToken) ([]*v2.Event, *pagination.StreamState, annotations.Annotations, error) -} - -// Deprecated: This interface is deprecated in favor of EventProviderV2 which supports -// multiple event feeds. Implementing this interface indicates the connector can provide -// a single stream of events from the external system, enabling near real-time updates -// in Baton. New connectors should implement EventProviderV2 instead. -type EventProvider interface { - ConnectorBuilder - EventLister -} - -// NewEventProviderV2 is a new interface that allows connectors to provide multiple event feeds. -// -// This is the recommended interface for implementing event feed support in new connectors. -type EventProviderV2 interface { - ConnectorBuilder - EventFeeds(ctx context.Context) []EventFeed -} - -// EventFeed is a single stream of events from the external system. -// -// EventFeedMetadata describes this feed, and a connector can have multiple feeds. -type EventFeed interface { - EventLister - EventFeedMetadata(ctx context.Context) *v2.EventFeedMetadata -} - -type oldEventFeedWrapper struct { - feed EventLister -} - -const ( - LegacyBatonFeedId = "baton_feed_event" -) - -func (e *oldEventFeedWrapper) EventFeedMetadata(ctx context.Context) *v2.EventFeedMetadata { - return &v2.EventFeedMetadata{ - Id: LegacyBatonFeedId, - SupportedEventTypes: []v2.EventType{v2.EventType_EVENT_TYPE_UNSPECIFIED}, - } -} - -func (e *oldEventFeedWrapper) ListEvents( - ctx context.Context, - earliestEvent *timestamppb.Timestamp, - pToken *pagination.StreamToken, -) ([]*v2.Event, *pagination.StreamState, annotations.Annotations, error) { - return e.feed.ListEvents(ctx, earliestEvent, pToken) -} - -// TicketManager extends ConnectorBuilder to add capabilities for ticket management. -// -// Implementing this interface indicates the connector can integrate with an external -// ticketing system, allowing Baton to create and track tickets in that system. -type TicketManager interface { - ConnectorBuilder - GetTicket(ctx context.Context, ticketId string) (*v2.Ticket, annotations.Annotations, error) - CreateTicket(ctx context.Context, ticket *v2.Ticket, schema *v2.TicketSchema) (*v2.Ticket, annotations.Annotations, error) - GetTicketSchema(ctx context.Context, schemaID string) (*v2.TicketSchema, annotations.Annotations, error) - ListTicketSchemas(ctx context.Context, pToken *pagination.Token) ([]*v2.TicketSchema, string, annotations.Annotations, error) - BulkCreateTickets(context.Context, *v2.TicketsServiceBulkCreateTicketsRequest) (*v2.TicketsServiceBulkCreateTicketsResponse, error) - BulkGetTickets(context.Context, *v2.TicketsServiceBulkGetTicketsRequest) (*v2.TicketsServiceBulkGetTicketsResponse, error) -} - -// CustomActionManager defines capabilities for handling custom actions. -// -// Note: RegisterActionManager is preferred for new connectors. -// -// This interface allows connectors to define and execute custom actions -// that can be triggered from Baton. -type CustomActionManager interface { - ListActionSchemas(ctx context.Context) ([]*v2.BatonActionSchema, annotations.Annotations, error) - GetActionSchema(ctx context.Context, name string) (*v2.BatonActionSchema, annotations.Annotations, error) - InvokeAction(ctx context.Context, name string, args *structpb.Struct) (string, v2.BatonActionStatus, *structpb.Struct, annotations.Annotations, error) - GetActionStatus(ctx context.Context, id string) (v2.BatonActionStatus, string, *structpb.Struct, annotations.Annotations, error) -} - -// RegisterActionManager extends ConnectorBuilder to add capabilities for registering custom actions. -// -// This is the recommended interface for implementing custom action support in new connectors. -// It provides a mechanism to register a CustomActionManager with the connector. -type RegisterActionManager interface { - ConnectorBuilder - RegisterActionManager(ctx context.Context) (CustomActionManager, error) -} - // ConnectorBuilder is the foundational interface for creating Baton connectors. // // This interface defines the core capabilities required by all connectors, including @@ -232,1077 +37,280 @@ type RegisterActionManager interface { // - RegisterActionManager: For custom action support // - EventProvider: For event stream support // - TicketManager: For ticket management integration. -type ConnectorBuilder interface { - Metadata(ctx context.Context) (*v2.ConnectorMetadata, error) - Validate(ctx context.Context) (annotations.Annotations, error) - ResourceSyncers(ctx context.Context) []ResourceSyncer -} - -type builderImpl struct { - resourceBuilders map[string]ResourceSyncer - resourceProvisioners map[string]ResourceProvisioner - resourceProvisionersV2 map[string]ResourceProvisionerV2 - resourceManagers map[string]ResourceManager - resourceDeleters map[string]ResourceDeleter - resourceTargetedSyncers map[string]ResourceTargetedSyncer - accountManager AccountManager - actionManager CustomActionManager - credentialManagers map[string]CredentialManager - eventFeeds map[string]EventFeed - cb ConnectorBuilder - ticketManager TicketManager - ticketingEnabled bool - m *metrics.M - nowFunc func() time.Time -} - -func (b *builderImpl) BulkCreateTickets(ctx context.Context, request *v2.TicketsServiceBulkCreateTicketsRequest) (*v2.TicketsServiceBulkCreateTicketsResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.BulkCreateTickets") - defer span.End() - - start := b.nowFunc() - tt := tasks.BulkCreateTicketsType - if b.ticketManager == nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: ticket manager not implemented") - } - - reqBody := request.GetTicketRequests() - if len(reqBody) == 0 { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: request body had no items") - } - - ticketsResponse, err := b.ticketManager.BulkCreateTickets(ctx, request) - if err != nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: creating tickets failed: %w", err) - } - - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return &v2.TicketsServiceBulkCreateTicketsResponse{ - Tickets: ticketsResponse.GetTickets(), - }, nil -} - -func (b *builderImpl) BulkGetTickets(ctx context.Context, request *v2.TicketsServiceBulkGetTicketsRequest) (*v2.TicketsServiceBulkGetTicketsResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.BulkGetTickets") - defer span.End() - - start := b.nowFunc() - tt := tasks.BulkGetTicketsType - if b.ticketManager == nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: ticket manager not implemented") - } - - reqBody := request.GetTicketRequests() - if len(reqBody) == 0 { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: request body had no items") - } - - ticketsResponse, err := b.ticketManager.BulkGetTickets(ctx, request) - if err != nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: fetching tickets failed: %w", err) - } - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return &v2.TicketsServiceBulkGetTicketsResponse{ - Tickets: ticketsResponse.GetTickets(), - }, nil +type MetadataProvider interface { + Metadata(ctx context.Context) (*v2.ConnectorMetadata, error) } -func (b *builderImpl) ListTicketSchemas(ctx context.Context, request *v2.TicketsServiceListTicketSchemasRequest) (*v2.TicketsServiceListTicketSchemasResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.ListTicketSchemas") - defer span.End() - - start := b.nowFunc() - tt := tasks.ListTicketSchemasType - if b.ticketManager == nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: ticket manager not implemented") - } - - retryer := retry.NewRetryer(ctx, retry.RetryConfig{ - MaxAttempts: 10, - InitialDelay: 15 * time.Second, - MaxDelay: 0, - }) - - for { - out, nextPageToken, annos, err := b.ticketManager.ListTicketSchemas(ctx, &pagination.Token{ - Size: int(request.PageSize), - Token: request.PageToken, - }) - if err == nil { - if request.PageToken != "" && request.PageToken == nextPageToken { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: listing ticket schemas failed: next page token is the same as the current page token. this is most likely a connector bug") - } - - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return &v2.TicketsServiceListTicketSchemasResponse{ - List: out, - NextPageToken: nextPageToken, - Annotations: annos, - }, nil - } - if retryer.ShouldWaitAndRetry(ctx, err) { - continue - } - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: listing ticket schemas failed: %w", err) - } +type ValidateProvider interface { + Validate(ctx context.Context) (annotations.Annotations, error) } -func (b *builderImpl) CreateTicket(ctx context.Context, request *v2.TicketsServiceCreateTicketRequest) (*v2.TicketsServiceCreateTicketResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.CreateTicket") - defer span.End() - - start := b.nowFunc() - tt := tasks.CreateTicketType - if b.ticketManager == nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: ticket manager not implemented") - } - - reqBody := request.GetRequest() - if reqBody == nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: request body is nil") - } - cTicket := &v2.Ticket{ - DisplayName: reqBody.GetDisplayName(), - Description: reqBody.GetDescription(), - Status: reqBody.GetStatus(), - Labels: reqBody.GetLabels(), - CustomFields: reqBody.GetCustomFields(), - RequestedFor: reqBody.GetRequestedFor(), - } - - ticket, annos, err := b.ticketManager.CreateTicket(ctx, cTicket, request.GetSchema()) - var resp *v2.TicketsServiceCreateTicketResponse - if err != nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - if ticket != nil { - resp = &v2.TicketsServiceCreateTicketResponse{ - Ticket: ticket, - Annotations: annos, - } - } - return resp, fmt.Errorf("error: creating ticket failed: %w", err) - } - - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return &v2.TicketsServiceCreateTicketResponse{ - Ticket: ticket, - Annotations: annos, - }, nil +type ConnectorBuilder interface { + MetadataProvider + ValidateProvider + ResourceSyncers(ctx context.Context) []ResourceSyncer } -func (b *builderImpl) GetTicket(ctx context.Context, request *v2.TicketsServiceGetTicketRequest) (*v2.TicketsServiceGetTicketResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.GetTicket") - defer span.End() - - start := b.nowFunc() - tt := tasks.GetTicketType - if b.ticketManager == nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: ticket manager not implemented") - } - - var resp *v2.TicketsServiceGetTicketResponse - ticket, annos, err := b.ticketManager.GetTicket(ctx, request.GetId()) - if err != nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - if ticket != nil { - resp = &v2.TicketsServiceGetTicketResponse{ - Ticket: ticket, - Annotations: annos, - } - } - return resp, fmt.Errorf("error: getting ticket failed: %w", err) - } - - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return &v2.TicketsServiceGetTicketResponse{ - Ticket: ticket, - Annotations: annos, - }, nil +type ConnectorBuilderV2 interface { + MetadataProvider + ValidateProvider + ResourceSyncers(ctx context.Context) []ResourceSyncerV2 } -func (b *builderImpl) GetTicketSchema(ctx context.Context, request *v2.TicketsServiceGetTicketSchemaRequest) (*v2.TicketsServiceGetTicketSchemaResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.GetTicketSchema") - defer span.End() - - start := b.nowFunc() - tt := tasks.GetTicketSchemaType - if b.ticketManager == nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: ticket manager not implemented") - } - - ticketSchema, annos, err := b.ticketManager.GetTicketSchema(ctx, request.GetId()) - if err != nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: getting ticket metadata failed: %w", err) - } - - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return &v2.TicketsServiceGetTicketSchemaResponse{ - Schema: ticketSchema, - Annotations: annos, - }, nil +type builder struct { + ticketingEnabled bool + m *metrics.M + nowFunc func() time.Time + clientSecret *jose.JSONWebKey + sessionStore sessions.SessionStore + metadataProvider MetadataProvider + validateProvider ValidateProvider + ticketManager TicketManagerLimited + accountManager AccountManagerLimited + actionManager CustomActionManager + resourceSyncers map[string]ResourceSyncerV2 + resourceProvisioners map[string]ResourceProvisionerV2Limited + resourceManagers map[string]ResourceManagerV2Limited + resourceDeleters map[string]ResourceDeleterV2Limited + resourceTargetedSyncers map[string]ResourceTargetedSyncerLimited + credentialManagers map[string]CredentialManagerLimited + eventFeeds map[string]EventFeed + accountManagers map[string]AccountManagerLimited // NOTE(kans): currently unused } // NewConnector creates a new ConnectorServer for a new resource. func NewConnector(ctx context.Context, in interface{}, opts ...Opt) (types.ConnectorServer, error) { - switch c := in.(type) { - case ConnectorBuilder: - ret := &builderImpl{ - resourceBuilders: make(map[string]ResourceSyncer), - resourceProvisioners: make(map[string]ResourceProvisioner), - resourceProvisionersV2: make(map[string]ResourceProvisionerV2), - resourceManagers: make(map[string]ResourceManager), - resourceDeleters: make(map[string]ResourceDeleter), - resourceTargetedSyncers: make(map[string]ResourceTargetedSyncer), - accountManager: nil, - actionManager: nil, - credentialManagers: make(map[string]CredentialManager), - eventFeeds: make(map[string]EventFeed), - cb: c, - ticketManager: nil, - nowFunc: time.Now, - } - - err := ret.options(opts...) - if err != nil { - return nil, err - } - - if ret.m == nil { - ret.m = metrics.New(metrics.NewNoOpHandler(ctx)) - } - - if b, ok := c.(EventProviderV2); ok { - for _, ef := range b.EventFeeds(ctx) { - feedData := ef.EventFeedMetadata(ctx) - if feedData == nil { - return nil, fmt.Errorf("error: event feed metadata is nil") - } - if err := feedData.Validate(); err != nil { - return nil, fmt.Errorf("error: event feed metadata for %s is invalid: %w", feedData.Id, err) - } - if _, ok := ret.eventFeeds[feedData.Id]; ok { - return nil, fmt.Errorf("error: duplicate event feed id found: %s", feedData.Id) - } - ret.eventFeeds[feedData.Id] = ef - } - } - - if b, ok := c.(EventProvider); ok { - // Register the legacy Baton feed as a v2 event feed - // implementing both v1 and v2 event feeds is not supported. - if len(ret.eventFeeds) != 0 { - return nil, fmt.Errorf("error: using legacy event feed is not supported when using EventProviderV2") - } - ret.eventFeeds[LegacyBatonFeedId] = &oldEventFeedWrapper{ - feed: b, - } - } - - if ticketManager, ok := c.(TicketManager); ok { - if ret.ticketManager != nil { - return nil, fmt.Errorf("error: cannot set multiple ticket managers") - } - ret.ticketManager = ticketManager - } - - if actionManager, ok := c.(CustomActionManager); ok { - if ret.actionManager != nil { - return nil, fmt.Errorf("error: cannot set multiple action managers") - } - ret.actionManager = actionManager - } - - if registerActionManager, ok := c.(RegisterActionManager); ok { - if ret.actionManager != nil { - return nil, fmt.Errorf("error: cannot register multiple action managers") - } - actionManager, err := registerActionManager.RegisterActionManager(ctx) - if err != nil { - return nil, fmt.Errorf("error: registering action manager failed: %w", err) - } - if actionManager == nil { - return nil, fmt.Errorf("error: action manager is nil") - } - ret.actionManager = actionManager - } - - for _, rb := range c.ResourceSyncers(ctx) { - rType := rb.ResourceType(ctx) - if _, ok := ret.resourceBuilders[rType.Id]; ok { - return nil, fmt.Errorf("error: duplicate resource type found for resource builder %s", rType.Id) - } - ret.resourceBuilders[rType.Id] = rb - - if err := validateProvisionerVersion(ctx, rb); err != nil { - return nil, err - } - - if provisioner, ok := rb.(ResourceProvisioner); ok { - if _, ok := ret.resourceProvisioners[rType.Id]; ok { - return nil, fmt.Errorf("error: duplicate resource type found for resource provisioner %s", rType.Id) - } - ret.resourceProvisioners[rType.Id] = provisioner - } - if provisioner, ok := rb.(ResourceProvisionerV2); ok { - if _, ok := ret.resourceProvisionersV2[rType.Id]; ok { - return nil, fmt.Errorf("error: duplicate resource type found for resource provisioner v2 %s", rType.Id) - } - ret.resourceProvisionersV2[rType.Id] = provisioner - } - if targetedSyncer, ok := rb.(ResourceTargetedSyncer); ok { - if _, ok := ret.resourceTargetedSyncers[rType.Id]; ok { - return nil, fmt.Errorf("error: duplicate resource type found for resource targeted syncer %s", rType.Id) - } - ret.resourceTargetedSyncers[rType.Id] = targetedSyncer - } - - if resourceManager, ok := rb.(ResourceManager); ok { - if _, ok := ret.resourceManagers[rType.Id]; ok { - return nil, fmt.Errorf("error: duplicate resource type found for resource manager %s", rType.Id) - } - ret.resourceManagers[rType.Id] = resourceManager - // Support DeleteResourceV2 if connector implements both Create and Delete - if _, ok := ret.resourceDeleters[rType.Id]; ok { - // This should never happen - return nil, fmt.Errorf("error: duplicate resource type found for resource deleter %s", rType.Id) - } - ret.resourceDeleters[rType.Id] = resourceManager - } else { - if resourceDeleter, ok := rb.(ResourceDeleter); ok { - if _, ok := ret.resourceDeleters[rType.Id]; ok { - return nil, fmt.Errorf("error: duplicate resource type found for resource deleter %s", rType.Id) - } - ret.resourceDeleters[rType.Id] = resourceDeleter - } - } - - if accountManager, ok := rb.(AccountManager); ok { - if ret.accountManager != nil { - return nil, fmt.Errorf("error: duplicate resource type found for account manager %s", rType.Id) - } - ret.accountManager = accountManager - } - - if credentialManagers, ok := rb.(CredentialManager); ok { - if _, ok := ret.credentialManagers[rType.Id]; ok { - return nil, fmt.Errorf("error: duplicate resource type found for credential manager %s", rType.Id) - } - ret.credentialManagers[rType.Id] = credentialManagers - } - } - return ret, nil - - case types.ConnectorServer: - return c, nil - - default: - return nil, fmt.Errorf("input was not a ConnectorBuilder or a ConnectorServer") - } -} - -type Opt func(b *builderImpl) error - -func WithTicketingEnabled() Opt { - return func(b *builderImpl) error { - if _, ok := b.cb.(TicketManager); ok { - b.ticketingEnabled = true - return nil - } - return errors.New("external ticketing not supported") - } -} - -func WithMetricsHandler(h metrics.Handler) Opt { - return func(b *builderImpl) error { - b.m = metrics.New(h) - return nil - } -} - -func (b *builderImpl) options(opts ...Opt) error { - for _, opt := range opts { - if err := opt(b); err != nil { - return err - } - } - - return nil -} - -func validateProvisionerVersion(ctx context.Context, p ResourceSyncer) error { - _, ok := p.(ResourceProvisioner) - _, okV2 := p.(ResourceProvisionerV2) - - if ok && okV2 { - return fmt.Errorf("error: resource type %s implements both ResourceProvisioner and ResourceProvisionerV2", p.ResourceType(ctx).Id) - } - return nil -} - -// ListResourceTypes lists all available resource types. -func (b *builderImpl) ListResourceTypes( - ctx context.Context, - request *v2.ResourceTypesServiceListResourceTypesRequest, -) (*v2.ResourceTypesServiceListResourceTypesResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.ListResourceTypes") - defer span.End() - - start := b.nowFunc() - tt := tasks.ListResourceTypesType - var out []*v2.ResourceType - - if len(b.resourceBuilders) == 0 { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: no resource builders found") - } - - for _, rb := range b.resourceBuilders { - out = append(out, rb.ResourceType(ctx)) - } - - if len(out) == 0 { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: no resource types found") - } - - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return &v2.ResourceTypesServiceListResourceTypesResponse{List: out}, nil -} - -// ListResources returns all available resources for a given resource type ID. -func (b *builderImpl) ListResources(ctx context.Context, request *v2.ResourcesServiceListResourcesRequest) (*v2.ResourcesServiceListResourcesResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.ListResources") - defer span.End() - - start := b.nowFunc() - tt := tasks.ListResourcesType - rb, ok := b.resourceBuilders[request.ResourceTypeId] - if !ok { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: list resources with unknown resource type %s", request.ResourceTypeId) - } - - out, nextPageToken, annos, err := rb.List(ctx, request.ParentResourceId, &pagination.Token{ - Size: int(request.PageSize), - Token: request.PageToken, - }) - resp := &v2.ResourcesServiceListResourcesResponse{ - List: out, - NextPageToken: nextPageToken, - Annotations: annos, - } - if err != nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return resp, fmt.Errorf("error: listing resources failed: %w", err) - } - if request.PageToken != "" && request.PageToken == nextPageToken { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return resp, fmt.Errorf("error: listing resources failed: next page token is the same as the current page token. this is most likely a connector bug") - } - - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return resp, nil -} - -func (b *builderImpl) GetResource(ctx context.Context, request *v2.ResourceGetterServiceGetResourceRequest) (*v2.ResourceGetterServiceGetResourceResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.GetResource") - defer span.End() - - start := b.nowFunc() - tt := tasks.GetResourceType - resourceType := request.GetResourceId().GetResourceType() - rb, ok := b.resourceTargetedSyncers[resourceType] - if !ok { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, status.Errorf(codes.Unimplemented, "error: get resource with unknown resource type %s", resourceType) - } - - resource, annos, err := rb.Get(ctx, request.GetResourceId(), request.GetParentResourceId()) - if err != nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: get resource failed: %w", err) - } - if resource == nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, status.Error(codes.NotFound, "error: get resource returned nil") - } - - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return &v2.ResourceGetterServiceGetResourceResponse{ - Resource: resource, - Annotations: annos, - }, nil -} - -// ListEntitlements returns all the entitlements for a given resource. -func (b *builderImpl) ListEntitlements(ctx context.Context, request *v2.EntitlementsServiceListEntitlementsRequest) (*v2.EntitlementsServiceListEntitlementsResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.ListEntitlements") - defer span.End() - - start := b.nowFunc() - tt := tasks.ListEntitlementsType - rb, ok := b.resourceBuilders[request.Resource.Id.ResourceType] - if !ok { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: list entitlements with unknown resource type %s", request.Resource.Id.ResourceType) - } - - out, nextPageToken, annos, err := rb.Entitlements(ctx, request.Resource, &pagination.Token{ - Size: int(request.PageSize), - Token: request.PageToken, - }) - resp := &v2.EntitlementsServiceListEntitlementsResponse{ - List: out, - NextPageToken: nextPageToken, - Annotations: annos, - } - if err != nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return resp, fmt.Errorf("error: listing entitlements failed: %w", err) - } - if request.PageToken != "" && request.PageToken == nextPageToken { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return resp, fmt.Errorf("error: listing entitlements failed: next page token is the same as the current page token. this is most likely a connector bug") - } - - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return resp, nil -} - -// ListGrants lists all the grants for a given resource. -func (b *builderImpl) ListGrants(ctx context.Context, request *v2.GrantsServiceListGrantsRequest) (*v2.GrantsServiceListGrantsResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.ListGrants") - defer span.End() - - start := b.nowFunc() - tt := tasks.ListGrantsType - rid := request.Resource.Id - rb, ok := b.resourceBuilders[rid.ResourceType] - if !ok { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: list entitlements with unknown resource type %s", rid.ResourceType) - } - - out, nextPageToken, annos, err := rb.Grants(ctx, request.Resource, &pagination.Token{ - Size: int(request.PageSize), - Token: request.PageToken, - }) - resp := &v2.GrantsServiceListGrantsResponse{ - List: out, - NextPageToken: nextPageToken, - Annotations: annos, - } - if err != nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return resp, fmt.Errorf("error: listing grants for resource %s/%s failed: %w", rid.ResourceType, rid.Resource, err) - } - if request.PageToken != "" && request.PageToken == nextPageToken { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return resp, fmt.Errorf("error: listing grants for resource %s/%s failed: next page token is the same as the current page token. this is most likely a connector bug", - rid.ResourceType, - rid.Resource) - } - - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return resp, nil -} - -// GetMetadata gets all metadata for a connector. -func (b *builderImpl) GetMetadata(ctx context.Context, request *v2.ConnectorServiceGetMetadataRequest) (*v2.ConnectorServiceGetMetadataResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.GetMetadata") - defer span.End() - - start := b.nowFunc() - tt := tasks.GetMetadataType - md, err := b.cb.Metadata(ctx) - if err != nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, err - } - - md.Capabilities, err = getCapabilities(ctx, b) - if err != nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, err - } - - annos := annotations.Annotations(md.Annotations) - if b.ticketManager != nil { - annos.Append(&v2.ExternalTicketSettings{Enabled: b.ticketingEnabled}) - } - md.Annotations = annos - - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return &v2.ConnectorServiceGetMetadataResponse{Metadata: md}, nil -} - -func validateCapabilityDetails(ctx context.Context, credDetails *v2.CredentialDetails) error { - if credDetails.CapabilityAccountProvisioning != nil { - // Ensure that the preferred option is included and is part of the supported options - if credDetails.CapabilityAccountProvisioning.PreferredCredentialOption == v2.CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_UNSPECIFIED { - return status.Error(codes.InvalidArgument, "error: preferred credential creation option is not set") - } - if !slices.Contains(credDetails.CapabilityAccountProvisioning.SupportedCredentialOptions, credDetails.CapabilityAccountProvisioning.PreferredCredentialOption) { - return status.Error(codes.InvalidArgument, "error: preferred credential creation option is not part of the supported options") - } - } - - if credDetails.CapabilityCredentialRotation != nil { - // Ensure that the preferred option is included and is part of the supported options - if credDetails.CapabilityCredentialRotation.PreferredCredentialOption == v2.CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_UNSPECIFIED { - return status.Error(codes.InvalidArgument, "error: preferred credential rotation option is not set") - } - if !slices.Contains(credDetails.CapabilityCredentialRotation.SupportedCredentialOptions, credDetails.CapabilityCredentialRotation.PreferredCredentialOption) { - return status.Error(codes.InvalidArgument, "error: preferred credential rotation option is not part of the supported options") - } - } - - return nil -} - -func getCredentialDetails(ctx context.Context, b *builderImpl) (*v2.CredentialDetails, error) { - l := ctxzap.Extract(ctx) - rv := &v2.CredentialDetails{} - - for _, rb := range b.resourceBuilders { - if am, ok := rb.(AccountManager); ok { - accountProvisioningCapabilityDetails, _, err := am.CreateAccountCapabilityDetails(ctx) - if err != nil { - l.Error("error: getting account provisioning details", zap.Error(err)) - return nil, fmt.Errorf("error: getting account provisioning details: %w", err) - } - rv.CapabilityAccountProvisioning = accountProvisioningCapabilityDetails - } - - if cm, ok := rb.(CredentialManager); ok { - credentialRotationCapabilityDetails, _, err := cm.RotateCapabilityDetails(ctx) - if err != nil { - l.Error("error: getting credential management details", zap.Error(err)) - return nil, fmt.Errorf("error: getting credential management details: %w", err) - } - rv.CapabilityCredentialRotation = credentialRotationCapabilityDetails - } - } - - err := validateCapabilityDetails(ctx, rv) - if err != nil { - return nil, fmt.Errorf("error: validating capability details: %w", err) - } - return rv, nil -} - -// getCapabilities gets all capabilities for a connector. -func getCapabilities(ctx context.Context, b *builderImpl) (*v2.ConnectorCapabilities, error) { - connectorCaps := make(map[v2.Capability]struct{}) - resourceTypeCapabilities := []*v2.ResourceTypeCapability{} - for _, rb := range b.resourceBuilders { - resourceTypeCapability := &v2.ResourceTypeCapability{ - ResourceType: rb.ResourceType(ctx), - // Currently by default all resource types support sync. - Capabilities: []v2.Capability{v2.Capability_CAPABILITY_SYNC}, - } - connectorCaps[v2.Capability_CAPABILITY_SYNC] = struct{}{} - if _, ok := rb.(ResourceTargetedSyncer); ok { - resourceTypeCapability.Capabilities = append(resourceTypeCapability.Capabilities, v2.Capability_CAPABILITY_TARGETED_SYNC) - connectorCaps[v2.Capability_CAPABILITY_TARGETED_SYNC] = struct{}{} - } - if _, ok := rb.(ResourceProvisioner); ok { - resourceTypeCapability.Capabilities = append(resourceTypeCapability.Capabilities, v2.Capability_CAPABILITY_PROVISION) - connectorCaps[v2.Capability_CAPABILITY_PROVISION] = struct{}{} - } else if _, ok = rb.(ResourceProvisionerV2); ok { - resourceTypeCapability.Capabilities = append(resourceTypeCapability.Capabilities, v2.Capability_CAPABILITY_PROVISION) - connectorCaps[v2.Capability_CAPABILITY_PROVISION] = struct{}{} - } - if _, ok := rb.(AccountManager); ok { - resourceTypeCapability.Capabilities = append(resourceTypeCapability.Capabilities, v2.Capability_CAPABILITY_ACCOUNT_PROVISIONING) - connectorCaps[v2.Capability_CAPABILITY_ACCOUNT_PROVISIONING] = struct{}{} - } - - if _, ok := rb.(CredentialManager); ok { - resourceTypeCapability.Capabilities = append(resourceTypeCapability.Capabilities, v2.Capability_CAPABILITY_CREDENTIAL_ROTATION) - connectorCaps[v2.Capability_CAPABILITY_CREDENTIAL_ROTATION] = struct{}{} - } - - if _, ok := rb.(ResourceManager); ok { - resourceTypeCapability.Capabilities = append(resourceTypeCapability.Capabilities, v2.Capability_CAPABILITY_RESOURCE_CREATE, v2.Capability_CAPABILITY_RESOURCE_DELETE) - connectorCaps[v2.Capability_CAPABILITY_RESOURCE_CREATE] = struct{}{} - connectorCaps[v2.Capability_CAPABILITY_RESOURCE_DELETE] = struct{}{} - } else if _, ok := rb.(ResourceDeleter); ok { - resourceTypeCapability.Capabilities = append(resourceTypeCapability.Capabilities, v2.Capability_CAPABILITY_RESOURCE_DELETE) - connectorCaps[v2.Capability_CAPABILITY_RESOURCE_DELETE] = struct{}{} - } - - resourceTypeCapabilities = append(resourceTypeCapabilities, resourceTypeCapability) - } - sort.Slice(resourceTypeCapabilities, func(i, j int) bool { - return resourceTypeCapabilities[i].ResourceType.GetId() < resourceTypeCapabilities[j].ResourceType.GetId() - }) - - if len(b.eventFeeds) > 0 { - connectorCaps[v2.Capability_CAPABILITY_EVENT_FEED_V2] = struct{}{} - } - - if b.ticketManager != nil { - connectorCaps[v2.Capability_CAPABILITY_TICKETING] = struct{}{} - } - - if b.actionManager != nil { - connectorCaps[v2.Capability_CAPABILITY_ACTIONS] = struct{}{} - } - - var caps []v2.Capability - for c := range connectorCaps { - caps = append(caps, c) - } - slices.Sort(caps) - - credDetails, err := getCredentialDetails(ctx, b) - if err != nil { - return nil, err - } - - return &v2.ConnectorCapabilities{ - ResourceTypeCapabilities: resourceTypeCapabilities, - ConnectorCapabilities: caps, - CredentialDetails: credDetails, - }, nil -} - -// Validate validates the connector. -func (b *builderImpl) Validate(ctx context.Context, request *v2.ConnectorServiceValidateRequest) (*v2.ConnectorServiceValidateResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.Validate") - defer span.End() - - retryer := retry.NewRetryer(ctx, retry.RetryConfig{ - MaxAttempts: 5, - InitialDelay: 1 * time.Second, - MaxDelay: 0, - }) - - for { - annos, err := b.cb.Validate(ctx) - if err == nil { - return &v2.ConnectorServiceValidateResponse{Annotations: annos}, nil - } - - if retryer.ShouldWaitAndRetry(ctx, err) { - continue - } - - return nil, fmt.Errorf("validate failed: %w", err) + if in == nil { + return nil, fmt.Errorf("input cannot be nil") } -} - -func (b *builderImpl) Grant(ctx context.Context, request *v2.GrantManagerServiceGrantRequest) (*v2.GrantManagerServiceGrantResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.Grant") - defer span.End() - start := b.nowFunc() - tt := tasks.GrantType - l := ctxzap.Extract(ctx) + switch t := in.(type) { + case types.ConnectorServer: + // its likely nothing uses this code path anymore + return t, nil + case ConnectorBuilder, ConnectorBuilderV2: + default: + return nil, fmt.Errorf("input is not a ConnectorServer, ConnectorBuilder, or ConnectorBuilderV2") + } + + clientSecretValue := ctx.Value(crypto.ContextClientSecretKey) + clientSecretJWK, _ := clientSecretValue.(*jose.JSONWebKey) + + b := &builder{ + metadataProvider: nil, + validateProvider: nil, + ticketManager: nil, + accountManager: nil, + actionManager: nil, + nowFunc: time.Now, + clientSecret: clientSecretJWK, + resourceSyncers: make(map[string]ResourceSyncerV2), + resourceProvisioners: make(map[string]ResourceProvisionerV2Limited), + resourceManagers: make(map[string]ResourceManagerV2Limited), + resourceDeleters: make(map[string]ResourceDeleterV2Limited), + resourceTargetedSyncers: make(map[string]ResourceTargetedSyncerLimited), + credentialManagers: make(map[string]CredentialManagerLimited), + eventFeeds: make(map[string]EventFeed), + accountManagers: make(map[string]AccountManagerLimited), + } + + // WithTicketingEnabled checks for the ticketManager + if err := b.addTicketManager(ctx, in); err != nil { + return nil, err + } - rt := request.Entitlement.Resource.Id.ResourceType + err := b.options(opts...) + if err != nil { + return nil, err + } - retryer := retry.NewRetryer(ctx, retry.RetryConfig{ - MaxAttempts: 3, - InitialDelay: 15 * time.Second, - MaxDelay: 60 * time.Second, - }) + if b.m == nil { + b.m = metrics.New(metrics.NewNoOpHandler(ctx)) + } - var grantFunc func(ctx context.Context, principal *v2.Resource, entitlement *v2.Entitlement) ([]*v2.Grant, annotations.Annotations, error) - provisioner, ok := b.resourceProvisioners[rt] - if ok { - grantFunc = func(ctx context.Context, principal *v2.Resource, entitlement *v2.Entitlement) ([]*v2.Grant, annotations.Annotations, error) { - annos, err := provisioner.Grant(ctx, principal, entitlement) - if err != nil { - return nil, annos, err - } - return nil, annos, nil - } + if err := b.addConnectorBuilderProviders(ctx, in); err != nil { + return nil, err } - provisionerV2, ok := b.resourceProvisionersV2[rt] - if ok { - grantFunc = provisionerV2.Grant + + if err := b.addEventFeed(ctx, in); err != nil { + return nil, err } - if grantFunc == nil { - l.Error("error: resource type does not have provisioner configured", zap.String("resource_type", rt)) - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: resource type does not have provisioner configured") + if err := b.addActionManager(ctx, in); err != nil { + return nil, err } - for { - grants, annos, err := grantFunc(ctx, request.Principal, request.Entitlement) - if err == nil { - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return &v2.GrantManagerServiceGrantResponse{Annotations: annos, Grants: grants}, nil - } - if retryer.ShouldWaitAndRetry(ctx, err) { - continue + addResourceType := func(ctx context.Context, rType string, rs interface{}) error { + if err := b.addResourceSyncers(ctx, rType, rs); err != nil { + return err } - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("grant failed: %w", err) - } -} -func (b *builderImpl) Revoke(ctx context.Context, request *v2.GrantManagerServiceRevokeRequest) (*v2.GrantManagerServiceRevokeResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.Revoke") - defer span.End() + if err := b.addProvisioner(ctx, rType, rs); err != nil { + return err + } - start := b.nowFunc() - tt := tasks.RevokeType + if err := b.addTargetedSyncer(ctx, rType, rs); err != nil { + return err + } - l := ctxzap.Extract(ctx) + if err := b.addResourceManager(ctx, rType, rs); err != nil { + return err + } - rt := request.Grant.Entitlement.Resource.Id.ResourceType + if err := b.addAccountManager(ctx, rType, rs); err != nil { + return err + } - retryer := retry.NewRetryer(ctx, retry.RetryConfig{ - MaxAttempts: 3, - InitialDelay: 15 * time.Second, - MaxDelay: 60 * time.Second, - }) + if err := b.addCredentialManager(ctx, rType, rs); err != nil { + return err + } - var revokeFunc func(ctx context.Context, grant *v2.Grant) (annotations.Annotations, error) - provisioner, ok := b.resourceProvisioners[rt] - if ok { - revokeFunc = provisioner.Revoke - } - provisionerV2, ok := b.resourceProvisionersV2[rt] - if ok { - revokeFunc = provisionerV2.Revoke + return nil } - if revokeFunc == nil { - l.Error("error: resource type does not have provisioner configured", zap.String("resource_type", rt)) - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: resource type does not have provisioner configured") + if cb, ok := in.(ConnectorBuilder); ok { + for _, rb := range cb.ResourceSyncers(ctx) { + rType := rb.ResourceType(ctx) + if err := addResourceType(ctx, rType.GetId(), rb); err != nil { + return nil, err + } + } + return b, nil } - for { - annos, err := revokeFunc(ctx, request.Grant) - if err == nil { - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return &v2.GrantManagerServiceRevokeResponse{Annotations: annos}, nil + if cb2, ok := in.(ConnectorBuilderV2); ok { + for _, rb := range cb2.ResourceSyncers(ctx) { + rType := rb.ResourceType(ctx) + if err := addResourceType(ctx, rType.GetId(), rb); err != nil { + return nil, err + } } - if retryer.ShouldWaitAndRetry(ctx, err) { - continue + return b, nil + } + return nil, fmt.Errorf("input is not a ConnectorBuilder or a ConnectorBuilderV2") +} + +type Opt func(b *builder) error + +func WithTicketingEnabled() Opt { + return func(b *builder) error { + if b.ticketManager == nil { + return errors.New("external ticketing not supported") } - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("revoke failed: %w", err) + b.ticketingEnabled = true + return nil } } -// GetAsset streams the asset to the client. -// FIXME(jirwin): Asset streaming is disabled. -func (b *builderImpl) GetAsset(request *v2.AssetServiceGetAssetRequest, server v2.AssetService_GetAssetServer) error { - _, span := tracer.Start(server.Context(), "builderImpl.GetAsset") - defer span.End() +func WithMetricsHandler(h metrics.Handler) Opt { + return func(b *builder) error { + b.m = metrics.New(h) + return nil + } +} - return nil +func WithSessionStore(ss sessions.SessionStore) Opt { + return func(b *builder) error { + b.sessionStore = ss + return nil + } } -func (b *builderImpl) ListEventFeeds(ctx context.Context, request *v2.ListEventFeedsRequest) (*v2.ListEventFeedsResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.ListEventFeeds") - defer span.End() +func (b *builder) options(opts ...Opt) error { + for _, opt := range opts { + if err := opt(b); err != nil { + return err + } + } - start := b.nowFunc() - tt := tasks.ListEventFeedsType + return nil +} - feeds := make([]*v2.EventFeedMetadata, 0, len(b.eventFeeds)) +func (b *builder) addConnectorBuilderProviders(_ context.Context, in interface{}) error { + if mp, ok := in.(MetadataProvider); ok { + b.metadataProvider = mp + } else { + return fmt.Errorf("error: metadata provider not implemented") + } - for _, feed := range b.eventFeeds { - feeds = append(feeds, feed.EventFeedMetadata(ctx)) + if vp, ok := in.(ValidateProvider); ok { + b.validateProvider = vp + } else { + return fmt.Errorf("error: validate provider not implemented") } - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return &v2.ListEventFeedsResponse{ - List: feeds, - }, nil + return nil } -func (b *builderImpl) ListEvents(ctx context.Context, request *v2.ListEventsRequest) (*v2.ListEventsResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.ListEvents") +// GetMetadata gets all metadata for a connector. +func (b *builder) GetMetadata(ctx context.Context, request *v2.ConnectorServiceGetMetadataRequest) (*v2.ConnectorServiceGetMetadataResponse, error) { + ctx, span := tracer.Start(ctx, "builder.GetMetadata") defer span.End() start := b.nowFunc() - feedId := request.GetEventFeedId() - - // If no feedId is provided, use the legacy Baton feed Id - if feedId == "" { - feedId = LegacyBatonFeedId - } - - feed, ok := b.eventFeeds[feedId] - if !ok { - return nil, status.Errorf(codes.NotFound, "error: event feed not found") + tt := tasks.GetMetadataType + md, err := b.metadataProvider.Metadata(ctx) + if err != nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, err } - tt := tasks.ListEventsType - events, streamState, annotations, err := feed.ListEvents(ctx, request.StartAt, &pagination.StreamToken{ - Size: int(request.PageSize), - Cursor: request.Cursor, - }) + md.Capabilities, err = b.getCapabilities(ctx) if err != nil { b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: listing events failed: %w", err) + return nil, err } - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return &v2.ListEventsResponse{ - Events: events, - Cursor: streamState.Cursor, - HasMore: streamState.HasMore, - Annotations: annotations, - }, nil -} -func (b *builderImpl) CreateResource(ctx context.Context, request *v2.CreateResourceRequest) (*v2.CreateResourceResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.CreateResource") - defer span.End() - - start := b.nowFunc() - tt := tasks.CreateResourceType - l := ctxzap.Extract(ctx) - rt := request.GetResource().GetId().GetResourceType() - manager, ok := b.resourceManagers[rt] - if ok { - resource, annos, err := manager.Create(ctx, request.Resource) - if err != nil { - l.Error("error: create resource failed", zap.Error(err)) - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: create resource failed: %w", err) - } - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return &v2.CreateResourceResponse{Created: resource, Annotations: annos}, nil + annos := annotations.Annotations(md.GetAnnotations()) + if b.ticketManager != nil { + annos.Append(v2.ExternalTicketSettings_builder{Enabled: b.ticketingEnabled}.Build()) } - l.Error("error: resource type does not have resource Create() configured", zap.String("resource_type", rt)) - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, status.Error(codes.Unimplemented, fmt.Sprintf("resource type %s does not have resource Create() configured", rt)) + md.SetAnnotations(annos) + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return v2.ConnectorServiceGetMetadataResponse_builder{Metadata: md}.Build(), nil } -func (b *builderImpl) DeleteResource(ctx context.Context, request *v2.DeleteResourceRequest) (*v2.DeleteResourceResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.DeleteResource") +// Validate validates the connector. +func (b *builder) Validate(ctx context.Context, request *v2.ConnectorServiceValidateRequest) (*v2.ConnectorServiceValidateResponse, error) { + ctx, span := tracer.Start(ctx, "builder.Validate") defer span.End() - start := b.nowFunc() - tt := tasks.DeleteResourceType + retryer := retry.NewRetryer(ctx, retry.RetryConfig{ + MaxAttempts: 5, + InitialDelay: 1 * time.Second, + MaxDelay: 0, + }) - l := ctxzap.Extract(ctx) - rt := request.GetResourceId().GetResourceType() - var manager ResourceDeleter - var ok bool - manager, ok = b.resourceManagers[rt] - if !ok { - manager, ok = b.resourceDeleters[rt] - } - if ok { - annos, err := manager.Delete(ctx, request.GetResourceId()) - if err != nil { - l.Error("error: delete resource failed", zap.Error(err)) - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: delete resource failed: %w", err) + for { + annos, err := b.validateProvider.Validate(ctx) + if err == nil { + return v2.ConnectorServiceValidateResponse_builder{ + Annotations: annos, + SdkVersion: sdk.Version, + }.Build(), nil } - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return &v2.DeleteResourceResponse{Annotations: annos}, nil - } - l.Error("error: resource type does not have resource Delete() configured", zap.String("resource_type", rt)) - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, status.Error(codes.Unimplemented, fmt.Sprintf("resource type %s does not have resource Delete() configured", rt)) -} - -func (b *builderImpl) DeleteResourceV2(ctx context.Context, request *v2.DeleteResourceV2Request) (*v2.DeleteResourceV2Response, error) { - ctx, span := tracer.Start(ctx, "builderImpl.DeleteResourceV2") - defer span.End() - - start := b.nowFunc() - tt := tasks.DeleteResourceType - l := ctxzap.Extract(ctx) - rt := request.GetResourceId().GetResourceType() - var manager ResourceDeleter - var ok bool - manager, ok = b.resourceManagers[rt] - if !ok { - manager, ok = b.resourceDeleters[rt] - } - if ok { - annos, err := manager.Delete(ctx, request.GetResourceId()) - if err != nil { - l.Error("error: delete resource failed", zap.Error(err)) - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: delete resource failed: %w", err) + if retryer.ShouldWaitAndRetry(ctx, err) { + continue } - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return &v2.DeleteResourceV2Response{Annotations: annos}, nil + + return nil, fmt.Errorf("validate failed: %w", err) } - l.Error("error: resource type does not have resource Delete() configured", zap.String("resource_type", rt)) - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, status.Error(codes.Unimplemented, fmt.Sprintf("resource type %s does not have resource Delete() configured", rt)) } -func (b *builderImpl) RotateCredential(ctx context.Context, request *v2.RotateCredentialRequest) (*v2.RotateCredentialResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.RotateCredential") - defer span.End() - - start := b.nowFunc() - tt := tasks.RotateCredentialsType +func (b *builder) Cleanup(ctx context.Context, request *v2.ConnectorServiceCleanupRequest) (*v2.ConnectorServiceCleanupResponse, error) { l := ctxzap.Extract(ctx) - rt := request.GetResourceId().GetResourceType() - manager, ok := b.credentialManagers[rt] - if !ok { - l.Error("error: resource type does not have credential manager configured", zap.String("resource_type", rt)) - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, status.Error(codes.Unimplemented, "resource type does not have credential manager configured") - } - - plaintexts, annos, err := manager.Rotate(ctx, request.GetResourceId(), request.GetCredentialOptions()) - if err != nil { - l.Error("error: rotate credentials on resource failed", zap.Error(err)) - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: rotate credentials on resource failed: %w", err) - } - - pkem, err := crypto.NewEncryptionManager(request.GetCredentialOptions(), request.GetEncryptionConfigs()) - if err != nil { - l.Error("error: creating encryption manager failed", zap.Error(err)) - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: creating encryption manager failed: %w", err) - } - - var encryptedDatas []*v2.EncryptedData - for _, plaintextCredential := range plaintexts { - encryptedData, err := pkem.Encrypt(ctx, plaintextCredential) + if b.sessionStore != nil { + // Limit c1z size before we upload, because the uploads time out... + // TODO(kans): we could hold onto the session store if we are in debug mode. + err := b.sessionStore.Clear(ctx, sessions.WithSyncID(request.GetActiveSyncId())) if err != nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, err + l.Warn("error clearing session store", zap.Error(err)) } - encryptedDatas = append(encryptedDatas, encryptedData...) } - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return &v2.RotateCredentialResponse{ - Annotations: annos, - ResourceId: request.GetResourceId(), - EncryptedData: encryptedDatas, - }, nil -} - -func (b *builderImpl) Cleanup(ctx context.Context, request *v2.ConnectorServiceCleanupRequest) (*v2.ConnectorServiceCleanupResponse, error) { - l := ctxzap.Extract(ctx) // Clear all http caches at the end of a sync. This must be run in the child process, which is why it's in this function and not in syncer.go err := uhttp.ClearCaches(ctx) if err != nil { @@ -1312,167 +320,138 @@ func (b *builderImpl) Cleanup(ctx context.Context, request *v2.ConnectorServiceC return resp, err } -func (b *builderImpl) CreateAccount(ctx context.Context, request *v2.CreateAccountRequest) (*v2.CreateAccountResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.CreateAccount") - defer span.End() +// getCapabilities gets all capabilities for a connector. +func (b *builder) getCapabilities(ctx context.Context) (*v2.ConnectorCapabilities, error) { + connectorCaps := make(map[v2.Capability]struct{}) + resourceTypeCapabilities := []*v2.ResourceTypeCapability{} - start := b.nowFunc() - tt := tasks.CreateAccountType - l := ctxzap.Extract(ctx) - if b.accountManager == nil { - l.Error("error: connector does not have account manager configured") - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, status.Error(codes.Unimplemented, "connector does not have credential manager configured") - } - result, plaintexts, annos, err := b.accountManager.CreateAccount(ctx, request.GetAccountInfo(), request.GetCredentialOptions()) - if err != nil { - l.Error("error: create account failed", zap.Error(err)) - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: create account failed: %w", err) - } + for resourceTypeID, rb := range b.resourceSyncers { + connectorCaps[v2.Capability_CAPABILITY_SYNC] = struct{}{} + caps := []v2.Capability{v2.Capability_CAPABILITY_SYNC} - pkem, err := crypto.NewEncryptionManager(request.GetCredentialOptions(), request.GetEncryptionConfigs()) - if err != nil { - l.Error("error: creating encryption manager failed", zap.Error(err)) - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: creating encryption manager failed: %w", err) - } + if _, exists := b.resourceTargetedSyncers[resourceTypeID]; exists { + caps = append(caps, v2.Capability_CAPABILITY_TARGETED_SYNC) + } - var encryptedDatas []*v2.EncryptedData - for _, plaintextCredential := range plaintexts { - encryptedData, err := pkem.Encrypt(ctx, plaintextCredential) - if err != nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, err + if _, exists := b.resourceProvisioners[resourceTypeID]; exists { + caps = append(caps, v2.Capability_CAPABILITY_PROVISION) } - encryptedDatas = append(encryptedDatas, encryptedData...) - } - rv := &v2.CreateAccountResponse{ - EncryptedData: encryptedDatas, - Annotations: annos, - } + if _, exists := b.accountManagers[resourceTypeID]; exists { + caps = append(caps, v2.Capability_CAPABILITY_ACCOUNT_PROVISIONING) + } - switch r := result.(type) { - case *v2.CreateAccountResponse_SuccessResult: - rv.Result = &v2.CreateAccountResponse_Success{Success: r} - case *v2.CreateAccountResponse_ActionRequiredResult: - rv.Result = &v2.CreateAccountResponse_ActionRequired{ActionRequired: r} - default: - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, status.Error(codes.Unimplemented, fmt.Sprintf("unknown result type: %T", result)) - } + if _, exists := b.resourceManagers[resourceTypeID]; exists { + caps = append(caps, v2.Capability_CAPABILITY_RESOURCE_DELETE, v2.Capability_CAPABILITY_RESOURCE_CREATE) + } else if _, exists := b.resourceDeleters[resourceTypeID]; exists { + caps = append(caps, v2.Capability_CAPABILITY_RESOURCE_DELETE) + } - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return rv, nil -} + if _, exists := b.credentialManagers[resourceTypeID]; exists { + caps = append(caps, v2.Capability_CAPABILITY_CREDENTIAL_ROTATION) + } -func (b *builderImpl) ListActionSchemas(ctx context.Context, request *v2.ListActionSchemasRequest) (*v2.ListActionSchemasResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.ListActionSchemas") - defer span.End() + // Extend the capabilities with the resource type specificcapabilities + for _, cap := range caps { + connectorCaps[cap] = struct{}{} + } - start := b.nowFunc() - tt := tasks.ActionListSchemasType - if b.actionManager == nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: action manager not implemented") + resourceTypeCapabilities = append(resourceTypeCapabilities, v2.ResourceTypeCapability_builder{ + ResourceType: rb.ResourceType(ctx), + Capabilities: caps, + }.Build()) } - actionSchemas, annos, err := b.actionManager.ListActionSchemas(ctx) - if err != nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: listing action schemas failed: %w", err) + // Check for account provisioning capability (global, not per resource type) + if b.accountManager != nil { + connectorCaps[v2.Capability_CAPABILITY_ACCOUNT_PROVISIONING] = struct{}{} } + sort.Slice(resourceTypeCapabilities, func(i, j int) bool { + return resourceTypeCapabilities[i].GetResourceType().GetId() < resourceTypeCapabilities[j].GetResourceType().GetId() + }) - rv := &v2.ListActionSchemasResponse{ - Schemas: actionSchemas, - Annotations: annos, + if len(b.eventFeeds) > 0 { + connectorCaps[v2.Capability_CAPABILITY_EVENT_FEED_V2] = struct{}{} } - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return rv, nil -} - -func (b *builderImpl) GetActionSchema(ctx context.Context, request *v2.GetActionSchemaRequest) (*v2.GetActionSchemaResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.GetActionSchema") - defer span.End() + if b.ticketManager != nil { + connectorCaps[v2.Capability_CAPABILITY_TICKETING] = struct{}{} + } - start := b.nowFunc() - tt := tasks.ActionGetSchemaType - if b.actionManager == nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: action manager not implemented") + if b.actionManager != nil { + connectorCaps[v2.Capability_CAPABILITY_ACTIONS] = struct{}{} } - actionSchema, annos, err := b.actionManager.GetActionSchema(ctx, request.GetName()) - if err != nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: getting action schema failed: %w", err) + var caps []v2.Capability + for c := range connectorCaps { + caps = append(caps, c) } + slices.Sort(caps) - rv := &v2.GetActionSchemaResponse{ - Schema: actionSchema, - Annotations: annos, + credDetails, err := getCredentialDetails(ctx, b) + if err != nil { + return nil, err } - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return rv, nil + return v2.ConnectorCapabilities_builder{ + ResourceTypeCapabilities: resourceTypeCapabilities, + ConnectorCapabilities: caps, + CredentialDetails: credDetails, + }.Build(), nil } -func (b *builderImpl) InvokeAction(ctx context.Context, request *v2.InvokeActionRequest) (*v2.InvokeActionResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.InvokeAction") - defer span.End() - - start := b.nowFunc() - tt := tasks.ActionInvokeType - if b.actionManager == nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: action manager not implemented") - } - - id, status, resp, annos, err := b.actionManager.InvokeAction(ctx, request.GetName(), request.GetArgs()) - if err != nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: invoking action failed: %w", err) +func validateCapabilityDetails(_ context.Context, credDetails *v2.CredentialDetails) error { + if credDetails.HasCapabilityAccountProvisioning() { + // Ensure that the preferred option is included and is part of the supported options + if credDetails.GetCapabilityAccountProvisioning().GetPreferredCredentialOption() == v2.CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_UNSPECIFIED { + return status.Error(codes.InvalidArgument, "error: preferred credential creation option is not set") + } + if !slices.Contains(credDetails.GetCapabilityAccountProvisioning().GetSupportedCredentialOptions(), credDetails.GetCapabilityAccountProvisioning().GetPreferredCredentialOption()) { + return status.Error(codes.InvalidArgument, "error: preferred credential creation option is not part of the supported options") + } } - rv := &v2.InvokeActionResponse{ - Id: id, - Name: request.GetName(), - Status: status, - Annotations: annos, - Response: resp, + if credDetails.HasCapabilityCredentialRotation() { + // Ensure that the preferred option is included and is part of the supported options + if credDetails.GetCapabilityCredentialRotation().GetPreferredCredentialOption() == v2.CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_UNSPECIFIED { + return status.Error(codes.InvalidArgument, "error: preferred credential rotation option is not set") + } + if !slices.Contains(credDetails.GetCapabilityCredentialRotation().GetSupportedCredentialOptions(), credDetails.GetCapabilityCredentialRotation().GetPreferredCredentialOption()) { + return status.Error(codes.InvalidArgument, "error: preferred credential rotation option is not part of the supported options") + } } - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return rv, nil + return nil } -func (b *builderImpl) GetActionStatus(ctx context.Context, request *v2.GetActionStatusRequest) (*v2.GetActionStatusResponse, error) { - ctx, span := tracer.Start(ctx, "builderImpl.GetActionStatus") - defer span.End() +func getCredentialDetails(ctx context.Context, b *builder) (*v2.CredentialDetails, error) { + l := ctxzap.Extract(ctx) + rv := &v2.CredentialDetails{} - start := b.nowFunc() - tt := tasks.ActionStatusType - if b.actionManager == nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: action manager not implemented") + // Check for account provisioning capability details + if b.accountManager != nil { + accountProvisioningCapabilityDetails, _, err := b.accountManager.CreateAccountCapabilityDetails(ctx) + if err != nil { + l.Error("error: getting account provisioning details", zap.Error(err)) + return nil, fmt.Errorf("error: getting account provisioning details: %w", err) + } + rv.SetCapabilityAccountProvisioning(accountProvisioningCapabilityDetails) } - status, name, rv, annos, err := b.actionManager.GetActionStatus(ctx, request.GetId()) - if err != nil { - b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) - return nil, fmt.Errorf("error: getting action status failed: %w", err) + // Check for credential rotation capability details + for _, cm := range b.credentialManagers { + credentialRotationCapabilityDetails, _, err := cm.RotateCapabilityDetails(ctx) + if err != nil { + l.Error("error: getting credential management details", zap.Error(err)) + return nil, fmt.Errorf("error: getting credential management details: %w", err) + } + rv.SetCapabilityCredentialRotation(credentialRotationCapabilityDetails) + break // Only need one credential manager's details } - resp := &v2.GetActionStatusResponse{ - Id: request.GetId(), - Name: name, - Status: status, - Annotations: annos, - Response: rv, + err := validateCapabilityDetails(ctx, rv) + if err != nil { + return nil, fmt.Errorf("error: validating capability details: %w", err) } - - b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) - return resp, nil + return rv, nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/credentials.go b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/credentials.go new file mode 100644 index 00000000..4f303e94 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/credentials.go @@ -0,0 +1,105 @@ +package connectorbuilder + +import ( + "context" + "fmt" + + v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" + "github.com/conductorone/baton-sdk/pkg/annotations" + "github.com/conductorone/baton-sdk/pkg/crypto" + "github.com/conductorone/baton-sdk/pkg/types/tasks" + "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap" + "go.uber.org/zap" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +// CredentialManager extends ResourceSyncer to add capabilities for managing credentials. +// Implementing this interface indicates the connector supports rotating credentials +// for resources of the associated type. This is commonly used for user accounts +// or service accounts that have rotatable credentials. +type CredentialManager interface { + ResourceSyncer + CredentialManagerLimited +} + +type CredentialManagerLimited interface { + Rotate(ctx context.Context, + resourceId *v2.ResourceId, + credentialOptions *v2.LocalCredentialOptions) ([]*v2.PlaintextData, annotations.Annotations, error) + RotateCapabilityDetails(ctx context.Context) (*v2.CredentialDetailsCredentialRotation, annotations.Annotations, error) +} + +type OldCredentialManager interface { + Rotate(ctx context.Context, + resourceId *v2.ResourceId, + credentialOptions *v2.CredentialOptions) ([]*v2.PlaintextData, annotations.Annotations, error) +} + +func (b *builder) RotateCredential(ctx context.Context, request *v2.RotateCredentialRequest) (*v2.RotateCredentialResponse, error) { + ctx, span := tracer.Start(ctx, "builder.RotateCredential") + defer span.End() + + start := b.nowFunc() + tt := tasks.RotateCredentialsType + l := ctxzap.Extract(ctx) + rt := request.GetResourceId().GetResourceType() + manager, ok := b.credentialManagers[rt] + if !ok { + l.Error("error: resource type does not have credential manager configured", zap.String("resource_type", rt)) + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, status.Error(codes.Unimplemented, "resource type does not have credential manager configured") + } + + opts, err := crypto.ConvertCredentialOptions(ctx, b.clientSecret, request.GetCredentialOptions(), request.GetEncryptionConfigs()) + if err != nil { + l.Error("error: converting credential options failed", zap.Error(err)) + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: converting credential options failed: %w", err) + } + + plaintexts, annos, err := manager.Rotate(ctx, request.GetResourceId(), opts) + if err != nil { + l.Error("error: rotate credentials on resource failed", zap.Error(err)) + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: rotate credentials on resource failed: %w", err) + } + + pkem, err := crypto.NewEncryptionManager(request.GetCredentialOptions(), request.GetEncryptionConfigs()) + if err != nil { + l.Error("error: creating encryption manager failed", zap.Error(err)) + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: creating encryption manager failed: %w", err) + } + + var encryptedDatas []*v2.EncryptedData + for _, plaintextCredential := range plaintexts { + encryptedData, err := pkem.Encrypt(ctx, plaintextCredential) + if err != nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, err + } + encryptedDatas = append(encryptedDatas, encryptedData...) + } + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return v2.RotateCredentialResponse_builder{ + Annotations: annos, + ResourceId: request.GetResourceId(), + EncryptedData: encryptedDatas, + }.Build(), nil +} + +func (b *builder) addCredentialManager(_ context.Context, typeId string, in interface{}) error { + if _, ok := in.(OldCredentialManager); ok { + return fmt.Errorf("error: old credential manager interface implemented for %s", typeId) + } + + if credentialManagers, ok := in.(CredentialManagerLimited); ok { + if _, ok := b.credentialManagers[typeId]; ok { + return fmt.Errorf("error: duplicate resource type found for credential manager %s", typeId) + } + b.credentialManagers[typeId] = credentialManagers + } + return nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/events.go b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/events.go new file mode 100644 index 00000000..c6bf352f --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/events.go @@ -0,0 +1,163 @@ +package connectorbuilder + +import ( + "context" + "fmt" + + v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" + "github.com/conductorone/baton-sdk/pkg/annotations" + "github.com/conductorone/baton-sdk/pkg/pagination" + "github.com/conductorone/baton-sdk/pkg/types/tasks" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + LegacyBatonFeedId = "baton_feed_event" +) + +// Deprecated: This interface is deprecated in favor of EventProviderV2 which supports +// multiple event feeds. Implementing this interface indicates the connector can provide +// a single stream of events from the external system, enabling near real-time updates +// in Baton. New connectors should implement EventProviderV2 instead. +type EventProvider interface { + ConnectorBuilder + EventLister +} + +// NewEventProviderV2 is a new interface that allows connectors to provide multiple event feeds. +// +// This is the recommended interface for implementing event feed support in new connectors. +type EventProviderV2 interface { + ConnectorBuilder + EventFeedsLimited +} + +type EventFeedsLimited interface { + EventFeeds(ctx context.Context) []EventFeed +} + +// EventFeed is a single stream of events from the external system. +// +// EventFeedMetadata describes this feed, and a connector can have multiple feeds. +type EventFeed interface { + EventLister + EventFeedLimited +} + +type EventFeedLimited interface { + EventFeedMetadata(ctx context.Context) *v2.EventFeedMetadata +} + +// Compatibility interface lets us handle both EventFeed and EventProvider the same. +type EventLister interface { + ListEvents(ctx context.Context, earliestEvent *timestamppb.Timestamp, pToken *pagination.StreamToken) ([]*v2.Event, *pagination.StreamState, annotations.Annotations, error) +} + +func newEventFeedV1to2(eventFeed EventLister) EventFeed { + return &oldEventFeedWrapper{ + feed: eventFeed, + } +} + +type oldEventFeedWrapper struct { + feed EventLister +} + +func (e *oldEventFeedWrapper) EventFeedMetadata(ctx context.Context) *v2.EventFeedMetadata { + return v2.EventFeedMetadata_builder{ + Id: LegacyBatonFeedId, + SupportedEventTypes: []v2.EventType{v2.EventType_EVENT_TYPE_UNSPECIFIED}, + }.Build() +} + +func (e *oldEventFeedWrapper) ListEvents( + ctx context.Context, + earliestEvent *timestamppb.Timestamp, + pToken *pagination.StreamToken, +) ([]*v2.Event, *pagination.StreamState, annotations.Annotations, error) { + return e.feed.ListEvents(ctx, earliestEvent, pToken) +} + +func (b *builder) ListEventFeeds(ctx context.Context, request *v2.ListEventFeedsRequest) (*v2.ListEventFeedsResponse, error) { + ctx, span := tracer.Start(ctx, "builder.ListEventFeeds") + defer span.End() + + start := b.nowFunc() + tt := tasks.ListEventFeedsType + + feeds := make([]*v2.EventFeedMetadata, 0, len(b.eventFeeds)) + + for _, feed := range b.eventFeeds { + feeds = append(feeds, feed.EventFeedMetadata(ctx)) + } + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return v2.ListEventFeedsResponse_builder{ + List: feeds, + }.Build(), nil +} + +func (b *builder) ListEvents(ctx context.Context, request *v2.ListEventsRequest) (*v2.ListEventsResponse, error) { + ctx, span := tracer.Start(ctx, "builder.ListEvents") + defer span.End() + + start := b.nowFunc() + feedId := request.GetEventFeedId() + + // If no feedId is provided, use the legacy Baton feed Id + if feedId == "" { + feedId = LegacyBatonFeedId + } + + feed, ok := b.eventFeeds[feedId] + if !ok { + return nil, status.Errorf(codes.NotFound, "error: event feed not found") + } + + tt := tasks.ListEventsType + events, streamState, annotations, err := feed.ListEvents(ctx, request.GetStartAt(), &pagination.StreamToken{ + Size: int(request.GetPageSize()), + Cursor: request.GetCursor(), + }) + if err != nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: listing events failed: %w", err) + } + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return v2.ListEventsResponse_builder{ + Events: events, + Cursor: streamState.Cursor, + HasMore: streamState.HasMore, + Annotations: annotations, + }.Build(), nil +} + +func (b *builder) addEventFeed(ctx context.Context, in interface{}) error { + if ep, ok := in.(EventFeedsLimited); ok { + for _, ef := range ep.EventFeeds(ctx) { + feedData := ef.EventFeedMetadata(ctx) + if feedData == nil { + return fmt.Errorf("error: event feed metadata is nil") + } + if err := feedData.Validate(); err != nil { + return fmt.Errorf("error: event feed metadata for %s is invalid: %w", feedData.GetId(), err) + } + if _, ok := b.eventFeeds[feedData.GetId()]; ok { + return fmt.Errorf("error: duplicate event feed id found: %s", feedData.GetId()) + } + b.eventFeeds[feedData.GetId()] = ef + } + } + + if ep, ok := in.(EventLister); ok { + // Register the legacy Baton feed as a v2 event feed + // implementing both v1 and v2 event feeds is not supported. + if len(b.eventFeeds) != 0 { + return fmt.Errorf("error: using legacy event feed is not supported when using EventProviderV2") + } + b.eventFeeds[LegacyBatonFeedId] = newEventFeedV1to2(ep) + } + return nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/resource_manager.go b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/resource_manager.go new file mode 100644 index 00000000..4c47e653 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/resource_manager.go @@ -0,0 +1,230 @@ +package connectorbuilder + +import ( + "context" + "fmt" + + v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" + "github.com/conductorone/baton-sdk/pkg/annotations" + "github.com/conductorone/baton-sdk/pkg/types/tasks" + "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap" + "go.uber.org/zap" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +// ResourceManager extends ResourceSyncer to add capabilities for creating resources. +// +// Implementing this interface indicates the connector supports creating and deleting resources +// of the associated resource type. A ResourceManager automatically provides ResourceDeleter +// functionality. +type ResourceManager interface { + ResourceSyncer + ResourceManagerLimited +} + +type ResourceManagerLimited interface { + ResourceCreator + ResourceDeleterLimited +} + +type ResourceManagerV2Limited interface { + ResourceCreator + ResourceDeleterV2Limited +} + +// ResourceManagerV2 extends ResourceSyncer to add capabilities for creating resources. +// +// This is the recommended interface for implementing resource creation operations in new connectors. +type ResourceManagerV2 interface { + ResourceSyncer + ResourceManagerV2Limited +} + +type ResourceCreator interface { + Create(ctx context.Context, resource *v2.Resource) (*v2.Resource, annotations.Annotations, error) +} + +// ResourceDeleter extends ResourceSyncer to add capabilities for deleting resources. +// +// Implementing this interface indicates the connector supports deleting resources +// of the associated resource type. +type ResourceDeleter interface { + ResourceSyncer + ResourceDeleterLimited +} +type ResourceDeleterLimited interface { + Delete(ctx context.Context, resourceId *v2.ResourceId) (annotations.Annotations, error) +} + +// ResourceDeleterV2 extends ResourceSyncer to add capabilities for deleting resources. +// +// This is the recommended interface for implementing resource deletion operations in new connectors. +// It differs from ResourceDeleter by having the resource, not just the id. +type ResourceDeleterV2 interface { + ResourceSyncer + ResourceDeleterV2Limited +} + +type ResourceDeleterV2Limited interface { + Delete(ctx context.Context, resourceId *v2.ResourceId, parentResourceID *v2.ResourceId) (annotations.Annotations, error) +} + +func (b *builder) CreateResource(ctx context.Context, request *v2.CreateResourceRequest) (*v2.CreateResourceResponse, error) { + ctx, span := tracer.Start(ctx, "builder.CreateResource") + defer span.End() + + start := b.nowFunc() + tt := tasks.CreateResourceType + l := ctxzap.Extract(ctx) + rt := request.GetResource().GetId().GetResourceType() + + manager, ok := b.resourceManagers[rt] + if !ok { + l.Error("error: resource type does not have resource Create() configured", zap.String("resource_type", rt)) + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, status.Error(codes.Unimplemented, fmt.Sprintf("resource type %s does not have resource Create() configured", rt)) + } + resource, annos, err := manager.Create(ctx, request.GetResource()) + if err != nil { + l.Error("error: create resource failed", zap.Error(err)) + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: create resource failed: %w", err) + } + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return v2.CreateResourceResponse_builder{Created: resource, Annotations: annos}.Build(), nil +} + +func (b *builder) DeleteResource(ctx context.Context, request *v2.DeleteResourceRequest) (*v2.DeleteResourceResponse, error) { + ctx, span := tracer.Start(ctx, "builder.DeleteResource") + defer span.End() + + start := b.nowFunc() + tt := tasks.DeleteResourceType + + l := ctxzap.Extract(ctx) + rt := request.GetResourceId().GetResourceType() + var rsDeleter ResourceDeleterV2Limited + var ok bool + + rsDeleter, ok = b.resourceManagers[rt] + if !ok { + rsDeleter, ok = b.resourceDeleters[rt] + } + + if !ok { + l.Error("error: resource type does not have resource Delete() configured", zap.String("resource_type", rt)) + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, status.Error(codes.Unimplemented, fmt.Sprintf("resource type %s does not have resource Delete() configured", rt)) + } + + annos, err := rsDeleter.Delete(ctx, request.GetResourceId(), request.GetParentResourceId()) + if err != nil { + l.Error("error: deleteV2 resource failed", zap.Error(err)) + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: delete resource failed: %w", err) + } + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return v2.DeleteResourceResponse_builder{Annotations: annos}.Build(), nil +} + +func (b *builder) DeleteResourceV2(ctx context.Context, request *v2.DeleteResourceV2Request) (*v2.DeleteResourceV2Response, error) { + ctx, span := tracer.Start(ctx, "builder.DeleteResourceV2") + defer span.End() + + start := b.nowFunc() + tt := tasks.DeleteResourceType + + l := ctxzap.Extract(ctx) + rt := request.GetResourceId().GetResourceType() + var rsDeleter ResourceDeleterV2Limited + var ok bool + + rsDeleter, ok = b.resourceManagers[rt] + if !ok { + rsDeleter, ok = b.resourceDeleters[rt] + } + + if !ok { + l.Error("error: resource type does not have resource Delete() configured", zap.String("resource_type", rt)) + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, status.Error(codes.Unimplemented, fmt.Sprintf("resource type %s does not have resource Delete() configured", rt)) + } + + annos, err := rsDeleter.Delete(ctx, request.GetResourceId(), request.GetParentResourceId()) + if err != nil { + l.Error("error: deleteV2 resource failed", zap.Error(err)) + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: delete resource failed: %w", err) + } + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return v2.DeleteResourceV2Response_builder{Annotations: annos}.Build(), nil +} + +func newResourceManager1to2(resourceManager ResourceManagerLimited) ResourceManagerV2Limited { + return &resourceManager1to2{resourceManager} +} + +type resourceManager1to2 struct { + ResourceManagerLimited +} + +func (r *resourceManager1to2) Delete(ctx context.Context, resourceId *v2.ResourceId, parentResourceID *v2.ResourceId) (annotations.Annotations, error) { + return r.ResourceManagerLimited.Delete(ctx, resourceId) +} + +func newDeleter1to2(resourceDeleter ResourceDeleterLimited) ResourceDeleterV2Limited { + return &deleter1to2{resourceDeleter} +} + +type deleter1to2 struct { + ResourceDeleterLimited +} + +func (d *deleter1to2) Delete(ctx context.Context, resourceId *v2.ResourceId, parentResourceID *v2.ResourceId) (annotations.Annotations, error) { + // Just drop the parentResourceID... + return d.ResourceDeleterLimited.Delete(ctx, resourceId) +} + +func (b *builder) addResourceManager(_ context.Context, typeId string, in interface{}) error { + if resourceManager, ok := in.(ResourceManagerLimited); ok { + if _, ok := b.resourceManagers[typeId]; ok { + return fmt.Errorf("error: duplicate resource type found for resource manager %s", typeId) + } + b.resourceManagers[typeId] = newResourceManager1to2(resourceManager) + // Support DeleteResourceV2 if connector implements both Create and Delete + if _, ok := b.resourceDeleters[typeId]; ok { + // This should never happen + return fmt.Errorf("error: duplicate resource type found for resource deleter %s", typeId) + } + b.resourceDeleters[typeId] = newDeleter1to2(resourceManager) + } else { + if resourceDeleter, ok := in.(ResourceDeleterLimited); ok { + if _, ok := b.resourceDeleters[typeId]; ok { + return fmt.Errorf("error: duplicate resource type found for resource deleter %s", typeId) + } + b.resourceDeleters[typeId] = newDeleter1to2(resourceDeleter) + } + } + + if resourceManager, ok := in.(ResourceManagerV2Limited); ok { + if _, ok := b.resourceManagers[typeId]; ok { + return fmt.Errorf("error: duplicate resource type found for resource managerV2 %s", typeId) + } + b.resourceManagers[typeId] = resourceManager + // Support DeleteResourceV2 if connector implements both Create and Delete + if _, ok := b.resourceDeleters[typeId]; ok { + // This should never happen + return fmt.Errorf("error: duplicate resource type found for resource deleterV2 %s", typeId) + } + b.resourceDeleters[typeId] = resourceManager + } else { + if resourceDeleter, ok := in.(ResourceDeleterV2Limited); ok { + if _, ok := b.resourceDeleters[typeId]; ok { + return fmt.Errorf("error: duplicate resource type found for resource deleterV2 %s", typeId) + } + b.resourceDeleters[typeId] = resourceDeleter + } + } + return nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/resource_provisioner.go b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/resource_provisioner.go new file mode 100644 index 00000000..d0f8cf2e --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/resource_provisioner.go @@ -0,0 +1,173 @@ +package connectorbuilder + +import ( + "context" + "fmt" + "time" + + v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" + "github.com/conductorone/baton-sdk/pkg/annotations" + "github.com/conductorone/baton-sdk/pkg/retry" + "github.com/conductorone/baton-sdk/pkg/types/tasks" + "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap" + "go.uber.org/zap" +) + +// ResourceProvisioner extends ResourceSyncer to add capabilities for granting and revoking access. +// +// Note: ResourceProvisionerV2 is preferred for new connectors as it provides +// enhanced grant capabilities. +// +// Implementing this interface indicates the connector supports provisioning operations +// for the associated resource type. +type ResourceProvisioner interface { + ResourceSyncer + ResourceProvisionerLimited +} + +type ResourceProvisionerLimited interface { + RevokeProvisioner + GrantProvisioner +} + +type RevokeProvisioner interface { + Revoke(ctx context.Context, grant *v2.Grant) (annotations.Annotations, error) +} + +type GrantProvisioner interface { + Grant(ctx context.Context, resource *v2.Resource, entitlement *v2.Entitlement) (annotations.Annotations, error) +} + +// ResourceProvisionerV2 extends ResourceSyncer to add capabilities for granting and revoking access +// with enhanced functionality compared to ResourceProvisioner. +// +// This is the recommended interface for implementing provisioning operations in new connectors. +// It differs from ResourceProvisioner by returning a list of grants from the Grant method. +type ResourceProvisionerV2 interface { + ResourceSyncer + ResourceProvisionerV2Limited +} + +type ResourceProvisionerV2Limited interface { + RevokeProvisioner + GrantProvisionerV2 +} + +type GrantProvisionerV2 interface { + Grant(ctx context.Context, resource *v2.Resource, entitlement *v2.Entitlement) ([]*v2.Grant, annotations.Annotations, error) +} + +func (b *builder) Grant(ctx context.Context, request *v2.GrantManagerServiceGrantRequest) (*v2.GrantManagerServiceGrantResponse, error) { + ctx, span := tracer.Start(ctx, "builder.Grant") + defer span.End() + + start := b.nowFunc() + tt := tasks.GrantType + l := ctxzap.Extract(ctx) + + rt := request.GetEntitlement().GetResource().GetId().GetResourceType() + + provisioner, ok := b.resourceProvisioners[rt] + + if !ok { + l.Error("error: resource type does not have provisioner configured", zap.String("resource_type", rt)) + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: resource type does not have provisioner configured") + } + + retryer := retry.NewRetryer(ctx, retry.RetryConfig{ + MaxAttempts: 3, + InitialDelay: 15 * time.Second, + MaxDelay: 60 * time.Second, + }) + + for { + grants, annos, err := provisioner.Grant(ctx, request.GetPrincipal(), request.GetEntitlement()) + if err == nil { + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return v2.GrantManagerServiceGrantResponse_builder{Annotations: annos, Grants: grants}.Build(), nil + } + if retryer.ShouldWaitAndRetry(ctx, err) { + continue + } + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("grant failed: %w", err) + } +} + +func (b *builder) Revoke(ctx context.Context, request *v2.GrantManagerServiceRevokeRequest) (*v2.GrantManagerServiceRevokeResponse, error) { + ctx, span := tracer.Start(ctx, "builder.Revoke") + defer span.End() + + start := b.nowFunc() + tt := tasks.RevokeType + + l := ctxzap.Extract(ctx) + + rt := request.GetGrant().GetEntitlement().GetResource().GetId().GetResourceType() + + var revokeProvisioner RevokeProvisioner + provisioner, ok := b.resourceProvisioners[rt] + if ok { + revokeProvisioner = provisioner + } + + if revokeProvisioner == nil { + l.Error("error: resource type does not have provisioner configured", zap.String("resource_type", rt)) + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: resource type does not have provisioner configured") + } + + retryer := retry.NewRetryer(ctx, retry.RetryConfig{ + MaxAttempts: 3, + InitialDelay: 15 * time.Second, + MaxDelay: 60 * time.Second, + }) + + for { + annos, err := revokeProvisioner.Revoke(ctx, request.GetGrant()) + if err == nil { + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return v2.GrantManagerServiceRevokeResponse_builder{Annotations: annos}.Build(), nil + } + if retryer.ShouldWaitAndRetry(ctx, err) { + continue + } + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("revoke failed: %w", err) + } +} + +func newResourceProvisionerV1to2(p ResourceProvisionerLimited) ResourceProvisionerV2Limited { + return &resourceProvisionerV1to2{ + ResourceProvisionerLimited: p, + } +} + +type resourceProvisionerV1to2 struct { + ResourceProvisionerLimited +} + +func (r *resourceProvisionerV1to2) Grant(ctx context.Context, resource *v2.Resource, entitlement *v2.Entitlement) ([]*v2.Grant, annotations.Annotations, error) { + annos, err := r.ResourceProvisionerLimited.Grant(ctx, resource, entitlement) + if err != nil { + return nil, annos, err + } + return nil, annos, nil +} + +func (b *builder) addProvisioner(_ context.Context, typeId string, in interface{}) error { + if provisioner, ok := in.(ResourceProvisionerLimited); ok { + if _, ok := b.resourceProvisioners[typeId]; ok { + return fmt.Errorf("error: duplicate resource type found for resource provisioner %s", typeId) + } + b.resourceProvisioners[typeId] = newResourceProvisionerV1to2(provisioner) + } + if provisioner, ok := in.(ResourceProvisionerV2Limited); ok { + if _, ok := b.resourceProvisioners[typeId]; ok { + return fmt.Errorf("error: duplicate resource type found for resource provisioner v2 %s", typeId) + } + b.resourceProvisioners[typeId] = provisioner + } + return nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/resource_syncer.go b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/resource_syncer.go new file mode 100644 index 00000000..e29504de --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/resource_syncer.go @@ -0,0 +1,316 @@ +package connectorbuilder + +import ( + "context" + "fmt" + + v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" + "github.com/conductorone/baton-sdk/pkg/annotations" + "github.com/conductorone/baton-sdk/pkg/pagination" + "github.com/conductorone/baton-sdk/pkg/types/resource" + "github.com/conductorone/baton-sdk/pkg/types/tasks" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +// ResourceSyncer is the primary interface for connector developers to implement. +// +// It defines the core functionality for synchronizing resources, entitlements, and grants +// from external systems into Baton. Every connector must implement at least this interface +// for each resource type it supports. +// +// Extensions to this interface include: +// - ResourceProvisioner/ResourceProvisionerV2: For adding/removing access +// - ResourceManager: For creating and managing resources +// - ResourceDeleter: For deleting resources +// - AccountManager: For account provisioning operations +// - CredentialManager: For credential rotation operations. +// - ResourceTargetedSyncer: For directly getting a resource supporting targeted sync. + +type ResourceType interface { + ResourceType(ctx context.Context) *v2.ResourceType +} + +type ResourceSyncer interface { + ResourceType + List(ctx context.Context, parentResourceID *v2.ResourceId, pToken *pagination.Token) ([]*v2.Resource, string, annotations.Annotations, error) + Entitlements(ctx context.Context, resource *v2.Resource, pToken *pagination.Token) ([]*v2.Entitlement, string, annotations.Annotations, error) + Grants(ctx context.Context, resource *v2.Resource, pToken *pagination.Token) ([]*v2.Grant, string, annotations.Annotations, error) +} + +type ResourceSyncerLimited interface { + List(ctx context.Context, parentResourceID *v2.ResourceId, pToken *pagination.Token) ([]*v2.Resource, string, annotations.Annotations, error) + Entitlements(ctx context.Context, resource *v2.Resource, pToken *pagination.Token) ([]*v2.Entitlement, string, annotations.Annotations, error) + Grants(ctx context.Context, resource *v2.Resource, pToken *pagination.Token) ([]*v2.Grant, string, annotations.Annotations, error) +} + +type ResourceSyncerV2 interface { + ResourceType + ResourceSyncerV2Limited +} + +type ResourceSyncerV2Limited interface { + List(ctx context.Context, parentResourceID *v2.ResourceId, opts resource.SyncOpAttrs) ([]*v2.Resource, *resource.SyncOpResults, error) + Entitlements(ctx context.Context, resource *v2.Resource, opts resource.SyncOpAttrs) ([]*v2.Entitlement, *resource.SyncOpResults, error) + Grants(ctx context.Context, resource *v2.Resource, opts resource.SyncOpAttrs) ([]*v2.Grant, *resource.SyncOpResults, error) +} + +// ResourceTargetedSyncer extends ResourceSyncer to add capabilities for directly syncing an individual resource +// +// Implementing this interface indicates the connector supports calling "get" on a resource +// of the associated resource type. +type ResourceTargetedSyncer interface { + ResourceSyncer + ResourceTargetedSyncerLimited +} + +type ResourceTargetedSyncerLimited interface { + Get(ctx context.Context, resourceId *v2.ResourceId, parentResourceId *v2.ResourceId) (*v2.Resource, annotations.Annotations, error) +} + +// ListResourceTypes lists all available resource types. +func (b *builder) ListResourceTypes( + ctx context.Context, + request *v2.ResourceTypesServiceListResourceTypesRequest, +) (*v2.ResourceTypesServiceListResourceTypesResponse, error) { + ctx, span := tracer.Start(ctx, "builder.ListResourceTypes") + defer span.End() + + start := b.nowFunc() + tt := tasks.ListResourceTypesType + var out []*v2.ResourceType + + if len(b.resourceSyncers) == 0 { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: no resource builders found") + } + + for _, rb := range b.resourceSyncers { + out = append(out, rb.ResourceType(ctx)) + } + + if len(out) == 0 { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: no resource types found") + } + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return v2.ResourceTypesServiceListResourceTypesResponse_builder{List: out}.Build(), nil +} + +// ListResources returns all available resources for a given resource type ID. +func (b *builder) ListResources(ctx context.Context, request *v2.ResourcesServiceListResourcesRequest) (*v2.ResourcesServiceListResourcesResponse, error) { + ctx, span := tracer.Start(ctx, "builder.ListResources") + defer span.End() + + start := b.nowFunc() + tt := tasks.ListResourcesType + rb, ok := b.resourceSyncers[request.GetResourceTypeId()] + if !ok { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: list resources with unknown resource type %s", request.GetResourceTypeId()) + } + + token := pagination.Token{ + Size: int(request.GetPageSize()), + Token: request.GetPageToken(), + } + opts := resource.SyncOpAttrs{SyncID: request.GetActiveSyncId(), PageToken: token, Session: WithSyncId(b.sessionStore, request.GetActiveSyncId())} + out, retOptions, err := rb.List(ctx, request.GetParentResourceId(), opts) + if retOptions == nil { + retOptions = &resource.SyncOpResults{} + } + + resp := v2.ResourcesServiceListResourcesResponse_builder{ + List: out, + NextPageToken: retOptions.NextPageToken, + Annotations: retOptions.Annotations, + }.Build() + if err != nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return resp, fmt.Errorf("error: listing resources failed: %w", err) + } + if request.GetPageToken() != "" && request.GetPageToken() == retOptions.NextPageToken { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return resp, fmt.Errorf("error: listing resources failed: next page token is the same as the current page token. this is most likely a connector bug") + } + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return resp, nil +} + +func (b *builder) GetResource(ctx context.Context, request *v2.ResourceGetterServiceGetResourceRequest) (*v2.ResourceGetterServiceGetResourceResponse, error) { + ctx, span := tracer.Start(ctx, "builder.GetResource") + defer span.End() + + start := b.nowFunc() + tt := tasks.GetResourceType + resourceType := request.GetResourceId().GetResourceType() + rb, ok := b.resourceTargetedSyncers[resourceType] + if !ok { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, status.Errorf(codes.Unimplemented, "error: get resource with unknown resource type %s", resourceType) + } + resource, annos, err := rb.Get(ctx, request.GetResourceId(), request.GetParentResourceId()) + if err != nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: get resource failed: %w", err) + } + if resource == nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, status.Error(codes.NotFound, "error: get resource returned nil") + } + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return v2.ResourceGetterServiceGetResourceResponse_builder{ + Resource: resource, + Annotations: annos, + }.Build(), nil +} + +// ListEntitlements returns all the entitlements for a given resource. +func (b *builder) ListEntitlements(ctx context.Context, request *v2.EntitlementsServiceListEntitlementsRequest) (*v2.EntitlementsServiceListEntitlementsResponse, error) { + ctx, span := tracer.Start(ctx, "builder.ListEntitlements") + defer span.End() + + start := b.nowFunc() + tt := tasks.ListEntitlementsType + rb, ok := b.resourceSyncers[request.GetResource().GetId().GetResourceType()] + if !ok { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: list entitlements with unknown resource type %s", request.GetResource().GetId().GetResourceType()) + } + token := pagination.Token{ + Size: int(request.GetPageSize()), + Token: request.GetPageToken(), + } + opts := resource.SyncOpAttrs{SyncID: request.GetActiveSyncId(), PageToken: token, Session: WithSyncId(b.sessionStore, request.GetActiveSyncId())} + out, retOptions, err := rb.Entitlements(ctx, request.GetResource(), opts) + if retOptions == nil { + retOptions = &resource.SyncOpResults{} + } + + resp := v2.EntitlementsServiceListEntitlementsResponse_builder{ + List: out, + NextPageToken: retOptions.NextPageToken, + Annotations: retOptions.Annotations, + }.Build() + if err != nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return resp, fmt.Errorf("error: listing entitlements failed: %w", err) + } + if request.GetPageToken() != "" && request.GetPageToken() == retOptions.NextPageToken { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return resp, fmt.Errorf("error: listing entitlements failed: next page token is the same as the current page token. this is most likely a connector bug") + } + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return resp, nil +} + +// ListGrants lists all the grants for a given resource. +func (b *builder) ListGrants(ctx context.Context, request *v2.GrantsServiceListGrantsRequest) (*v2.GrantsServiceListGrantsResponse, error) { + ctx, span := tracer.Start(ctx, "builder.ListGrants") + defer span.End() + + start := b.nowFunc() + tt := tasks.ListGrantsType + rid := request.GetResource().GetId() + rb, ok := b.resourceSyncers[rid.GetResourceType()] + if !ok { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: list grants with unknown resource type %s", rid.GetResourceType()) + } + + token := pagination.Token{ + Size: int(request.GetPageSize()), + Token: request.GetPageToken(), + } + opts := resource.SyncOpAttrs{SyncID: request.GetActiveSyncId(), PageToken: token, Session: WithSyncId(b.sessionStore, request.GetActiveSyncId())} + out, retOptions, err := rb.Grants(ctx, request.GetResource(), opts) + if retOptions == nil { + retOptions = &resource.SyncOpResults{} + } + + resp := v2.GrantsServiceListGrantsResponse_builder{ + List: out, + Annotations: retOptions.Annotations, + NextPageToken: retOptions.NextPageToken, + }.Build() + + if err != nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return resp, fmt.Errorf("error: listing grants for resource %s/%s failed: %w", rid.GetResourceType(), rid.GetResource(), err) + } + if request.GetPageToken() != "" && request.GetPageToken() == retOptions.NextPageToken { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return resp, fmt.Errorf("error: listing grants for resource %s/%s failed: next page token is the same as the current page token. this is most likely a connector bug", + rid.GetResourceType(), + rid.GetResource()) + } + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return resp, nil +} + +func newResourceSyncerV1toV2(rb ResourceSyncer) ResourceSyncerV2 { + return &resourceSyncerV1toV2{rb: rb} +} + +type resourceSyncerV1toV2 struct { + rb ResourceSyncer +} + +func (rw *resourceSyncerV1toV2) ResourceType(ctx context.Context) *v2.ResourceType { + return rw.rb.ResourceType(ctx) +} + +func (rw *resourceSyncerV1toV2) List(ctx context.Context, parentResourceID *v2.ResourceId, opts resource.SyncOpAttrs) ([]*v2.Resource, *resource.SyncOpResults, error) { + resources, pageToken, annos, err := rw.rb.List(ctx, parentResourceID, &opts.PageToken) + ret := &resource.SyncOpResults{NextPageToken: pageToken, Annotations: annos} + return resources, ret, err +} + +func (rw *resourceSyncerV1toV2) Entitlements(ctx context.Context, r *v2.Resource, opts resource.SyncOpAttrs) ([]*v2.Entitlement, *resource.SyncOpResults, error) { + ents, pageToken, annos, err := rw.rb.Entitlements(ctx, r, &opts.PageToken) + ret := &resource.SyncOpResults{NextPageToken: pageToken, Annotations: annos} + return ents, ret, err +} + +func (rw *resourceSyncerV1toV2) Grants(ctx context.Context, r *v2.Resource, opts resource.SyncOpAttrs) ([]*v2.Grant, *resource.SyncOpResults, error) { + grants, pageToken, annos, err := rw.rb.Grants(ctx, r, &opts.PageToken) + ret := &resource.SyncOpResults{NextPageToken: pageToken, Annotations: annos} + return grants, ret, err +} + +func (b *builder) addTargetedSyncer(_ context.Context, typeId string, in interface{}) error { + if targetedSyncer, ok := in.(ResourceTargetedSyncerLimited); ok { + if _, ok := b.resourceTargetedSyncers[typeId]; ok { + return fmt.Errorf("error: duplicate resource type found for resource targeted syncer %s", typeId) + } + b.resourceTargetedSyncers[typeId] = targetedSyncer + } + return nil +} + +func (b *builder) addResourceSyncers(_ context.Context, typeId string, in interface{}) error { + // no duplicates + if _, ok := b.resourceSyncers[typeId]; ok { + return fmt.Errorf("error: duplicate resource type found for resource builder %s", typeId) + } + + if rb, ok := in.(ResourceSyncer); ok { + b.resourceSyncers[typeId] = newResourceSyncerV1toV2(rb) + } + + if rb, ok := in.(ResourceSyncerV2); ok { + b.resourceSyncers[typeId] = rb + } + + // A resource syncer is required + if _, ok := b.resourceSyncers[typeId]; !ok { + return fmt.Errorf("error: the resource syncer interface must be implemented for all types (%s)", typeId) + } + + return nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/session_store.go b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/session_store.go new file mode 100644 index 00000000..d6c869b5 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/session_store.go @@ -0,0 +1,57 @@ +package connectorbuilder + +import ( + "context" + + "github.com/conductorone/baton-sdk/pkg/types/sessions" +) + +var _ sessions.SessionStore = (*SessionStoreWithSyncID)(nil) + +// SessionStoreWithSyncID wraps a SessionStore to automatically inject sync ID into all operations. +type SessionStoreWithSyncID struct { + ss sessions.SessionStore + syncID string +} + +// WithSyncId creates a new SessionStore wrapper that prepends sync ID to all operations. +func WithSyncId(ss sessions.SessionStore, syncID string) sessions.SessionStore { + return &SessionStoreWithSyncID{ + ss: ss, + syncID: syncID, + } +} +func (w *SessionStoreWithSyncID) Get(ctx context.Context, key string, opt ...sessions.SessionStoreOption) ([]byte, bool, error) { + opts := append([]sessions.SessionStoreOption{sessions.WithSyncID(w.syncID)}, opt...) + return w.ss.Get(ctx, key, opts...) +} + +func (w *SessionStoreWithSyncID) GetMany(ctx context.Context, keys []string, opt ...sessions.SessionStoreOption) (map[string][]byte, error) { + opts := append([]sessions.SessionStoreOption{sessions.WithSyncID(w.syncID)}, opt...) + return w.ss.GetMany(ctx, keys, opts...) +} + +func (w *SessionStoreWithSyncID) Set(ctx context.Context, key string, value []byte, opt ...sessions.SessionStoreOption) error { + opts := append([]sessions.SessionStoreOption{sessions.WithSyncID(w.syncID)}, opt...) + return w.ss.Set(ctx, key, value, opts...) +} + +func (w *SessionStoreWithSyncID) SetMany(ctx context.Context, values map[string][]byte, opt ...sessions.SessionStoreOption) error { + opts := append([]sessions.SessionStoreOption{sessions.WithSyncID(w.syncID)}, opt...) + return w.ss.SetMany(ctx, values, opts...) +} + +func (w *SessionStoreWithSyncID) Delete(ctx context.Context, key string, opt ...sessions.SessionStoreOption) error { + opts := append([]sessions.SessionStoreOption{sessions.WithSyncID(w.syncID)}, opt...) + return w.ss.Delete(ctx, key, opts...) +} + +func (w *SessionStoreWithSyncID) Clear(ctx context.Context, opt ...sessions.SessionStoreOption) error { + opts := append([]sessions.SessionStoreOption{sessions.WithSyncID(w.syncID)}, opt...) + return w.ss.Clear(ctx, opts...) +} + +func (w *SessionStoreWithSyncID) GetAll(ctx context.Context, pageToken string, opt ...sessions.SessionStoreOption) (map[string][]byte, string, error) { + opts := append([]sessions.SessionStoreOption{sessions.WithSyncID(w.syncID)}, opt...) + return w.ss.GetAll(ctx, pageToken, opts...) +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/tickets.go b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/tickets.go new file mode 100644 index 00000000..740cc3c5 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/connectorbuilder/tickets.go @@ -0,0 +1,242 @@ +package connectorbuilder + +import ( + "context" + "fmt" + "time" + + v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" + "github.com/conductorone/baton-sdk/pkg/annotations" + "github.com/conductorone/baton-sdk/pkg/pagination" + "github.com/conductorone/baton-sdk/pkg/retry" + "github.com/conductorone/baton-sdk/pkg/types/tasks" +) + +// TicketManager extends ConnectorBuilder to add capabilities for ticket management. +// +// Implementing this interface indicates the connector can integrate with an external +// ticketing system, allowing Baton to create and track tickets in that system. +type TicketManager interface { + ConnectorBuilder + TicketManagerLimited +} + +type TicketManagerLimited interface { + GetTicket(ctx context.Context, ticketId string) (*v2.Ticket, annotations.Annotations, error) + CreateTicket(ctx context.Context, ticket *v2.Ticket, schema *v2.TicketSchema) (*v2.Ticket, annotations.Annotations, error) + GetTicketSchema(ctx context.Context, schemaID string) (*v2.TicketSchema, annotations.Annotations, error) + ListTicketSchemas(ctx context.Context, pToken *pagination.Token) ([]*v2.TicketSchema, string, annotations.Annotations, error) + BulkCreateTickets(context.Context, *v2.TicketsServiceBulkCreateTicketsRequest) (*v2.TicketsServiceBulkCreateTicketsResponse, error) + BulkGetTickets(context.Context, *v2.TicketsServiceBulkGetTicketsRequest) (*v2.TicketsServiceBulkGetTicketsResponse, error) +} + +func (b *builder) BulkCreateTickets(ctx context.Context, request *v2.TicketsServiceBulkCreateTicketsRequest) (*v2.TicketsServiceBulkCreateTicketsResponse, error) { + ctx, span := tracer.Start(ctx, "builder.BulkCreateTickets") + defer span.End() + + start := b.nowFunc() + tt := tasks.BulkCreateTicketsType + if b.ticketManager == nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: ticket manager not implemented") + } + + reqBody := request.GetTicketRequests() + if len(reqBody) == 0 { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: request body had no items") + } + + ticketsResponse, err := b.ticketManager.BulkCreateTickets(ctx, request) + if err != nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: creating tickets failed: %w", err) + } + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return v2.TicketsServiceBulkCreateTicketsResponse_builder{ + Tickets: ticketsResponse.GetTickets(), + }.Build(), nil +} + +func (b *builder) BulkGetTickets(ctx context.Context, request *v2.TicketsServiceBulkGetTicketsRequest) (*v2.TicketsServiceBulkGetTicketsResponse, error) { + ctx, span := tracer.Start(ctx, "builder.BulkGetTickets") + defer span.End() + + start := b.nowFunc() + tt := tasks.BulkGetTicketsType + if b.ticketManager == nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: ticket manager not implemented") + } + + reqBody := request.GetTicketRequests() + if len(reqBody) == 0 { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: request body had no items") + } + + ticketsResponse, err := b.ticketManager.BulkGetTickets(ctx, request) + if err != nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: fetching tickets failed: %w", err) + } + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return v2.TicketsServiceBulkGetTicketsResponse_builder{ + Tickets: ticketsResponse.GetTickets(), + }.Build(), nil +} + +func (b *builder) ListTicketSchemas(ctx context.Context, request *v2.TicketsServiceListTicketSchemasRequest) (*v2.TicketsServiceListTicketSchemasResponse, error) { + ctx, span := tracer.Start(ctx, "builder.ListTicketSchemas") + defer span.End() + + start := b.nowFunc() + tt := tasks.ListTicketSchemasType + if b.ticketManager == nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: ticket manager not implemented") + } + + retryer := retry.NewRetryer(ctx, retry.RetryConfig{ + MaxAttempts: 10, + InitialDelay: 15 * time.Second, + MaxDelay: 0, + }) + + for { + out, nextPageToken, annos, err := b.ticketManager.ListTicketSchemas(ctx, &pagination.Token{ + Size: int(request.GetPageSize()), + Token: request.GetPageToken(), + }) + if err == nil { + if request.GetPageToken() != "" && request.GetPageToken() == nextPageToken { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: listing ticket schemas failed: next page token is the same as the current page token. this is most likely a connector bug") + } + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return v2.TicketsServiceListTicketSchemasResponse_builder{ + List: out, + NextPageToken: nextPageToken, + Annotations: annos, + }.Build(), nil + } + if retryer.ShouldWaitAndRetry(ctx, err) { + continue + } + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: listing ticket schemas failed: %w", err) + } +} + +func (b *builder) CreateTicket(ctx context.Context, request *v2.TicketsServiceCreateTicketRequest) (*v2.TicketsServiceCreateTicketResponse, error) { + ctx, span := tracer.Start(ctx, "builder.CreateTicket") + defer span.End() + + start := b.nowFunc() + tt := tasks.CreateTicketType + if b.ticketManager == nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: ticket manager not implemented") + } + + reqBody := request.GetRequest() + if reqBody == nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: request body is nil") + } + cTicket := v2.Ticket_builder{ + DisplayName: reqBody.GetDisplayName(), + Description: reqBody.GetDescription(), + Status: reqBody.GetStatus(), + Labels: reqBody.GetLabels(), + CustomFields: reqBody.GetCustomFields(), + RequestedFor: reqBody.GetRequestedFor(), + }.Build() + + ticket, annos, err := b.ticketManager.CreateTicket(ctx, cTicket, request.GetSchema()) + var resp *v2.TicketsServiceCreateTicketResponse + if err != nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + if ticket != nil { + resp = v2.TicketsServiceCreateTicketResponse_builder{ + Ticket: ticket, + Annotations: annos, + }.Build() + } + return resp, fmt.Errorf("error: creating ticket failed: %w", err) + } + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return v2.TicketsServiceCreateTicketResponse_builder{ + Ticket: ticket, + Annotations: annos, + }.Build(), nil +} + +func (b *builder) GetTicket(ctx context.Context, request *v2.TicketsServiceGetTicketRequest) (*v2.TicketsServiceGetTicketResponse, error) { + ctx, span := tracer.Start(ctx, "builder.GetTicket") + defer span.End() + + start := b.nowFunc() + tt := tasks.GetTicketType + if b.ticketManager == nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: ticket manager not implemented") + } + + var resp *v2.TicketsServiceGetTicketResponse + ticket, annos, err := b.ticketManager.GetTicket(ctx, request.GetId()) + if err != nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + if ticket != nil { + resp = v2.TicketsServiceGetTicketResponse_builder{ + Ticket: ticket, + Annotations: annos, + }.Build() + } + return resp, fmt.Errorf("error: getting ticket failed: %w", err) + } + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return v2.TicketsServiceGetTicketResponse_builder{ + Ticket: ticket, + Annotations: annos, + }.Build(), nil +} + +func (b *builder) GetTicketSchema(ctx context.Context, request *v2.TicketsServiceGetTicketSchemaRequest) (*v2.TicketsServiceGetTicketSchemaResponse, error) { + ctx, span := tracer.Start(ctx, "builder.GetTicketSchema") + defer span.End() + + start := b.nowFunc() + tt := tasks.GetTicketSchemaType + if b.ticketManager == nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: ticket manager not implemented") + } + + ticketSchema, annos, err := b.ticketManager.GetTicketSchema(ctx, request.GetId()) + if err != nil { + b.m.RecordTaskFailure(ctx, tt, b.nowFunc().Sub(start)) + return nil, fmt.Errorf("error: getting ticket metadata failed: %w", err) + } + + b.m.RecordTaskSuccess(ctx, tt, b.nowFunc().Sub(start)) + return v2.TicketsServiceGetTicketSchemaResponse_builder{ + Schema: ticketSchema, + Annotations: annos, + }.Build(), nil +} + +func (b *builder) addTicketManager(_ context.Context, in interface{}) error { + if ticketManager, ok := in.(TicketManagerLimited); ok { + if b.ticketManager != nil { + return fmt.Errorf("error: cannot set multiple ticket managers") + } + b.ticketManager = ticketManager + } + return nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/connectorrunner/runner.go b/vendor/github.com/conductorone/baton-sdk/pkg/connectorrunner/runner.go index e5ddb37c..621c8112 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/connectorrunner/runner.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/connectorrunner/runner.go @@ -133,7 +133,7 @@ func (c *connectorRunner) processTask(ctx context.Context, task *v1.Task) error return nil } -func (c *connectorRunner) backoff(ctx context.Context, errCount int) time.Duration { +func (c *connectorRunner) backoff(_ context.Context, errCount int) time.Duration { waitDuration := time.Duration(errCount*errCount) * time.Second if waitDuration > time.Minute { waitDuration = time.Minute @@ -189,7 +189,7 @@ func (c *connectorRunner) run(ctx context.Context) error { continue } - l.Debug("runner: got task", zap.String("task_id", nextTask.Id), zap.String("task_type", tasks.GetType(nextTask).String())) + l.Debug("runner: got task", zap.String("task_id", nextTask.GetId()), zap.String("task_type", tasks.GetType(nextTask).String())) // If we're in one-shot mode, process the task synchronously. if c.oneShot { @@ -200,7 +200,7 @@ func (c *connectorRunner) run(ctx context.Context) error { l.Error( "runner: error processing on-demand task", zap.Error(err), - zap.String("task_id", nextTask.Id), + zap.String("task_id", nextTask.GetId()), zap.String("task_type", tasks.GetType(nextTask).String()), ) return err @@ -210,17 +210,17 @@ func (c *connectorRunner) run(ctx context.Context) error { // We got a task, so process it concurrently. go func(t *v1.Task) { - l.Debug("runner: starting processing task", zap.String("task_id", t.Id), zap.String("task_type", tasks.GetType(t).String())) + l.Debug("runner: starting processing task", zap.String("task_id", t.GetId()), zap.String("task_type", tasks.GetType(t).String())) defer sem.Release(1) err := c.processTask(ctx, t) if err != nil { if strings.Contains(err.Error(), "grpc: the client connection is closing") { stopForLoop = true } - l.Error("runner: error processing task", zap.Error(err), zap.String("task_id", t.Id), zap.String("task_type", tasks.GetType(t).String())) + l.Error("runner: error processing task", zap.Error(err), zap.String("task_id", t.GetId()), zap.String("task_type", tasks.GetType(t).String())) return } - l.Debug("runner: task processed", zap.String("task_id", t.Id), zap.String("task_type", tasks.GetType(t).String())) + l.Debug("runner: task processed", zap.String("task_id", t.GetId()), zap.String("task_type", tasks.GetType(t).String())) }(nextTask) l.Debug("runner: dispatched task, waiting for next task", zap.Duration("wait_duration", waitDuration)) @@ -228,7 +228,7 @@ func (c *connectorRunner) run(ctx context.Context) error { } if stopForLoop { - return fmt.Errorf("Unable to communicate with gRPC server") + return fmt.Errorf("unable to communicate with gRPC server") } return nil @@ -301,6 +301,7 @@ type rotateCredentialsConfig struct { type eventStreamConfig struct { feedId string startAt time.Time + cursor string } type syncDifferConfig struct { @@ -343,6 +344,17 @@ type runnerConfig struct { targetedSyncResourceIDs []string externalResourceC1Z string externalResourceEntitlementIdFilter string + skipEntitlementsAndGrants bool + skipGrants bool + sessionStoreEnabled bool + syncResourceTypeIDs []string +} + +func WithSessionStoreEnabled() Option { + return func(ctx context.Context, w *runnerConfig) error { + w.sessionStoreEnabled = true + return nil + } } // WithRateLimiterConfig sets the RateLimiterConfig for a runner. @@ -360,14 +372,12 @@ func WithRateLimiterConfig(cfg *ratelimitV1.RateLimiterConfig) Option { // The `opts` map is injected into the environment in order for the service to be configured. func WithExternalLimiter(address string, opts map[string]string) Option { return func(ctx context.Context, w *runnerConfig) error { - w.rlCfg = &ratelimitV1.RateLimiterConfig{ - Type: &ratelimitV1.RateLimiterConfig_External{ - External: &ratelimitV1.ExternalLimiter{ - Address: address, - Options: opts, - }, - }, - } + w.rlCfg = ratelimitV1.RateLimiterConfig_builder{ + External: ratelimitV1.ExternalLimiter_builder{ + Address: address, + Options: opts, + }.Build(), + }.Build() return nil } @@ -378,13 +388,14 @@ func WithExternalLimiter(address string, opts map[string]string) Option { // `usePercent` is value between 0 and 100. func WithSlidingMemoryLimiter(usePercent int64) Option { return func(ctx context.Context, w *runnerConfig) error { - w.rlCfg = &ratelimitV1.RateLimiterConfig{ - Type: &ratelimitV1.RateLimiterConfig_SlidingMem{ - SlidingMem: &ratelimitV1.SlidingMemoryLimiter{ - UsePercent: float64(usePercent / 100), - }, - }, + if usePercent < 0 || usePercent > 100 { + return fmt.Errorf("usePercent must be between 0 and 100") } + w.rlCfg = ratelimitV1.RateLimiterConfig_builder{ + SlidingMem: ratelimitV1.SlidingMemoryLimiter_builder{ + UsePercent: float64(usePercent) / 100.0, + }.Build(), + }.Build() return nil } @@ -395,14 +406,12 @@ func WithSlidingMemoryLimiter(usePercent int64) Option { // `period` represents the elapsed time between two instants as an int64 nanosecond count. func WithFixedMemoryLimiter(rate int64, period time.Duration) Option { return func(ctx context.Context, w *runnerConfig) error { - w.rlCfg = &ratelimitV1.RateLimiterConfig{ - Type: &ratelimitV1.RateLimiterConfig_FixedMem{ - FixedMem: &ratelimitV1.FixedMemoryLimiter{ - Rate: rate, - Period: durationpb.New(period), - }, - }, - } + w.rlCfg = ratelimitV1.RateLimiterConfig_builder{ + FixedMem: ratelimitV1.FixedMemoryLimiter_builder{ + Rate: rate, + Period: durationpb.New(period), + }.Build(), + }.Build() return nil } @@ -510,12 +519,13 @@ func WithOnDemandSync(c1zPath string) Option { } } -func WithOnDemandEventStream(feedId string, startAt time.Time) Option { +func WithOnDemandEventStream(feedId string, startAt time.Time, cursor string) Option { return func(ctx context.Context, cfg *runnerConfig) error { cfg.onDemand = true cfg.eventFeedConfig = &eventStreamConfig{ feedId: feedId, startAt: startAt, + cursor: cursor, } return nil } @@ -549,6 +559,13 @@ func WithTargetedSyncResourceIDs(resourceIDs []string) Option { } } +func WithSyncResourceTypeIDs(resourceTypeIDs []string) Option { + return func(ctx context.Context, cfg *runnerConfig) error { + cfg.syncResourceTypeIDs = resourceTypeIDs + return nil + } +} + func WithTicketingEnabled() Option { return func(ctx context.Context, cfg *runnerConfig) error { cfg.ticketingEnabled = true @@ -641,6 +658,23 @@ func WithSyncCompactor(outputPath string, filePaths []string, syncIDs []string) } } +func WithSkipEntitlementsAndGrants(skip bool) Option { + return func(ctx context.Context, cfg *runnerConfig) error { + cfg.skipEntitlementsAndGrants = skip + return nil + } +} + +func WithSkipGrants(skip bool) Option { + return func(ctx context.Context, cfg *runnerConfig) error { + if skip && len(cfg.targetedSyncResourceIDs) == 0 { + return fmt.Errorf("skip-grants can only be set within a targeted sync") + } + cfg.skipGrants = skip + return nil + } +} + // NewConnectorRunner creates a new connector runner. func NewConnectorRunner(ctx context.Context, c types.ConnectorServer, opts ...Option) (*connectorRunner, error) { runner := &connectorRunner{} @@ -676,6 +710,14 @@ func NewConnectorRunner(ctx context.Context, c types.ConnectorServer, opts ...Op wrapperOpts = append(wrapperOpts, connector.WithTargetedSyncResourceIDs(cfg.targetedSyncResourceIDs)) } + if cfg.sessionStoreEnabled { + wrapperOpts = append(wrapperOpts, connector.WithSessionStoreEnabled()) + } + + if len(cfg.syncResourceTypeIDs) > 0 { + wrapperOpts = append(wrapperOpts, connector.WithSyncResourceTypeIDs(cfg.syncResourceTypeIDs)) + } + cw, err := connector.NewWrapper(ctx, c, wrapperOpts...) if err != nil { return nil, err @@ -715,7 +757,7 @@ func NewConnectorRunner(ctx context.Context, c types.ConnectorServer, opts ...Op tm = local.NewCredentialRotator(ctx, cfg.c1zPath, cfg.rotateCredentialsConfig.resourceId, cfg.rotateCredentialsConfig.resourceType) case cfg.eventFeedConfig != nil: - tm = local.NewEventFeed(ctx, cfg.eventFeedConfig.feedId, cfg.eventFeedConfig.startAt) + tm = local.NewEventFeed(ctx, cfg.eventFeedConfig.feedId, cfg.eventFeedConfig.startAt, cfg.eventFeedConfig.cursor) case cfg.createTicketConfig != nil: tm = local.NewTicket(ctx, cfg.createTicketConfig.templatePath) case cfg.listTicketSchemasConfig != nil: @@ -745,6 +787,9 @@ func NewConnectorRunner(ctx context.Context, c types.ConnectorServer, opts ...Op local.WithExternalResourceC1Z(cfg.externalResourceC1Z), local.WithExternalResourceEntitlementIdFilter(cfg.externalResourceEntitlementIdFilter), local.WithTargetedSyncResourceIDs(cfg.targetedSyncResourceIDs), + local.WithSkipEntitlementsAndGrants(cfg.skipEntitlementsAndGrants), + local.WithSkipGrants(cfg.skipGrants), + local.WithSyncResourceTypeIDs(cfg.syncResourceTypeIDs), ) if err != nil { return nil, err @@ -757,7 +802,16 @@ func NewConnectorRunner(ctx context.Context, c types.ConnectorServer, opts ...Op return runner, nil } - tm, err := c1api.NewC1TaskManager(ctx, cfg.clientID, cfg.clientSecret, cfg.tempDir, cfg.skipFullSync, cfg.externalResourceC1Z, cfg.externalResourceEntitlementIdFilter, cfg.targetedSyncResourceIDs) + tm, err := c1api.NewC1TaskManager(ctx, + cfg.clientID, + cfg.clientSecret, + cfg.tempDir, + cfg.skipFullSync, + cfg.externalResourceC1Z, + cfg.externalResourceEntitlementIdFilter, + cfg.targetedSyncResourceIDs, + cfg.syncResourceTypeIDs, + ) if err != nil { return nil, err } 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 71db3b92..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,9 @@ 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 diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/crypto/client_secret.go b/vendor/github.com/conductorone/baton-sdk/pkg/crypto/client_secret.go new file mode 100644 index 00000000..6126db43 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/crypto/client_secret.go @@ -0,0 +1,56 @@ +package crypto + +import ( + "bytes" + "crypto/ed25519" + "encoding/base64" + "errors" + + "github.com/conductorone/baton-sdk/pkg/crypto/providers/jwk" + "github.com/go-jose/go-jose/v4" +) + +var ErrInvalidClientSecret = errors.New("invalid client secret") +var v1SecretTokenIdentifier = []byte("v1") + +func ParseClientSecret(input []byte, setKeyID bool) (*jose.JSONWebKey, error) { + items := bytes.SplitN(input, []byte(":"), 4) + if len(items) != 4 { + return nil, ErrInvalidClientSecret + } + + if !bytes.Equal(items[2], v1SecretTokenIdentifier) { + return nil, ErrInvalidClientSecret + } + + jwkData, err := base64.RawURLEncoding.DecodeString(string(items[3])) + if err != nil { + return nil, ErrInvalidClientSecret + } + + npk := &jose.JSONWebKey{} + err = npk.UnmarshalJSON(jwkData) + if err != nil { + return nil, ErrInvalidClientSecret + } + + if npk.IsPublic() || !npk.Valid() { + return nil, ErrInvalidClientSecret + } + + _, ok := npk.Key.(ed25519.PrivateKey) + if !ok { + return nil, ErrInvalidClientSecret + } + + if setKeyID && npk.KeyID == "" { + kid, err := jwk.Thumbprint(npk) + if err != nil { + return nil, err + } + + npk.KeyID = kid + } + + return npk, nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/crypto/crypto.go b/vendor/github.com/conductorone/baton-sdk/pkg/crypto/crypto.go index 6d3d8e14..407209db 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/crypto/crypto.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/crypto/crypto.go @@ -2,9 +2,22 @@ package crypto import ( "context" + "fmt" v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" "github.com/conductorone/baton-sdk/pkg/crypto/providers" + "github.com/conductorone/baton-sdk/pkg/crypto/providers/jwk" + "github.com/go-jose/go-jose/v4" + "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap" + "go.uber.org/zap" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +type key string + +const ( + ContextClientSecretKey = key("client-secret-key") ) type PlaintextCredential struct { @@ -48,3 +61,105 @@ func NewEncryptionManager(co *v2.CredentialOptions, ec []*v2.EncryptionConfig) ( } return em, nil } + +func decryptPassword(ctx context.Context, encryptedPassword *v2.EncryptedData, decryptionConfig *providers.DecryptionConfig) (string, error) { + if decryptionConfig == nil { + return "", ErrInvalidCredentialOptions + } + + provider, err := providers.GetDecryptionProviderForConfig(ctx, decryptionConfig) + if err != nil { + return "", status.Errorf(codes.Internal, "error getting decryption provider for config: %v", err) + } + key := decryptionConfig.PrivateKey + if key == nil { + return "", status.Errorf(codes.InvalidArgument, "decryption config key is empty") + } + + plaintext, err := provider.Decrypt(ctx, encryptedPassword, decryptionConfig.PrivateKey) + if err != nil { + return "", status.Errorf(codes.Internal, "error decrypting password: %v", err) + } + + return string(plaintext.GetBytes()), nil +} + +func ConvertCredentialOptions(ctx context.Context, clientSecret *jose.JSONWebKey, opts *v2.CredentialOptions, encryptionConfigs []*v2.EncryptionConfig) (*v2.LocalCredentialOptions, error) { + l := ctxzap.Extract(ctx) + if opts == nil { + return nil, nil + } + + localOpts := v2.LocalCredentialOptions_builder{ + ForceChangeAtNextLogin: opts.GetForceChangeAtNextLogin(), + }.Build() + + switch opts.WhichOptions() { + case v2.CredentialOptions_RandomPassword_case: + localOpts.SetRandomPassword(v2.LocalCredentialOptions_RandomPassword_builder{ + Length: opts.GetRandomPassword().GetLength(), + Constraints: opts.GetRandomPassword().GetConstraints(), + }.Build()) + case v2.CredentialOptions_NoPassword_case: + localOpts.SetNoPassword(&v2.LocalCredentialOptions_NoPassword{}) + case v2.CredentialOptions_Sso_case: + localOpts.SetSso(v2.LocalCredentialOptions_SSO_builder{ + SsoProvider: opts.GetSso().GetSsoProvider(), + }.Build()) + case v2.CredentialOptions_EncryptedPassword_case: + default: + return nil, status.Error(codes.InvalidArgument, "invalid credential options") + } + + encryptedPasswordOpt := opts.GetEncryptedPassword() + if encryptedPasswordOpt == nil { + return localOpts, nil + } + encryptedPasswords := encryptedPasswordOpt.GetEncryptedPasswords() + if len(encryptedPasswords) == 0 { + return localOpts, nil + } + + // Whatever's setting the password should already know it. Don't let us encrypt it and send it back. + if len(encryptionConfigs) > 0 { + l.Error("error: encryption configs should never be supplied for encrypted passwords") + return localOpts, status.Error(codes.InvalidArgument, "encryption configs should never be supplied for encrypted passwords") + } + + if clientSecret == nil { + return localOpts, status.Error(codes.InvalidArgument, "client-secret is required") + } + + for _, encryptedPassword := range encryptedPasswords { + keyIDs := encryptedPassword.GetKeyIds() + if len(keyIDs) == 0 { + continue + } + for _, keyId := range keyIDs { + if keyId != clientSecret.KeyID { + l.Warn("convert-credential-options: key id does not match client secret key id", zap.String("keyId", keyId), zap.String("clientSecretKeyID", clientSecret.KeyID)) + continue + } + password, err := decryptPassword(ctx, encryptedPassword, &providers.DecryptionConfig{ + Provider: jwk.EncryptionProviderJwkPrivate, + PrivateKey: clientSecret, + }) + if err != nil { + return nil, fmt.Errorf("convert-credential-options: error decrypting password: %w", err) + } + localOpts.SetPlaintextPassword(v2.LocalCredentialOptions_PlaintextPassword_builder{ + PlaintextPassword: password, + }.Build()) + break + } + if localOpts.HasOptions() { + break + } + } + + if !localOpts.HasOptions() { + return nil, status.Errorf(codes.InvalidArgument, "no encrypted password matched client secret key id %q", clientSecret.KeyID) + } + + return localOpts, nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/crypto/password.go b/vendor/github.com/conductorone/baton-sdk/pkg/crypto/password.go index dd75d302..98bc11af 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/crypto/password.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/crypto/password.go @@ -1,6 +1,7 @@ package crypto import ( + "context" "crypto/rand" "errors" "fmt" @@ -21,12 +22,17 @@ const ( var ErrInvalidCredentialOptions = errors.New("unknown credential options") var ErrInvalidPasswordLength = errors.New("invalid password length") -func GeneratePassword(credentialOptions *v2.CredentialOptions) (string, error) { +func GeneratePassword(ctx context.Context, credentialOptions *v2.LocalCredentialOptions) (string, error) { randomPassword := credentialOptions.GetRandomPassword() if randomPassword != nil { return GenerateRandomPassword(randomPassword) } + plaintextPassword := credentialOptions.GetPlaintextPassword() + if plaintextPassword != nil { + return plaintextPassword.GetPlaintextPassword(), nil + } + return "", ErrInvalidCredentialOptions } @@ -54,19 +60,19 @@ func addCharacterToPassword(password *strings.Builder, set string) error { return nil } -func GenerateRandomPassword(randomPassword *v2.CredentialOptions_RandomPassword) (string, error) { +func GenerateRandomPassword(randomPassword *v2.LocalCredentialOptions_RandomPassword) (string, error) { passwordLength := randomPassword.GetLength() if passwordLength < 8 { return "", ErrInvalidPasswordLength } var password strings.Builder - constraints := randomPassword.Constraints + constraints := randomPassword.GetConstraints() if len(constraints) > 0 { // apply constraints for _, constraint := range constraints { - for i := int64(0); i < int64(constraint.MinCount); i++ { - err := addCharacterToPassword(&password, constraint.CharSet) + for i := int64(0); i < int64(constraint.GetMinCount()); i++ { + err := addCharacterToPassword(&password, constraint.GetCharSet()) if err != nil { return "", err } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/crypto/providers/jwk/jwk.go b/vendor/github.com/conductorone/baton-sdk/pkg/crypto/providers/jwk/jwk.go index 240bf6f3..c39a73af 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/crypto/providers/jwk/jwk.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/crypto/providers/jwk/jwk.go @@ -21,6 +21,7 @@ import ( // TODO(morgabra): Fix the circular dependency/entire registry pattern here. const EncryptionProviderJwk = "baton/jwk/v1" +const EncryptionProviderJwkPrivate = "baton/jwk/v1/private" var ErrJWKInvalidKeyType = errors.New("jwk: invalid key type") var ErrJWKUnsupportedKeyType = errors.New("jwk: unsupported key type") @@ -36,7 +37,7 @@ func unmarshalJWK(jwkBytes []byte) (*jose.JSONWebKey, error) { type JWKEncryptionProvider struct{} -func (j *JWKEncryptionProvider) GenerateKey(ctx context.Context) (*v2.EncryptionConfig, []byte, error) { +func (j *JWKEncryptionProvider) GenerateKey(ctx context.Context) (*v2.EncryptionConfig, *jose.JSONWebKey, error) { _, privKey, err := ed25519.GenerateKey(nil) if err != nil { return nil, nil, fmt.Errorf("jwk: failed to generate key: %w", err) @@ -48,33 +49,26 @@ func (j *JWKEncryptionProvider) GenerateKey(ctx context.Context) (*v2.Encryption return j.marshalKey(ctx, privKeyJWK) } -func (j *JWKEncryptionProvider) marshalKey(ctx context.Context, privKeyJWK *jose.JSONWebKey) (*v2.EncryptionConfig, []byte, error) { - privKeyJWKBytes, err := privKeyJWK.MarshalJSON() - if err != nil { - return nil, nil, fmt.Errorf("jwk: failed to marshal private key: %w", err) - } - +func (j *JWKEncryptionProvider) marshalKey(ctx context.Context, privKeyJWK *jose.JSONWebKey) (*v2.EncryptionConfig, *jose.JSONWebKey, error) { pubKeyJWK := privKeyJWK.Public() pubKeyJWKBytes, err := pubKeyJWK.MarshalJSON() if err != nil { return nil, nil, fmt.Errorf("jwk: failed to marshal public key: %w", err) } - kid, err := thumbprint(&pubKeyJWK) + kid, err := Thumbprint(&pubKeyJWK) if err != nil { return nil, nil, err } - return &v2.EncryptionConfig{ + return v2.EncryptionConfig_builder{ Principal: nil, Provider: EncryptionProviderJwk, // TODO(morgabra): Fix the circular dependency/entire registry pattern. KeyId: kid, - Config: &v2.EncryptionConfig_JwkPublicKeyConfig{ - JwkPublicKeyConfig: &v2.EncryptionConfig_JWKPublicKeyConfig{ - PubKey: pubKeyJWKBytes, - }, - }, - }, privKeyJWKBytes, nil + JwkPublicKeyConfig: v2.EncryptionConfig_JWKPublicKeyConfig_builder{ + PubKey: pubKeyJWKBytes, + }.Build(), + }.Build(), privKeyJWK, nil } func (j *JWKEncryptionProvider) Encrypt(ctx context.Context, conf *v2.EncryptionConfig, plainText *v2.PlaintextData) (*v2.EncryptedData, error) { @@ -86,17 +80,17 @@ func (j *JWKEncryptionProvider) Encrypt(ctx context.Context, conf *v2.Encryption var ciphertext []byte switch pubKey := jwk.Public().Key.(type) { case ed25519.PublicKey: - ciphertext, err = EncryptED25519(pubKey, plainText.Bytes) + ciphertext, err = EncryptED25519(pubKey, plainText.GetBytes()) if err != nil { return nil, err } case *ecdsa.PublicKey: - ciphertext, err = EncryptECDSA(pubKey, plainText.Bytes) + ciphertext, err = EncryptECDSA(pubKey, plainText.GetBytes()) if err != nil { return nil, err } case *rsa.PublicKey: - ciphertext, err = EncryptRSA(pubKey, plainText.Bytes) + ciphertext, err = EncryptRSA(pubKey, plainText.GetBytes()) if err != nil { return nil, err } @@ -104,35 +98,26 @@ func (j *JWKEncryptionProvider) Encrypt(ctx context.Context, conf *v2.Encryption return nil, ErrJWKUnsupportedKeyType } - tp, err := thumbprint(jwk) + tp, err := Thumbprint(jwk) if err != nil { return nil, err } encCipherText := base64.StdEncoding.EncodeToString(ciphertext) - return &v2.EncryptedData{ + return v2.EncryptedData_builder{ Provider: EncryptionProviderJwk, KeyId: tp, - Name: plainText.Name, - Description: plainText.Description, - Schema: plainText.Schema, + Name: plainText.GetName(), + Description: plainText.GetDescription(), + Schema: plainText.GetSchema(), EncryptedBytes: []byte(encCipherText), KeyIds: []string{tp}, - }, nil + }.Build(), nil } -func (j *JWKEncryptionProvider) Decrypt(ctx context.Context, cipherText *v2.EncryptedData, privateKey []byte) (*v2.PlaintextData, error) { - jwk, err := unmarshalJWK(privateKey) - if err != nil { - return nil, err - } - - if jwk.IsPublic() { - return nil, fmt.Errorf("%w: key is public", ErrJWKInvalidKeyType) - } - - decCipherText, err := base64.StdEncoding.DecodeString(string(cipherText.EncryptedBytes)) +func (j *JWKEncryptionProvider) Decrypt(ctx context.Context, cipherText *v2.EncryptedData, jwk *jose.JSONWebKey) (*v2.PlaintextData, error) { + decCipherText, err := base64.StdEncoding.DecodeString(string(cipherText.GetEncryptedBytes())) if err != nil { return nil, fmt.Errorf("jwk: failed to decode encrypted bytes: %w", err) } @@ -158,15 +143,15 @@ func (j *JWKEncryptionProvider) Decrypt(ctx context.Context, cipherText *v2.Encr return nil, ErrJWKUnsupportedKeyType } - return &v2.PlaintextData{ - Name: cipherText.Name, - Description: cipherText.Description, - Schema: cipherText.Schema, + return v2.PlaintextData_builder{ + Name: cipherText.GetName(), + Description: cipherText.GetDescription(), + Schema: cipherText.GetSchema(), Bytes: plaintext, - }, nil + }.Build(), nil } -func thumbprint(jwk *jose.JSONWebKey) (string, error) { +func Thumbprint(jwk *jose.JSONWebKey) (string, error) { tp, err := jwk.Thumbprint(crypto.SHA256) if err != nil { return "", fmt.Errorf("jwk: failed to compute key id: %w", err) diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/crypto/providers/registry.go b/vendor/github.com/conductorone/baton-sdk/pkg/crypto/providers/registry.go index 399be670..731d33f3 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/crypto/providers/registry.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/crypto/providers/registry.go @@ -5,21 +5,30 @@ import ( "fmt" "strings" + "github.com/go-jose/go-jose/v4" + v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" "github.com/conductorone/baton-sdk/pkg/crypto/providers/jwk" ) -var EncryptionProviderNotRegisteredError = fmt.Errorf("crypto/providers: encryption provider not registered") +var ErrEncryptionProviderNotRegistered = fmt.Errorf("crypto/providers: encryption provider not registered") +var ErrNoProviderSpecified = fmt.Errorf("crypto/providers: no provider specified") type EncryptionProvider interface { Encrypt(ctx context.Context, conf *v2.EncryptionConfig, plainText *v2.PlaintextData) (*v2.EncryptedData, error) - Decrypt(ctx context.Context, cipherText *v2.EncryptedData, privateKey []byte) (*v2.PlaintextData, error) + Decrypt(ctx context.Context, cipherText *v2.EncryptedData, privateKey *jose.JSONWebKey) (*v2.PlaintextData, error) + + GenerateKey(ctx context.Context) (*v2.EncryptionConfig, *jose.JSONWebKey, error) +} - GenerateKey(ctx context.Context) (*v2.EncryptionConfig, []byte, error) +type DecryptionConfig struct { + Provider string + PrivateKey *jose.JSONWebKey } var providerRegistry = map[string]EncryptionProvider{ - normalizeProviderName(jwk.EncryptionProviderJwk): &jwk.JWKEncryptionProvider{}, + normalizeProviderName(jwk.EncryptionProviderJwk): &jwk.JWKEncryptionProvider{}, + normalizeProviderName(jwk.EncryptionProviderJwkPrivate): &jwk.JWKEncryptionProvider{}, } func normalizeProviderName(name string) string { @@ -29,7 +38,7 @@ func normalizeProviderName(name string) string { func GetEncryptionProvider(name string) (EncryptionProvider, error) { provider, ok := providerRegistry[normalizeProviderName(name)] if !ok { - return nil, fmt.Errorf("%w (%s)", EncryptionProviderNotRegisteredError, name) + return nil, fmt.Errorf("%w (%s)", ErrEncryptionProviderNotRegistered, name) } return provider, nil } @@ -37,7 +46,7 @@ func GetEncryptionProvider(name string) (EncryptionProvider, error) { // GetEncryptionProviderForConfig returns the encryption provider for the given config. // If the config specifies a provider, we will fetch it directly by name and return an error if it's not found. // If the config contains a non-nil well-known configuration (like JWKPublicKeyConfig), we will return the provider for that by name. -// If we can't find a provider, we return an EncryptionProviderNotRegisteredError. +// If we can't find a provider, we return an ErrEncryptionProviderNotRegistered. func GetEncryptionProviderForConfig(ctx context.Context, conf *v2.EncryptionConfig) (EncryptionProvider, error) { providerName := normalizeProviderName(conf.GetProvider()) @@ -51,7 +60,17 @@ func GetEncryptionProviderForConfig(ctx context.Context, conf *v2.EncryptionConf // If we don't have a provider by now, bail. if providerName == "" { - return nil, EncryptionProviderNotRegisteredError + return nil, ErrEncryptionProviderNotRegistered + } + + return GetEncryptionProvider(providerName) +} + +func GetDecryptionProviderForConfig(ctx context.Context, conf *DecryptionConfig) (EncryptionProvider, error) { + providerName := normalizeProviderName(conf.Provider) + + if providerName == "" { + return nil, ErrNoProviderSpecified } return GetEncryptionProvider(providerName) diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/assets.go b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/assets.go index 035fbcf6..ea00c14c 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/assets.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/assets.go @@ -76,7 +76,7 @@ func (c *C1File) PutAsset(ctx context.Context, assetRef *v2.AssetRef, contentTyp } fields := goqu.Record{ - "external_id": assetRef.Id, + "external_id": assetRef.GetId(), "content_type": contentType, "data": data, "sync_id": c.currentSyncID, @@ -113,13 +113,13 @@ func (c *C1File) GetAsset(ctx context.Context, request *v2.AssetServiceGetAssetR return "", nil, err } - if request.Asset == nil { + if !request.HasAsset() { return "", nil, fmt.Errorf("asset is required") } q := c.db.From(assets.Name()).Prepared(true) q = q.Select("content_type", "data") - q = q.Where(goqu.C("external_id").Eq(request.Asset.Id)) + q = q.Where(goqu.C("external_id").Eq(request.GetAsset().GetId())) if c.currentSyncID != "" { q = q.Where(goqu.C("sync_id").Eq(c.currentSyncID)) 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 b89abccc..3e922ec6 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" ) @@ -102,8 +107,9 @@ func NewC1File(ctx context.Context, dbFilePath string, opts ...C1FOption) (*C1Fi } type c1zOptions struct { - tmpDir string - pragmas []pragma + tmpDir string + pragmas []pragma + decoderOptions []DecoderOption } type C1ZOption func(*c1zOptions) @@ -119,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") @@ -129,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 } @@ -149,6 +161,14 @@ func NewC1ZFile(ctx context.Context, outputFilePath string, opts ...C1ZOption) ( 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,64 +227,81 @@ 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_builder{SyncId: syncId}.Build()) if err != nil { return nil, err } + if resp == nil || !resp.HasSync() { + return nil, status.Errorf(codes.NotFound, "sync '%s' not found", syncId) + } + sync := resp.GetSync() + if syncType != connectorstore.SyncTypeAny && syncType != connectorstore.SyncType(sync.GetSyncType()) { + return nil, status.Errorf(codes.InvalidArgument, "sync '%s' is not of type '%s'", syncId, syncType) + } + syncType = connectorstore.SyncType(sync.GetSyncType()) counts["resource_types"] = 0 var rtStats []*v2.ResourceType pageToken := "" for { - resp, err := c.ListResourceTypes(ctx, &v2.ResourceTypesServiceListResourceTypesRequest{PageToken: pageToken}) + resp, err := c.ListResourceTypes(ctx, v2.ResourceTypesServiceListResourceTypesRequest_builder{PageToken: pageToken}.Build()) if err != nil { return nil, err } - rtStats = append(rtStats, resp.List...) + rtStats = append(rtStats, resp.GetList()...) - if resp.NextPageToken == "" { + if resp.GetNextPageToken() == "" { break } - pageToken = resp.NextPageToken + pageToken = resp.GetNextPageToken() } counts["resource_types"] = int64(len(rtStats)) 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("resource_type_id").Eq(rt.GetId())). + Where(goqu.C("sync_id").Eq(syncId)). CountContext(ctx) if err != nil { return nil, err } - counts[rt.Id] = resourceCount + counts[rt.GetId()] = 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 } @@ -322,3 +353,62 @@ func (c *C1FileAttached) DetachFile(dbName string) (*C1FileAttached, error) { 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_builder{SyncId: syncId}.Build()) + 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.GetSync().GetSyncType()) { + 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_builder{PageToken: pageToken}.Build()) + if err != nil { + return nil, err + } + + allResourceTypes = append(allResourceTypes, resp.GetList()...) + + if resp.GetNextPageToken() == "" { + break + } + + pageToken = resp.GetNextPageToken() + } + + 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.GetId())). + CountContext(ctx) + if err != nil { + return nil, err + } + + stats[resourceType.GetId()] = 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 index 6cf34ff5..34bf5ea4 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/c1file_attached.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/c1file_attached.go @@ -106,6 +106,9 @@ func (c *C1FileAttached) getTableColumns(ctx context.Context, tableName string) columns = append(columns, name) } } + if rows.Err() != nil { + return nil, rows.Err() + } return columns, nil } 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..446aad2b 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 } @@ -43,6 +44,9 @@ func (c *C1File) GenerateSyncDiff(ctx context.Context, baseSyncID string, applie if err != nil { return "", err } + if q == "" { + continue + } _, err = c.db.ExecContext(ctx, q, args...) if err != nil { return "", err @@ -69,6 +73,9 @@ func (c *C1File) diffTableQuery(table tableDescriptor, baseSyncID, appliedSyncID tableName := table.Name() // Add table-specific columns switch { + case strings.Contains(tableName, sessionStoreTableName): + // caching is not relevant to diffs. + return "", nil, nil case strings.Contains(tableName, resourcesTableName): columns = append(columns, "resource_type_id", "parent_resource_type_id", "parent_resource_id") case strings.Contains(tableName, resourceTypesTableName): 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 9456ae77..7e0940e0 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/entitlements.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/entitlements.go @@ -72,10 +72,10 @@ func (c *C1File) ListEntitlements(ctx context.Context, request *v2.EntitlementsS ret = append(ret, en) } - return &v2.EntitlementsServiceListEntitlementsResponse{ + return v2.EntitlementsServiceListEntitlementsResponse_builder{ List: ret, NextPageToken: nextPageToken, - }, nil + }.Build(), nil } func (c *C1File) GetEntitlement(ctx context.Context, request *reader_v2.EntitlementsReaderServiceGetEntitlementRequest) (*reader_v2.EntitlementsReaderServiceGetEntitlementResponse, error) { @@ -85,16 +85,16 @@ func (c *C1File) GetEntitlement(ctx context.Context, request *reader_v2.Entitlem ret := &v2.Entitlement{} syncId, err := annotations.GetSyncIdFromAnnotations(request.GetAnnotations()) if err != nil { - return nil, fmt.Errorf("error getting sync id from annotations for entitlement '%s': %w", request.EntitlementId, err) + return nil, fmt.Errorf("error getting sync id from annotations for entitlement '%s': %w", request.GetEntitlementId(), err) } - err = c.getConnectorObject(ctx, entitlements.Name(), request.EntitlementId, syncId, ret) + err = c.getConnectorObject(ctx, entitlements.Name(), request.GetEntitlementId(), syncId, ret) if err != nil { - return nil, fmt.Errorf("error fetching entitlement '%s': %w", request.EntitlementId, err) + return nil, fmt.Errorf("error fetching entitlement '%s': %w", request.GetEntitlementId(), err) } - return &reader_v2.EntitlementsReaderServiceGetEntitlementResponse{ + return reader_v2.EntitlementsReaderServiceGetEntitlementResponse_builder{ Entitlement: ret, - }, nil + }.Build(), nil } func (c *C1File) PutEntitlements(ctx context.Context, entitlementObjs ...*v2.Entitlement) error { @@ -117,8 +117,8 @@ func (c *C1File) putEntitlementsInternal(ctx context.Context, f entitlementPutFu err := f(ctx, c, entitlements.Name(), func(entitlement *v2.Entitlement) (goqu.Record, error) { return goqu.Record{ - "resource_id": entitlement.Resource.Id.Resource, - "resource_type_id": entitlement.Resource.Id.ResourceType, + "resource_id": entitlement.GetResource().GetId().GetResource(), + "resource_type_id": entitlement.GetResource().GetId().GetResourceType(), }, nil }, entitlementObjs..., 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 4edc283d..c34d49d7 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/grants.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/grants.go @@ -81,10 +81,10 @@ func (c *C1File) ListGrants(ctx context.Context, request *v2.GrantsServiceListGr ret = append(ret, g) } - return &v2.GrantsServiceListGrantsResponse{ + return v2.GrantsServiceListGrantsResponse_builder{ List: ret, NextPageToken: nextPageToken, - }, nil + }.Build(), nil } func (c *C1File) GetGrant(ctx context.Context, request *reader_v2.GrantsReaderServiceGetGrantRequest) (*reader_v2.GrantsReaderServiceGetGrantResponse, error) { @@ -94,16 +94,16 @@ func (c *C1File) GetGrant(ctx context.Context, request *reader_v2.GrantsReaderSe ret := &v2.Grant{} syncId, err := annotations.GetSyncIdFromAnnotations(request.GetAnnotations()) if err != nil { - return nil, fmt.Errorf("error getting sync id from annotations for grant '%s': %w", request.GrantId, err) + return nil, fmt.Errorf("error getting sync id from annotations for grant '%s': %w", request.GetGrantId(), err) } - err = c.getConnectorObject(ctx, grants.Name(), request.GrantId, syncId, ret) + err = c.getConnectorObject(ctx, grants.Name(), request.GetGrantId(), syncId, ret) if err != nil { return nil, fmt.Errorf("error fetching grant '%s': %w", request.GetGrantId(), err) } - return &reader_v2.GrantsReaderServiceGetGrantResponse{ + return reader_v2.GrantsReaderServiceGetGrantResponse_builder{ Grant: ret, - }, nil + }.Build(), nil } func (c *C1File) ListGrantsForEntitlement( @@ -128,10 +128,10 @@ func (c *C1File) ListGrantsForEntitlement( ret = append(ret, en) } - return &reader_v2.GrantsReaderServiceListGrantsForEntitlementResponse{ + return reader_v2.GrantsReaderServiceListGrantsForEntitlementResponse_builder{ List: ret, NextPageToken: nextPageToken, - }, nil + }.Build(), nil } func (c *C1File) ListGrantsForPrincipal( @@ -156,10 +156,10 @@ func (c *C1File) ListGrantsForPrincipal( ret = append(ret, en) } - return &reader_v2.GrantsReaderServiceListGrantsForEntitlementResponse{ + return reader_v2.GrantsReaderServiceListGrantsForEntitlementResponse_builder{ List: ret, NextPageToken: nextPageToken, - }, nil + }.Build(), nil } func (c *C1File) ListGrantsForResourceType( @@ -184,10 +184,10 @@ func (c *C1File) ListGrantsForResourceType( ret = append(ret, en) } - return &reader_v2.GrantsReaderServiceListGrantsForResourceTypeResponse{ + return reader_v2.GrantsReaderServiceListGrantsForResourceTypeResponse_builder{ List: ret, NextPageToken: nextPageToken, - }, nil + }.Build(), nil } func (c *C1File) PutGrants(ctx context.Context, bulkGrants ...*v2.Grant) error { @@ -210,11 +210,11 @@ func (c *C1File) putGrantsInternal(ctx context.Context, f grantPutFunc, bulkGran err := f(ctx, c, grants.Name(), func(grant *v2.Grant) (goqu.Record, error) { return goqu.Record{ - "resource_type_id": grant.Entitlement.Resource.Id.ResourceType, - "resource_id": grant.Entitlement.Resource.Id.Resource, - "entitlement_id": grant.Entitlement.Id, - "principal_resource_type_id": grant.Principal.Id.ResourceType, - "principal_resource_id": grant.Principal.Id.Resource, + "resource_type_id": grant.GetEntitlement().GetResource().GetId().GetResourceType(), + "resource_id": grant.GetEntitlement().GetResource().GetId().GetResource(), + "entitlement_id": grant.GetEntitlement().GetId(), + "principal_resource_type_id": grant.GetPrincipal().GetId().GetResourceType(), + "principal_resource_id": grant.GetPrincipal().GetId().GetResource(), }, nil }, bulkGrants..., 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..6ccbdd9c 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() @@ -95,9 +102,17 @@ func (l *localManager) LoadC1Z(ctx context.Context) (*dotc1z.C1File, error) { "successfully loaded c1z locally", zap.String("file_path", l.filePath), zap.String("temp_path", l.tmpPath), + zap.String("tmp_dir", l.tmpDir), ) - 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. @@ -136,6 +151,7 @@ func (l *localManager) SaveC1Z(ctx context.Context) error { "successfully saved c1z locally", zap.String("file_path", l.filePath), zap.String("temp_path", l.tmpPath), + zap.String("tmp_dir", l.tmpDir), zap.Int64("bytes", size), ) 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 bca6b1ff..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), dotc1z.WithPragma("journal_mode", "WAL")) + 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 53a7f64e..fd6aa580 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 @@ -68,10 +68,10 @@ func (c *C1File) ListResourceTypes(ctx context.Context, request *v2.ResourceType ret = append(ret, rt) } - return &v2.ResourceTypesServiceListResourceTypesResponse{ + return v2.ResourceTypesServiceListResourceTypesResponse_builder{ List: ret, NextPageToken: nextPageToken, - }, nil + }.Build(), nil } func (c *C1File) GetResourceType(ctx context.Context, request *reader_v2.ResourceTypesReaderServiceGetResourceTypeRequest) (*reader_v2.ResourceTypesReaderServiceGetResourceTypeResponse, error) { @@ -81,16 +81,16 @@ func (c *C1File) GetResourceType(ctx context.Context, request *reader_v2.Resourc ret := &v2.ResourceType{} syncId, err := annotations.GetSyncIdFromAnnotations(request.GetAnnotations()) if err != nil { - return nil, fmt.Errorf("error getting sync id from annotations for resource type '%s': %w", request.ResourceTypeId, err) + return nil, fmt.Errorf("error getting sync id from annotations for resource type '%s': %w", request.GetResourceTypeId(), err) } - err = c.getConnectorObject(ctx, resourceTypes.Name(), request.ResourceTypeId, syncId, ret) + err = c.getConnectorObject(ctx, resourceTypes.Name(), request.GetResourceTypeId(), syncId, ret) if err != nil { - return nil, fmt.Errorf("error fetching resource type '%s': %w", request.ResourceTypeId, err) + return nil, fmt.Errorf("error fetching resource type '%s': %w", request.GetResourceTypeId(), err) } - return &reader_v2.ResourceTypesReaderServiceGetResourceTypeResponse{ + return reader_v2.ResourceTypesReaderServiceGetResourceTypeResponse_builder{ ResourceType: ret, - }, nil + }.Build(), nil } func (c *C1File) PutResourceTypes(ctx context.Context, resourceTypesObjs ...*v2.ResourceType) error { 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 b28b8bb5..6954ac28 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/resources.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/resources.go @@ -77,10 +77,10 @@ func (c *C1File) ListResources(ctx context.Context, request *v2.ResourcesService ret = append(ret, rt) } - return &v2.ResourcesServiceListResourcesResponse{ + return v2.ResourcesServiceListResourcesResponse_builder{ List: ret, NextPageToken: nextPageToken, - }, nil + }.Build(), nil } func (c *C1File) GetResource(ctx context.Context, request *reader_v2.ResourcesReaderServiceGetResourceRequest) (*reader_v2.ResourcesReaderServiceGetResourceResponse, error) { @@ -90,16 +90,16 @@ func (c *C1File) GetResource(ctx context.Context, request *reader_v2.ResourcesRe ret := &v2.Resource{} syncId, err := annotations.GetSyncIdFromAnnotations(request.GetAnnotations()) if err != nil { - return nil, fmt.Errorf("error getting sync id from annotations for resource '%s': %w", request.ResourceId, err) + return nil, fmt.Errorf("error getting sync id from annotations for resource '%s': %w", request.GetResourceId(), err) } - err = c.getResourceObject(ctx, request.ResourceId, ret, syncId) + err = c.getResourceObject(ctx, request.GetResourceId(), ret, syncId) if err != nil { - return nil, fmt.Errorf("error fetching resource '%s': %w", request.ResourceId, err) + return nil, fmt.Errorf("error fetching resource '%s': %w", request.GetResourceId(), err) } - return &reader_v2.ResourcesReaderServiceGetResourceResponse{ + return reader_v2.ResourcesReaderServiceGetResourceResponse_builder{ Resource: ret, - }, nil + }.Build(), nil } func (c *C1File) PutResources(ctx context.Context, resourceObjs ...*v2.Resource) error { @@ -122,17 +122,17 @@ func (c *C1File) putResourcesInternal(ctx context.Context, f resourcePutFunc, re err := f(ctx, c, resources.Name(), func(resource *v2.Resource) (goqu.Record, error) { fields := goqu.Record{ - "resource_type_id": resource.Id.ResourceType, - "external_id": fmt.Sprintf("%s:%s", resource.Id.ResourceType, resource.Id.Resource), + "resource_type_id": resource.GetId().GetResourceType(), + "external_id": fmt.Sprintf("%s:%s", resource.GetId().GetResourceType(), resource.GetId().GetResource()), } // If we bulk insert some resources with parent ids and some without, goqu errors because of the different number of fields. - if resource.ParentResourceId == nil { + if !resource.HasParentResourceId() { fields["parent_resource_type_id"] = nil fields["parent_resource_id"] = nil } else { - fields["parent_resource_type_id"] = resource.ParentResourceId.ResourceType - fields["parent_resource_id"] = resource.ParentResourceId.Resource + fields["parent_resource_type_id"] = resource.GetParentResourceId().GetResourceType() + fields["parent_resource_id"] = resource.GetParentResourceId().GetResource() } return fields, nil }, diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/session_store.go b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/session_store.go new file mode 100644 index 00000000..d4507790 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/session_store.go @@ -0,0 +1,351 @@ +package dotc1z + +import ( + "context" + "fmt" + "strings" + + "github.com/doug-martin/goqu/v9" + + "github.com/conductorone/baton-sdk/pkg/types/sessions" +) + +type SessionStore interface { + sessions.SessionStore +} + +var _ sessions.SessionStore = (*C1File)(nil) + +const sessionStoreTableVersion = "1" +const sessionStoreTableName = "connector_sessions" +const sessionStoreTableSchema = ` +CREATE TABLE IF NOT EXISTS %s ( + id integer primary key, + sync_id text NOT NULL, + key TEXT NOT NULL, + value BLOB NOT NULL +); +create unique index if not exists %s on %s (sync_id, key);` + +var sessionStore = (*sessionStoreTable)(nil) + +type sessionStoreTable struct{} + +func escapeLike(s string) string { + s = strings.ReplaceAll(s, `\`, `\\`) + s = strings.ReplaceAll(s, `%`, `\%`) + s = strings.ReplaceAll(s, `_`, `\_`) + return s +} + +func (r *sessionStoreTable) Name() string { + return fmt.Sprintf("v%s_%s", r.Version(), sessionStoreTableName) +} + +func (r *sessionStoreTable) Version() string { + return sessionStoreTableVersion +} + +func (r *sessionStoreTable) Schema() (string, []interface{}) { + return sessionStoreTableSchema, []interface{}{ + r.Name(), + fmt.Sprintf("idx_session_store_sync_key_v%s", r.Version()), + r.Name(), + } +} + +func (r *sessionStoreTable) Migrations(ctx context.Context, db *goqu.Database) error { + return nil +} + +func applyBag(ctx context.Context, opt ...sessions.SessionStoreOption) (*sessions.SessionStoreBag, error) { + bag := &sessions.SessionStoreBag{} + for _, o := range opt { + err := o(ctx, bag) + if err != nil { + return nil, fmt.Errorf("error applying session option: %w", err) + } + } + if bag.SyncID == "" { + return nil, fmt.Errorf("sync id is required") + } + return bag, nil +} + +// Get implements types.SessionCache. +func (c *C1File) Get(ctx context.Context, key string, opt ...sessions.SessionStoreOption) ([]byte, bool, error) { + bag, err := applyBag(ctx, opt...) + if err != nil { + return nil, false, fmt.Errorf("error applying session option: %w", err) + } + + q := c.db.From(sessionStore.Name()).Prepared(true) + q = q.Select("value") + q = q.Where(goqu.C("sync_id").Eq(bag.SyncID)) + q = q.Where(goqu.C("key").Eq(bag.Prefix + key)) + + sql, params, err := q.ToSQL() + if err != nil { + return nil, false, fmt.Errorf("error getting session: %w", err) + } + + rows, err := c.db.QueryContext(ctx, sql, params...) + if err != nil { + return nil, false, fmt.Errorf("error getting session: %w", err) + } + defer rows.Close() + + var ret []byte + found := false + + for rows.Next() { + err = rows.Scan(&ret) + if err != nil { + return nil, false, fmt.Errorf("error scanning session: %w", err) + } + found = true + } + + if err := rows.Err(); err != nil { + return nil, false, fmt.Errorf("error getting data from session: %w", err) + } + + return ret, found, nil +} + +// Set implements types.SessionStore. +func (c *C1File) Set(ctx context.Context, key string, value []byte, opt ...sessions.SessionStoreOption) error { + bag, err := applyBag(ctx, opt...) + if err != nil { + return fmt.Errorf("error applying session option: %w", err) + } + + // Use goqu's OnConflict for upsert behavior + q := c.db.Insert(sessionStore.Name()).Prepared(true) + q = q.Rows(goqu.Record{ + "sync_id": bag.SyncID, + "key": bag.Prefix + key, + "value": value, + }) + q = q.OnConflict(goqu.DoUpdate("sync_id, key", goqu.C("value").Set(value))) + + sql, params, err := q.ToSQL() + if err != nil { + return fmt.Errorf("error setting session: %w", err) + } + + _, err = c.db.ExecContext(ctx, sql, params...) + if err != nil { + return fmt.Errorf("error setting session: %w", err) + } + + return nil +} + +// SetMany implements types.SessionStore. +func (c *C1File) SetMany(ctx context.Context, values map[string][]byte, opt ...sessions.SessionStoreOption) error { + bag, err := applyBag(ctx, opt...) + if err != nil { + return fmt.Errorf("error applying session option: %w", err) + } + + if len(values) == 0 { + return nil + } + + // Build batch insert + var rows []interface{} + for key, value := range values { + rows = append(rows, goqu.Record{ + "sync_id": bag.SyncID, + "key": bag.Prefix + key, + "value": value, + }) + } + + q := c.db.Insert(sessionStore.Name()).Prepared(true) + q = q.Rows(rows...) + q = q.OnConflict(goqu.DoUpdate("sync_id, key", goqu.C("value").Set(goqu.I("EXCLUDED.value")))) + + sql, params, err := q.ToSQL() + if err != nil { + return fmt.Errorf("error setting many sessions: %w", err) + } + + _, err = c.db.ExecContext(ctx, sql, params...) + if err != nil { + return fmt.Errorf("error setting many sessions: %w", err) + } + + return nil +} + +// Delete implements types.SessionStore. +func (c *C1File) Delete(ctx context.Context, key string, opt ...sessions.SessionStoreOption) error { + bag, err := applyBag(ctx, opt...) + if err != nil { + return fmt.Errorf("error applying session option: %w", err) + } + + q := c.db.Delete(sessionStore.Name()).Prepared(true) + q = q.Where(goqu.C("sync_id").Eq(bag.SyncID)) + q = q.Where(goqu.C("key").Eq(bag.Prefix + key)) + + sql, params, err := q.ToSQL() + if err != nil { + return fmt.Errorf("error deleting session: %w", err) + } + + _, err = c.db.ExecContext(ctx, sql, params...) + if err != nil { + return fmt.Errorf("error deleting session: %w", err) + } + + return nil +} + +// Clear implements types.SessionStore. +func (c *C1File) Clear(ctx context.Context, opt ...sessions.SessionStoreOption) error { + bag, err := applyBag(ctx, opt...) + if err != nil { + return fmt.Errorf("error applying session option: %w", err) + } + + q := c.db.Delete(sessionStore.Name()).Prepared(true) + q = q.Where(goqu.C("sync_id").Eq(bag.SyncID)) + + if bag.Prefix != "" { + q = q.Where(goqu.C("key").Like(escapeLike(bag.Prefix) + "%")) + } + + sql, params, err := q.ToSQL() + if err != nil { + return fmt.Errorf("error clearing sessions: %w", err) + } + + _, err = c.db.ExecContext(ctx, sql, params...) + if err != nil { + return fmt.Errorf("error clearing sessions: %w", err) + } + + return nil +} + +// GetMany implements types.SessionStore. +func (c *C1File) GetMany(ctx context.Context, keys []string, opt ...sessions.SessionStoreOption) (map[string][]byte, error) { + bag, err := applyBag(ctx, opt...) + if err != nil { + return nil, fmt.Errorf("error applying session option: %w", err) + } + + if len(keys) == 0 { + return make(map[string][]byte), nil + } + prefixedKeys := make([]string, len(keys)) + if bag.Prefix == "" { + prefixedKeys = keys + } else { + for i, key := range keys { + prefixedKeys[i] = bag.Prefix + key + } + } + + q := c.db.From(sessionStore.Name()).Prepared(true) + q = q.Select("key", "value") + q = q.Where(goqu.C("sync_id").Eq(bag.SyncID)) + q = q.Where(goqu.C("key").In(prefixedKeys)) + + sql, params, err := q.ToSQL() + if err != nil { + return nil, fmt.Errorf("error getting many sessions: %w", err) + } + + rows, err := c.db.QueryContext(ctx, sql, params...) + if err != nil { + return nil, fmt.Errorf("error getting many sessions: %w", err) + } + defer rows.Close() + + result := make(map[string][]byte) + for rows.Next() { + var key string + var value []byte + err = rows.Scan(&key, &value) + if err != nil { + return nil, fmt.Errorf("error scanning session: %w", err) + } + // Remove prefix from key to return original key + if bag.Prefix != "" && len(key) >= len(bag.Prefix) && key[:len(bag.Prefix)] == bag.Prefix { + key = key[len(bag.Prefix):] + } + result[key] = value + } + + if err := rows.Err(); err != nil { + return nil, fmt.Errorf("error getting data from session: %w", err) + } + + return result, nil +} + +// GetAll implements types.SessionStore. +func (c *C1File) GetAll(ctx context.Context, pageToken string, opt ...sessions.SessionStoreOption) (map[string][]byte, string, error) { + bag, err := applyBag(ctx, opt...) + if err != nil { + return nil, "", fmt.Errorf("error applying session option: %w", err) + } + + q := c.db.From(sessionStore.Name()).Prepared(true). + Select("key", "value"). + Where(goqu.C("sync_id").Eq(bag.SyncID)). + Order(goqu.C("key").Asc()). + Limit(101) + + if bag.Prefix != "" { + q = q.Where(goqu.C("key").Like(escapeLike(bag.Prefix) + "%")) + } + + if pageToken != "" { + q = q.Where(goqu.C("key").Gte(pageToken)) + } + + sql, params, err := q.ToSQL() + + if err != nil { + return nil, "", fmt.Errorf("error getting all sessions: %w", err) + } + + rows, err := c.db.QueryContext(ctx, sql, params...) + if err != nil { + return nil, "", fmt.Errorf("error getting all sessions: %w", err) + } + defer rows.Close() + + result := make(map[string][]byte) + nextPageToken := "" + i := 0 + for rows.Next() { + var key string + var value []byte + err = rows.Scan(&key, &value) + if err != nil { + return nil, "", fmt.Errorf("error scanning session: %w", err) + } + i++ + if i > 100 { + nextPageToken = key + break + } + // Remove prefix from key to return original key + if bag.Prefix != "" && len(key) >= len(bag.Prefix) && key[:len(bag.Prefix)] == bag.Prefix { + key = key[len(bag.Prefix):] + } + result[key] = value + } + + if err := rows.Err(); err != nil { + return nil, "", fmt.Errorf("error getting data from session: %w", err) + } + + return result, nextPageToken, nil +} 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 43781f6f..07b04513 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 @@ -14,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" ) @@ -27,6 +28,7 @@ var allTableDescriptors = []tableDescriptor{ grants, syncRuns, assets, + sessionStore, } type tableDescriptor interface { @@ -144,32 +146,32 @@ func (c *C1File) listConnectorObjects(ctx context.Context, tableName string, req if resourceIdReq, ok := req.(hasResourceIdListRequest); ok { r := resourceIdReq.GetResourceId() - if r != nil && r.Resource != "" { - q = q.Where(goqu.C("resource_id").Eq(r.Resource)) - q = q.Where(goqu.C("resource_type_id").Eq(r.ResourceType)) + if r != nil && r.GetResource() != "" { + q = q.Where(goqu.C("resource_id").Eq(r.GetResource())) + q = q.Where(goqu.C("resource_type_id").Eq(r.GetResourceType())) } } if resourceReq, ok := req.(hasResourceListRequest); ok { r := resourceReq.GetResource() if r != nil { - q = q.Where(goqu.C("resource_id").Eq(r.Id.Resource)) - q = q.Where(goqu.C("resource_type_id").Eq(r.Id.ResourceType)) + q = q.Where(goqu.C("resource_id").Eq(r.GetId().GetResource())) + q = q.Where(goqu.C("resource_type_id").Eq(r.GetId().GetResourceType())) } } if entitlementReq, ok := req.(hasEntitlementListRequest); ok { e := entitlementReq.GetEntitlement() if e != nil { - q = q.Where(goqu.C("entitlement_id").Eq(e.Id)) + q = q.Where(goqu.C("entitlement_id").Eq(e.GetId())) } } if principalIdReq, ok := req.(hasPrincipalIdListRequest); ok { p := principalIdReq.GetPrincipalId() if p != nil { - q = q.Where(goqu.C("principal_resource_id").Eq(p.Resource)) - q = q.Where(goqu.C("principal_resource_type_id").Eq(p.ResourceType)) + q = q.Where(goqu.C("principal_resource_id").Eq(p.GetResource())) + q = q.Where(goqu.C("principal_resource_type_id").Eq(p.GetResourceType())) } } @@ -180,13 +182,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 } @@ -254,6 +256,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 { @@ -453,8 +458,8 @@ func (c *C1File) getResourceObject(ctx context.Context, resourceID *v2.ResourceI q := c.db.From(resources.Name()).Prepared(true) q = q.Select("data") - q = q.Where(goqu.C("resource_type_id").Eq(resourceID.ResourceType)) - q = q.Where(goqu.C("external_id").Eq(fmt.Sprintf("%s:%s", resourceID.ResourceType, resourceID.Resource))) + q = q.Where(goqu.C("resource_type_id").Eq(resourceID.GetResourceType())) + q = q.Where(goqu.C("external_id").Eq(fmt.Sprintf("%s:%s", resourceID.GetResourceType(), resourceID.GetResource()))) switch { case syncID != "": @@ -466,13 +471,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 } @@ -526,13 +531,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 364ccc05..bdd0b760 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,27 +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) - if err != nil { - return "", err - } - - if s == nil { - return "", nil - } - - return s.ID, nil -} - -func (c *C1File) LatestFinishedSyncAnyType(ctx context.Context) (string, error) { - ctx, span := tracer.Start(ctx, "C1File.LatestFinishedSyncAnyType") - defer span.End() - - s, err := c.getFinishedSync(ctx, 0, SyncTypeAny) + s, err := c.getFinishedSync(ctx, 0, syncType) if err != nil { return "", err } @@ -350,7 +336,7 @@ 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) @@ -397,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) } - newSync = true + if syncRun.EndedAt != nil { + return "", status.Errorf(codes.Internal, "current sync %s has already ended. this should never happen", syncRun.ID) + } + + 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 { @@ -469,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, @@ -580,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) @@ -612,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)) @@ -706,78 +747,73 @@ func (c *C1File) GetSync(ctx context.Context, request *reader_v2.SyncsReaderServ ctx, span := tracer.Start(ctx, "C1File.GetSync") defer span.End() - sr, err := c.getSync(ctx, request.SyncId) + sr, err := c.getSync(ctx, request.GetSyncId()) if err != nil { - return nil, fmt.Errorf("error getting sync '%s': %w", request.SyncId, err) + return nil, fmt.Errorf("error getting sync '%s': %w", request.GetSyncId(), err) } - return &reader_v2.SyncsReaderServiceGetSyncResponse{ - Sync: &reader_v2.SyncRun{ + return reader_v2.SyncsReaderServiceGetSyncResponse_builder{ + Sync: reader_v2.SyncRun_builder{ Id: sr.ID, StartedAt: toTimeStamp(sr.StartedAt), EndedAt: toTimeStamp(sr.EndedAt), SyncToken: sr.SyncToken, SyncType: string(sr.Type), ParentSyncId: sr.ParentSyncID, - }, - }, nil + }.Build(), + }.Build(), nil } func (c *C1File) ListSyncs(ctx context.Context, request *reader_v2.SyncsReaderServiceListSyncsRequest) (*reader_v2.SyncsReaderServiceListSyncsResponse, error) { ctx, span := tracer.Start(ctx, "C1File.ListSyncs") defer span.End() - syncs, nextPageToken, err := c.ListSyncRuns(ctx, request.PageToken, request.PageSize) + syncs, nextPageToken, err := c.ListSyncRuns(ctx, request.GetPageToken(), request.GetPageSize()) if err != nil { return nil, fmt.Errorf("error listing syncs: %w", err) } syncRuns := make([]*reader_v2.SyncRun, len(syncs)) for i, sr := range syncs { - syncRuns[i] = &reader_v2.SyncRun{ + syncRuns[i] = reader_v2.SyncRun_builder{ Id: sr.ID, StartedAt: toTimeStamp(sr.StartedAt), EndedAt: toTimeStamp(sr.EndedAt), SyncToken: sr.SyncToken, SyncType: string(sr.Type), ParentSyncId: sr.ParentSyncID, - } + }.Build() } - return &reader_v2.SyncsReaderServiceListSyncsResponse{ + return reader_v2.SyncsReaderServiceListSyncsResponse_builder{ Syncs: syncRuns, NextPageToken: nextPageToken, - }, nil + }.Build(), nil } func (c *C1File) GetLatestFinishedSync(ctx context.Context, request *reader_v2.SyncsReaderServiceGetLatestFinishedSyncRequest) (*reader_v2.SyncsReaderServiceGetLatestFinishedSyncResponse, error) { 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.GetSyncType())) if err != nil { return nil, fmt.Errorf("error fetching latest finished sync: %w", err) } if sync == nil { - return &reader_v2.SyncsReaderServiceGetLatestFinishedSyncResponse{ + return reader_v2.SyncsReaderServiceGetLatestFinishedSyncResponse_builder{ Sync: nil, - }, nil + }.Build(), nil } - return &reader_v2.SyncsReaderServiceGetLatestFinishedSyncResponse{ - Sync: &reader_v2.SyncRun{ + return reader_v2.SyncsReaderServiceGetLatestFinishedSyncResponse_builder{ + Sync: reader_v2.SyncRun_builder{ Id: sync.ID, StartedAt: toTimeStamp(sync.StartedAt), EndedAt: toTimeStamp(sync.EndedAt), SyncToken: sync.SyncToken, SyncType: string(sync.Type), ParentSyncId: sync.ParentSyncID, - }, - }, nil + }.Build(), + }.Build(), nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/field/decode_hooks.go b/vendor/github.com/conductorone/baton-sdk/pkg/field/decode_hooks.go new file mode 100644 index 00000000..202ebb56 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/field/decode_hooks.go @@ -0,0 +1,171 @@ +package field + +import ( + "encoding/base64" + "fmt" + "net/url" + "os" + "reflect" + "strings" + + "github.com/mitchellh/mapstructure" +) + +type DecodeHookOption func(*decodeHookConfig) + +type decodeHookConfig struct { + hookFuncs []mapstructure.DecodeHookFunc +} + +// ComposeDecodeHookFunc returns a mapstructure.DecodeHookFunc that composes +// the default hook functions with any additional hook functions configured. +func ComposeDecodeHookFunc(opts ...DecodeHookOption) mapstructure.DecodeHookFunc { + config := &decodeHookConfig{ + hookFuncs: []mapstructure.DecodeHookFunc{ + // default hook functions used by viper + mapstructure.StringToTimeDurationHookFunc(), + StringToSliceHookFunc(","), + }, + } + for _, opt := range opts { + opt(config) + } + return mapstructure.ComposeDecodeHookFunc(config.hookFuncs...) +} + +func WithAdditionalDecodeHooks(funcs ...mapstructure.DecodeHookFunc) DecodeHookOption { + return func(c *decodeHookConfig) { + c.hookFuncs = append(c.hookFuncs, funcs...) + } +} + +// FileUploadDecodeHook returns a mapstructure.DecodeHookFunc that automatically +// converts string values to []byte for file upload fields, supporting: +// 1. File paths (reads file content) +// 2. Data URLs of JSON with base64 encoding (data:application/json;base64,) +// 3. Raw base64 content +// 4. Raw unencoded content. +func FileUploadDecodeHook(readFromPath bool) mapstructure.DecodeHookFunc { + return func(f reflect.Type, t reflect.Type, data interface{}) (interface{}, error) { + // Only apply to string -> []byte conversions + if f.Kind() != reflect.String || t.Kind() != reflect.Slice || t.Elem().Kind() != reflect.Uint8 { + return data, nil + } + + str, ok := data.(string) + if !ok { + return data, nil + } + + if readFromPath { + return getFileContentFromPath(str) + } + + return parseFileContent(str) + } +} + +// getFileContentFromPath returns the file content from a path. +func getFileContentFromPath(path string) ([]byte, error) { + if path == "" { + // don't error if the path is empty, leave that to the field validation rules + return []byte{}, nil + } + + // Check if the file exists + fileInfo, err := os.Stat(path) + if err != nil { + return nil, fmt.Errorf("cannot access file: %w", err) + } + + // Check file size limit (2MB) + maxFileSize := 2 * 1024 * 1024 + if fileInfo.Size() > int64(maxFileSize) { + return nil, fmt.Errorf("file too large: %d bytes exceeds limit of %d bytes", fileInfo.Size(), maxFileSize) + } + + // Read the file + content, err := os.ReadFile(path) + if err != nil { + return nil, fmt.Errorf("error reading file: %w", err) + } + return content, nil +} + +// parseFileContent returns the file upload content from a string field value. +func parseFileContent(data string) ([]byte, error) { + if data == "" { + // don't error if the data is empty, leave that to the field validation rules + return []byte{}, nil + } + + // Check if it's a data URL first + if strings.HasPrefix(data, "data:") { + return parseJSONBase64DataURL(data) + } + + // Check if it's a base64 encoded string + if decoded, err := base64.StdEncoding.DecodeString(data); err == nil { + return decoded, nil + } + + // Return the content as-is + return []byte(data), nil +} + +// parseJSONBase64DataURL parses a data URL and returns the decoded content. +// Errors if the data is not MIME type application/json and base64 encoded. +func parseJSONBase64DataURL(dataURL string) ([]byte, error) { + parsedURL, err := url.Parse(dataURL) + if err != nil { + return nil, fmt.Errorf("invalid data URL: %w", err) + } + + if parsedURL.Scheme != "data" { + return nil, fmt.Errorf("expected data URL scheme, got: %s", parsedURL.Scheme) + } + + // Split the data URL into media type and data + parts := strings.SplitN(parsedURL.Opaque, ",", 2) + if len(parts) != 2 { + return nil, fmt.Errorf("invalid data URL format: missing comma separator") + } + mediaType := parts[0] + data := parts[1] + + // Check if it's base64 encoded and MIME type application/json + if !strings.HasSuffix(mediaType, ";base64") { + return nil, fmt.Errorf("expected base64 data, got: %s", mediaType) + } + if !strings.HasPrefix(mediaType, "application/json") { + return nil, fmt.Errorf("expected MIME type application/json, got: %s", mediaType) + } + + decoded, err := base64.StdEncoding.DecodeString(data) + if err != nil { + return nil, fmt.Errorf("failed to decode base64 data: %w", err) + } + return decoded, nil +} + +// StringToSliceHookFunc returns a DecodeHookFunc that converts +// string to []string by splitting on the given sep. +// Note: this differs from mapstructure.StringToSliceHookFunc only in that it +// skips cases when the target type is []uint8 (ie []byte). +func StringToSliceHookFunc(sep string) mapstructure.DecodeHookFunc { + return func( + f reflect.Type, + t reflect.Type, + data interface{}) (interface{}, error) { + if f.Kind() != reflect.String || t.Kind() != reflect.Slice || t.Elem().Kind() == reflect.Uint8 { + return data, nil + } + + raw := data.(string) + if raw == "" { + return []string{}, nil + } + + return strings.Split(raw, sep), nil + } +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/field/default_relationships.go b/vendor/github.com/conductorone/baton-sdk/pkg/field/default_relationships.go index ef8f093e..bc995d11 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/field/default_relationships.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/field/default_relationships.go @@ -35,6 +35,10 @@ var DefaultRelationships = []SchemaFieldRelationship{ []SchemaField{externalResourceEntitlementIdFilter}, []SchemaField{externalResourceC1ZField}, ), + FieldsDependentOn( + []SchemaField{skipGrants}, + []SchemaField{targetedSyncResourceIDs}, + ), } func EnsureDefaultRelationships(original []SchemaFieldRelationship) []SchemaFieldRelationship { diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/field/defaults.go b/vendor/github.com/conductorone/baton-sdk/pkg/field/defaults.go index e480f0d8..f35b62d5 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/field/defaults.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/field/defaults.go @@ -59,6 +59,11 @@ var ( WithDescription("The start time of the event feed to read events from"), WithPersistent(true), WithExportTarget(ExportTargetNone)) + eventFeedCursorField = StringField("event-feed-cursor", + WithHidden(true), + WithDescription("The cursor to use for resuming the event feed from a specific point"), + WithPersistent(true), + WithExportTarget(ExportTargetNone)) fileField = StringField("file", WithShortHand("f"), WithDefaultValue("sync.c1z"), WithDescription("The path to the c1z file to sync with"), WithPersistent(true), WithExportTarget(ExportTargetNone)) grantEntitlementField = StringField("grant-entitlement", WithHidden(true), WithDescription("The id of the entitlement to grant to the supplied principal"), @@ -83,9 +88,24 @@ var ( WithDescription("The timestamp indicating when debug-level logging should expire"), WithPersistent(true), WithExportTarget(ExportTargetOps)) - skipFullSync = BoolField("skip-full-sync", WithDescription("This must be set to skip a full sync"), WithPersistent(true), WithExportTarget(ExportTargetNone)) - targetedSyncResourceIDs = StringSliceField("sync-resources", WithDescription("The resource IDs to sync"), WithPersistent(true), WithExportTarget(ExportTargetNone)) - diffSyncsField = BoolField( + skipFullSync = BoolField("skip-full-sync", WithDescription("This must be set to skip a full sync"), WithPersistent(true), WithExportTarget(ExportTargetNone)) + targetedSyncResourceIDs = StringSliceField("sync-resources", WithDescription("The resource IDs to sync"), WithPersistent(true), WithExportTarget(ExportTargetNone)) + skipEntitlementsAndGrants = BoolField("skip-entitlements-and-grants", + WithDescription("This must be set to skip syncing of entitlements and grants"), + WithPersistent(true), + WithExportTarget(ExportTargetNone), + ) + skipGrants = BoolField("skip-grants", + WithDescription("This must be set to skip syncing of grants only (entitlements will still be synced)"), + WithPersistent(true), + WithExportTarget(ExportTargetNone), + WithHidden(true), + ) + syncResourceTypeIDs = StringSliceField("sync-resource-types", + WithDescription("The resource type IDs to sync"), + WithPersistent(true), + WithExportTarget(ExportTargetNone)) + diffSyncsField = BoolField( "diff-syncs", WithDescription("Create a new partial SyncID from a base and applied sync."), WithHidden(true), @@ -238,6 +258,7 @@ var DefaultFields = []SchemaField{ eventFeedField, eventFeedIdField, eventFeedStartAtField, + eventFeedCursorField, fileField, grantEntitlementField, grantPrincipalField, @@ -252,6 +273,9 @@ var DefaultFields = []SchemaField{ logLevelDebugExpiresAtField, skipFullSync, targetedSyncResourceIDs, + syncResourceTypeIDs, + skipEntitlementsAndGrants, + skipGrants, externalResourceC1ZField, externalResourceEntitlementIdFilter, diffSyncsField, diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/field/field_group.go b/vendor/github.com/conductorone/baton-sdk/pkg/field/field_group.go new file mode 100644 index 00000000..ed54a317 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/field/field_group.go @@ -0,0 +1,16 @@ +package field + +type SchemaFieldGroup struct { + Name string + DisplayName string + HelpText string + Fields []SchemaField +} + +func WithFieldGroups(fieldGroups []SchemaFieldGroup) configOption { + return func(c Configuration) Configuration { + c.FieldGroups = fieldGroups + + return c + } +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/field/field_options.go b/vendor/github.com/conductorone/baton-sdk/pkg/field/field_options.go index 874c7535..90288881 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/field/field_options.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/field/field_options.go @@ -21,22 +21,22 @@ func WithRequired(required bool) fieldOption { if o.Rules.i == nil { o.Rules.i = &v1_conf.Int64Rules{} } - o.Rules.i.IsRequired = required + o.Rules.i.SetIsRequired(required) case StringVariant: if o.Rules.s == nil { o.Rules.s = &v1_conf.StringRules{} } - o.Rules.s.IsRequired = required + o.Rules.s.SetIsRequired(required) case StringSliceVariant: if o.Rules.ss == nil { o.Rules.ss = &v1_conf.RepeatedStringRules{} } - o.Rules.ss.IsRequired = required + o.Rules.ss.SetIsRequired(required) case StringMapVariant: if o.Rules.sm == nil { o.Rules.sm = &v1_conf.StringMapRules{} } - o.Rules.sm.IsRequired = required + o.Rules.sm.SetIsRequired(required) default: panic(fmt.Sprintf("field %s has unsupported type %s", o.FieldName, o.Variant)) } @@ -236,11 +236,11 @@ func NewStringMapBuilder(rules *v1_conf.StringMapRules) *StringMapRuler { } func (r *StringMapRuler) WithRequired(required bool) *StringMapRuler { - r.rules.IsRequired = required + r.rules.SetIsRequired(required) return r } func (r *StringMapRuler) WithValidateEmpty(validateEmpty bool) *StringMapRuler { - r.rules.ValidateEmpty = validateEmpty + r.rules.SetValidateEmpty(validateEmpty) return r } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/field/fields.go b/vendor/github.com/conductorone/baton-sdk/pkg/field/fields.go index 5aca646d..0b494663 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/field/fields.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/field/fields.go @@ -74,6 +74,9 @@ type SchemaField struct { ConnectorConfig connectorConfig WasReExported bool + + // Groups + FieldGroups []SchemaFieldGroup } type SchemaTypes interface { @@ -213,6 +216,27 @@ func StringField(name string, optional ...fieldOption) SchemaField { return field } +func FileUploadField(name string, bonusStrings []string, optional ...fieldOption) SchemaField { + field := SchemaField{ + FieldName: name, + Variant: StringVariant, + DefaultValue: "", + ExportTarget: ExportTargetGUI, + Rules: FieldRule{}, + SyncerConfig: syncerConfig{}, + ConnectorConfig: connectorConfig{ + FieldType: FileUpload, + BonusStrings: bonusStrings, + }, + } + + for _, o := range optional { + field = o(field) + } + + return field +} + func IntField(name string, optional ...fieldOption) SchemaField { field := SchemaField{ FieldName: name, @@ -274,7 +298,7 @@ func SelectField(name string, options []string, optional ...fieldOption) SchemaF DefaultValue: "", ExportTarget: ExportTargetGUI, Rules: FieldRule{ - s: &v1_conf.StringRules{In: options}, + s: v1_conf.StringRules_builder{In: options}.Build(), }, SyncerConfig: syncerConfig{}, ConnectorConfig: connectorConfig{FieldType: Text}, diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/field/marshal.go b/vendor/github.com/conductorone/baton-sdk/pkg/field/marshal.go index a143d98a..2e68a63d 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/field/marshal.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/field/marshal.go @@ -36,7 +36,9 @@ func (c *Configuration) Marshal() ([]byte, error) { } func (c Configuration) marshal() (*v1_conf.Configuration, error) { - conf := &v1_conf.Configuration{ + var err error + + conf := v1_conf.Configuration_builder{ DisplayName: c.DisplayName, HelpUrl: c.HelpUrl, IconUrl: c.IconUrl, @@ -44,147 +46,207 @@ func (c Configuration) marshal() (*v1_conf.Configuration, error) { IsDirectory: c.IsDirectory, SupportsExternalResources: c.SupportsExternalResources, RequiresExternalConnector: c.RequiresExternalConnector, + }.Build() + + // Fields + conf.Fields, conf.Constraints, err = mapFieldsAndConstraints(c.Fields, c.Constraints) + if err != nil { + return nil, fmt.Errorf("failed to convert fields and constraints to v1: %w", err) + } + + fieldGroups := make([]*v1_conf.FieldGroup, 0, len(c.FieldGroups)) + for _, group := range c.FieldGroups { + fieldGroups = append(fieldGroups, fieldGroupToV1(group)) } + conf.SetFieldGroups(fieldGroups) + + return conf, nil +} + +func fieldGroupToV1(fg SchemaFieldGroup) *v1_conf.FieldGroup { + fieldGroupV1 := v1_conf.FieldGroup_builder{ + Name: fg.Name, + DisplayName: fg.DisplayName, + HelpText: fg.HelpText, + }.Build() + + fieldGroupV1.SetFields(make([]string, 0, len(fg.Fields))) + for _, f := range fg.Fields { + fieldGroupV1.SetFields(append(fieldGroupV1.GetFields(), f.FieldName)) + } + + return fieldGroupV1 +} + +func mapFieldsAndConstraints(fields []SchemaField, constraints []SchemaFieldRelationship) ([]*v1_conf.Field, []*v1_conf.Constraint, error) { + resultFields := make([]*v1_conf.Field, 0, len(fields)) + resultConstraints := make([]*v1_conf.Constraint, 0, len(constraints)) ignore := make(map[string]struct{}) - for _, f := range c.Fields { + for _, f := range fields { if f.ExportTarget != ExportTargetGUI && f.ExportTarget != ExportTargetOps { ignore[f.FieldName] = struct{}{} continue } - field := v1_conf.Field{ - Name: f.FieldName, - DisplayName: f.ConnectorConfig.DisplayName, - Description: f.Description, - Placeholder: f.ConnectorConfig.Placeholder, - IsRequired: f.Required, - IsOps: f.ExportTarget == ExportTargetOps, - IsSecret: f.Secret, - } - - switch f.Variant { - case IntVariant: - intField := &v1_conf.IntField{Rules: f.Rules.i} - d, err := GetDefaultValue[int](f) - if err != nil { - return nil, err - } - if d != nil { - intField.DefaultValue = int64(*d) - } - field.Field = &v1_conf.Field_IntField{IntField: intField} + fieldv1, err := schemaFieldToV1(f) + if err != nil { + return nil, nil, fmt.Errorf("failed to convert field '%s' to v1: %w", f.FieldName, err) + } - case BoolVariant: - boolField := &v1_conf.BoolField{Rules: f.Rules.b} - d, err := GetDefaultValue[bool](f) - if err != nil { - return nil, err - } - if d != nil { - boolField.DefaultValue = *d - } - field.Field = &v1_conf.Field_BoolField{BoolField: boolField} - case StringSliceVariant: - stringSliceField := &v1_conf.StringSliceField{Rules: f.Rules.ss} - d, err := GetDefaultValue[[]string](f) - if err != nil { - return nil, err - } - if d != nil { - stringSliceField.DefaultValue = *d - } - field.Field = &v1_conf.Field_StringSliceField{StringSliceField: stringSliceField} - case StringMapVariant: - stringMapField := &v1_conf.StringMapField{Rules: f.Rules.sm} - d, err := GetDefaultValue[map[string]any](f) - if err != nil { - return nil, err - } - if d != nil { - // Convert map[string]any to map[string]*anypb.Any - anyMap := make(map[string]*anypb.Any) - for k, v := range *d { - // Convert the value to a structpb.Value - value, err := structpb.NewValue(v) - if err != nil { - return nil, fmt.Errorf("failed to convert map value to structpb.Value: %w", err) - } - anyValue, err := anypb.New(value) - if err != nil { - return nil, fmt.Errorf("failed to convert structpb.Value to Any: %w", err) - } - anyMap[k] = anyValue - } - stringMapField.DefaultValue = anyMap - } - field.Field = &v1_conf.Field_StringMapField{StringMapField: stringMapField} - case StringVariant: - stringField := &v1_conf.StringField{Rules: f.Rules.s} - d, err := GetDefaultValue[string](f) - if err != nil { - return nil, err - } - if d != nil { - stringField.DefaultValue = *d - } + resultFields = append(resultFields, fieldv1) + } - switch f.ConnectorConfig.FieldType { - case Text: - stringField.Type = v1_conf.StringFieldType_STRING_FIELD_TYPE_TEXT_UNSPECIFIED - case Randomize: - stringField.Type = v1_conf.StringFieldType_STRING_FIELD_TYPE_RANDOM - case OAuth2: - stringField.Type = v1_conf.StringFieldType_STRING_FIELD_TYPE_OAUTH2 - case ConnectorDerivedOptions: - stringField.Type = v1_conf.StringFieldType_STRING_FIELD_TYPE_CONNECTOR_DERIVED_OPTIONS - case FileUpload: - stringField.Type = v1_conf.StringFieldType_STRING_FIELD_TYPE_FILE_UPLOAD - stringField.AllowedExtensions = f.ConnectorConfig.BonusStrings - default: - return nil, fmt.Errorf("invalid field type: '%s'", f.ConnectorConfig.FieldType) - } + for _, rel := range constraints { + constraint, err := constraintToV1(rel, ignore) + if err != nil { + return nil, nil, fmt.Errorf("failed to convert constraint to v1: %w", err) + } + + if constraint == nil { + continue + } + + resultConstraints = append(resultConstraints, constraint) + } - field.Field = &v1_conf.Field_StringField{StringField: stringField} + return resultFields, resultConstraints, nil +} + +func constraintToV1(rel SchemaFieldRelationship, ignore map[string]struct{}) (*v1_conf.Constraint, error) { + constraint := &v1_conf.Constraint{} + + constraintForIgnoredField := false + for _, f := range rel.Fields { + if _, ok := ignore[f.FieldName]; ok { + constraintForIgnoredField = true + break } - conf.Fields = append(conf.Fields, &field) + constraint.SetFieldNames(append(constraint.GetFieldNames(), f.FieldName)) + } + if constraintForIgnoredField { + return nil, nil } - for _, rel := range c.Constraints { - constraint := v1_conf.Constraint{} + for _, f := range rel.ExpectedFields { + if _, ok := ignore[f.FieldName]; ok { + constraintForIgnoredField = true + break + } + constraint.SetSecondaryFieldNames(append(constraint.GetSecondaryFieldNames(), f.FieldName)) + } - contraintForIgnoredField := false - for _, f := range rel.Fields { - if _, ok := ignore[f.FieldName]; ok { - contraintForIgnoredField = true - break - } - constraint.FieldNames = append(constraint.FieldNames, f.FieldName) + if constraintForIgnoredField { + return nil, nil + } + + kind, ok := RelationshipToConstraintKind[rel.Kind] + if !ok { + return nil, fmt.Errorf("invalid constraint kind: %d", rel.Kind) + } + constraint.SetKind(kind) + + return constraint, nil +} + +func schemaFieldToV1(f SchemaField) (*v1_conf.Field, error) { + field := v1_conf.Field_builder{ + Name: f.FieldName, + DisplayName: f.ConnectorConfig.DisplayName, + Description: f.Description, + Placeholder: f.ConnectorConfig.Placeholder, + IsRequired: f.Required, + IsOps: f.ExportTarget == ExportTargetOps, + IsSecret: f.Secret, + }.Build() + + switch f.Variant { + case IntVariant: + intField := v1_conf.IntField_builder{Rules: f.Rules.i}.Build() + d, err := GetDefaultValue[int](f) + if err != nil { + return nil, err } - if contraintForIgnoredField { - continue + if d != nil { + intField.SetDefaultValue(int64(*d)) } - for _, f := range rel.ExpectedFields { - if _, ok := ignore[f.FieldName]; ok { - contraintForIgnoredField = true - break + field.SetIntField(proto.ValueOrDefault(intField)) + + case BoolVariant: + boolField := v1_conf.BoolField_builder{Rules: f.Rules.b}.Build() + d, err := GetDefaultValue[bool](f) + if err != nil { + return nil, err + } + if d != nil { + boolField.SetDefaultValue(*d) + } + field.SetBoolField(proto.ValueOrDefault(boolField)) + case StringSliceVariant: + stringSliceField := v1_conf.StringSliceField_builder{Rules: f.Rules.ss}.Build() + d, err := GetDefaultValue[[]string](f) + if err != nil { + return nil, err + } + if d != nil { + stringSliceField.SetDefaultValue(*d) + } + field.SetStringSliceField(proto.ValueOrDefault(stringSliceField)) + case StringMapVariant: + stringMapField := v1_conf.StringMapField_builder{Rules: f.Rules.sm}.Build() + d, err := GetDefaultValue[map[string]any](f) + if err != nil { + return nil, err + } + if d != nil { + // Convert map[string]any to map[string]*anypb.Any + anyMap := make(map[string]*anypb.Any) + for k, v := range *d { + // Convert the value to a structpb.Value + value, err := structpb.NewValue(v) + if err != nil { + return nil, fmt.Errorf("failed to convert map value to structpb.Value: %w", err) + } + anyValue, err := anypb.New(value) + if err != nil { + return nil, fmt.Errorf("failed to convert structpb.Value to Any: %w", err) + } + anyMap[k] = anyValue } - constraint.SecondaryFieldNames = append(constraint.SecondaryFieldNames, f.FieldName) + stringMapField.SetDefaultValue(anyMap) } - - if contraintForIgnoredField { - continue + field.SetStringMapField(proto.ValueOrDefault(stringMapField)) + case StringVariant: + stringField := v1_conf.StringField_builder{Rules: f.Rules.s}.Build() + d, err := GetDefaultValue[string](f) + if err != nil { + return nil, err + } + if d != nil { + stringField.SetDefaultValue(*d) } - kind, ok := RelationshipToConstraintKind[rel.Kind] - if !ok { - return nil, fmt.Errorf("invalid constraint kind: %d", rel.Kind) + switch f.ConnectorConfig.FieldType { + case Text: + stringField.SetType(v1_conf.StringFieldType_STRING_FIELD_TYPE_TEXT_UNSPECIFIED) + case Randomize: + stringField.SetType(v1_conf.StringFieldType_STRING_FIELD_TYPE_RANDOM) + case OAuth2: + stringField.SetType(v1_conf.StringFieldType_STRING_FIELD_TYPE_OAUTH2) + case ConnectorDerivedOptions: + stringField.SetType(v1_conf.StringFieldType_STRING_FIELD_TYPE_CONNECTOR_DERIVED_OPTIONS) + case FileUpload: + stringField.SetType(v1_conf.StringFieldType_STRING_FIELD_TYPE_FILE_UPLOAD) + stringField.SetAllowedExtensions(f.ConnectorConfig.BonusStrings) + default: + return nil, fmt.Errorf("invalid field type: '%s'", f.ConnectorConfig.FieldType) } - constraint.Kind = kind - conf.Constraints = append(conf.Constraints, &constraint) + field.SetStringField(proto.ValueOrDefault(stringField)) + default: + return nil, fmt.Errorf("invalid variant: '%s'", f.Variant) } - return conf, nil + return field, nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/field/rule_builders.go b/vendor/github.com/conductorone/baton-sdk/pkg/field/rule_builders.go index d9f006a4..4e7afef7 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/field/rule_builders.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/field/rule_builders.go @@ -16,42 +16,42 @@ func NewIntBuilder(rules *v1_conf.Int64Rules) *IntRuler { } func (b *IntRuler) Eq(value int64) *IntRuler { - b.rules.Eq = &value + b.rules.SetEq(value) return b } func (b *IntRuler) Gt(value int64) *IntRuler { - b.rules.Gt = &value + b.rules.SetGt(value) return b } func (b *IntRuler) Lt(value int64) *IntRuler { - b.rules.Lt = &value + b.rules.SetLt(value) return b } func (b *IntRuler) Lte(value int64) *IntRuler { - b.rules.Lte = &value + b.rules.SetLte(value) return b } func (b *IntRuler) Gte(value int64) *IntRuler { - b.rules.Gte = &value + b.rules.SetGte(value) return b } func (b *IntRuler) In(values []int64) *IntRuler { - b.rules.In = values + b.rules.SetIn(values) return b } func (b *IntRuler) NotIn(values []int64) *IntRuler { - b.rules.NotIn = values + b.rules.SetNotIn(values) return b } func (b *IntRuler) ValidateEmpty(value bool) *IntRuler { - b.rules.ValidateEmpty = value + b.rules.SetValidateEmpty(value) return b } @@ -64,7 +64,7 @@ func NewBoolBuilder(rules *v1_conf.BoolRules) *BoolRuler { } func (b *BoolRuler) Eq(v bool) *BoolRuler { - b.rules.Eq = &v + b.rules.SetEq(v) return b } @@ -77,22 +77,22 @@ func NewStringBuilder(rules *v1_conf.StringRules) *StringRuler { } func (b *StringRuler) Eq(value string) *StringRuler { - b.rules.Eq = &value + b.rules.SetEq(value) return b } func (b *StringRuler) Len(value uint64) *StringRuler { - b.rules.Len = &value + b.rules.SetLen(value) return b } func (b *StringRuler) MinLen(value uint64) *StringRuler { - b.rules.MinLen = &value + b.rules.SetMinLen(value) return b } func (b *StringRuler) MaxLen(value uint64) *StringRuler { - b.rules.MaxLen = &value + b.rules.SetMaxLen(value) return b } @@ -101,101 +101,101 @@ func (b *StringRuler) Pattern(value string) *StringRuler { if err != nil { panic(fmt.Errorf("invalid regex: %w", err)) } - b.rules.Pattern = &value + b.rules.SetPattern(value) return b } func (b *StringRuler) Prefix(value string) *StringRuler { - b.rules.Prefix = &value + b.rules.SetPrefix(value) return b } func (b *StringRuler) Suffix(value string) *StringRuler { - b.rules.Suffix = &value + b.rules.SetSuffix(value) return b } func (b *StringRuler) Contains(value string) *StringRuler { - b.rules.Contains = &value + b.rules.SetContains(value) return b } func (b *StringRuler) NotContains(value string) *StringRuler { - b.rules.NotContains = &value + b.rules.SetNotContains(value) return b } func (b *StringRuler) In(values []string) *StringRuler { - b.rules.In = values + b.rules.SetIn(values) return b } func (b *StringRuler) NotIn(values []string) *StringRuler { - b.rules.NotIn = values + b.rules.SetNotIn(values) return b } func (b *StringRuler) IsEmail() *StringRuler { - if b.rules.WellKnown != 0 { + if b.rules.GetWellKnown() != 0 { panic("well known rules are already set") } - b.rules.WellKnown = v1_conf.WellKnownString_WELL_KNOWN_STRING_EMAIL + b.rules.SetWellKnown(v1_conf.WellKnownString_WELL_KNOWN_STRING_EMAIL) return b } func (b *StringRuler) IsHostname() *StringRuler { - if b.rules.WellKnown != 0 { + if b.rules.GetWellKnown() != 0 { panic("well known rules are already set") } - b.rules.WellKnown = v1_conf.WellKnownString_WELL_KNOWN_STRING_HOSTNAME + b.rules.SetWellKnown(v1_conf.WellKnownString_WELL_KNOWN_STRING_HOSTNAME) return b } func (b *StringRuler) IsIP() *StringRuler { - if b.rules.WellKnown != 0 { + if b.rules.GetWellKnown() != 0 { panic("well known rules are already set") } - b.rules.WellKnown = v1_conf.WellKnownString_WELL_KNOWN_STRING_IP + b.rules.SetWellKnown(v1_conf.WellKnownString_WELL_KNOWN_STRING_IP) return b } func (b *StringRuler) IsIpv4() *StringRuler { - if b.rules.WellKnown != 0 { + if b.rules.GetWellKnown() != 0 { panic("well known rules are already set") } - b.rules.WellKnown = v1_conf.WellKnownString_WELL_KNOWN_STRING_IPV4 + b.rules.SetWellKnown(v1_conf.WellKnownString_WELL_KNOWN_STRING_IPV4) return b } func (b *StringRuler) IsIpv6() *StringRuler { - if b.rules.WellKnown != 0 { + if b.rules.GetWellKnown() != 0 { panic("well known rules are already set") } - b.rules.WellKnown = v1_conf.WellKnownString_WELL_KNOWN_STRING_IPV6 + b.rules.SetWellKnown(v1_conf.WellKnownString_WELL_KNOWN_STRING_IPV6) return b } func (b *StringRuler) IsURI() *StringRuler { - if b.rules.WellKnown != 0 { + if b.rules.GetWellKnown() != 0 { panic("well known rules are already set") } - b.rules.WellKnown = v1_conf.WellKnownString_WELL_KNOWN_STRING_URI + b.rules.SetWellKnown(v1_conf.WellKnownString_WELL_KNOWN_STRING_URI) return b } func (b *StringRuler) IsAddress() *StringRuler { - if b.rules.WellKnown != 0 { + if b.rules.GetWellKnown() != 0 { panic("well known rules are already set") } - b.rules.WellKnown = v1_conf.WellKnownString_WELL_KNOWN_STRING_ADDRESS + b.rules.SetWellKnown(v1_conf.WellKnownString_WELL_KNOWN_STRING_ADDRESS) return b } func (b *StringRuler) IsUUID() *StringRuler { - if b.rules.WellKnown != 0 { + if b.rules.GetWellKnown() != 0 { panic("well known rules are already set") } - b.rules.WellKnown = v1_conf.WellKnownString_WELL_KNOWN_STRING_UUID + b.rules.SetWellKnown(v1_conf.WellKnownString_WELL_KNOWN_STRING_UUID) return b } @@ -205,32 +205,32 @@ type StringSliceRuler struct { } func NewRepeatedStringBuilder(rules *v1_conf.RepeatedStringRules) *StringSliceRuler { - itemRules := rules.ItemRules + itemRules := rules.GetItemRules() if itemRules == nil { itemRules = &v1_conf.StringRules{} - rules.ItemRules = itemRules + rules.SetItemRules(itemRules) } stringer := NewStringBuilder(itemRules) return &StringSliceRuler{rules: rules, stringer: stringer} } func (b *StringSliceRuler) MinItems(value uint64) *StringSliceRuler { - b.rules.MinItems = &value + b.rules.SetMinItems(value) return b } func (b *StringSliceRuler) MaxItems(value uint64) *StringSliceRuler { - b.rules.MaxItems = &value + b.rules.SetMaxItems(value) return b } func (b *StringSliceRuler) Unique(unique bool) *StringSliceRuler { - b.rules.Unique = unique + b.rules.SetUnique(unique) return b } func (b *StringSliceRuler) ValidateEmpty(value bool) *StringSliceRuler { - b.rules.ValidateEmpty = value + b.rules.SetValidateEmpty(value) return b } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/field/struct.go b/vendor/github.com/conductorone/baton-sdk/pkg/field/struct.go index 6e614e0d..4ea8b27d 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/field/struct.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/field/struct.go @@ -10,6 +10,7 @@ type Configuration struct { IsDirectory bool SupportsExternalResources bool RequiresExternalConnector bool + FieldGroups []SchemaFieldGroup } type configOption func(Configuration) Configuration diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/field/validation.go b/vendor/github.com/conductorone/baton-sdk/pkg/field/validation.go index 87474f52..168aa90f 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/field/validation.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/field/validation.go @@ -24,44 +24,44 @@ func ValidateIntRules(r *v1_conf.Int64Rules, vInt int, name string) error { return nil } v := int64(vInt) - if r.IsRequired && v == 0 { + if r.GetIsRequired() && v == 0 { return fmt.Errorf("field %s of type int is marked as required but it has a zero-value", name) } - if !r.ValidateEmpty && v == 0 { + if !r.GetValidateEmpty() && v == 0 { return nil } - if r.Eq != nil && *r.Eq != v { - return fmt.Errorf("field %s: expected %v but got %v", name, *r.Eq, v) + if r.HasEq() && r.GetEq() != v { + return fmt.Errorf("field %s: expected %v but got %v", name, r.GetEq(), v) } - if r.Lt != nil && v >= *r.Lt { - return fmt.Errorf("field %s: value must be less than %d but got %d", name, *r.Lt, v) + if r.HasLt() && v >= r.GetLt() { + return fmt.Errorf("field %s: value must be less than %d but got %d", name, r.GetLt(), v) } - if r.Lte != nil && v > *r.Lte { - return fmt.Errorf("field %s: value must be less than or equal to %d but got %d", name, *r.Lte, v) + if r.HasLte() && v > r.GetLte() { + return fmt.Errorf("field %s: value must be less than or equal to %d but got %d", name, r.GetLte(), v) } - if r.Gt != nil && v <= *r.Gt { - return fmt.Errorf("field %s: value must be greater than %d but got %d", name, *r.Gt, v) + if r.HasGt() && v <= r.GetGt() { + return fmt.Errorf("field %s: value must be greater than %d but got %d", name, r.GetGt(), v) } - if r.Gte != nil && v < *r.Gte { - return fmt.Errorf("field %s: value must be greater than or equal to %d but got %d", name, *r.Gte, v) + if r.HasGte() && v < r.GetGte() { + return fmt.Errorf("field %s: value must be greater than or equal to %d but got %d", name, r.GetGte(), v) } - if r.In != nil { + if r.GetIn() != nil { found := false - for _, val := range r.In { + for _, val := range r.GetIn() { if v == val { found = true break } } if !found { - return fmt.Errorf("field %s: value must be one of %v but got %d", name, r.In, v) + return fmt.Errorf("field %s: value must be one of %v but got %d", name, r.GetIn(), v) } } - if r.NotIn != nil { - for _, val := range r.NotIn { + if r.GetNotIn() != nil { + for _, val := range r.GetNotIn() { if v == val { - return fmt.Errorf("field %s: value must not be one of %v but got %d", name, r.NotIn, v) + return fmt.Errorf("field %s: value must not be one of %v but got %d", name, r.GetNotIn(), v) } } } @@ -72,8 +72,8 @@ func ValidateBoolRules(r *v1_conf.BoolRules, v bool, name string) error { if r == nil { return nil } - if r.Eq != nil && *r.Eq != v { - return fmt.Errorf("expected %v but got %v", *r.Eq, v) + if r.HasEq() && r.GetEq() != v { + return fmt.Errorf("expected %v but got %v", r.GetEq(), v) } return nil } @@ -115,7 +115,7 @@ func isValidDomain(hostname string) bool { // Labels can only contain letters, digits, or hyphens for i := range label { - if !(isAlphaNumeric(label[i]) || label[i] == '-') { + if !isAlphaNumeric(label[i]) && label[i] != '-' { return false } } @@ -134,28 +134,28 @@ func ValidateStringRules(r *v1_conf.StringRules, v string, name string) error { return nil } - if r.IsRequired && v == "" { + if r.GetIsRequired() && v == "" { return fmt.Errorf("field %s of type string is marked as required but it has a zero-value", name) } - if !r.ValidateEmpty && v == "" { + if !r.GetValidateEmpty() && v == "" { return nil } - if r.Eq != nil && *r.Eq != v { - return fmt.Errorf("field %s: expected '%v' but got '%v'", name, *r.Eq, v) + if r.HasEq() && r.GetEq() != v { + return fmt.Errorf("field %s: expected '%v' but got '%v'", name, r.GetEq(), v) } - if r.Len != nil && uint64(len(v)) != *r.Len { - return fmt.Errorf("field %s: value must be exactly %d characters long but got %d", name, *r.Len, len(v)) + if r.HasLen() && uint64(len(v)) != r.GetLen() { + return fmt.Errorf("field %s: value must be exactly %d characters long but got %d", name, r.GetLen(), len(v)) } - if r.MinLen != nil && uint64(len(v)) < *r.MinLen { - return fmt.Errorf("field %s: value must be at least %d characters long but got %d", name, *r.MinLen, len(v)) + if r.HasMinLen() && uint64(len(v)) < r.GetMinLen() { + return fmt.Errorf("field %s: value must be at least %d characters long but got %d", name, r.GetMinLen(), len(v)) } - if r.MaxLen != nil && uint64(len(v)) > *r.MaxLen { - return fmt.Errorf("field %s: value must be at most %d characters long but got %d", name, *r.MaxLen, len(v)) + if r.HasMaxLen() && uint64(len(v)) > r.GetMaxLen() { + return fmt.Errorf("field %s: value must be at most %d characters long but got %d", name, r.GetMaxLen(), len(v)) } - if r.Pattern != nil { - pattern, err := regexp.CompilePOSIX(*r.Pattern) + if r.HasPattern() { + pattern, err := regexp.CompilePOSIX(r.GetPattern()) if err != nil { return fmt.Errorf("field %s: invalid pattern: %w", name, err) } @@ -163,39 +163,39 @@ func ValidateStringRules(r *v1_conf.StringRules, v string, name string) error { return fmt.Errorf("field %s: value must match pattern %s but got '%s'", name, pattern.String(), v) } } - if r.Prefix != nil && !strings.HasPrefix(v, *r.Prefix) { - return fmt.Errorf("field %s: value must have prefix '%s' but got '%s'", name, *r.Prefix, v) + if r.HasPrefix() && !strings.HasPrefix(v, r.GetPrefix()) { + return fmt.Errorf("field %s: value must have prefix '%s' but got '%s'", name, r.GetPrefix(), v) } - if r.Suffix != nil && !strings.HasSuffix(v, *r.Suffix) { - return fmt.Errorf("field %s: value must have suffix '%s' but got '%s'", name, *r.Suffix, v) + if r.HasSuffix() && !strings.HasSuffix(v, r.GetSuffix()) { + return fmt.Errorf("field %s: value must have suffix '%s' but got '%s'", name, r.GetSuffix(), v) } - if r.Contains != nil && !strings.Contains(v, *r.Contains) { - return fmt.Errorf("field %s: value must contain '%s' but got '%s'", name, *r.Contains, v) + if r.HasContains() && !strings.Contains(v, r.GetContains()) { + return fmt.Errorf("field %s: value must contain '%s' but got '%s'", name, r.GetContains(), v) } - if r.In != nil { + if r.GetIn() != nil { found := false - for _, val := range r.In { + for _, val := range r.GetIn() { if v == val { found = true break } } if !found { - return fmt.Errorf("field %s: value must be one of %v but got '%s'", name, r.In, v) + return fmt.Errorf("field %s: value must be one of %v but got '%s'", name, r.GetIn(), v) } } - if r.NotIn != nil { - for _, val := range r.NotIn { + if r.GetNotIn() != nil { + for _, val := range r.GetNotIn() { if v == val { - return fmt.Errorf("field %s: value must not be one of %v but got '%s'", name, r.NotIn, v) + return fmt.Errorf("field %s: value must not be one of %v but got '%s'", name, r.GetNotIn(), v) } } } - if r.WellKnown == v1_conf.WellKnownString_WELL_KNOWN_STRING_UNSPECIFIED { + if r.GetWellKnown() == v1_conf.WellKnownString_WELL_KNOWN_STRING_UNSPECIFIED { return nil } - switch r.WellKnown { + switch r.GetWellKnown() { case v1_conf.WellKnownString_WELL_KNOWN_STRING_EMAIL: _, err := mail.ParseAddress(v) if err != nil { @@ -234,7 +234,7 @@ func ValidateStringRules(r *v1_conf.StringRules, v string, name string) error { } default: - return fmt.Errorf("field %s: unknown well-known validation rule: %T", name, r.WellKnown) + return fmt.Errorf("field %s: unknown well-known validation rule: %T", name, r.GetWellKnown()) } return nil @@ -256,21 +256,21 @@ func ValidateRepeatedStringRules(r *v1_conf.RepeatedStringRules, v []string, nam if r == nil { return nil } - if r.IsRequired && len(v) == 0 { + if r.GetIsRequired() && len(v) == 0 { return fmt.Errorf("field %s of type []string is marked as required but it has a zero-value", name) } - if !r.ValidateEmpty && len(v) == 0 { + if !r.GetValidateEmpty() && len(v) == 0 { return nil } - if r.MinItems != nil && uint64(len(v)) < *r.MinItems { - return fmt.Errorf("field %s: value must have at least %d items but got %d", name, *r.MinItems, len(v)) + if r.HasMinItems() && uint64(len(v)) < r.GetMinItems() { + return fmt.Errorf("field %s: value must have at least %d items but got %d", name, r.GetMinItems(), len(v)) } - if r.MaxItems != nil && uint64(len(v)) > *r.MaxItems { - return fmt.Errorf("field %s: value must have at most %d items but got %d", name, *r.MaxItems, len(v)) + if r.HasMaxItems() && uint64(len(v)) > r.GetMaxItems() { + return fmt.Errorf("field %s: value must have at most %d items but got %d", name, r.GetMaxItems(), len(v)) } - if r.Unique { + if r.GetUnique() { uniqueValues := make(map[string]struct{}) for _, item := range v { if _, exists := uniqueValues[item]; exists { @@ -279,12 +279,12 @@ func ValidateRepeatedStringRules(r *v1_conf.RepeatedStringRules, v []string, nam uniqueValues[item] = struct{}{} } } - if r.ItemRules == nil { + if !r.HasItemRules() { return nil } for i, item := range v { - if err := ValidateStringRules(r.ItemRules, item, strconv.Itoa(i)); err != nil { + if err := ValidateStringRules(r.GetItemRules(), item, strconv.Itoa(i)); err != nil { return fmt.Errorf("field %s invalid item at %w", name, err) } } @@ -295,11 +295,11 @@ func ValidateStringMapRules(r *v1_conf.StringMapRules, v map[string]any, name st if r == nil { return nil } - if r.IsRequired && len(v) == 0 { + if r.GetIsRequired() && len(v) == 0 { return fmt.Errorf("field %s of type map[string]any is marked as required but it has a zero-value", name) } - if !r.ValidateEmpty && len(v) == 0 { + if !r.GetValidateEmpty() && len(v) == 0 { return nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/config/config.go b/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/config/config.go index ce7db970..26981c4c 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/config/config.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/config/config.go @@ -1,12 +1,10 @@ package config import ( - "bytes" "context" "crypto/ed25519" "crypto/tls" "crypto/x509" - "encoding/base64" "errors" "fmt" "net/url" @@ -18,25 +16,24 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/credentials" - pb_connector_manager "github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1" - "github.com/conductorone/dpop/pkg/dpop" + "github.com/conductorone/baton-sdk/pkg/crypto" "github.com/conductorone/baton-sdk/pkg/sdk" dpop_grpc "github.com/conductorone/dpop/integrations/dpop_grpc" dpop_oauth "github.com/conductorone/dpop/integrations/dpop_oauth2" + "golang.org/x/oauth2" ) var ( - ErrInvalidClientSecret = errors.New("invalid client secret") - ErrInvalidClientID = errors.New("invalid client id") - v1SecretTokenIdentifier = []byte("v1") + ErrInvalidClientID = errors.New("invalid client id") ) -func GetConnectorConfigServiceClient(ctx context.Context, clientID string, clientSecret string) (pb_connector_manager.ConnectorConfigServiceClient, *jose.JSONWebKey, error) { +// NewDPoPClient creates a gRPC client with DPoP authentication. +func NewDPoPClient(ctx context.Context, clientID string, clientSecret string) (grpc.ClientConnInterface, *jose.JSONWebKey, oauth2.TokenSource, error) { _, tokenHost, err := parseClientID(clientID) if err != nil { - return nil, nil, err + return nil, nil, nil, err } if envHost, ok := os.LookupEnv("BATON_LAMBDA_TOKEN_HOST"); ok { @@ -51,7 +48,7 @@ func GetConnectorConfigServiceClient(ctx context.Context, clientID string, clien _, priv, err := ed25519.GenerateKey(nil) if err != nil { - return nil, nil, fmt.Errorf("get-connector-service-client: failed to generate ed25519: %w", err) + return nil, nil, nil, fmt.Errorf("new-dpop-client: failed to generate ed25519: %w", err) } jwk := &jose.JSONWebKey{ @@ -61,24 +58,24 @@ func GetConnectorConfigServiceClient(ctx context.Context, clientID string, clien Use: "sig", } - clientSecretJWK, err := parseSecret([]byte(clientSecret)) + clientSecretJWK, err := crypto.ParseClientSecret([]byte(clientSecret), false) if err != nil { - return nil, nil, fmt.Errorf("get-connector-service-client: failed to unmarshal client secret: %w", err) + return nil, nil, nil, fmt.Errorf("new-dpop-client: failed to unmarshal client secret: %w", err) } proofer, err := dpop.NewProofer(jwk) if err != nil { - return nil, nil, fmt.Errorf("get-connector-service-client: failed to create proofer: %w", err) + return nil, nil, nil, fmt.Errorf("new-dpop-client: failed to create proofer: %w", err) } idAttMarshaller, err := NewIdAttMarshaller(ctx) if err != nil { - return nil, nil, fmt.Errorf("get-connector-service-client: failed to create claims adjuster: %w", err) + return nil, nil, nil, fmt.Errorf("new-dpop-client: failed to create claims adjuster: %w", err) } opts := dpop_oauth.WithRequestOption(dpop_oauth.WithCustomMarshaler(idAttMarshaller.Marshal)) tokenSource, err := dpop_oauth.NewTokenSource(proofer, tokenURL, clientID, clientSecretJWK, opts) if err != nil { - return nil, nil, fmt.Errorf("get-connector-service-client: failed to create token source: %w", err) + return nil, nil, nil, fmt.Errorf("new-dpop-client: failed to create token source: %w", err) } creds, err := dpop_grpc.NewDPoPCredentials(proofer, tokenSource, tokenHost, []dpop.ProofOption{ @@ -86,12 +83,12 @@ func GetConnectorConfigServiceClient(ctx context.Context, clientID string, clien dpop.WithProofNowFunc(time.Now), }) if err != nil { - return nil, nil, fmt.Errorf("get-connector-service-client: failed to create dpop credentials: %w", err) + return nil, nil, nil, fmt.Errorf("new-dpop-client: failed to create dpop credentials: %w", err) } systemCertPool, err := x509.SystemCertPool() if err != nil || systemCertPool == nil { - return nil, nil, fmt.Errorf("get-connector-service-client: failed to load system cert pool: %w", err) + return nil, nil, nil, fmt.Errorf("new-dpop-client: failed to load system cert pool: %w", err) } transportCreds := credentials.NewTLS(&tls.Config{ RootCAs: systemCertPool, @@ -106,10 +103,10 @@ func GetConnectorConfigServiceClient(ctx context.Context, clientID string, clien client, err := grpc.NewClient(tokenHost, dialOpts...) if err != nil { - return nil, nil, fmt.Errorf("connector-manager-client: failed to create client: %w", err) + return nil, nil, nil, fmt.Errorf("new-dpop-client: failed to create client: %w", err) } - return pb_connector_manager.NewConnectorConfigServiceClient(client), jwk, nil + return client, jwk, tokenSource, nil } func parseClientID(input string) (string, string, error) { @@ -128,36 +125,3 @@ func parseClientID(input string) (string, string, error) { return clientName, items[0], nil } - -func parseSecret(input []byte) (*jose.JSONWebKey, error) { - items := bytes.SplitN(input, []byte(":"), 4) - if len(items) != 4 { - return nil, ErrInvalidClientSecret - } - - if !bytes.Equal(items[2], v1SecretTokenIdentifier) { - return nil, ErrInvalidClientSecret - } - - jwkData, err := base64.RawURLEncoding.DecodeString(string(items[3])) - if err != nil { - return nil, ErrInvalidClientSecret - } - - npk := &jose.JSONWebKey{} - err = npk.UnmarshalJSON(jwkData) - if err != nil { - return nil, ErrInvalidClientSecret - } - - if npk.IsPublic() || !npk.Valid() { - return nil, ErrInvalidClientSecret - } - - _, ok := npk.Key.(ed25519.PrivateKey) - if !ok { - return nil, ErrInvalidClientSecret - } - - return npk, nil -} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/config/sts.go b/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/config/sts.go index d52644b7..1ff870f9 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/config/sts.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/config/sts.go @@ -55,17 +55,17 @@ func createSigv4STSGetCallerIdentityRequest(ctx context.Context, cfg *aws.Config for signedHeaderKey, signedHeaderValues := range req.Header { v := make([]string, len(signedHeaderValues)) copy(v, signedHeaderValues) - signedHeader := &pb_connector_manager.SignedHeader{ + signedHeader := pb_connector_manager.SignedHeader_builder{ Key: signedHeaderKey, Value: v, - } + }.Build() signedHeaders = append(signedHeaders, signedHeader) } - return &pb_connector_manager.Sigv4SignedRequestSTSGetCallerIdentity{ + return pb_connector_manager.Sigv4SignedRequestSTSGetCallerIdentity_builder{ Method: method, Endpoint: endpoint, Headers: signedHeaders, Body: []byte(body), - }, nil + }.Build(), nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/server.go b/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/server.go index 494fda49..4fe82bd0 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/server.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/server.go @@ -63,12 +63,12 @@ func (r *TransportStream) Response() (*Response, error) { } return &Response{ - msg: &pbtransport.Response{ + msg: pbtransport.Response_builder{ Resp: anyResp, Status: anyStatus, Headers: headers, Trailers: trailers, - }, + }.Build(), }, nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/transport.go b/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/transport.go index 29576c5c..880c0e27 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/transport.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/transport.go @@ -1,6 +1,9 @@ package grpc import ( + "encoding/json" + "errors" + spb "google.golang.org/genproto/googleapis/rpc/status" "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" @@ -10,15 +13,94 @@ import ( "google.golang.org/protobuf/types/known/anypb" pbtransport "github.com/conductorone/baton-sdk/pb/c1/transport/v1" + "google.golang.org/protobuf/reflect/protoregistry" ) type Request struct { msg *pbtransport.Request } +/* +UnmarshalJSON unmarshals the JSON into a Request, discarding any unknown fields. + +It also filters out any annotations that are not known to the global registry +which happens frequently for new features and would otherwise require +rolling every lambda function. + +Our requests are small in size, dwarfed by the work of the connector, +so the performance impact is negligible. +*/ func (f *Request) UnmarshalJSON(b []byte) error { f.msg = &pbtransport.Request{} - return protojson.Unmarshal(b, f.msg) + unmarshalOptions := protojson.UnmarshalOptions{ + DiscardUnknown: true, + } + err := unmarshalOptions.Unmarshal(b, f.msg) + if err == nil { + return nil + } + // There doesn't seem to be a stable interface for "unknown field" errors. + originalErr := err + + // Parse top-level as raw and surgically filter req.annotations + var top map[string]json.RawMessage + if err := json.Unmarshal(b, &top); err != nil { + return err + } + // Track if we actually modified the payload. + changed := false + + if reqRaw, ok := top["req"]; ok && len(reqRaw) > 0 { + var reqObj map[string]json.RawMessage + if err := json.Unmarshal(reqRaw, &reqObj); err == nil { + if annsRaw, ok := reqObj["annotations"]; ok && len(annsRaw) > 0 { + var anns []json.RawMessage + if err := json.Unmarshal(annsRaw, &anns); err == nil { + wellKnownAnnotations := make([]json.RawMessage, 0, len(anns)) + for _, ann := range anns { + var annObj map[string]json.RawMessage + if err := json.Unmarshal(ann, &annObj); err != nil { + continue + } + var typeURL string + if t, ok := annObj["@type"]; ok { + if err := json.Unmarshal(t, &typeURL); err == nil { + // It would be nice to log here, but we have no context. + if _, err := protoregistry.GlobalTypes.FindMessageByURL(typeURL); err == nil { + wellKnownAnnotations = append(wellKnownAnnotations, ann) // keep only known types + } + } + } + } + if len(wellKnownAnnotations) != len(anns) { + if newAnns, err := json.Marshal(wellKnownAnnotations); err == nil { + reqObj["annotations"] = newAnns + if newReqRaw, err := json.Marshal(reqObj); err == nil { + top["req"] = newReqRaw + changed = true + } + } + } + } + } + } + } + + if !changed { + return originalErr + } + + filteredJSON, err := json.Marshal(top) + if err != nil { + return errors.Join(originalErr, err) + } + + err = unmarshalOptions.Unmarshal(filteredJSON, f.msg) + if err != nil { + return errors.Join(originalErr, err) + } + + return nil } func (f *Request) MarshalJSON() ([]byte, error) { @@ -56,11 +138,11 @@ func NewRequest(method string, req proto.Message, headers metadata.MD) (*Request return nil, status.Errorf(codes.Internal, "error marshalling headers: %v", err) } return &Request{ - msg: &pbtransport.Request{ + msg: pbtransport.Request_builder{ Method: method, Req: reqAny, Headers: reqHdrs, - }, + }.Build(), }, nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/util.go b/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/util.go index f0112657..9754a2d4 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/util.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/lambda/grpc/util.go @@ -145,11 +145,11 @@ func ErrorResponse(err error) *Response { panic(fmt.Errorf("server: unable to serialize status: %w", err)) } return &Response{ - msg: &pbtransport.Response{ + msg: pbtransport.Response_builder{ Resp: nil, Status: anyst, Headers: nil, Trailers: nil, - }, + }.Build(), } } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/provisioner/provisioner.go b/vendor/github.com/conductorone/baton-sdk/pkg/provisioner/provisioner.go index d324aa3b..263f1bad 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/provisioner/provisioner.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/provisioner/provisioner.go @@ -47,26 +47,24 @@ type Provisioner struct { // makeCrypto is used by rotateCredentials and createAccount. // FIXME(morgabra/ggreer): Huge hack for testing. -func makeCrypto(ctx context.Context) ([]byte, *v2.CredentialOptions, []*v2.EncryptionConfig, error) { +func makeCrypto(ctx context.Context) (*v2.CredentialOptions, []*v2.EncryptionConfig, error) { // Default to generating a random key and random password that is 12 characters long provider, err := providers.GetEncryptionProvider(jwk.EncryptionProviderJwk) if err != nil { - return nil, nil, nil, err + return nil, nil, err } - config, privateKey, err := provider.GenerateKey(ctx) + config, _, err := provider.GenerateKey(ctx) if err != nil { - return nil, nil, nil, err + return nil, nil, err } - opts := &v2.CredentialOptions{ - Options: &v2.CredentialOptions_RandomPassword_{ - RandomPassword: &v2.CredentialOptions_RandomPassword{ - Length: 20, - }, - }, - } - return privateKey, opts, []*v2.EncryptionConfig{config}, nil + opts := v2.CredentialOptions_builder{ + RandomPassword: v2.CredentialOptions_RandomPassword_builder{ + Length: 20, + }.Build(), + }.Build() + return opts, []*v2.EncryptionConfig{config}, nil } func (p *Provisioner) Run(ctx context.Context) error { @@ -151,16 +149,16 @@ func (p *Provisioner) grant(ctx context.Context) error { return err } - entitlement, err := store.GetEntitlement(ctx, &reader_v2.EntitlementsReaderServiceGetEntitlementRequest{ + entitlement, err := store.GetEntitlement(ctx, reader_v2.EntitlementsReaderServiceGetEntitlementRequest_builder{ EntitlementId: p.grantEntitlementID, - }) + }.Build()) if err != nil { return err } - entitlementResource, err := store.GetResource(ctx, &reader_v2.ResourcesReaderServiceGetResourceRequest{ + entitlementResource, err := store.GetResource(ctx, reader_v2.ResourcesReaderServiceGetResourceRequest_builder{ ResourceId: entitlement.GetEntitlement().GetResource().GetId(), - }) + }.Build()) if err != nil { return err } @@ -170,30 +168,30 @@ func (p *Provisioner) grant(ctx context.Context) error { return errors.New("cannot grant entitlement on external resource") } - principal, err := store.GetResource(ctx, &reader_v2.ResourcesReaderServiceGetResourceRequest{ - ResourceId: &v2.ResourceId{ + principal, err := store.GetResource(ctx, reader_v2.ResourcesReaderServiceGetResourceRequest_builder{ + ResourceId: v2.ResourceId_builder{ Resource: p.grantPrincipalID, ResourceType: p.grantPrincipalType, - }, - }) + }.Build(), + }.Build()) if err != nil { return err } - resource := &v2.Resource{ - Id: principal.Resource.Id, - DisplayName: principal.Resource.DisplayName, - Annotations: principal.Resource.Annotations, - Description: principal.Resource.Description, - ExternalId: principal.Resource.ExternalId, + resource := v2.Resource_builder{ + Id: principal.GetResource().GetId(), + DisplayName: principal.GetResource().GetDisplayName(), + Annotations: principal.GetResource().GetAnnotations(), + Description: principal.GetResource().GetDescription(), + ExternalId: principal.GetResource().GetExternalId(), // Omit parent resource ID so that behavior is the same as ConductorOne's provisioning mode ParentResourceId: nil, - } + }.Build() - _, err = p.connector.Grant(ctx, &v2.GrantManagerServiceGrantRequest{ - Entitlement: entitlement.Entitlement, + _, err = p.connector.Grant(ctx, v2.GrantManagerServiceGrantRequest_builder{ + Entitlement: entitlement.GetEntitlement(), Principal: resource, - }) + }.Build()) if err != nil { return err } @@ -210,30 +208,30 @@ func (p *Provisioner) revoke(ctx context.Context) error { return err } - grant, err := store.GetGrant(ctx, &reader_v2.GrantsReaderServiceGetGrantRequest{ + grant, err := store.GetGrant(ctx, reader_v2.GrantsReaderServiceGetGrantRequest_builder{ GrantId: p.revokeGrantID, - }) + }.Build()) if err != nil { return err } - entitlement, err := store.GetEntitlement(ctx, &reader_v2.EntitlementsReaderServiceGetEntitlementRequest{ - EntitlementId: grant.Grant.Entitlement.Id, - }) + entitlement, err := store.GetEntitlement(ctx, reader_v2.EntitlementsReaderServiceGetEntitlementRequest_builder{ + EntitlementId: grant.GetGrant().GetEntitlement().GetId(), + }.Build()) if err != nil { return err } - principal, err := store.GetResource(ctx, &reader_v2.ResourcesReaderServiceGetResourceRequest{ - ResourceId: grant.Grant.Principal.Id, - }) + principal, err := store.GetResource(ctx, reader_v2.ResourcesReaderServiceGetResourceRequest_builder{ + ResourceId: grant.GetGrant().GetPrincipal().GetId(), + }.Build()) if err != nil { return err } - entitlementResource, err := store.GetResource(ctx, &reader_v2.ResourcesReaderServiceGetResourceRequest{ + entitlementResource, err := store.GetResource(ctx, reader_v2.ResourcesReaderServiceGetResourceRequest_builder{ ResourceId: entitlement.GetEntitlement().GetResource().GetId(), - }) + }.Build()) if err != nil { return err } @@ -243,24 +241,24 @@ func (p *Provisioner) revoke(ctx context.Context) error { return errors.New("cannot revoke grant on external resource") } - resource := &v2.Resource{ - Id: principal.Resource.Id, - DisplayName: principal.Resource.DisplayName, - Annotations: principal.Resource.Annotations, - Description: principal.Resource.Description, - ExternalId: principal.Resource.ExternalId, + resource := v2.Resource_builder{ + Id: principal.GetResource().GetId(), + DisplayName: principal.GetResource().GetDisplayName(), + Annotations: principal.GetResource().GetAnnotations(), + Description: principal.GetResource().GetDescription(), + ExternalId: principal.GetResource().GetExternalId(), // Omit parent resource ID so that behavior is the same as ConductorOne's provisioning mode ParentResourceId: nil, - } + }.Build() - _, err = p.connector.Revoke(ctx, &v2.GrantManagerServiceRevokeRequest{ - Grant: &v2.Grant{ - Id: grant.Grant.Id, - Entitlement: entitlement.Entitlement, + _, err = p.connector.Revoke(ctx, v2.GrantManagerServiceRevokeRequest_builder{ + Grant: v2.Grant_builder{ + Id: grant.GetGrant().GetId(), + Entitlement: entitlement.GetEntitlement(), Principal: resource, - Annotations: grant.Grant.Annotations, - }, - }) + Annotations: grant.GetGrant().GetAnnotations(), + }.Build(), + }.Build()) if err != nil { return err } @@ -275,26 +273,26 @@ func (p *Provisioner) createAccount(ctx context.Context) error { l := ctxzap.Extract(ctx) var emails []*v2.AccountInfo_Email if p.createAccountEmail != "" { - emails = append(emails, &v2.AccountInfo_Email{ + emails = append(emails, v2.AccountInfo_Email_builder{ Address: p.createAccountEmail, IsPrimary: true, - }) + }.Build()) } - _, opts, config, err := makeCrypto(ctx) + opts, config, err := makeCrypto(ctx) if err != nil { return err } - _, err = p.connector.CreateAccount(ctx, &v2.CreateAccountRequest{ - AccountInfo: &v2.AccountInfo{ + _, err = p.connector.CreateAccount(ctx, v2.CreateAccountRequest_builder{ + AccountInfo: v2.AccountInfo_builder{ Emails: emails, Login: p.createAccountLogin, Profile: p.createAccountProfile, - }, + }.Build(), CredentialOptions: opts, EncryptionConfigs: config, - }) + }.Build()) if err != nil { return err } @@ -308,12 +306,12 @@ func (p *Provisioner) deleteResource(ctx context.Context) error { ctx, span := tracer.Start(ctx, "Provisioner.deleteResource") defer span.End() - _, err := p.connector.DeleteResource(ctx, &v2.DeleteResourceRequest{ - ResourceId: &v2.ResourceId{ + _, err := p.connector.DeleteResource(ctx, v2.DeleteResourceRequest_builder{ + ResourceId: v2.ResourceId_builder{ Resource: p.deleteResourceID, ResourceType: p.deleteResourceType, - }, - }) + }.Build(), + }.Build()) if err != nil { return err } @@ -326,19 +324,19 @@ func (p *Provisioner) rotateCredentials(ctx context.Context) error { l := ctxzap.Extract(ctx) - _, opts, config, err := makeCrypto(ctx) + opts, config, err := makeCrypto(ctx) if err != nil { return err } - _, err = p.connector.RotateCredential(ctx, &v2.RotateCredentialRequest{ - ResourceId: &v2.ResourceId{ + _, err = p.connector.RotateCredential(ctx, v2.RotateCredentialRequest_builder{ + ResourceId: v2.ResourceId_builder{ Resource: p.rotateCredentialsId, ResourceType: p.rotateCredentialsType, - }, + }.Build(), CredentialOptions: opts, EncryptionConfigs: config, - }) + }.Build()) if err != nil { return err } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/grpc.go b/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/grpc.go index e288b995..7bc88551 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/grpc.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/grpc.go @@ -52,30 +52,30 @@ type hasResourceType interface { } func getRatelimitDescriptors(ctx context.Context, method string, in interface{}, descriptors ...*ratelimitV1.RateLimitDescriptors_Entry) *ratelimitV1.RateLimitDescriptors { - ret := &ratelimitV1.RateLimitDescriptors{ + ret := ratelimitV1.RateLimitDescriptors_builder{ Entries: descriptors, - } + }.Build() - ret.Entries = append(ret.Entries, &ratelimitV1.RateLimitDescriptors_Entry{ + ret.SetEntries(append(ret.GetEntries(), ratelimitV1.RateLimitDescriptors_Entry_builder{ Key: descriptorKeyConnectorMethod, Value: method, - }) + }.Build())) // ListEntitlements, ListGrants if req, ok := in.(hasResource); ok { - ret.Entries = append(ret.Entries, &ratelimitV1.RateLimitDescriptors_Entry{ + ret.SetEntries(append(ret.GetEntries(), ratelimitV1.RateLimitDescriptors_Entry_builder{ Key: descriptorKeyConnectorResourceType, - Value: req.GetResource().Id.ResourceType, - }) + Value: req.GetResource().GetId().GetResourceType(), + }.Build())) return ret } // ListResources if req, ok := in.(hasResourceType); ok { - ret.Entries = append(ret.Entries, &ratelimitV1.RateLimitDescriptors_Entry{ + ret.SetEntries(append(ret.GetEntries(), ratelimitV1.RateLimitDescriptors_Entry_builder{ Key: descriptorKeyConnectorResourceType, Value: req.GetResourceTypeId(), - }) + }.Build())) return ret } @@ -102,19 +102,19 @@ func UnaryInterceptor(now func() time.Time, descriptors ...*ratelimitV1.RateLimi rlDescriptors := getRatelimitDescriptors(ctx, method, req, descriptors...) for { - rlReq := &ratelimitV1.DoRequest{ + rlReq := ratelimitV1.DoRequest_builder{ RequestToken: token, Service: connectorServiceKey, Descriptors: rlDescriptors, - } + }.Build() resp, err := rlClient.Do(ctx, rlReq) if err != nil { l.Error("ratelimit: error", zap.Error(err)) return status.Error(codes.Unknown, err.Error()) } - token = resp.RequestToken + token = resp.GetRequestToken() - switch resp.Description.Status { + switch resp.GetDescription().GetStatus() { case ratelimitV1.RateLimitDescription_STATUS_OK, ratelimitV1.RateLimitDescription_STATUS_EMPTY: l.Debug("ratelimit ok - calling method", zap.String("method", method)) err = invoker(ctx, method, req, reply, cc, opts...) @@ -122,7 +122,7 @@ func UnaryInterceptor(now func() time.Time, descriptors ...*ratelimitV1.RateLimi rlErr := reportRatelimit( ctx, rlClient, - rlReq.RequestToken, + rlReq.GetRequestToken(), ratelimitV1.RateLimitDescription_STATUS_ERROR, rlDescriptors, nil, @@ -137,7 +137,7 @@ func UnaryInterceptor(now func() time.Time, descriptors ...*ratelimitV1.RateLimi if reply != nil { if resp, ok := req.(hasAnnos); ok { - err = reportRatelimit(ctx, rlClient, rlReq.RequestToken, ratelimitV1.RateLimitDescription_STATUS_OK, rlDescriptors, resp.GetAnnotations()) + err = reportRatelimit(ctx, rlClient, rlReq.GetRequestToken(), ratelimitV1.RateLimitDescription_STATUS_OK, rlDescriptors, resp.GetAnnotations()) if err != nil { l.Error("ratelimit: error reporting rate limit", zap.Error(err)) return nil // Explicitly not failing the request as it has already been run successfully. @@ -148,7 +148,7 @@ func UnaryInterceptor(now func() time.Time, descriptors ...*ratelimitV1.RateLimi return nil case ratelimitV1.RateLimitDescription_STATUS_OVERLIMIT: - resetAt := resp.Description.ResetAt.AsTime() + resetAt := resp.GetDescription().GetResetAt().AsTime() d, ok := wait(start, now().UTC(), resetAt) if !ok { l.Error("ratelimit: timeout") @@ -184,21 +184,21 @@ func reportRatelimit( l := ctxzap.Extract(ctx) annos := annotations.Annotations(anys) - rlAnnotation := &ratelimitV1.RateLimitDescription{ + rlAnnotation := ratelimitV1.RateLimitDescription_builder{ Status: status, - } + }.Build() _, err := annos.Pick(rlAnnotation) if err != nil { return err } - _, err = rlClient.Report(ctx, &ratelimitV1.ReportRequest{ + _, err = rlClient.Report(ctx, ratelimitV1.ReportRequest_builder{ RequestToken: token, Description: rlAnnotation, Descriptors: descriptors, Service: "connector", - }) + }.Build()) if err != nil { l.Error("ratelimit: report failed", zap.Error(err)) return 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 2e6e3a41..a693ea5e 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/http.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/http.go @@ -121,10 +121,10 @@ func ExtractRateLimitData(statusCode int, header *http.Header) (*v2.RateLimitDes resetAt = time.Now().Add(time.Second * 60) } - return &v2.RateLimitDescription{ + return v2.RateLimitDescription_builder{ Status: rlstatus, Limit: limit, Remaining: remaining, ResetAt: timestamppb.New(resetAt), - }, nil + }.Build(), nil } 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..5e182ac4 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,22 +21,22 @@ type MemRateLimiter struct { // TODO func (m *MemRateLimiter) Do(ctx context.Context, req *ratelimitV1.DoRequest) (*ratelimitV1.DoResponse, error) { if m.limiter == nil { - return &v1.DoResponse{ - RequestToken: req.RequestToken, - Description: &v1.RateLimitDescription{ - Status: v1.RateLimitDescription_STATUS_EMPTY, - }, - }, nil + return ratelimitV1.DoResponse_builder{ + RequestToken: req.GetRequestToken(), + Description: ratelimitV1.RateLimitDescription_builder{ + Status: ratelimitV1.RateLimitDescription_STATUS_EMPTY, + }.Build(), + }.Build(), nil } m.limiter.Take() - return &v1.DoResponse{ - RequestToken: req.RequestToken, - Description: &v1.RateLimitDescription{ - Status: v1.RateLimitDescription_STATUS_EMPTY, - }, - }, nil + return ratelimitV1.DoResponse_builder{ + RequestToken: req.GetRequestToken(), + Description: ratelimitV1.RateLimitDescription_builder{ + Status: ratelimitV1.RateLimitDescription_STATUS_EMPTY, + }.Build(), + }.Build(), nil } // Report updates the rate limiter with relevant information. @@ -54,20 +53,20 @@ func (m *MemRateLimiter) Report(ctx context.Context, req *ratelimitV1.ReportRequ } desc := req.GetDescription() - if desc.ResetAt == nil { + if !desc.HasResetAt() { return &ratelimitV1.ReportResponse{}, nil } - if desc.Remaining == 0 { + if desc.GetRemaining() == 0 { return &ratelimitV1.ReportResponse{}, nil } - resetAt := desc.ResetAt.AsTime().UTC() + resetAt := desc.GetResetAt().AsTime().UTC() windowDuration := resetAt.Sub(m.now()) if windowDuration > 5*time.Minute { windowDuration = 5 * time.Minute } - remaining := int64(m.usePercent * float64(desc.Remaining)) + remaining := int64(m.usePercent * float64(desc.GetRemaining())) if remaining < 1 { remaining = 1 } @@ -76,7 +75,7 @@ func (m *MemRateLimiter) Report(ctx context.Context, req *ratelimitV1.ReportRequ ctxzap.Extract(ctx).Debug( "updating rate limiter", zap.Int64("calculated_remaining", remaining), - zap.Int64("remaining", desc.Remaining), + zap.Int64("remaining", desc.GetRemaining()), zap.Int64("rate", limiterSize), zap.Time("reset_at", resetAt), ) diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/noop_ratelimiter.go b/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/noop_ratelimiter.go index 1a6f3432..5734443e 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/noop_ratelimiter.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/noop_ratelimiter.go @@ -9,12 +9,12 @@ import ( type NoOpRateLimiter struct{} func (r *NoOpRateLimiter) Do(ctx context.Context, req *v1.DoRequest) (*v1.DoResponse, error) { - return &v1.DoResponse{ - RequestToken: req.RequestToken, - Description: &v1.RateLimitDescription{ + return v1.DoResponse_builder{ + RequestToken: req.GetRequestToken(), + Description: v1.RateLimitDescription_builder{ Status: v1.RateLimitDescription_STATUS_EMPTY, - }, - }, nil + }.Build(), + }.Build(), nil } func (r *NoOpRateLimiter) Report(ctx context.Context, req *v1.ReportRequest) (*v1.ReportResponse, error) { diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/ratelimit.go b/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/ratelimit.go index a580a8de..e94f41bb 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/ratelimit.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/ratelimit.go @@ -28,11 +28,11 @@ func NewLimiter(ctx context.Context, now func() time.Time, cfg *ratelimitV1.Rate } if c := cfg.GetSlidingMem(); c != nil { - return NewSlidingMemoryRateLimiter(ctx, now, c.UsePercent), nil + return NewSlidingMemoryRateLimiter(ctx, now, c.GetUsePercent()), nil } if c := cfg.GetFixedMem(); c != nil { - return NewFixedMemoryRateLimiter(ctx, now, c.Rate, c.Period.AsDuration()), nil + return NewFixedMemoryRateLimiter(ctx, now, c.GetRate(), c.GetPeriod().AsDuration()), nil } if c := cfg.GetExternal(); c != nil { diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/retry/retry.go b/vendor/github.com/conductorone/baton-sdk/pkg/retry/retry.go index ed9fea89..b9335c9b 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/retry/retry.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/retry/retry.go @@ -77,11 +77,11 @@ func (r *Retryer) ShouldWaitAndRetry(ctx context.Context, err error) bool { details := st.Details() for _, detail := range details { if rlData, ok := detail.(*v2.RateLimitDescription); ok { - waitResetAt := time.Until(rlData.ResetAt.AsTime()) + waitResetAt := time.Until(rlData.GetResetAt().AsTime()) if waitResetAt <= 0 { continue } - duration := time.Duration(rlData.Limit) + duration := time.Duration(rlData.GetLimit()) if duration <= 0 { continue } 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 2667bbab..f7862da7 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 @@ -22,16 +22,16 @@ func (n *emptyConnector) ListResourceTypes( request *v2.ResourceTypesServiceListResourceTypesRequest, opts ...grpc.CallOption, ) (*v2.ResourceTypesServiceListResourceTypesResponse, error) { - return &v2.ResourceTypesServiceListResourceTypesResponse{ + return v2.ResourceTypesServiceListResourceTypesResponse_builder{ List: []*v2.ResourceType{}, - }, nil + }.Build(), nil } // ListResources returns a list of resources. func (n *emptyConnector) ListResources(ctx context.Context, request *v2.ResourcesServiceListResourcesRequest, opts ...grpc.CallOption) (*v2.ResourcesServiceListResourcesResponse, error) { - return &v2.ResourcesServiceListResourcesResponse{ + return v2.ResourcesServiceListResourcesResponse_builder{ List: []*v2.Resource{}, - }, nil + }.Build(), nil } func (n *emptyConnector) GetResource( @@ -48,16 +48,16 @@ func (n *emptyConnector) ListEntitlements( request *v2.EntitlementsServiceListEntitlementsRequest, opts ...grpc.CallOption, ) (*v2.EntitlementsServiceListEntitlementsResponse, error) { - return &v2.EntitlementsServiceListEntitlementsResponse{ + return v2.EntitlementsServiceListEntitlementsResponse_builder{ List: []*v2.Entitlement{}, - }, nil + }.Build(), nil } // ListGrants returns a list of grants. func (n *emptyConnector) ListGrants(ctx context.Context, request *v2.GrantsServiceListGrantsRequest, opts ...grpc.CallOption) (*v2.GrantsServiceListGrantsResponse, error) { - return &v2.GrantsServiceListGrantsResponse{ + return v2.GrantsServiceListGrantsResponse_builder{ List: []*v2.Grant{}, - }, nil + }.Build(), nil } func (n *emptyConnector) Grant(ctx context.Context, request *v2.GrantManagerServiceGrantRequest, opts ...grpc.CallOption) (*v2.GrantManagerServiceGrantResponse, error) { @@ -70,7 +70,7 @@ func (n *emptyConnector) Revoke(ctx context.Context, request *v2.GrantManagerSer // GetMetadata returns a connector metadata. func (n *emptyConnector) GetMetadata(ctx context.Context, request *v2.ConnectorServiceGetMetadataRequest, opts ...grpc.CallOption) (*v2.ConnectorServiceGetMetadataResponse, error) { - return &v2.ConnectorServiceGetMetadataResponse{Metadata: &v2.ConnectorMetadata{}}, nil + return v2.ConnectorServiceGetMetadataResponse_builder{Metadata: &v2.ConnectorMetadata{}}.Build(), nil } // Validate is called by the connector framework to validate the correct response. @@ -83,9 +83,9 @@ func (n *emptyConnector) BulkCreateTickets(ctx context.Context, request *v2.Tick } func (n *emptyConnector) BulkGetTickets(ctx context.Context, request *v2.TicketsServiceBulkGetTicketsRequest, opts ...grpc.CallOption) (*v2.TicketsServiceBulkGetTicketsResponse, error) { - return &v2.TicketsServiceBulkGetTicketsResponse{ + return v2.TicketsServiceBulkGetTicketsResponse_builder{ Tickets: []*v2.TicketsServiceGetTicketResponse{}, - }, nil + }.Build(), nil } func (n *emptyConnector) CreateTicket(ctx context.Context, request *v2.TicketsServiceCreateTicketRequest, opts ...grpc.CallOption) (*v2.TicketsServiceCreateTicketResponse, error) { @@ -97,9 +97,9 @@ func (n *emptyConnector) GetTicket(ctx context.Context, request *v2.TicketsServi } func (n *emptyConnector) ListTicketSchemas(ctx context.Context, request *v2.TicketsServiceListTicketSchemasRequest, opts ...grpc.CallOption) (*v2.TicketsServiceListTicketSchemasResponse, error) { - return &v2.TicketsServiceListTicketSchemasResponse{ + return v2.TicketsServiceListTicketSchemasResponse_builder{ List: []*v2.TicketSchema{}, - }, nil + }.Build(), nil } func (n *emptyConnector) GetTicketSchema(ctx context.Context, request *v2.TicketsServiceGetTicketSchemaRequest, opts ...grpc.CallOption) (*v2.TicketsServiceGetTicketSchemaResponse, error) { @@ -143,21 +143,21 @@ func (n *emptyConnector) InvokeAction(ctx context.Context, request *v2.InvokeAct } func (n *emptyConnector) ListActionSchemas(ctx context.Context, request *v2.ListActionSchemasRequest, opts ...grpc.CallOption) (*v2.ListActionSchemasResponse, error) { - return &v2.ListActionSchemasResponse{ + return v2.ListActionSchemasResponse_builder{ Schemas: []*v2.BatonActionSchema{}, - }, nil + }.Build(), nil } func (n *emptyConnector) ListEvents(ctx context.Context, request *v2.ListEventsRequest, opts ...grpc.CallOption) (*v2.ListEventsResponse, error) { - return &v2.ListEventsResponse{ + return v2.ListEventsResponse_builder{ Events: []*v2.Event{}, - }, nil + }.Build(), nil } func (n *emptyConnector) ListEventFeeds(ctx context.Context, request *v2.ListEventFeedsRequest, opts ...grpc.CallOption) (*v2.ListEventFeedsResponse, error) { - return &v2.ListEventFeedsResponse{ + return v2.ListEventFeedsResponse_builder{ List: []*v2.EventFeedMetadata{}, - }, nil + }.Build(), nil } // NewEmptyConnector returns a new emptyConnector. 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 d11ea07f..34ac93dd 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.34" +const Version = "v0.5.3" diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/session/README.md b/vendor/github.com/conductorone/baton-sdk/pkg/session/README.md new file mode 100644 index 00000000..e6ffee5d --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/session/README.md @@ -0,0 +1,14 @@ +# Session Cache Implementation + +This package provides session cache implementations for the Baton SDK. It includes both in-memory and gRPC-based implementations. + +## Overview + +The session cache is used to store temporary data during sync operations. It provides a key-value store interface with support for: + +- Basic CRUD operations (Get, Set, Delete, Clear) +- Batch operations (GetMany, SetMany) +- Namespace isolation using sync IDs +- Prefix support for key organization +- Context-based configuration +- An implemention will be chosen at runtime (the grpc interface will be used if the build tag is specified). \ No newline at end of file diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/session/json_session.go b/vendor/github.com/conductorone/baton-sdk/pkg/session/json_session.go new file mode 100644 index 00000000..9f0f4903 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/session/json_session.go @@ -0,0 +1,110 @@ +package session + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/conductorone/baton-sdk/pkg/types/sessions" +) + +// See GRPC validation rules for eg GetManyRequest. + +func GetManyJSON[T any](ctx context.Context, ss sessions.SessionStore, keys []string, opt ...sessions.SessionStoreOption) (map[string]T, error) { + allBytes, err := UnrollGetMany(ctx, ss, keys, opt...) + if err != nil { + return nil, err + } + + result := make(map[string]T) + for key, bytes := range allBytes { + var item T + err = json.Unmarshal(bytes, &item) + if err != nil { + return nil, fmt.Errorf("failed to unmarshal item for key %s: %w", key, err) + } + result[key] = item + } + + return result, nil +} + +func SetManyJSON[T any](ctx context.Context, ss sessions.SessionStore, items map[string]T, opt ...sessions.SessionStoreOption) error { + bytesMap := make(map[string][]byte) + + for key, item := range items { + bytes, err := json.Marshal(item) + if err != nil { + return fmt.Errorf("failed to marshal item for key %s: %w", key, err) + } + bytesMap[key] = bytes + } + + return UnrollSetMany(ctx, ss, bytesMap, opt...) +} + +func GetJSON[T any](ctx context.Context, ss sessions.SessionStore, key string, opt ...sessions.SessionStoreOption) (T, bool, error) { + var zero T + + // Get the raw bytes from cache + bytes, found, err := ss.Get(ctx, key, opt...) + if err != nil || !found { + return zero, found, err + } + + // Unmarshal to the generic type + var item T + err = json.Unmarshal(bytes, &item) + if err != nil { + return zero, false, err + } + + return item, true, nil +} + +func SetJSON[T any](ctx context.Context, ss sessions.SessionStore, key string, item T, opt ...sessions.SessionStoreOption) error { + // Marshal the item to JSON bytes + bytes, err := json.Marshal(item) + if err != nil { + return err + } + + // Store in cache + return ss.Set(ctx, key, bytes, opt...) +} + +func DeleteJSON(ctx context.Context, ss sessions.SessionStore, key string, opt ...sessions.SessionStoreOption) error { + return ss.Delete(ctx, key, opt...) +} + +func ClearJSON(ctx context.Context, ss sessions.SessionStore, opt ...sessions.SessionStoreOption) error { + return ss.Clear(ctx, opt...) +} + +func GetAllJSON[T any](ctx context.Context, ss sessions.SessionStore, opt ...sessions.SessionStoreOption) (map[string]T, error) { + result := make(map[string]T) + pageToken := "" + for { + rawMap, nextPageToken, err := ss.GetAll(ctx, pageToken, opt...) + if err != nil { + return nil, err + } + for key, bytes := range rawMap { + var item T + err = json.Unmarshal(bytes, &item) + if err != nil { + return nil, err + } + result[key] = item + } + if nextPageToken == "" { + break + } + if pageToken == nextPageToken { + return nil, fmt.Errorf("page token is the same as the next page token") + } + pageToken = nextPageToken + } + + return result, nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/session/session.go b/vendor/github.com/conductorone/baton-sdk/pkg/session/session.go new file mode 100644 index 00000000..6fb6b156 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/session/session.go @@ -0,0 +1,94 @@ +package session + +import ( + "context" + "fmt" + "iter" + "maps" + + "github.com/conductorone/baton-sdk/pkg/types/sessions" +) + +const MaxKeysPerRequest = 100 + +func Chunk[T any](items []T, chunkSize int) iter.Seq[[]T] { + return func(yield func([]T) bool) { + for i := 0; i < len(items); i += chunkSize { + end := min(i+chunkSize, len(items)) + if !yield(items[i:end]) { + return + } + } + } +} + +type GetManyable[T any] interface { + GetMany(ctx context.Context, keys []string, opt ...sessions.SessionStoreOption) (map[string]T, error) +} + +func UnrollGetMany[T any](ctx context.Context, ss GetManyable[T], keys []string, opt ...sessions.SessionStoreOption) (map[string]T, error) { + all := make(map[string]T) + // TODO(Kans): parallelize this? + for keys := range Chunk(keys, MaxKeysPerRequest) { + some, err := ss.GetMany(ctx, keys, opt...) + if err != nil { + return nil, err + } + maps.Copy(all, some) + } + return all, nil +} + +type SetManyable[T any] interface { + SetMany(ctx context.Context, values map[string]T, opt ...sessions.SessionStoreOption) error +} + +func UnrollSetMany[T any](ctx context.Context, ss SetManyable[T], items map[string]T, opt ...sessions.SessionStoreOption) error { + if len(items) <= MaxKeysPerRequest { + return ss.SetMany(ctx, items, opt...) + } + + keys := make([]string, 0, len(items)) + for key := range items { + keys = append(keys, key) + } + + // TODO(Kans): parallelize this? + for keyChunk := range Chunk(keys, MaxKeysPerRequest) { + some := make(map[string]T) + for _, key := range keyChunk { + some[key] = items[key] + } + err := ss.SetMany(ctx, some, opt...) + if err != nil { + return err + } + } + return nil +} + +type GetAllable[T any] interface { + GetAll(ctx context.Context, pageToken string, opt ...sessions.SessionStoreOption) (map[string]T, string, error) +} + +func UnrollGetAll[T any](ctx context.Context, ss GetAllable[T], opt ...sessions.SessionStoreOption) (map[string]T, error) { + pageToken := "" + all := make(map[string]T) + for { + // TODO(Kans): parallelize this? + some, nextPageToken, err := ss.GetAll(ctx, pageToken, opt...) + if err != nil { + return nil, err + } + maps.Copy(all, some) + if nextPageToken == "" { + break + } + if pageToken == nextPageToken { + return nil, fmt.Errorf("page token is the same as the next page token: %s", pageToken) + } + + pageToken = nextPageToken + } + return all, nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/session/session_client.go b/vendor/github.com/conductorone/baton-sdk/pkg/session/session_client.go new file mode 100644 index 00000000..7e71b725 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/session/session_client.go @@ -0,0 +1,308 @@ +package session + +import ( + "context" + "crypto/tls" + "crypto/x509" + "fmt" + "net" + "os" + "time" + + v1 "github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1" + "github.com/conductorone/baton-sdk/pkg/sdk" + "github.com/conductorone/baton-sdk/pkg/types/sessions" + dpop_grpc "github.com/conductorone/dpop/integrations/dpop_grpc" + "github.com/conductorone/dpop/pkg/dpop" + "github.com/go-jose/go-jose/v4" + "golang.org/x/oauth2" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials" +) + +var _ sessions.SessionStore = (*GRPCSessionStoreClient)(nil) + +type GRPCSessionStoreClient struct { + client v1.BatonSessionServiceClient +} + +// applyOptions applies session cache options and returns a configured bag. +func applyOptions(ctx context.Context, opt ...sessions.SessionStoreOption) (*sessions.SessionStoreBag, error) { + bag := &sessions.SessionStoreBag{} + + for _, option := range opt { + err := option(ctx, bag) + if err != nil { + return nil, err + } + } + + if bag.SyncID == "" { + return nil, fmt.Errorf("no syncID set in options") + } + + return bag, nil +} + +// NewGRPCSessionClient creates a new gRPC session service client using existing DPoP credentials. +// It reuses an existing access token and DPoP key instead of performing a new authentication round. +// It reads the session service address from the BATON_SESSION_SERVICE_ADDR environment variable, +// defaulting to "localhost:50051" if not set. +func NewGRPCSessionClient(ctx context.Context, accessToken string, dpopKey *jose.JSONWebKey, opt ...sessions.SessionStoreConstructorOption) (v1.BatonSessionServiceClient, error) { + // Apply constructor options + for _, option := range opt { + var err error + ctx, err = option(ctx) + if err != nil { + return nil, err + } + } + // Get the session service address from environment variable + addr := os.Getenv("BATON_SESSION_SERVICE_ADDR") + if addr == "" { + addr = "localhost:50051" + } + + // Validate the address format + host, port, err := net.SplitHostPort(addr) + if err != nil { + return nil, fmt.Errorf("invalid session service address %q: %w", addr, err) + } + if host == "" { + host = "localhost" + } + if port == "" { + port = "50051" + } + addr = net.JoinHostPort(host, port) + + // Create DPoP proofer using the provided key + proofer, err := dpop.NewProofer(dpopKey) + if err != nil { + return nil, fmt.Errorf("failed to create dpop proofer: %w", err) + } + + // Create a simple token source that returns the existing access token + tokenSource := &staticTokenSource{accessToken: accessToken} + + // Create DPoP credentials using the existing token and key + creds, err := dpop_grpc.NewDPoPCredentials(proofer, tokenSource, host, []dpop.ProofOption{ + dpop.WithValidityDuration(time.Minute * 5), + dpop.WithProofNowFunc(time.Now), + }) + if err != nil { + return nil, fmt.Errorf("failed to create dpop credentials: %w", err) + } + + // Create TLS transport credentials + systemCertPool, err := x509.SystemCertPool() + if err != nil || systemCertPool == nil { + return nil, fmt.Errorf("failed to load system cert pool: %w", err) + } + transportCreds := credentials.NewTLS(&tls.Config{ + RootCAs: systemCertPool, + MinVersion: tls.VersionTLS12, + }) + + // Create dial options + dialOpts := []grpc.DialOption{ + grpc.WithTransportCredentials(transportCreds), + grpc.WithUserAgent(fmt.Sprintf("baton-session/%s", sdk.Version)), + grpc.WithPerRPCCredentials(creds), + } + + // Create the gRPC connection + conn, err := grpc.DialContext(ctx, addr, dialOpts...) //nolint:staticcheck // grpc.DialContext is deprecated but we are using it still. + if err != nil { + return nil, fmt.Errorf("failed to connect to session service at %s: %w", addr, err) + } + + return v1.NewBatonSessionServiceClient(conn), nil +} + +type staticTokenSource struct { + accessToken string +} + +func (s *staticTokenSource) Token() (*oauth2.Token, error) { + return &oauth2.Token{ + AccessToken: s.accessToken, + TokenType: "DPoP", + }, nil +} + +// These functions are no longer needed since we're reusing existing credentials + +// NewGRPCSessionStore creates a new gRPC session cache instance. +func NewGRPCSessionStore(ctx context.Context, client v1.BatonSessionServiceClient, opt ...sessions.SessionStoreConstructorOption) (sessions.SessionStore, error) { + // Apply constructor options + for _, option := range opt { + var err error + ctx, err = option(ctx) + if err != nil { + return nil, err + } + } + + return &GRPCSessionStoreClient{ + client: client, + }, nil +} + +// Get retrieves a value from the cache by key. +func (g *GRPCSessionStoreClient) Get(ctx context.Context, key string, opt ...sessions.SessionStoreOption) ([]byte, bool, error) { + bag, err := applyOptions(ctx, opt...) + if err != nil { + return nil, false, err + } + + req := v1.GetRequest_builder{ + SyncId: bag.SyncID, + Key: key, + Prefix: bag.Prefix, + }.Build() + + resp, err := g.client.Get(ctx, req) + if err != nil { + return nil, false, fmt.Errorf("failed to get value from gRPC session cache: %w", err) + } + + if resp == nil { + return nil, false, nil + } + + return resp.GetValue(), true, nil +} + +// GetMany retrieves multiple values from the cache by keys. +func (g *GRPCSessionStoreClient) GetMany(ctx context.Context, keys []string, opt ...sessions.SessionStoreOption) (map[string][]byte, error) { + bag, err := applyOptions(ctx, opt...) + if err != nil { + return nil, err + } + + results := make(map[string][]byte) + resp, err := g.client.GetMany(ctx, v1.GetManyRequest_builder{ + SyncId: bag.SyncID, + Keys: keys, + Prefix: bag.Prefix, + }.Build()) + if err != nil { + return nil, fmt.Errorf("failed to get many values from gRPC session cache: %w", err) + } + + for _, item := range resp.Items { + results[item.Key] = item.Value + } + + return results, nil +} + +// Set stores a value in the cache with the given key. +func (g *GRPCSessionStoreClient) Set(ctx context.Context, key string, value []byte, opt ...sessions.SessionStoreOption) error { + bag, err := applyOptions(ctx, opt...) + if err != nil { + return err + } + + req := v1.SetRequest_builder{ + SyncId: bag.SyncID, + Key: key, + Value: value, + Prefix: bag.Prefix, + }.Build() + + _, err = g.client.Set(ctx, req) + if err != nil { + return fmt.Errorf("failed to set value in gRPC session cache: %w", err) + } + + return nil +} + +// SetMany stores multiple values in the cache. +func (g *GRPCSessionStoreClient) SetMany(ctx context.Context, values map[string][]byte, opt ...sessions.SessionStoreOption) error { + bag, err := applyOptions(ctx, opt...) + if err != nil { + return err + } + + _, err = g.client.SetMany(ctx, v1.SetManyRequest_builder{ + Values: values, + SyncId: bag.SyncID, + Prefix: bag.Prefix, + }.Build()) + if err != nil { + return fmt.Errorf("failed to set many values in gRPC session cache: %w", err) + } + + return nil +} + +// Delete removes a value from the cache by key. +func (g *GRPCSessionStoreClient) Delete(ctx context.Context, key string, opt ...sessions.SessionStoreOption) error { + bag, err := applyOptions(ctx, opt...) + if err != nil { + return err + } + + req := v1.DeleteRequest_builder{ + SyncId: bag.SyncID, + Key: key, + Prefix: bag.Prefix, + }.Build() + + _, err = g.client.Delete(ctx, req) + if err != nil { + return fmt.Errorf("failed to delete value from gRPC session cache: %w", err) + } + + return nil +} + +// Clear removes all values from the cache. +func (g *GRPCSessionStoreClient) Clear(ctx context.Context, opt ...sessions.SessionStoreOption) error { + bag, err := applyOptions(ctx, opt...) + if err != nil { + return err + } + + req := v1.ClearRequest_builder{ + SyncId: bag.SyncID, + Prefix: bag.Prefix, + }.Build() + + _, err = g.client.Clear(ctx, req) + if err != nil { + return fmt.Errorf("failed to clear gRPC session cache: %w", err) + } + + return nil +} + +func (g *GRPCSessionStoreClient) GetAll(ctx context.Context, pageToken string, opt ...sessions.SessionStoreOption) (map[string][]byte, string, error) { + bag, err := applyOptions(ctx, opt...) + if err != nil { + return nil, "", err + } + + result := make(map[string][]byte) + + req := v1.GetAllRequest_builder{ + SyncId: bag.SyncID, + PageToken: pageToken, + Prefix: bag.Prefix, + }.Build() + + resp, err := g.client.GetAll(ctx, req) + if err != nil { + return nil, "", fmt.Errorf("failed to get all values from gRPC session cache: %w", err) + } + + // Add items from this page to the result + for _, item := range resp.Items { + result[item.Key] = item.Value + } + + return result, resp.PageToken, nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/session/session_server.go b/vendor/github.com/conductorone/baton-sdk/pkg/session/session_server.go new file mode 100644 index 00000000..a91d0dd1 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/session/session_server.go @@ -0,0 +1,219 @@ +package session + +import ( + "context" + "fmt" + "log" + "net" + + v1 "github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1" + "github.com/conductorone/baton-sdk/pkg/types/sessions" + "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap" + "google.golang.org/grpc" +) + +var _ v1.BatonSessionServiceServer = (*GRPCSessionServer)(nil) + +type GRPCSessionServer struct { + // v1.UnimplementedBatonSessionServiceServer + store sessions.SessionStore +} + +func NewGRPCSessionServer() *GRPCSessionServer { + return &GRPCSessionServer{} +} + +type SetSessionStore interface { + SetSessionStore(ctx context.Context, store sessions.SessionStore) +} + +func (s *GRPCSessionServer) SetSessionStore(ctx context.Context, store sessions.SessionStore) { + s.store = store +} + +func (s *GRPCSessionServer) Validate() error { + if s.store == nil { + return fmt.Errorf("session store is not set") + } + + return nil +} + +func (s *GRPCSessionServer) Get(ctx context.Context, req *v1.GetRequest) (*v1.GetResponse, error) { + if err := s.Validate(); err != nil { + return nil, err + } + + value, found, err := s.store.Get(ctx, req.GetKey(), sessions.WithSyncID(req.GetSyncId()), sessions.WithPrefix(req.GetPrefix())) + if err != nil { + return nil, fmt.Errorf("failed to get value from cache: %w", err) + } + + if !found { + return v1.GetResponse_builder{ + Value: nil, + }.Build(), nil + } + + return v1.GetResponse_builder{ + Value: value, + }.Build(), nil +} + +func (s *GRPCSessionServer) GetMany(ctx context.Context, req *v1.GetManyRequest) (*v1.GetManyResponse, error) { + if err := s.Validate(); err != nil { + return nil, err + } + + values, err := s.store.GetMany( + ctx, + req.GetKeys(), + sessions.WithSyncID(req.GetSyncId()), + sessions.WithPrefix(req.GetPrefix()), + ) + if err != nil { + return nil, fmt.Errorf("failed to get many values from cache: %w", err) + } + + // Convert the map to items array + items := make([]*v1.GetManyItem, 0, len(values)) + for key, value := range values { + items = append(items, v1.GetManyItem_builder{ + Key: key, + Value: value, + }.Build()) + } + + return v1.GetManyResponse_builder{ + Items: items, + }.Build(), nil +} + +func (s *GRPCSessionServer) Set(ctx context.Context, req *v1.SetRequest) (*v1.SetResponse, error) { + if err := s.Validate(); err != nil { + return nil, err + } + + err := s.store.Set(ctx, req.GetKey(), req.GetValue(), sessions.WithSyncID(req.GetSyncId()), sessions.WithPrefix(req.GetPrefix())) + if err != nil { + return nil, fmt.Errorf("failed to set value in cache: %w", err) + } + + return &v1.SetResponse{}, nil +} + +func (s *GRPCSessionServer) SetMany(ctx context.Context, req *v1.SetManyRequest) (*v1.SetManyResponse, error) { + if err := s.Validate(); err != nil { + return nil, err + } + + err := s.store.SetMany(ctx, req.GetValues(), sessions.WithSyncID(req.GetSyncId()), sessions.WithPrefix(req.GetPrefix())) + if err != nil { + return nil, fmt.Errorf("failed to set many values in cache: %w", err) + } + + return &v1.SetManyResponse{}, nil +} + +func (s *GRPCSessionServer) Delete(ctx context.Context, req *v1.DeleteRequest) (*v1.DeleteResponse, error) { + if err := s.Validate(); err != nil { + return nil, err + } + + err := s.store.Delete(ctx, req.GetKey(), sessions.WithSyncID(req.GetSyncId()), sessions.WithPrefix(req.GetPrefix())) + if err != nil { + return nil, fmt.Errorf("failed to delete value from cache: %w", err) + } + + return &v1.DeleteResponse{}, nil +} + +func (s *GRPCSessionServer) DeleteMany(ctx context.Context, req *v1.DeleteManyRequest) (*v1.DeleteManyResponse, error) { + if err := s.Validate(); err != nil { + return nil, err + } + + for _, key := range req.GetKeys() { + err := s.store.Delete( + ctx, + key, + sessions.WithSyncID(req.GetSyncId()), + sessions.WithPrefix(req.GetPrefix()), + ) + if err != nil { + return nil, fmt.Errorf("failed to delete value for key %s: %w", key, err) + } + } + + return &v1.DeleteManyResponse{}, nil +} + +func (s *GRPCSessionServer) Clear(ctx context.Context, req *v1.ClearRequest) (*v1.ClearResponse, error) { + if s.store == nil { + // we sometimes clean up the session store after the connector is done + ctxzap.Extract(ctx).Warn("session store is not set") + return &v1.ClearResponse{}, nil + } + + err := s.store.Clear(ctx, sessions.WithSyncID(req.GetSyncId()), sessions.WithPrefix(req.GetPrefix())) + if err != nil { + return nil, fmt.Errorf("failed to clear cache: %w", err) + } + + return &v1.ClearResponse{}, nil +} + +func (s *GRPCSessionServer) GetAll(ctx context.Context, req *v1.GetAllRequest) (*v1.GetAllResponse, error) { + if err := s.Validate(); err != nil { + return nil, err + } + + values, nextPageToken, err := s.store.GetAll( + ctx, + req.PageToken, + sessions.WithSyncID(req.GetSyncId()), + sessions.WithPrefix(req.GetPrefix()), + ) + if err != nil { + return nil, fmt.Errorf("failed to get all values from cache: %w", err) + } + + // Convert the map to items array + items := make([]*v1.GetAllItem, 0, len(values)) + for key, value := range values { + items = append(items, v1.GetAllItem_builder{ + Key: key, + Value: value, + }.Build()) + } + + return v1.GetAllResponse_builder{ + Items: items, + PageToken: nextPageToken, + }.Build(), nil +} + +func StartGRPCSessionServerWithOptions(ctx context.Context, listener net.Listener, sessionServer v1.BatonSessionServiceServer, opts ...grpc.ServerOption) error { + // Create the gRPC server with custom options + server := grpc.NewServer(opts...) + + // Create and register the session service + v1.RegisterBatonSessionServiceServer(server, sessionServer) + + defer listener.Close() + + // Start serving + go func() { + if err := server.Serve(listener); err != nil { + log.Printf("gRPC session server failed: %v", err) + } + }() + + // Wait for context cancellation + <-ctx.Done() + + // Graceful shutdown + server.GracefulStop() + + return nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/session/typed_session.go b/vendor/github.com/conductorone/baton-sdk/pkg/session/typed_session.go new file mode 100644 index 00000000..43a2f4f8 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/session/typed_session.go @@ -0,0 +1,156 @@ +package session + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/conductorone/baton-sdk/pkg/types/sessions" +) + +type Codec[T any] interface { + Encode(value T) ([]byte, error) + Decode(data []byte) (T, error) +} + +type TypedSessionCache[T any] struct { + cache sessions.SessionStore + codec Codec[T] +} + +func NewTypedSessionCache[T any](cache sessions.SessionStore, codec Codec[T]) *TypedSessionCache[T] { + return &TypedSessionCache[T]{ + cache: cache, + codec: codec, + } +} + +func (t *TypedSessionCache[T]) Get(ctx context.Context, key string, opt ...sessions.SessionStoreOption) (T, bool, error) { + var zero T + data, found, err := t.cache.Get(ctx, key, opt...) + if err != nil { + return zero, false, err + } + if !found { + return zero, false, nil + } + + value, err := t.codec.Decode(data) + if err != nil { + return zero, false, fmt.Errorf("failed to decode value: %w", err) + } + + return value, true, nil +} + +func (t *TypedSessionCache[T]) Set(ctx context.Context, key string, value T, opt ...sessions.SessionStoreOption) error { + data, err := t.codec.Encode(value) + if err != nil { + return fmt.Errorf("failed to encode value: %w", err) + } + + return t.cache.Set(ctx, key, data, opt...) +} + +func (t *TypedSessionCache[T]) GetMany(ctx context.Context, keys []string, opt ...sessions.SessionStoreOption) (map[string]T, error) { + dataMap, err := t.cache.GetMany(ctx, keys, opt...) + if err != nil { + return nil, err + } + + result := make(map[string]T) + for key, data := range dataMap { + value, err := t.codec.Decode(data) + if err != nil { + return nil, fmt.Errorf("failed to decode value for key %s: %w", key, err) + } + result[key] = value + } + + return result, nil +} + +func (t *TypedSessionCache[T]) SetMany(ctx context.Context, values map[string]T, opt ...sessions.SessionStoreOption) error { + dataMap := make(map[string][]byte) + for key, value := range values { + data, err := t.codec.Encode(value) + if err != nil { + return fmt.Errorf("failed to encode value for key %s: %w", key, err) + } + dataMap[key] = data + } + + return t.cache.SetMany(ctx, dataMap, opt...) +} + +func (t *TypedSessionCache[T]) Delete(ctx context.Context, key string, opt ...sessions.SessionStoreOption) error { + return t.cache.Delete(ctx, key, opt...) +} + +func (t *TypedSessionCache[T]) Clear(ctx context.Context, opt ...sessions.SessionStoreOption) error { + return t.cache.Clear(ctx, opt...) +} + +func (t *TypedSessionCache[T]) GetAll(ctx context.Context, pageToken string, opt ...sessions.SessionStoreOption) (map[string]T, string, error) { + dataMap, pageToken, err := t.cache.GetAll(ctx, pageToken, opt...) + if err != nil { + return nil, "", err + } + + result := make(map[string]T) + for key, data := range dataMap { + value, err := t.codec.Decode(data) + if err != nil { + return nil, "", fmt.Errorf("failed to decode value for key %s: %w", key, err) + } + result[key] = value + } + + return result, pageToken, nil +} + +type JSONCodec[T any] struct{} + +func (j *JSONCodec[T]) Encode(value T) ([]byte, error) { + return json.Marshal(value) +} + +func (j *JSONCodec[T]) Decode(data []byte) (T, error) { + var value T + err := json.Unmarshal(data, &value) + return value, err +} + +type StringCodec struct{} + +func (s *StringCodec) Encode(value string) ([]byte, error) { + return []byte(value), nil +} + +func (s *StringCodec) Decode(data []byte) (string, error) { + return string(data), nil +} + +type IntCodec struct{} + +func (i *IntCodec) Encode(value int) ([]byte, error) { + return []byte(fmt.Sprintf("%d", value)), nil +} + +func (i *IntCodec) Decode(data []byte) (int, error) { + var value int + _, err := fmt.Sscanf(string(data), "%d", &value) + return value, err +} + +func NewJSONSessionCache[T any](cache sessions.SessionStore) *TypedSessionCache[T] { + return NewTypedSessionCache(cache, &JSONCodec[T]{}) +} + +func NewStringSessionCache(cache sessions.SessionStore) *TypedSessionCache[string] { + return NewTypedSessionCache(cache, &StringCodec{}) +} + +func NewIntSessionCache(cache sessions.SessionStore) *TypedSessionCache[int] { + return NewTypedSessionCache(cache, &IntCodec{}) +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/sync/expand/cycle.go b/vendor/github.com/conductorone/baton-sdk/pkg/sync/expand/cycle.go index 292d0261..52e2ba4c 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/sync/expand/cycle.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/sync/expand/cycle.go @@ -1,114 +1,114 @@ package expand import ( - mapset "github.com/deckarep/golang-set/v2" -) + "context" -const ( - colorWhite uint8 = iota - colorGray - colorBlack + "github.com/conductorone/baton-sdk/pkg/sync/expand/scc" + mapset "github.com/deckarep/golang-set/v2" ) -// cycleDetector encapsulates coloring state for cycle detection on an -// EntitlementGraph. Node IDs are dense (1..NextNodeID), so slices are used for -// O(1) access and zero per-op allocations. -type cycleDetector struct { - g *EntitlementGraph - state []uint8 - parent []int -} - -func newCycleDetector(g *EntitlementGraph) *cycleDetector { - cd := &cycleDetector{ - g: g, - state: make([]uint8, g.NextNodeID+1), - parent: make([]int, g.NextNodeID+1), +// GetFirstCycle given an entitlements graph, return a cycle by node ID if it +// exists. Returns nil if no cycle exists. If there is a single +// node pointing to itself, that will count as a cycle. +func (g *EntitlementGraph) GetFirstCycle(ctx context.Context) []int { + if g.HasNoCycles { + return nil } - for i := range cd.parent { - cd.parent[i] = -1 + comps, _ := g.ComputeCyclicComponents(ctx) + if len(comps) == 0 { + return nil } - return cd + return comps[0] } -// dfs performs a coloring-based DFS from u, returning the first detected cycle -// as a slice of node IDs or nil if no cycle is reachable from u. -func (cd *cycleDetector) dfs(u int) ([]int, bool) { - // Self-loop fast path. - if nbrs, ok := cd.g.SourcesToDestinations[u]; ok { - if _, ok := nbrs[u]; ok { - return []int{u}, true - } +// HasCycles returns true if the graph contains any cycle. +func (g *EntitlementGraph) HasCycles(ctx context.Context) bool { + if g.HasNoCycles { + return false } + comps, _ := g.ComputeCyclicComponents(ctx) + return len(comps) > 0 +} - cd.state[u] = colorGray - if nbrs, ok := cd.g.SourcesToDestinations[u]; ok { - for v := range nbrs { - switch cd.state[v] { - case colorWhite: - cd.parent[v] = u - if cyc, ok := cd.dfs(v); ok { - return cyc, true - } - case colorGray: - // Back-edge to a node on the current recursion stack. - // Reconstruct cycle by walking parents from u back to v (inclusive), then reverse. - cycle := make([]int, 0, 8) - for x := u; ; x = cd.parent[x] { - cycle = append(cycle, x) - if x == v || cd.parent[x] == -1 { - break - } - } - for i, j := 0, len(cycle)-1; i < j; i, j = i+1, j-1 { - cycle[i], cycle[j] = cycle[j], cycle[i] - } - return cycle, true - } +func (g *EntitlementGraph) cycleDetectionHelper( + ctx context.Context, + nodeID int, +) ([]int, bool) { + reach := g.reachableFrom(nodeID) + if len(reach) == 0 { + return nil, false + } + fg := filteredGraph{g: g, include: func(id int) bool { _, ok := reach[id]; return ok }} + groups, _ := scc.CondenseFWBW(ctx, fg, scc.DefaultOptions()) + for _, comp := range groups { + if len(comp) > 1 || (len(comp) == 1 && g.hasSelfLoop(comp[0])) { + return comp, true } } - cd.state[u] = colorBlack return nil, false } -// FindAny scans all nodes and returns the first detected cycle or nil if none exist. -func (cd *cycleDetector) FindAny() []int { - for nodeID := range cd.g.Nodes { - if cd.state[nodeID] != colorWhite { - continue - } - if cyc, ok := cd.dfs(nodeID); ok { - return cyc +func (g *EntitlementGraph) FixCycles(ctx context.Context) error { + comps, _ := g.ComputeCyclicComponents(ctx) + return g.FixCyclesFromComponents(ctx, comps) +} + +// ComputeCyclicComponents runs SCC once and returns only cyclic components. +// A component is cyclic if len>1 or a singleton with a self-loop. +func (g *EntitlementGraph) ComputeCyclicComponents(ctx context.Context) ([][]int, *scc.Metrics) { + if g.HasNoCycles { + return nil, nil + } + groups, metrics := scc.CondenseFWBW(ctx, g, scc.DefaultOptions()) + cyclic := make([][]int, 0) + for _, comp := range groups { + if len(comp) > 1 || (len(comp) == 1 && g.hasSelfLoop(comp[0])) { + cyclic = append(cyclic, comp) } } - return nil + return cyclic, metrics } -// FindFrom starts cycle detection from a specific node and returns the first -// cycle reachable from that node, or nil,false if none. -func (cd *cycleDetector) FindFrom(start int) ([]int, bool) { - return cd.dfs(start) +// hasSelfLoop reports whether a node has a self-edge. +func (g *EntitlementGraph) hasSelfLoop(id int) bool { + if row, ok := g.SourcesToDestinations[id]; ok { + _, ok := row[id] + return ok + } + return false } -// GetFirstCycle given an entitlements graph, return a cycle by node ID if it -// exists. Returns nil if no cycle exists. If there is a single -// node pointing to itself, that will count as a cycle. -func (g *EntitlementGraph) GetFirstCycle() []int { - if g.HasNoCycles { - return nil +// filteredGraph restricts EntitlementGraph iteration to nodes for which include(id) is true. +type filteredGraph struct { + g *EntitlementGraph + include func(int) bool +} + +func (fg filteredGraph) ForEachNode(fn func(id int) bool) { + for id := range fg.g.Nodes { + if fg.include != nil && !fg.include(id) { + continue + } + if !fn(id) { + return + } } - cd := newCycleDetector(g) - return cd.FindAny() } -func (g *EntitlementGraph) cycleDetectionHelper( - nodeID int, -) ([]int, bool) { - // Thin wrapper around the coloring-based DFS, starting from a specific node. - // The provided visited/currentCycle are ignored here; coloring provides the - // necessary state for correctness and performance. - cd := newCycleDetector(g) - return cd.FindFrom(nodeID) +func (fg filteredGraph) ForEachEdgeFrom(src int, fn func(dst int) bool) { + if fg.include != nil && !fg.include(src) { + return + } + if dsts, ok := fg.g.SourcesToDestinations[src]; ok { + for dst := range dsts { + if fg.include != nil && !fg.include(dst) { + continue + } + if !fn(dst) { + return + } + } + } } // removeNode obliterates a node and all incoming/outgoing edges. @@ -145,30 +145,33 @@ func (g *EntitlementGraph) removeNode(nodeID int) { delete(g.SourcesToDestinations, nodeID) } -// FixCycles if any cycles of nodes exist, merge all nodes in that cycle into a -// single node and then repeat. Iteration ends when there are no more cycles. -func (g *EntitlementGraph) FixCycles() error { +// FixCyclesFromComponents merges all provided cyclic components in one pass. +func (g *EntitlementGraph) FixCyclesFromComponents(ctx context.Context, cyclic [][]int) error { if g.HasNoCycles { return nil } - cycle := g.GetFirstCycle() - if cycle == nil { + if len(cyclic) == 0 { g.HasNoCycles = true return nil } - - if err := g.fixCycle(cycle); err != nil { - return err + for _, comp := range cyclic { + select { + case <-ctx.Done(): + return ctx.Err() + default: + } + if err := g.fixCycle(comp); err != nil { + return err + } } - - // Recurse! - return g.FixCycles() + g.HasNoCycles = true + return nil } // fixCycle takes a list of Node IDs that form a cycle and merges them into a // single, new node. func (g *EntitlementGraph) fixCycle(nodeIDs []int) error { - entitlementIDs := mapset.NewSet[string]() + entitlementIDs := mapset.NewThreadUnsafeSet[string]() outgoingEdgesToResourceTypeIDs := map[int]mapset.Set[string]{} incomingEdgesToResourceTypeIDs := map[int]mapset.Set[string]{} for _, nodeID := range nodeIDs { @@ -184,7 +187,7 @@ func (g *EntitlementGraph) fixCycle(nodeIDs []int) error { if edge, ok := g.Edges[edgeID]; ok { resourceTypeIDs, ok := incomingEdgesToResourceTypeIDs[sourceNodeID] if !ok { - resourceTypeIDs = mapset.NewSet[string]() + resourceTypeIDs = mapset.NewThreadUnsafeSet[string]() } for _, resourceTypeID := range edge.ResourceTypeIDs { resourceTypeIDs.Add(resourceTypeID) @@ -200,7 +203,7 @@ func (g *EntitlementGraph) fixCycle(nodeIDs []int) error { if edge, ok := g.Edges[edgeID]; ok { resourceTypeIDs, ok := outgoingEdgesToResourceTypeIDs[destinationNodeID] if !ok { - resourceTypeIDs = mapset.NewSet[string]() + resourceTypeIDs = mapset.NewThreadUnsafeSet[string]() } for _, resourceTypeID := range edge.ResourceTypeIDs { resourceTypeIDs.Add(resourceTypeID) diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/sync/expand/graph.go b/vendor/github.com/conductorone/baton-sdk/pkg/sync/expand/graph.go index 8696b6d4..851c5f77 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/sync/expand/graph.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/sync/expand/graph.go @@ -4,6 +4,7 @@ import ( "context" v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" + "github.com/conductorone/baton-sdk/pkg/sync/expand/scc" "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap" "go.uber.org/zap" ) @@ -155,7 +156,7 @@ func (g *EntitlementGraph) HasEntitlement(entitlementID string) bool { // AddEntitlement - add an entitlement's ID as an unconnected node in the graph. func (g *EntitlementGraph) AddEntitlement(entitlement *v2.Entitlement) { // If the entitlement is already in the graph, fail silently. - found := g.GetNode(entitlement.Id) + found := g.GetNode(entitlement.GetId()) if found != nil { return } @@ -167,12 +168,12 @@ func (g *EntitlementGraph) AddEntitlement(entitlement *v2.Entitlement) { // Create a new node. node := Node{ Id: g.NextNodeID, - EntitlementIDs: []string{entitlement.Id}, + EntitlementIDs: []string{entitlement.GetId()}, } // Add the node to the data structures. g.Nodes[node.Id] = node - g.EntitlementsToNodes[entitlement.Id] = node.Id + g.EntitlementsToNodes[entitlement.GetId()] = node.Id } // GetEntitlements returns a combined list of _all_ entitlements from all nodes. @@ -309,3 +310,58 @@ func (g *EntitlementGraph) DeleteEdge(ctx context.Context, srcEntitlementID stri } return nil } + +// toAdjacency builds an adjacency map for SCC. If nodesSubset is non-nil, only +// include those nodes (and edges between them). Always include all nodes in the +// subset as keys, even if they have zero outgoing edges. +// toAdjacency removed: use SCC via scc.Source on EntitlementGraph + +var _ scc.Source = (*EntitlementGraph)(nil) + +// ForEachNode implements scc.Source iteration over nodes (including isolated nodes). +// It does not import scc; matching the method names/signatures is sufficient. +func (g *EntitlementGraph) ForEachNode(fn func(id int) bool) { + for id := range g.Nodes { + if !fn(id) { + return + } + } +} + +// ForEachEdgeFrom implements scc.Source iteration of outgoing edges for src. +// It enumerates unique destination node IDs. +func (g *EntitlementGraph) ForEachEdgeFrom(src int, fn func(dst int) bool) { + if dsts, ok := g.SourcesToDestinations[src]; ok { + for dst := range dsts { + if !fn(dst) { + return + } + } + } +} + +// reachableFrom computes the set of node IDs reachable from start over +// SourcesToDestinations using an iterative BFS. +func (g *EntitlementGraph) reachableFrom(start int) map[int]struct{} { + if _, ok := g.Nodes[start]; !ok { + return nil + } + visited := make(map[int]struct{}, 16) + queue := make([]int, 0, 16) + queue = append(queue, start) + visited[start] = struct{}{} + for len(queue) > 0 { + u := queue[0] + queue = queue[1:] + if nbrs, ok := g.SourcesToDestinations[u]; ok { + for v := range nbrs { + if _, seen := visited[v]; seen { + continue + } + visited[v] = struct{}{} + queue = append(queue, v) + } + } + } + return visited +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/sync/expand/scc/bitset.go b/vendor/github.com/conductorone/baton-sdk/pkg/sync/expand/scc/bitset.go new file mode 100644 index 00000000..33c910f8 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/sync/expand/scc/bitset.go @@ -0,0 +1,131 @@ +package scc + +import ( + "math/bits" + "sync/atomic" +) + +// bitset is a packed, atomically updatable bitset. +// +// Concurrency notes: +// - Only testAndSetAtomic and clearAtomic are safe concurrently. +// - All other methods must not race with writers. +// - Slice storage aligns on 64-bit boundaries for atomic ops. +type bitset struct{ w []uint64 } + +func newBitset(n int) *bitset { + if n <= 0 { + return &bitset{} + } + return &bitset{w: make([]uint64, (n+63)>>6)} +} + +func (b *bitset) test(i int) bool { + if i < 0 { + return false + } + w := i >> 6 + if w >= len(b.w) { + return false + } + return (b.w[w] & (1 << (uint(i) & 63))) != 0 +} + +// set sets the bit at index i. +func (b *bitset) set(i int) { + if i < 0 { + return + } + w := i >> 6 + if w >= len(b.w) { + return + } + b.w[w] |= 1 << (uint(i) & 63) +} + +// testAndSetAtomic sets the bit at index i and returns true if the bit was already set, false otherwise. +func (b *bitset) testAndSetAtomic(i int) bool { + if i < 0 { + return false + } + w := i >> 6 + if w >= len(b.w) { + return false + } + mask := uint64(1) << (uint(i) & 63) + addr := &b.w[w] + for { + old := atomic.LoadUint64(addr) + if old&mask != 0 { + return true + } + if atomic.CompareAndSwapUint64(addr, old, old|mask) { + return false + } + } +} + +func (b *bitset) clearAtomic(i int) { + if i < 0 { + return + } + w := i >> 6 + if w >= len(b.w) { + return + } + mask := ^(uint64(1) << (uint(i) & 63)) + addr := &b.w[w] + for { + old := atomic.LoadUint64(addr) + if atomic.CompareAndSwapUint64(addr, old, old&mask) { + return + } + } +} + +func (b *bitset) clone() *bitset { + cp := &bitset{w: make([]uint64, len(b.w))} + copy(cp.w, b.w) + return cp +} + +func (b *bitset) and(x *bitset) *bitset { + for i := range b.w { + b.w[i] &= x.w[i] + } + return b +} + +func (b *bitset) or(x *bitset) *bitset { + for i := range b.w { + b.w[i] |= x.w[i] + } + return b +} + +func (b *bitset) andNot(x *bitset) *bitset { + for i := range b.w { + b.w[i] &^= x.w[i] + } + return b +} + +func (b *bitset) isEmpty() bool { + for _, w := range b.w { + if w != 0 { + return false + } + } + return true +} + +func (b *bitset) forEachSet(fn func(i int)) { + for wi, w := range b.w { + for w != 0 { + tz := bits.TrailingZeros64(w) + i := (wi << 6) + tz + fn(i) + w &^= 1 << uint(tz) //nolint:gosec // trailing zeros is non-negative + } + } +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/sync/expand/scc/scc.go b/vendor/github.com/conductorone/baton-sdk/pkg/sync/expand/scc/scc.go new file mode 100644 index 00000000..5059aa72 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/sync/expand/scc/scc.go @@ -0,0 +1,649 @@ +// Package scc provides an iterative FW–BW SCC condensation for directed graphs, +// adapted for Baton’s entitlement graph. It builds an immutable CSR + transpose, +// runs reachability-based SCC with a stack-based driver (no recursion, BFS may +// run in parallel), and returns components as groups of your original node IDs. +package scc + +// Iterative FW–BW SCC condensation for directed graphs. +// +// High-level algorithm: Build CSR + transpose; maintain a LIFO stack of +// subproblems (bitset masks). For each mask: +// 1) Trim sources/sinks repeatedly; each peeled vertex is a singleton SCC. +// 2) Pick a pivot (lowest-index active vertex), run forward/backward BFS +// restricted to the mask to get F and B. +// 3) The SCC is C = F ∩ B. Assign its component id and clear those bits +// from the mask. +// 4) Partition the remaining mask into F\C, B\C, and U = mask \ (F ∪ B), +// and push the non-empty masks onto the stack in a deterministic order. +// +// Parallelism is contained inside BFS (bounded by Options.MaxWorkers) and no +// recursive goroutines are spawned by the driver. Determinism is achieved via +// deterministic CSR construction (sorted ids and neighbors) and by using the +// lowest-index active pivot with a fixed child-push order. + +import ( + "context" + "runtime" + "sort" + "sync" + "time" +) + +// Options controls SCC execution. +// +// MaxWorkers bounds BFS concurrency per level. Deterministic toggles stable +// CSR index assignment and neighbor ordering. +type Options struct { + MaxWorkers int + Deterministic bool +} + +// DefaultOptions returns a sensible baseline. +func DefaultOptions() Options { + return Options{ + MaxWorkers: runtime.GOMAXPROCS(0), + Deterministic: false, + } +} + +// CSR is a compact adjacency for G and its transpose Gᵗ. +// Indices are 0..N-1; IdxToNodeID maps back to the original node IDs. +// +// Invariants (validated by validateCSR): +// - len(Row) == N+1; Row[0] == 0; Row is non-decreasing; Row[N] == len(Col) +// - len(TRow) == N+1; TRow[0] == 0; TRow is non-decreasing; TRow[N] == len(TCol) +// - 0 <= Col[p] < N for all p; 0 <= TCol[p] < N for all p +// - len(IdxToNodeID) == N; NodeIDToIdx[IdxToNodeID[i]] == i for all i +// - For each v, (TRow[v+1]-TRow[v]) equals the number of occurrences of v in Col +// (transpose degree matches inbound counts) +type CSR struct { + N int + Row []int // len N+1 + Col []int // len = m, m = Row[N] + TRow []int // len N+1 + TCol []int // len = m, m = TRow[N] + IdxToNodeID []int // len N +} + +// Source is a minimal read-only graph provider used to build CSR without +// materializing an intermediate adjacency map. It must enumerate all nodes +// (including isolated nodes) and for each node provide its unique outgoing +// destinations. +type Source interface { + ForEachNode(fn func(id int) bool) + ForEachEdgeFrom(src int, fn func(dst int) bool) +} + +// Metrics captures a few summary counters for a condense run. +type Metrics struct { + Nodes int + Edges int + Components int + Peeled int + MasksProcessed int + MasksPushed int + BFScalls int + Duration time.Duration + MaxWorkers int + Deterministic bool +} + +// CondenseFWBW runs SCC directly from a streaming Source. Preferred entry point. +func CondenseFWBW(ctx context.Context, src Source, opts Options) ([][]int, *Metrics) { + if opts.MaxWorkers <= 0 { + opts.MaxWorkers = runtime.GOMAXPROCS(0) + } + start := time.Now() + csr := buildCSRFromSource(src, opts) + metrics := Metrics{ + Nodes: csr.N, + Edges: len(csr.Col), + MaxWorkers: opts.MaxWorkers, + Deterministic: opts.Deterministic, + } + comp := make([]int, csr.N) + for i := range comp { + comp[i] = -1 + } + nextID := sccFWBWIterative(ctx, csr, comp, opts, &metrics) + + groups := make([][]int, nextID) + for idx := range csr.N { + cid := comp[idx] + if cid < 0 { + cid = nextID + nextID++ + comp[idx] = cid + if cid >= len(groups) { + tmp := make([][]int, cid+1) + copy(tmp, groups) + groups = tmp + } + } + groups[cid] = append(groups[cid], csr.IdxToNodeID[idx]) + } + metrics.Components = nextID + metrics.Duration = time.Since(start) + return groups, &metrics +} + +// buildCSRFromSource constructs CSR/transpose from a Source without +// materializing an intermediate adjacency map. If opts.Deterministic, node IDs +// are sorted and per-row neighbors are written in ascending order. +func buildCSRFromSource(src Source, opts Options) *CSR { + // 1) Collect nodes + nodes := make([]int, 0, 1024) + src.ForEachNode(func(id int) bool { + nodes = append(nodes, id) + return true + }) + if opts.Deterministic { + sort.Ints(nodes) + } + id2idx := make(map[int]int, len(nodes)) + for i, id := range nodes { + id2idx[id] = i + } + n := len(nodes) + + // 2) Count out-degrees and total edges + outDeg := make([]int, n) + m := 0 + for i := range n { + srcID := nodes[i] + src.ForEachEdgeFrom(srcID, func(dst int) bool { + j, ok := id2idx[dst] + if !ok { + return true + } + _ = j // only used to validate membership + outDeg[i]++ + m++ + return true + }) + } + + // 3) Allocate Row/Col + row := make([]int, n+1) + for i := range n { + row[i+1] = row[i] + outDeg[i] + } + col := make([]int, m) + cur := make([]int, n) + copy(cur, row) + + // 4) Fill rows + if opts.Deterministic { + for i := range n { + srcID := nodes[i] + neighbors := make([]int, 0, outDeg[i]) + src.ForEachEdgeFrom(srcID, func(dst int) bool { + if j, ok := id2idx[dst]; ok { + neighbors = append(neighbors, j) + } + return true + }) + sort.Ints(neighbors) + off := cur[i] + copy(col[off:off+len(neighbors)], neighbors) + cur[i] += len(neighbors) + } + } else { + for i := range n { + srcID := nodes[i] + src.ForEachEdgeFrom(srcID, func(dst int) bool { + if j, ok := id2idx[dst]; ok { + pos := cur[i] + col[pos] = j + cur[i] = pos + 1 + } + return true + }) + } + } + + // 5) Transpose + inDeg := make([]int, n) + for _, v := range col { + inDeg[v]++ + } + trow := make([]int, n+1) + for i := range n { + trow[i+1] = trow[i] + inDeg[i] + } + tcol := make([]int, m) + tcur := make([]int, n) + copy(tcur, trow) + for u := range n { + start, end := row[u], row[u+1] + for p := start; p < end; p++ { + v := col[p] + pos := tcur[v] + tcol[pos] = u + tcur[v] = pos + 1 + } + } + + csr := &CSR{ + N: n, + Row: row, + Col: col, + TRow: trow, + TCol: tcol, + IdxToNodeID: nodes, + } + validateCSR(csr) + return csr +} + +// validateCSR performs internal consistency checks on CSR and panics +// with a descriptive message when a violation is found. This is intended to +// catch programmer errors at build time and in tests; it runs unconditionally. +func validateCSR(csr *CSR) { + if csr == nil { + panic("scc: CSR is nil") + } + n := csr.N + if n < 0 { + panic("scc: CSR.N is negative") + } + if len(csr.Row) != n+1 { + panic("scc: len(Row) != N+1") + } + if len(csr.TRow) != n+1 { + panic("scc: len(TRow) != N+1") + } + if len(csr.IdxToNodeID) != n { + panic("scc: len(IdxToNodeID) != N") + } + // Row invariants and degree sums + if csr.Row[0] != 0 { + panic("scc: Row[0] != 0") + } + for i := range len(csr.Row) - 1 { + if csr.Row[i] > csr.Row[i+1] { + panic("scc: Row is not non-decreasing") + } + } + m := csr.Row[n] + if m != len(csr.Col) { + panic("scc: Row[N] != len(Col)") + } + // TRow invariants + if csr.TRow[0] != 0 { + panic("scc: TRow[0] != 0") + } + for i := range len(csr.TRow) - 1 { + if csr.TRow[i] > csr.TRow[i+1] { + panic("scc: TRow is not non-decreasing") + } + } + mt := csr.TRow[n] + if mt != len(csr.TCol) { + panic("scc: TRow[N] != len(TCol)") + } + // Col bounds + for p := range len(csr.Col) { + v := csr.Col[p] + if v < 0 || v >= n { + panic("scc: Col index out of range") + } + } + for p := range len(csr.TCol) { + v := csr.TCol[p] + if v < 0 || v >= n { + panic("scc: TCol index out of range") + } + } + // NodeID mapping bijection check removed: CSR does not store NodeIDToIdx. + // Transpose degree equals inbound counts + inDeg := make([]int, n) + for _, v := range csr.Col { + inDeg[v]++ + } + for v := range n { + expected := inDeg[v] + span := csr.TRow[v+1] - csr.TRow[v] + if span != expected { + panic("scc: transpose degree mismatch") + } + } +} + +// bitset moved to bitset.go + +// sccFWBWIterative implements the driver loop described at the top. +func sccFWBWIterative(ctx context.Context, csr *CSR, comp []int, opts Options, metrics *Metrics) int { + nextID := 0 + + // Initialize root mask with all vertices. + root := newBitset(csr.N) + for i := range csr.N { + root.set(i) + } + + type item struct{ mask *bitset } + stack := make([]item, 0, 64) + stack = append(stack, item{mask: root}) + + for len(stack) > 0 { + select { + case <-ctx.Done(): + return nextID + default: + } + + it := stack[len(stack)-1] + stack = stack[:len(stack)-1] + active := it.mask + if metrics != nil { + metrics.MasksProcessed++ + } + + // Trim loop: peel sources/sinks; each peeled vertex becomes its own SCC. + for { + if n := trimSingletons(csr, active, comp, &nextID); n == 0 { + break + } else if metrics != nil { + metrics.Peeled += n + } + if active.isEmpty() { + break + } + } + if active.isEmpty() { + continue + } + + // Pivot and BFS (restricted to active mask). + pivot := firstActive(active) + f := bfsMultiSource(ctx, csr, []int{pivot}, active, false, opts.MaxWorkers) + b := bfsMultiSource(ctx, csr, []int{pivot}, active, true, opts.MaxWorkers) + if metrics != nil { + metrics.BFScalls += 2 + } + + // Component and partition masks. + c := f.clone().and(b) + assignComponent(c, comp, &nextID, active) + + fNotC := f.clone().andNot(c) + bNotC := b.clone().andNot(c) + fOrB := f.clone().or(b) + u := active.clone().andNot(fOrB) + + // assignComponent cleared C from 'active'; child masks are disjoint subsets + // of the original mask. Push children in a fixed order for determinism. + pushes := 0 + if !u.isEmpty() { + stack = append(stack, item{mask: u}) + pushes++ + } + if !bNotC.isEmpty() { + stack = append(stack, item{mask: bNotC}) + pushes++ + } + if !fNotC.isEmpty() { + stack = append(stack, item{mask: fNotC}) + pushes++ + } + if metrics != nil { + metrics.MasksPushed += pushes + } + } + + return nextID +} + +// bfsMultiSource runs a parallel BFS from sources over csr. +// If useTranspose is true, traverses csr.T* arrays. Traversal respects +// 'active' mask; returns visited including sources. +// Cancellation: checks ctx between levels. +func bfsMultiSource(ctx context.Context, csr *CSR, sources []int, active *bitset, useTranspose bool, maxWorkers int) *bitset { + if maxWorkers <= 0 { + maxWorkers = runtime.GOMAXPROCS(0) + } + visited := newBitset(csr.N) + frontier := frontierSeed(sources, active, visited) + if len(frontier) == 0 { + return visited + } + + getRow := func(u int) (int, int) { + if useTranspose { + return csr.TRow[u], csr.TRow[u+1] + } + return csr.Row[u], csr.Row[u+1] + } + getCol := func(p int) int { + if useTranspose { + return csr.TCol[p] + } + return csr.Col[p] + } + + for len(frontier) > 0 { + select { + case <-ctx.Done(): + return visited + default: + } + + workers := min(maxWorkers, len(frontier)) + var wg sync.WaitGroup + wg.Add(workers) + + chunkSize := (len(frontier) + workers - 1) / workers + nextBuckets := make([][]int, workers) + + for w := 0; w < workers; w++ { + start := w * chunkSize + end := start + chunkSize + if start >= len(frontier) { + wg.Done() + continue + } + end = min(end, len(frontier)) + + w := w // capture + go func(start, end int) { + defer wg.Done() + local := make([]int, 0, 256) + for i := start; i < end; i++ { + u := frontier[i] + rs, re := getRow(u) + for p := rs; p < re; p++ { + v := getCol(p) + if !active.test(v) { + continue + } + if !visited.testAndSetAtomic(v) { + local = append(local, v) + } + } + } + nextBuckets[w] = local + }(start, end) + } + wg.Wait() + + total := 0 + for _, b := range nextBuckets { + total += len(b) + } + next := make([]int, total) + off := 0 + for _, b := range nextBuckets { + copy(next[off:], b) + off += len(b) + } + frontier = next + } + + return visited +} + +func frontierSeed(sources []int, active, visited *bitset) []int { + out := make([]int, 0, len(sources)) + for _, s := range sources { + if s < 0 { + continue + } + if !active.test(s) { + continue + } + if visited.testAndSetAtomic(s) { + continue + } + out = append(out, s) + } + return out +} + +func firstActive(active *bitset) int { + pivot := -1 + active.forEachSet(func(i int) { + if pivot == -1 { + pivot = i + } + }) + return pivot +} + +// assignComponent writes comp ids for cMask, and clears those vertices from 'active'. +func assignComponent(cMask *bitset, comp []int, nextID *int, active *bitset) { + if cMask.isEmpty() { + return + } + cid := *nextID + *nextID++ + cMask.forEachSet(func(i int) { + comp[i] = cid + active.clearAtomic(i) + }) +} + +// Degree-array pool for trim to reduce allocations for small graphs. +var ( + intSlicePool sync.Pool // *([]int) +) + +func getIntSlice(n int) []int { + p, _ := intSlicePool.Get().(*[]int) + if p == nil || cap(*p) < n { + return make([]int, n) + } + s := (*p)[:n] + for i := range s { + s[i] = 0 + } + return s +} + +func putIntSlice(s []int) { + // avoid keeping very large slices + if cap(s) > 1<<14 { + return + } + intSlicePool.Put(&s) +} + +// trimSingletons peels vertices with restricted in/out degree within 'active'. +// Each peeled vertex becomes its own SCC id. Returns count peeled. +func trimSingletons(csr *CSR, active *bitset, comp []int, nextID *int) int { + n := csr.N + inDeg := getIntSlice(n) + outDeg := getIntSlice(n) + defer func() { putIntSlice(inDeg); putIntSlice(outDeg) }() + + // Out-degree within active. + for u := range n { + if !active.test(u) { + continue + } + rs, re := csr.Row[u], csr.Row[u+1] + d := 0 + for p := rs; p < re; p++ { + v := csr.Col[p] + if active.test(v) { + d++ + } + } + outDeg[u] = d + } + // In-degree within active (via transpose). + for v := range n { + if !active.test(v) { + continue + } + rs, re := csr.TRow[v], csr.TRow[v+1] + d := 0 + for p := rs; p < re; p++ { + u := csr.TCol[p] + if active.test(u) { + d++ + } + } + inDeg[v] = d + } + + // Initialize queue of zeros. + queue := getIntSlice(0) + defer putIntSlice(queue) + for i := range n { + if !active.test(i) { + continue + } + if inDeg[i] == 0 || outDeg[i] == 0 { + queue = append(queue, i) + } + } + + peeled := 0 + for len(queue) > 0 { + u := queue[len(queue)-1] + queue = queue[:len(queue)-1] + if !active.test(u) { + continue + } + if inDeg[u] > 0 && outDeg[u] > 0 { + continue + } + + // assign and remove u + comp[u] = *nextID + *nextID++ + active.clearAtomic(u) + peeled++ + + // Decrement out-neighbors' inDeg + rs, re := csr.Row[u], csr.Row[u+1] + for p := rs; p < re; p++ { + v := csr.Col[p] + if !active.test(v) { + continue + } + if inDeg[v] > 0 { + inDeg[v]-- + if inDeg[v] == 0 { + queue = append(queue, v) + } + } + } + // Decrement in-neighbors' outDeg + rs, re = csr.TRow[u], csr.TRow[u+1] + for p := rs; p < re; p++ { + w := csr.TCol[p] + if !active.test(w) { + continue + } + if outDeg[w] > 0 { + outDeg[w]-- + if outDeg[w] == 0 { + queue = append(queue, w) + } + } + } + } + return peeled +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/sync/expand/scc/test_source.go b/vendor/github.com/conductorone/baton-sdk/pkg/sync/expand/scc/test_source.go new file mode 100644 index 00000000..16b5b244 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/sync/expand/scc/test_source.go @@ -0,0 +1,24 @@ +package scc + +// adjSource adapts a map[int]map[int]int adjacency to the Source interface for tests. +type adjSource struct { + adj map[int]map[int]int +} + +func (a adjSource) ForEachNode(fn func(id int) bool) { + for id := range a.adj { + if !fn(id) { + return + } + } +} + +func (a adjSource) ForEachEdgeFrom(src int, fn func(dst int) bool) { + if row, ok := a.adj[src]; ok { + for dst := range row { + if !fn(dst) { + return + } + } + } +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/sync/state.go b/vendor/github.com/conductorone/baton-sdk/pkg/sync/state.go index e8dc6fe6..df84ee86 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/sync/state.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/sync/state.go @@ -31,6 +31,10 @@ type State interface { SetHasExternalResourcesGrants() ShouldFetchRelatedResources() bool SetShouldFetchRelatedResources() + ShouldSkipEntitlementsAndGrants() bool + SetShouldSkipEntitlementsAndGrants() + ShouldSkipGrants() bool + SetShouldSkipGrants() } // ActionOp represents a sync operation. @@ -131,24 +135,28 @@ type Action struct { // state is an object used for tracking the current status of a connector sync. It operates like a stack. type state struct { - mtx sync.RWMutex - actions []Action - currentAction *Action - entitlementGraph *expand.EntitlementGraph - needsExpansion bool - hasExternalResourceGrants bool - shouldFetchRelatedResources bool + mtx sync.RWMutex + actions []Action + currentAction *Action + entitlementGraph *expand.EntitlementGraph + needsExpansion bool + hasExternalResourceGrants bool + shouldFetchRelatedResources bool + shouldSkipEntitlementsAndGrants bool + shouldSkipGrants bool } // serializedToken is used to serialize the token to JSON. This separate object is used to avoid having exported fields // on the object used externally. We should interface this, probably. type serializedToken struct { - Actions []Action `json:"actions"` - CurrentAction *Action `json:"current_action"` - NeedsExpansion bool `json:"needs_expansion"` - EntitlementGraph *expand.EntitlementGraph `json:"entitlement_graph"` - HasExternalResourceGrants bool `json:"has_external_resource_grants"` - ShouldFetchRelatedResources bool `json:"should_fetch_related_resources"` + Actions []Action `json:"actions,omitempty"` + CurrentAction *Action `json:"current_action,omitempty"` + NeedsExpansion bool `json:"needs_expansion,omitempty"` + EntitlementGraph *expand.EntitlementGraph `json:"entitlement_graph,omitempty"` + HasExternalResourceGrants bool `json:"has_external_resource_grants,omitempty"` + ShouldFetchRelatedResources bool `json:"should_fetch_related_resources,omitempty"` + ShouldSkipEntitlementsAndGrants bool `json:"should_skip_entitlements_and_grants,omitempty"` + ShouldSkipGrants bool `json:"should_skip_grants,omitempty"` } // push adds a new action to the stack. If there is no current state, the action is directly set to current, else @@ -203,8 +211,8 @@ func (st *state) Current() *Action { // Unmarshal takes an input string and unmarshals it onto the state object. If the input is empty, we set the state to // have an init action. func (st *state) Unmarshal(input string) error { - st.mtx.RLock() - defer st.mtx.RUnlock() + st.mtx.Lock() + defer st.mtx.Unlock() token := serializedToken{} @@ -218,6 +226,9 @@ func (st *state) Unmarshal(input string) error { st.currentAction = token.CurrentAction st.needsExpansion = token.NeedsExpansion st.hasExternalResourceGrants = token.HasExternalResourceGrants + st.shouldSkipEntitlementsAndGrants = token.ShouldSkipEntitlementsAndGrants + st.shouldSkipGrants = token.ShouldSkipGrants + st.shouldFetchRelatedResources = token.ShouldFetchRelatedResources } else { st.actions = nil st.entitlementGraph = nil @@ -233,11 +244,14 @@ func (st *state) Marshal() (string, error) { defer st.mtx.RUnlock() data, err := json.Marshal(serializedToken{ - Actions: st.actions, - CurrentAction: st.currentAction, - NeedsExpansion: st.needsExpansion, - EntitlementGraph: st.entitlementGraph, - HasExternalResourceGrants: st.hasExternalResourceGrants, + Actions: st.actions, + CurrentAction: st.currentAction, + NeedsExpansion: st.needsExpansion, + EntitlementGraph: st.entitlementGraph, + HasExternalResourceGrants: st.hasExternalResourceGrants, + ShouldFetchRelatedResources: st.shouldFetchRelatedResources, + ShouldSkipEntitlementsAndGrants: st.shouldSkipEntitlementsAndGrants, + ShouldSkipGrants: st.shouldSkipGrants, }) if err != nil { return "", err @@ -298,6 +312,22 @@ func (st *state) SetShouldFetchRelatedResources() { st.shouldFetchRelatedResources = true } +func (st *state) ShouldSkipEntitlementsAndGrants() bool { + return st.shouldSkipEntitlementsAndGrants +} + +func (st *state) SetShouldSkipEntitlementsAndGrants() { + st.shouldSkipEntitlementsAndGrants = true +} + +func (st *state) ShouldSkipGrants() bool { + return st.shouldSkipGrants +} + +func (st *state) SetShouldSkipGrants() { + st.shouldSkipGrants = true +} + // PageToken returns the page token for the current action. func (st *state) PageToken(ctx context.Context) string { c := st.Current() diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/sync/syncer.go b/vendor/github.com/conductorone/baton-sdk/pkg/sync/syncer.go index 5db1f0cf..a3ca48e4 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/sync/syncer.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/sync/syncer.go @@ -13,6 +13,7 @@ import ( "strings" "time" + "github.com/Masterminds/semver/v3" "github.com/conductorone/baton-sdk/pkg/bid" "github.com/conductorone/baton-sdk/pkg/dotc1z" "github.com/conductorone/baton-sdk/pkg/retry" @@ -20,6 +21,7 @@ import ( "github.com/conductorone/baton-sdk/pkg/types/entitlement" batonGrant "github.com/conductorone/baton-sdk/pkg/types/grant" "github.com/conductorone/baton-sdk/pkg/types/resource" + "github.com/conductorone/baton-sdk/pkg/types/sessions" mapset "github.com/deckarep/golang-set/v2" "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap" "go.opentelemetry.io/otel" @@ -209,8 +211,16 @@ type syncer struct { counts *ProgressCounts targetedSyncResourceIDs []string onlyExpandGrants bool + dontExpandGrants bool syncID string skipEGForResourceType map[string]bool + skipEntitlementsAndGrants bool + skipGrants bool + resourceTypeTraits map[string][]v2.ResourceType_Trait + syncType connectorstore.SyncType + injectSyncIDAnnotation bool + setSessionStore sessions.SetSessionStore + syncResourceTypes []string } const minCheckpointInterval = 10 * time.Second @@ -264,8 +274,10 @@ func isWarning(ctx context.Context, err error) bool { func (s *syncer) startOrResumeSync(ctx context.Context) (string, bool, error) { // Sync resuming logic: - // If no targetedSyncResourceIDs, find the most recent sync and resume it (regardless of partial or full). - // If targetedSyncResourceIDs, start a new partial sync. Use the most recent completed sync as the parent sync ID (if it exists). + // If we know our sync ID, set it as the current sync and return (resuming that sync). + // If targetedSyncResourceIDs is not set, find the most recent unfinished sync of our desired sync type & resume it (regardless of partial or full). + // If there are no unfinished syncs of our desired sync type, start a new sync. + // If targetedSyncResourceIDs is set, start a new partial sync. Use the most recent completed sync as the parent sync ID (if it exists). if s.syncID != "" { err := s.store.SetCurrentSync(ctx, s.syncID) @@ -279,7 +291,7 @@ func (s *syncer) startOrResumeSync(ctx context.Context) (string, bool, error) { var newSync bool var err error if len(s.targetedSyncResourceIDs) == 0 { - syncID, newSync, err = s.store.StartSync(ctx) + syncID, newSync, err = s.store.StartOrResumeSync(ctx, s.syncType, "") if err != nil { return "", false, err } @@ -287,18 +299,18 @@ func (s *syncer) startOrResumeSync(ctx context.Context) (string, bool, error) { } // Get most recent completed full sync if it exists - latestFullSyncResponse, err := s.store.GetLatestFinishedSync(ctx, &reader_v2.SyncsReaderServiceGetLatestFinishedSyncRequest{ - SyncType: string(dotc1z.SyncTypeFull), - }) + latestFullSyncResponse, err := s.store.GetLatestFinishedSync(ctx, reader_v2.SyncsReaderServiceGetLatestFinishedSyncRequest_builder{ + SyncType: string(connectorstore.SyncTypeFull), + }.Build()) if err != nil { return "", false, err } var latestFullSyncId string - latestFullSync := latestFullSyncResponse.Sync + latestFullSync := latestFullSyncResponse.GetSync() if latestFullSync != nil { - latestFullSyncId = latestFullSync.Id + latestFullSyncId = latestFullSync.GetId() } - syncID, err = s.store.StartNewSyncV2(ctx, "partial", latestFullSyncId) + syncID, err = s.store.StartNewSync(ctx, connectorstore.SyncTypePartial, latestFullSyncId) if err != nil { return "", false, err } @@ -307,6 +319,13 @@ func (s *syncer) startOrResumeSync(ctx context.Context) (string, bool, error) { return syncID, newSync, nil } +func (s *syncer) getActiveSyncID() string { + if s.injectSyncIDAnnotation { + return s.syncID + } + return "" +} + // Sync starts the syncing process. The sync process is driven by the action stack that is part of the state object. // For each page of data that is required to be fetched from the connector, a new action is pushed on to the stack. Once // an action is completed, it is popped off of the queue. Before processing each action, we checkpoint the state object @@ -335,11 +354,31 @@ func (s *syncer) Sync(ctx context.Context) error { return err } - _, err = s.connector.Validate(ctx, &v2.ConnectorServiceValidateRequest{}) + resp, err := s.connector.Validate(ctx, &v2.ConnectorServiceValidateRequest{}) if err != nil { return err } + if resp.GetSdkVersion() != "" { + sdkVersion, err := semver.NewVersion(resp.GetSdkVersion()) + if err != nil { + l.Warn("error parsing sdk version", zap.String("sdk_version", resp.GetSdkVersion()), zap.Error(err)) + } else { + supportsActiveSyncId, err := semver.NewConstraint(">= 0.4.3") + if err != nil { + return fmt.Errorf("error parsing sdk version %s: %w", resp.GetSdkVersion(), err) + } + s.injectSyncIDAnnotation = supportsActiveSyncId.Check(sdkVersion) + } + } + + syncResourceTypeMap := make(map[string]bool) + if len(s.syncResourceTypes) > 0 { + for _, rt := range s.syncResourceTypes { + syncResourceTypeMap[rt] = true + } + } + // Validate any targeted resource IDs before starting a sync. targetedResources := []*v2.Resource{} for _, resourceID := range s.targetedSyncResourceIDs { @@ -347,6 +386,12 @@ func (s *syncer) Sync(ctx context.Context) error { if err != nil { return fmt.Errorf("error parsing resource id %s: %w", resourceID, err) } + if len(s.syncResourceTypes) > 0 { + if _, ok := syncResourceTypeMap[r.GetId().GetResourceType()]; !ok { + continue + } + } + targetedResources = append(targetedResources, r) } @@ -354,6 +399,14 @@ func (s *syncer) Sync(ctx context.Context) error { if err != nil { return err } + s.syncID = syncID + + // Set the syncID on the wrapper after we have it + if syncID == "" { + err = errors.New("no syncID found after starting or resuming sync") + l.Error("no syncID found after starting or resuming sync", zap.Error(err)) + return err + } span.SetAttributes(attribute.String("sync_id", syncID)) @@ -412,6 +465,12 @@ func (s *syncer) Sync(ctx context.Context) error { case InitOp: s.state.FinishAction(ctx) + if s.skipEntitlementsAndGrants { + s.state.SetShouldSkipEntitlementsAndGrants() + } + if s.skipGrants { + s.state.SetShouldSkipGrants() + } if len(targetedResources) > 0 { for _, r := range targetedResources { s.state.PushAction(ctx, Action{ @@ -434,7 +493,9 @@ func (s *syncer) Sync(ctx context.Context) error { // FIXME(jirwin): Disabling syncing assets for now // s.state.PushAction(ctx, Action{Op: SyncAssetsOp}) - s.state.PushAction(ctx, Action{Op: SyncGrantExpansionOp}) + if !s.state.ShouldSkipEntitlementsAndGrants() { + s.state.PushAction(ctx, Action{Op: SyncGrantExpansionOp}) + } if s.externalResourceReader != nil { s.state.PushAction(ctx, Action{Op: SyncExternalResourcesOp}) } @@ -446,8 +507,12 @@ func (s *syncer) Sync(ctx context.Context) error { } continue } - s.state.PushAction(ctx, Action{Op: SyncGrantsOp}) - s.state.PushAction(ctx, Action{Op: SyncEntitlementsOp}) + if !s.state.ShouldSkipEntitlementsAndGrants() { + if !s.state.ShouldSkipGrants() { + s.state.PushAction(ctx, Action{Op: SyncGrantsOp}) + } + s.state.PushAction(ctx, Action{Op: SyncEntitlementsOp}) + } s.state.PushAction(ctx, Action{Op: SyncResourcesOp}) s.state.PushAction(ctx, Action{Op: SyncResourceTypesOp}) @@ -524,7 +589,7 @@ func (s *syncer) Sync(ctx context.Context) error { continue case SyncGrantExpansionOp: - if !s.state.NeedsExpansion() { + if s.dontExpandGrants || !s.state.NeedsExpansion() { l.Debug("skipping grant expansion, no grants to expand") s.state.FinishAction(ctx) continue @@ -558,7 +623,9 @@ func (s *syncer) Sync(ctx context.Context) error { return err } - _, err = s.connector.Cleanup(ctx, &v2.ConnectorServiceCleanupRequest{}) + _, err = s.connector.Cleanup(ctx, v2.ConnectorServiceCleanupRequest_builder{ + ActiveSyncId: s.getActiveSyncID(), + }.Build()) if err != nil { l.Error("error clearing connector caches", zap.Error(err)) } @@ -594,7 +661,8 @@ func (s *syncer) SkipSync(ctx context.Context) error { return err } - _, err = s.store.StartNewSync(ctx) + // TODO: Create a new sync type for empty syncs. + _, err = s.store.StartNewSync(ctx, connectorstore.SyncTypeFull, "") if err != nil { return err } @@ -629,26 +697,56 @@ func (s *syncer) SyncResourceTypes(ctx context.Context) error { return err } - resp, err := s.connector.ListResourceTypes(ctx, &v2.ResourceTypesServiceListResourceTypesRequest{PageToken: pageToken}) + resp, err := s.connector.ListResourceTypes(ctx, v2.ResourceTypesServiceListResourceTypesRequest_builder{ + PageToken: pageToken, + ActiveSyncId: s.getActiveSyncID(), + }.Build()) if err != nil { return err } - err = s.store.PutResourceTypes(ctx, resp.List...) + var resourceTypes []*v2.ResourceType + if len(s.syncResourceTypes) > 0 { + syncResourceTypeMap := make(map[string]bool) + for _, rt := range s.syncResourceTypes { + syncResourceTypeMap[rt] = true + } + for _, rt := range resp.GetList() { + if shouldSync := syncResourceTypeMap[rt.GetId()]; shouldSync { + resourceTypes = append(resourceTypes, rt) + } + } + } else { + resourceTypes = resp.GetList() + } + + err = s.store.PutResourceTypes(ctx, resourceTypes...) if err != nil { return err } - s.counts.ResourceTypes += len(resp.List) - s.handleProgress(ctx, s.state.Current(), len(resp.List)) + s.counts.ResourceTypes += len(resourceTypes) + s.handleProgress(ctx, s.state.Current(), len(resourceTypes)) - if resp.NextPageToken == "" { + if resp.GetNextPageToken() == "" { s.counts.LogResourceTypesProgress(ctx) + + if len(s.syncResourceTypes) > 0 { + validResourceTypesResp, err := s.store.ListResourceTypes(ctx, v2.ResourceTypesServiceListResourceTypesRequest_builder{PageToken: pageToken}.Build()) + if err != nil { + return err + } + err = validateSyncResourceTypesFilter(s.syncResourceTypes, validResourceTypesResp.GetList()) + if err != nil { + return err + } + } + s.state.FinishAction(ctx) return nil } - err = s.state.NextPage(ctx, resp.NextPageToken) + err = s.state.NextPage(ctx, resp.GetNextPageToken()) if err != nil { return err } @@ -656,12 +754,25 @@ func (s *syncer) SyncResourceTypes(ctx context.Context) error { return nil } +func validateSyncResourceTypesFilter(resourceTypesFilter []string, validResourceTypes []*v2.ResourceType) error { + validResourceTypesMap := make(map[string]bool) + for _, rt := range validResourceTypes { + validResourceTypesMap[rt.GetId()] = true + } + for _, rt := range resourceTypesFilter { + if _, ok := validResourceTypesMap[rt]; !ok { + return fmt.Errorf("invalid resource type '%s' in filter", rt) + } + } + return nil +} + // getSubResources fetches the sub resource types from a resources' annotations. func (s *syncer) getSubResources(ctx context.Context, parent *v2.Resource) error { ctx, span := tracer.Start(ctx, "syncer.getSubResources") defer span.End() - for _, a := range parent.Annotations { + for _, a := range parent.GetAnnotations() { if a.MessageIs((*v2.ChildResourceType)(nil)) { crt := &v2.ChildResourceType{} err := a.UnmarshalTo(crt) @@ -671,9 +782,9 @@ func (s *syncer) getSubResources(ctx context.Context, parent *v2.Resource) error childAction := Action{ Op: SyncResourcesOp, - ResourceTypeID: crt.ResourceTypeId, - ParentResourceID: parent.Id.Resource, - ParentResourceTypeID: parent.Id.ResourceType, + ResourceTypeID: crt.GetResourceTypeId(), + ParentResourceID: parent.GetId().GetResource(), + ParentResourceTypeID: parent.GetId().GetResourceType(), } s.state.PushAction(ctx, childAction) } @@ -687,13 +798,14 @@ func (s *syncer) getResourceFromConnector(ctx context.Context, resourceID *v2.Re defer span.End() resourceResp, err := s.connector.GetResource(ctx, - &v2.ResourceGetterServiceGetResourceRequest{ + v2.ResourceGetterServiceGetResourceRequest_builder{ ResourceId: resourceID, ParentResourceId: parentResourceID, - }, + ActiveSyncId: s.getActiveSyncID(), + }.Build(), ) if err == nil { - return resourceResp.Resource, nil + return resourceResp.GetResource(), nil } l := ctxzap.Extract(ctx) if status.Code(err) == codes.NotFound { @@ -721,16 +833,16 @@ func (s *syncer) SyncTargetedResource(ctx context.Context) error { parentResourceTypeID := s.state.ParentResourceTypeID(ctx) var prID *v2.ResourceId if parentResourceID != "" && parentResourceTypeID != "" { - prID = &v2.ResourceId{ + prID = v2.ResourceId_builder{ ResourceType: parentResourceTypeID, Resource: parentResourceID, - } + }.Build() } - resource, err := s.getResourceFromConnector(ctx, &v2.ResourceId{ + resource, err := s.getResourceFromConnector(ctx, v2.ResourceId_builder{ ResourceType: resourceTypeID, Resource: resourceID, - }, prID) + }.Build(), prID) if err != nil { return err } @@ -750,17 +862,30 @@ func (s *syncer) SyncTargetedResource(ctx context.Context) error { // Actions happen in reverse order. We want to sync child resources, then entitlements, then grants - s.state.PushAction(ctx, Action{ - Op: SyncGrantsOp, - ResourceTypeID: resourceTypeID, - ResourceID: resourceID, - }) + shouldSkipGrants, err := s.shouldSkipGrants(ctx, resource) + if err != nil { + return err + } + if !shouldSkipGrants { + s.state.PushAction(ctx, Action{ + Op: SyncGrantsOp, + ResourceTypeID: resourceTypeID, + ResourceID: resourceID, + }) + } - s.state.PushAction(ctx, Action{ - Op: SyncEntitlementsOp, - ResourceTypeID: resourceTypeID, - ResourceID: resourceID, - }) + shouldSkipEnts, err := s.shouldSkipEntitlementsAndGrants(ctx, resource) + if err != nil { + return err + } + + if !shouldSkipEnts { + s.state.PushAction(ctx, Action{ + Op: SyncEntitlementsOp, + ResourceTypeID: resourceTypeID, + ResourceID: resourceID, + }) + } err = s.getSubResources(ctx, resource) if err != nil { @@ -784,13 +909,13 @@ func (s *syncer) SyncResources(ctx context.Context) error { s.handleInitialActionForStep(ctx, *s.state.Current()) } - resp, err := s.store.ListResourceTypes(ctx, &v2.ResourceTypesServiceListResourceTypesRequest{PageToken: pageToken}) + resp, err := s.store.ListResourceTypes(ctx, v2.ResourceTypesServiceListResourceTypesRequest_builder{PageToken: pageToken}.Build()) if err != nil { return err } - if resp.NextPageToken != "" { - err = s.state.NextPage(ctx, resp.NextPageToken) + if resp.GetNextPageToken() != "" { + err = s.state.NextPage(ctx, resp.GetNextPageToken()) if err != nil { return err } @@ -798,10 +923,10 @@ func (s *syncer) SyncResources(ctx context.Context) error { s.state.FinishAction(ctx) } - for _, rt := range resp.List { - action := Action{Op: SyncResourcesOp, ResourceTypeID: rt.Id} + for _, rt := range resp.GetList() { + action := Action{Op: SyncResourcesOp, ResourceTypeID: rt.GetId()} // If this request specified a parent resource, only queue up syncing resources for children of the parent resource - if s.state.Current().ParentResourceTypeID != "" && s.state.Current().ParentResourceID != "" { + if s.state.Current() != nil && s.state.Current().ParentResourceTypeID != "" && s.state.Current().ParentResourceID != "" { action.ParentResourceID = s.state.Current().ParentResourceID action.ParentResourceTypeID = s.state.Current().ParentResourceTypeID } @@ -820,15 +945,16 @@ func (s *syncer) syncResources(ctx context.Context) error { ctx, span := tracer.Start(ctx, "syncer.syncResources") defer span.End() - req := &v2.ResourcesServiceListResourcesRequest{ + req := v2.ResourcesServiceListResourcesRequest_builder{ ResourceTypeId: s.state.ResourceTypeID(ctx), PageToken: s.state.PageToken(ctx), - } + ActiveSyncId: s.getActiveSyncID(), + }.Build() if s.state.ParentResourceTypeID(ctx) != "" && s.state.ParentResourceID(ctx) != "" { - req.ParentResourceId = &v2.ResourceId{ + req.SetParentResourceId(v2.ResourceId_builder{ ResourceType: s.state.ParentResourceTypeID(ctx), Resource: s.state.ParentResourceID(ctx), - } + }.Build()) } resp, err := s.connector.ListResources(ctx, req) @@ -836,27 +962,27 @@ func (s *syncer) syncResources(ctx context.Context) error { return err } - s.handleProgress(ctx, s.state.Current(), len(resp.List)) + s.handleProgress(ctx, s.state.Current(), len(resp.GetList())) resourceTypeId := s.state.ResourceTypeID(ctx) - s.counts.Resources[resourceTypeId] += len(resp.List) + s.counts.Resources[resourceTypeId] += len(resp.GetList()) - if resp.NextPageToken == "" { + if resp.GetNextPageToken() == "" { s.counts.LogResourcesProgress(ctx, resourceTypeId) s.state.FinishAction(ctx) } else { - err = s.state.NextPage(ctx, resp.NextPageToken) + err = s.state.NextPage(ctx, resp.GetNextPageToken()) if err != nil { return err } } bulkPutResoruces := []*v2.Resource{} - for _, r := range resp.List { + for _, r := range resp.GetList() { // Check if we've already synced this resource, skip it if we have - _, err = s.store.GetResource(ctx, &reader_v2.ResourcesReaderServiceGetResourceRequest{ - ResourceId: &v2.ResourceId{ResourceType: r.Id.ResourceType, Resource: r.Id.Resource}, - }) + _, err = s.store.GetResource(ctx, reader_v2.ResourcesReaderServiceGetResourceRequest_builder{ + ResourceId: v2.ResourceId_builder{ResourceType: r.GetId().GetResourceType(), Resource: r.GetId().GetResource()}.Build(), + }.Build()) if err == nil { continue } @@ -871,7 +997,7 @@ func (s *syncer) syncResources(ctx context.Context) error { } // Set the resource creation source - r.CreationSource = v2.Resource_CREATION_SOURCE_CONNECTOR_LIST_RESOURCES + r.SetCreationSource(v2.Resource_CREATION_SOURCE_CONNECTOR_LIST_RESOURCES) bulkPutResoruces = append(bulkPutResoruces, r) @@ -895,14 +1021,19 @@ func (s *syncer) validateResourceTraits(ctx context.Context, r *v2.Resource) err ctx, span := tracer.Start(ctx, "syncer.validateResourceTraits") defer span.End() - resourceTypeResponse, err := s.store.GetResourceType(ctx, &reader_v2.ResourceTypesReaderServiceGetResourceTypeRequest{ - ResourceTypeId: r.Id.ResourceType, - }) - if err != nil { - return err + resourceTypeTraits, ok := s.resourceTypeTraits[r.GetId().GetResourceType()] + if !ok { + resourceTypeResponse, err := s.store.GetResourceType(ctx, reader_v2.ResourceTypesReaderServiceGetResourceTypeRequest_builder{ + ResourceTypeId: r.GetId().GetResourceType(), + }.Build()) + if err != nil { + return err + } + resourceTypeTraits = resourceTypeResponse.GetResourceType().GetTraits() + s.resourceTypeTraits[r.GetId().GetResourceType()] = resourceTypeTraits } - for _, t := range resourceTypeResponse.ResourceType.Traits { + for _, t := range resourceTypeTraits { var trait proto.Message switch t { case v2.ResourceType_TRAIT_APP: @@ -919,13 +1050,13 @@ func (s *syncer) validateResourceTraits(ctx context.Context, r *v2.Resource) err } if trait != nil { - annos := annotations.Annotations(r.Annotations) + annos := annotations.Annotations(r.GetAnnotations()) if !annos.Contains(trait) { ctxzap.Extract(ctx).Error( "resource was missing expected trait", zap.String("trait", string(trait.ProtoReflect().Descriptor().Name())), - zap.String("resource_type_id", r.Id.ResourceType), - zap.String("resource_id", r.Id.Resource), + zap.String("resource_type_id", r.GetId().GetResourceType()), + zap.String("resource_id", r.GetId().GetResource()), ) return fmt.Errorf("resource was missing expected trait %s", trait.ProtoReflect().Descriptor().Name()) } @@ -941,26 +1072,48 @@ func (s *syncer) shouldSkipEntitlementsAndGrants(ctx context.Context, r *v2.Reso ctx, span := tracer.Start(ctx, "syncer.shouldSkipEntitlementsAndGrants") defer span.End() + if s.state.ShouldSkipEntitlementsAndGrants() { + return true, nil + } + + rAnnos := annotations.Annotations(r.GetAnnotations()) + if rAnnos.Contains(&v2.SkipEntitlementsAndGrants{}) { + return true, nil + } + // We've checked this resource type, so we can return what we have cached directly. - if skip, ok := s.skipEGForResourceType[r.Id.ResourceType]; ok { + if skip, ok := s.skipEGForResourceType[r.GetId().GetResourceType()]; ok { return skip, nil } - rt, err := s.store.GetResourceType(ctx, &reader_v2.ResourceTypesReaderServiceGetResourceTypeRequest{ - ResourceTypeId: r.Id.ResourceType, - }) + rt, err := s.store.GetResourceType(ctx, reader_v2.ResourceTypesReaderServiceGetResourceTypeRequest_builder{ + ResourceTypeId: r.GetId().GetResourceType(), + }.Build()) if err != nil { return false, err } - rtAnnos := annotations.Annotations(rt.ResourceType.Annotations) + rtAnnos := annotations.Annotations(rt.GetResourceType().GetAnnotations()) skipEntitlements := rtAnnos.Contains(&v2.SkipEntitlementsAndGrants{}) - s.skipEGForResourceType[r.Id.ResourceType] = skipEntitlements + s.skipEGForResourceType[r.GetId().GetResourceType()] = skipEntitlements return skipEntitlements, nil } +func (s *syncer) shouldSkipGrants(ctx context.Context, r *v2.Resource) (bool, error) { + annos := annotations.Annotations(r.GetAnnotations()) + if annos.Contains(&v2.SkipGrants{}) { + return true, nil + } + + if s.state.ShouldSkipGrants() { + return true, nil + } + + return s.shouldSkipEntitlementsAndGrants(ctx, r) +} + // SyncEntitlements fetches the entitlements from the connector. It first lists each resource from the datastore, // and pushes an action to fetch the entitlements for each resource. func (s *syncer) SyncEntitlements(ctx context.Context) error { @@ -975,14 +1128,14 @@ func (s *syncer) SyncEntitlements(ctx context.Context) error { s.handleInitialActionForStep(ctx, *s.state.Current()) } - resp, err := s.store.ListResources(ctx, &v2.ResourcesServiceListResourcesRequest{PageToken: pageToken}) + resp, err := s.store.ListResources(ctx, v2.ResourcesServiceListResourcesRequest_builder{PageToken: pageToken}.Build()) if err != nil { return err } // We want to take action on the next page before we push any new actions - if resp.NextPageToken != "" { - err = s.state.NextPage(ctx, resp.NextPageToken) + if resp.GetNextPageToken() != "" { + err = s.state.NextPage(ctx, resp.GetNextPageToken()) if err != nil { return err } @@ -990,7 +1143,7 @@ func (s *syncer) SyncEntitlements(ctx context.Context) error { s.state.FinishAction(ctx) } - for _, r := range resp.List { + for _, r := range resp.GetList() { shouldSkipEntitlements, err := s.shouldSkipEntitlementsAndGrants(ctx, r) if err != nil { return err @@ -998,16 +1151,16 @@ func (s *syncer) SyncEntitlements(ctx context.Context) error { if shouldSkipEntitlements { continue } - s.state.PushAction(ctx, Action{Op: SyncEntitlementsOp, ResourceID: r.Id.Resource, ResourceTypeID: r.Id.ResourceType}) + s.state.PushAction(ctx, Action{Op: SyncEntitlementsOp, ResourceID: r.GetId().GetResource(), ResourceTypeID: r.GetId().GetResourceType()}) } return nil } - err := s.syncEntitlementsForResource(ctx, &v2.ResourceId{ + err := s.syncEntitlementsForResource(ctx, v2.ResourceId_builder{ ResourceType: s.state.ResourceTypeID(ctx), Resource: s.state.ResourceID(ctx), - }) + }.Build()) if err != nil { return err } @@ -1020,37 +1173,40 @@ func (s *syncer) syncEntitlementsForResource(ctx context.Context, resourceID *v2 ctx, span := tracer.Start(ctx, "syncer.syncEntitlementsForResource") defer span.End() - resourceResponse, err := s.store.GetResource(ctx, &reader_v2.ResourcesReaderServiceGetResourceRequest{ + resourceResponse, err := s.store.GetResource(ctx, reader_v2.ResourcesReaderServiceGetResourceRequest_builder{ ResourceId: resourceID, - }) + }.Build()) if err != nil { return err } pageToken := s.state.PageToken(ctx) - resp, err := s.connector.ListEntitlements(ctx, &v2.EntitlementsServiceListEntitlementsRequest{ - Resource: resourceResponse.Resource, - PageToken: pageToken, - }) + resource := resourceResponse.GetResource() + + resp, err := s.connector.ListEntitlements(ctx, v2.EntitlementsServiceListEntitlementsRequest_builder{ + Resource: resource, + PageToken: pageToken, + ActiveSyncId: s.getActiveSyncID(), + }.Build()) if err != nil { return err } - err = s.store.PutEntitlements(ctx, resp.List...) + err = s.store.PutEntitlements(ctx, resp.GetList()...) if err != nil { return err } - s.handleProgress(ctx, s.state.Current(), len(resp.List)) + s.handleProgress(ctx, s.state.Current(), len(resp.GetList())) - if resp.NextPageToken != "" { - err = s.state.NextPage(ctx, resp.NextPageToken) + if resp.GetNextPageToken() != "" { + err = s.state.NextPage(ctx, resp.GetNextPageToken()) if err != nil { return err } } else { - s.counts.EntitlementsProgress[resourceID.ResourceType] += 1 - s.counts.LogEntitlementsProgress(ctx, resourceID.ResourceType) + s.counts.EntitlementsProgress[resourceID.GetResourceType()] += 1 + s.counts.LogEntitlementsProgress(ctx, resourceID.GetResourceType()) s.state.FinishAction(ctx) } @@ -1066,16 +1222,16 @@ func (s *syncer) syncAssetsForResource(ctx context.Context, resourceID *v2.Resou defer span.End() l := ctxzap.Extract(ctx) - resourceResponse, err := s.store.GetResource(ctx, &reader_v2.ResourcesReaderServiceGetResourceRequest{ + resourceResponse, err := s.store.GetResource(ctx, reader_v2.ResourcesReaderServiceGetResourceRequest_builder{ ResourceId: resourceID, - }) + }.Build()) if err != nil { return err } var assetRefs []*v2.AssetRef - rAnnos := annotations.Annotations(resourceResponse.Resource.Annotations) + rAnnos := annotations.Annotations(resourceResponse.GetResource().GetAnnotations()) userTrait := &v2.UserTrait{} ok, err := rAnnos.Pick(userTrait) @@ -1083,7 +1239,7 @@ func (s *syncer) syncAssetsForResource(ctx context.Context, resourceID *v2.Resou return err } if ok { - assetRefs = append(assetRefs, userTrait.Icon) + assetRefs = append(assetRefs, userTrait.GetIcon()) } grpTrait := &v2.GroupTrait{} @@ -1092,7 +1248,7 @@ func (s *syncer) syncAssetsForResource(ctx context.Context, resourceID *v2.Resou return err } if ok { - assetRefs = append(assetRefs, grpTrait.Icon) + assetRefs = append(assetRefs, grpTrait.GetIcon()) } appTrait := &v2.AppTrait{} @@ -1101,7 +1257,7 @@ func (s *syncer) syncAssetsForResource(ctx context.Context, resourceID *v2.Resou return err } if ok { - assetRefs = append(assetRefs, appTrait.Icon, appTrait.Logo) + assetRefs = append(assetRefs, appTrait.GetIcon(), appTrait.GetLogo()) } for _, assetRef := range assetRefs { @@ -1109,8 +1265,8 @@ func (s *syncer) syncAssetsForResource(ctx context.Context, resourceID *v2.Resou continue } - l.Debug("fetching asset", zap.String("asset_ref_id", assetRef.Id)) - resp, err := s.connector.GetAsset(ctx, &v2.AssetServiceGetAssetRequest{Asset: assetRef}) + l.Debug("fetching asset", zap.String("asset_ref_id", assetRef.GetId())) + resp, err := s.connector.GetAsset(ctx, v2.AssetServiceGetAssetRequest_builder{Asset: assetRef}.Build()) if err != nil { return err } @@ -1138,17 +1294,19 @@ func (s *syncer) syncAssetsForResource(ctx context.Context, resourceID *v2.Resou l.Debug("received asset message") - switch assetMsg := msg.Msg.(type) { - case *v2.AssetServiceGetAssetResponse_Metadata_: - metadata = assetMsg.Metadata - - case *v2.AssetServiceGetAssetResponse_Data_: + switch msg.WhichMsg() { + case v2.AssetServiceGetAssetResponse_Metadata_case: + metadata = msg.GetMetadata() + case v2.AssetServiceGetAssetResponse_Data_case: l.Debug("Received data for asset") - _, err := io.Copy(assetBytes, bytes.NewReader(assetMsg.Data.Data)) + _, err := io.Copy(assetBytes, bytes.NewReader(msg.GetData().GetData())) if err != nil { _ = resp.CloseSend() return err } + case v2.AssetServiceGetAssetResponse_Msg_not_set_case: + l.Debug("Received unset asset message") + continue } } @@ -1156,7 +1314,7 @@ func (s *syncer) syncAssetsForResource(ctx context.Context, resourceID *v2.Resou return fmt.Errorf("no metadata received, unable to store asset") } - err = s.store.PutAsset(ctx, assetRef, metadata.ContentType, assetBytes.Bytes()) + err = s.store.PutAsset(ctx, assetRef, metadata.GetContentType(), assetBytes.Bytes()) if err != nil { return err } @@ -1179,14 +1337,14 @@ func (s *syncer) SyncAssets(ctx context.Context) error { s.handleInitialActionForStep(ctx, *s.state.Current()) } - resp, err := s.store.ListResources(ctx, &v2.ResourcesServiceListResourcesRequest{PageToken: pageToken}) + resp, err := s.store.ListResources(ctx, v2.ResourcesServiceListResourcesRequest_builder{PageToken: pageToken}.Build()) if err != nil { return err } // We want to take action on the next page before we push any new actions - if resp.NextPageToken != "" { - err = s.state.NextPage(ctx, resp.NextPageToken) + if resp.GetNextPageToken() != "" { + err = s.state.NextPage(ctx, resp.GetNextPageToken()) if err != nil { return err } @@ -1194,17 +1352,17 @@ func (s *syncer) SyncAssets(ctx context.Context) error { s.state.FinishAction(ctx) } - for _, r := range resp.List { - s.state.PushAction(ctx, Action{Op: SyncAssetsOp, ResourceID: r.Id.Resource, ResourceTypeID: r.Id.ResourceType}) + for _, r := range resp.GetList() { + s.state.PushAction(ctx, Action{Op: SyncAssetsOp, ResourceID: r.GetId().GetResource(), ResourceTypeID: r.GetId().GetResourceType()}) } return nil } - err := s.syncAssetsForResource(ctx, &v2.ResourceId{ + err := s.syncAssetsForResource(ctx, v2.ResourceId_builder{ ResourceType: s.state.ResourceTypeID(ctx), Resource: s.state.ResourceID(ctx), - }) + }.Build()) if err != nil { ctxzap.Extract(ctx).Error("error syncing assets", zap.Error(err)) return err @@ -1227,25 +1385,24 @@ func (s *syncer) SyncGrantExpansion(ctx context.Context) error { l.Info("Expanding grants...") s.handleInitialActionForStep(ctx, *s.state.Current()) } - - resp, err := s.store.ListGrants(ctx, &v2.GrantsServiceListGrantsRequest{PageToken: pageToken}) + resp, err := s.store.ListGrants(ctx, v2.GrantsServiceListGrantsRequest_builder{PageToken: pageToken}.Build()) if err != nil { return err } // We want to take action on the next page before we push any new actions - if resp.NextPageToken != "" { - err = s.state.NextPage(ctx, resp.NextPageToken) + if resp.GetNextPageToken() != "" { + err = s.state.NextPage(ctx, resp.GetNextPageToken()) if err != nil { return err } } else { - l.Info("Finished loading entitlement graph", zap.Int("edges", len(entitlementGraph.Edges))) + l.Debug("Finished loading grants to expand") entitlementGraph.Loaded = true } - for _, grant := range resp.List { - annos := annotations.Annotations(grant.Annotations) + for _, grant := range resp.GetList() { + annos := annotations.Annotations(grant.GetAnnotations()) expandable := &v2.GrantExpandable{} _, err := annos.Pick(expandable) if err != nil { @@ -1261,16 +1418,16 @@ func (s *syncer) SyncGrantExpansion(ctx context.Context) error { } // FIXME(morgabra) Log and skip some of the error paths here? - for _, srcEntitlementID := range expandable.EntitlementIds { + for _, srcEntitlementID := range expandable.GetEntitlementIds() { l.Debug( "Expandable entitlement found", zap.String("src_entitlement_id", srcEntitlementID), zap.String("dst_entitlement_id", grant.GetEntitlement().GetId()), ) - srcEntitlement, err := s.store.GetEntitlement(ctx, &reader_v2.EntitlementsReaderServiceGetEntitlementRequest{ + srcEntitlement, err := s.store.GetEntitlement(ctx, reader_v2.EntitlementsReaderServiceGetEntitlementRequest_builder{ EntitlementId: srcEntitlementID, - }) + }.Build()) if err != nil { l.Error("error fetching source entitlement", zap.String("src_entitlement_id", srcEntitlementID), @@ -1286,8 +1443,8 @@ func (s *syncer) SyncGrantExpansion(ctx context.Context) error { if sourceEntitlementResourceID == nil { return fmt.Errorf("source entitlement resource id was nil") } - if principalID.ResourceType != sourceEntitlementResourceID.ResourceType || - principalID.Resource != sourceEntitlementResourceID.Resource { + if principalID.GetResourceType() != sourceEntitlementResourceID.GetResourceType() || + principalID.GetResource() != sourceEntitlementResourceID.GetResource() { l.Error( "source entitlement resource id did not match grant principal id", zap.String("grant_principal_id", principalID.String()), @@ -1296,35 +1453,45 @@ func (s *syncer) SyncGrantExpansion(ctx context.Context) error { return fmt.Errorf("source entitlement resource id did not match grant principal id") } - entitlementGraph.AddEntitlement(grant.Entitlement) + entitlementGraph.AddEntitlement(grant.GetEntitlement()) entitlementGraph.AddEntitlement(srcEntitlement.GetEntitlement()) err = entitlementGraph.AddEdge(ctx, srcEntitlement.GetEntitlement().GetId(), grant.GetEntitlement().GetId(), - expandable.Shallow, - expandable.ResourceTypeIds, + expandable.GetShallow(), + expandable.GetResourceTypeIds(), ) if err != nil { return fmt.Errorf("error adding edge to graph: %w", err) } } } + if entitlementGraph.Loaded { + l.Info("Finished loading entitlement graph", zap.Int("edges", len(entitlementGraph.Edges))) + } return nil } if entitlementGraph.Loaded { - cycle := entitlementGraph.GetFirstCycle() - if cycle != nil { + comps, sccMetrics := entitlementGraph.ComputeCyclicComponents(ctx) + if len(comps) > 0 { + // Log a sample cycle l.Warn( "cycle detected in entitlement graph", - zap.Any("cycle", cycle), + zap.Any("cycle", comps[0]), + zap.Any("scc_metrics", sccMetrics), + ) + l.Debug("initial graph stats", + zap.Int("edges", len(entitlementGraph.Edges)), + zap.Int("nodes", len(entitlementGraph.Nodes)), + zap.Int("actions", len(entitlementGraph.Actions)), + zap.Int("depth", entitlementGraph.Depth), + zap.Bool("has_no_cycles", entitlementGraph.HasNoCycles), ) - l.Debug("initial graph", zap.Any("initial graph", entitlementGraph)) if dontFixCycles { return fmt.Errorf("cycles detected in entitlement graph") } - - err := entitlementGraph.FixCycles() + err := entitlementGraph.FixCyclesFromComponents(ctx, comps) if err != nil { return err } @@ -1353,14 +1520,14 @@ func (s *syncer) SyncGrants(ctx context.Context) error { s.handleInitialActionForStep(ctx, *s.state.Current()) } - resp, err := s.store.ListResources(ctx, &v2.ResourcesServiceListResourcesRequest{PageToken: pageToken}) + resp, err := s.store.ListResources(ctx, v2.ResourcesServiceListResourcesRequest_builder{PageToken: pageToken}.Build()) if err != nil { return err } // We want to take action on the next page before we push any new actions - if resp.NextPageToken != "" { - err = s.state.NextPage(ctx, resp.NextPageToken) + if resp.GetNextPageToken() != "" { + err = s.state.NextPage(ctx, resp.GetNextPageToken()) if err != nil { return err } @@ -1368,8 +1535,8 @@ func (s *syncer) SyncGrants(ctx context.Context) error { s.state.FinishAction(ctx) } - for _, r := range resp.List { - shouldSkip, err := s.shouldSkipEntitlementsAndGrants(ctx, r) + for _, r := range resp.GetList() { + shouldSkip, err := s.shouldSkipGrants(ctx, r) if err != nil { return err } @@ -1377,15 +1544,15 @@ func (s *syncer) SyncGrants(ctx context.Context) error { if shouldSkip { continue } - s.state.PushAction(ctx, Action{Op: SyncGrantsOp, ResourceID: r.Id.Resource, ResourceTypeID: r.Id.ResourceType}) + s.state.PushAction(ctx, Action{Op: SyncGrantsOp, ResourceID: r.GetId().GetResource(), ResourceTypeID: r.GetId().GetResourceType()}) } return nil } - err := s.syncGrantsForResource(ctx, &v2.ResourceId{ + err := s.syncGrantsForResource(ctx, v2.ResourceId_builder{ ResourceType: s.state.ResourceTypeID(ctx), Resource: s.state.ResourceID(ctx), - }) + }.Build()) if err != nil { return err } @@ -1394,7 +1561,7 @@ func (s *syncer) SyncGrants(ctx context.Context) error { } type latestSyncFetcher interface { - LatestFinishedSync(ctx context.Context) (string, error) + LatestFinishedSync(ctx context.Context, syncType connectorstore.SyncType) (string, error) } func (s *syncer) fetchResourceForPreviousSync(ctx context.Context, resourceID *v2.ResourceId) (string, *v2.ETag, error) { @@ -1407,7 +1574,7 @@ func (s *syncer) fetchResourceForPreviousSync(ctx context.Context, resourceID *v var err error if psf, ok := s.store.(latestSyncFetcher); ok { - previousSyncID, err = psf.LatestFinishedSync(ctx) + previousSyncID, err = psf.LatestFinishedSync(ctx, connectorstore.SyncTypeFull) if err != nil { return "", nil, err } @@ -1418,18 +1585,18 @@ func (s *syncer) fetchResourceForPreviousSync(ctx context.Context, resourceID *v } var lastSyncResourceReqAnnos annotations.Annotations - lastSyncResourceReqAnnos.Update(&c1zpb.SyncDetails{Id: previousSyncID}) - prevResource, err := s.store.GetResource(ctx, &reader_v2.ResourcesReaderServiceGetResourceRequest{ + lastSyncResourceReqAnnos.Update(c1zpb.SyncDetails_builder{Id: previousSyncID}.Build()) + prevResource, err := s.store.GetResource(ctx, reader_v2.ResourcesReaderServiceGetResourceRequest_builder{ ResourceId: resourceID, Annotations: lastSyncResourceReqAnnos, - }) + }.Build()) // If we get an error while attempting to look up the previous sync, we should just log it and continue. if err != nil { if errors.Is(err, sql.ErrNoRows) { l.Debug( "resource was not found in previous sync", - zap.String("resource_id", resourceID.Resource), - zap.String("resource_type_id", resourceID.ResourceType), + zap.String("resource_id", resourceID.GetResource()), + zap.String("resource_type_id", resourceID.GetResourceType()), ) return "", nil, nil } @@ -1439,7 +1606,7 @@ func (s *syncer) fetchResourceForPreviousSync(ctx context.Context, resourceID *v } pETag := &v2.ETag{} - prevAnnos := annotations.Annotations(prevResource.Resource.GetAnnotations()) + prevAnnos := annotations.Annotations(prevResource.GetResource().GetAnnotations()) ok, err := prevAnnos.Pick(pETag) if err != nil { return "", nil, err @@ -1480,7 +1647,7 @@ func (s *syncer) fetchEtaggedGrantsForResource( } // The previous etag is for a different entitlement - if prevEtag.EntitlementId != etagMatch.EntitlementId { + if prevEtag.GetEntitlementId() != etagMatch.GetEntitlementId() { return nil, false, errors.New("connector returned an etag match but the entitlement id does not match the previous sync") } @@ -1488,31 +1655,30 @@ func (s *syncer) fetchEtaggedGrantsForResource( var npt string // Fetch the grants for this resource from the previous sync, and store them in the current sync. storeAnnos := annotations.Annotations{} - storeAnnos.Update(&c1zpb.SyncDetails{ + storeAnnos.Update(c1zpb.SyncDetails_builder{ Id: prevSyncID, - }) - + }.Build()) for { - prevGrantsResp, err := s.store.ListGrants(ctx, &v2.GrantsServiceListGrantsRequest{ + prevGrantsResp, err := s.store.ListGrants(ctx, v2.GrantsServiceListGrantsRequest_builder{ Resource: resource, Annotations: storeAnnos, PageToken: npt, - }) + }.Build()) if err != nil { return nil, false, err } - for _, g := range prevGrantsResp.List { - if g.Entitlement.Id != etagMatch.EntitlementId { + for _, g := range prevGrantsResp.GetList() { + if g.GetEntitlement().GetId() != etagMatch.GetEntitlementId() { continue } ret = append(ret, g) } - if prevGrantsResp.NextPageToken == "" { + if prevGrantsResp.GetNextPageToken() == "" { break } - npt = prevGrantsResp.NextPageToken + npt = prevGrantsResp.GetNextPageToken() } return ret, true, nil @@ -1523,14 +1689,14 @@ func (s *syncer) syncGrantsForResource(ctx context.Context, resourceID *v2.Resou ctx, span := tracer.Start(ctx, "syncer.syncGrantsForResource") defer span.End() - resourceResponse, err := s.store.GetResource(ctx, &reader_v2.ResourcesReaderServiceGetResourceRequest{ + resourceResponse, err := s.store.GetResource(ctx, reader_v2.ResourcesReaderServiceGetResourceRequest_builder{ ResourceId: resourceID, - }) + }.Build()) if err != nil { return err } - resource := resourceResponse.Resource + resource := resourceResponse.GetResource() var prevSyncID string var prevEtag *v2.ETag @@ -1545,9 +1711,13 @@ func (s *syncer) syncGrantsForResource(ctx context.Context, resourceID *v2.Resou return err } resourceAnnos.Update(prevEtag) - resource.Annotations = resourceAnnos + resource.SetAnnotations(resourceAnnos) - resp, err := s.connector.ListGrants(ctx, &v2.GrantsServiceListGrantsRequest{Resource: resource, PageToken: pageToken}) + resp, err := s.connector.ListGrants(ctx, v2.GrantsServiceListGrantsRequest_builder{ + Resource: resource, + PageToken: pageToken, + ActiveSyncId: s.getActiveSyncID(), + }.Build()) if err != nil { return err } @@ -1561,12 +1731,12 @@ func (s *syncer) syncGrantsForResource(ctx context.Context, resourceID *v2.Resou grants = append(grants, etaggedGrants...) // We want to process any grants from the previous sync first so that if there is a conflict, the newer data takes precedence - grants = append(grants, resp.List...) + grants = append(grants, resp.GetList()...) l := ctxzap.Extract(ctx) for _, grant := range grants { grantAnnos := annotations.Annotations(grant.GetAnnotations()) - if grantAnnos.Contains(&v2.GrantExpandable{}) { + if !s.dontExpandGrants && grantAnnos.Contains(&v2.GrantExpandable{}) { s.state.SetNeedsExpansion() } if grantAnnos.ContainsAny(&v2.ExternalResourceMatchAll{}, &v2.ExternalResourceMatch{}, &v2.ExternalResourceMatchID{}) { @@ -1578,9 +1748,9 @@ func (s *syncer) syncGrantsForResource(ctx context.Context, resourceID *v2.Resou } // Some connectors emit grants for other resources. If we're doing a partial sync, check if it exists and queue a fetch if not. entitlementResource := grant.GetEntitlement().GetResource() - _, err := s.store.GetResource(ctx, &reader_v2.ResourcesReaderServiceGetResourceRequest{ + _, err := s.store.GetResource(ctx, reader_v2.ResourcesReaderServiceGetResourceRequest_builder{ ResourceId: entitlementResource.GetId(), - }) + }.Build()) if err != nil { if !errors.Is(err, sql.ErrNoRows) { return err @@ -1600,29 +1770,6 @@ func (s *syncer) syncGrantsForResource(ctx context.Context, resourceID *v2.Resou return err } } - - principalResource := grant.GetPrincipal() - _, err = s.store.GetResource(ctx, &reader_v2.ResourcesReaderServiceGetResourceRequest{ - ResourceId: principalResource.GetId(), - }) - if err != nil { - if !errors.Is(err, sql.ErrNoRows) { - return err - } - - // Principal resource is not in the DB, so try to fetch it from the connector. - resource, err := s.getResourceFromConnector(ctx, principalResource.GetId(), principalResource.GetParentResourceId()) - if err != nil { - l.Error("error fetching principal resource", zap.Error(err)) - return err - } - if resource == nil { - continue - } - if err := s.store.PutResources(ctx, resource); err != nil { - return err - } - } } err = s.store.PutGrants(ctx, grants...) if err != nil { @@ -1651,23 +1798,23 @@ func (s *syncer) syncGrantsForResource(ctx context.Context, resourceID *v2.Resou if updatedETag != nil { resourceAnnos.Update(updatedETag) - resource.Annotations = resourceAnnos + resource.SetAnnotations(resourceAnnos) err = s.store.PutResources(ctx, resource) if err != nil { return err } } - if resp.NextPageToken != "" { - err = s.state.NextPage(ctx, resp.NextPageToken) + if resp.GetNextPageToken() != "" { + err = s.state.NextPage(ctx, resp.GetNextPageToken()) if err != nil { return err } return nil } - s.counts.GrantsProgress[resourceID.ResourceType] += 1 - s.counts.LogGrantsProgress(ctx, resourceID.ResourceType) + s.counts.GrantsProgress[resourceID.GetResourceType()] += 1 + s.counts.LogGrantsProgress(ctx, resourceID.GetResourceType()) s.state.FinishAction(ctx) return nil @@ -1696,9 +1843,9 @@ func (s *syncer) SyncExternalResourcesWithGrantToEntitlement(ctx context.Context skipEGForResourceType := make(map[string]bool) - filterEntitlement, err := s.externalResourceReader.GetEntitlement(ctx, &reader_v2.EntitlementsReaderServiceGetEntitlementRequest{ + filterEntitlement, err := s.externalResourceReader.GetEntitlement(ctx, reader_v2.EntitlementsReaderServiceGetEntitlementRequest_builder{ EntitlementId: entitlementId, - }) + }.Build()) if err != nil { return err } @@ -1717,36 +1864,36 @@ func (s *syncer) SyncExternalResourcesWithGrantToEntitlement(ctx context.Context grantsForEnts := make([]*v2.Grant, 0) for _, g := range grants { - resourceTypeIDs.Add(g.Principal.Id.ResourceType) - resourceIDs[g.Principal.Id.Resource] = g.Principal.Id + resourceTypeIDs.Add(g.GetPrincipal().GetId().GetResourceType()) + resourceIDs[g.GetPrincipal().GetId().GetResource()] = g.GetPrincipal().GetId() } for _, resourceTypeId := range resourceTypeIDs.ToSlice() { - resourceTypeResp, err := s.externalResourceReader.GetResourceType(ctx, &reader_v2.ResourceTypesReaderServiceGetResourceTypeRequest{ResourceTypeId: resourceTypeId}) + resourceTypeResp, err := s.externalResourceReader.GetResourceType(ctx, reader_v2.ResourceTypesReaderServiceGetResourceTypeRequest_builder{ResourceTypeId: resourceTypeId}.Build()) if err != nil { return err } // Should we error or skip if this is not user or group? - for _, t := range resourceTypeResp.ResourceType.Traits { + for _, t := range resourceTypeResp.GetResourceType().GetTraits() { if t == v2.ResourceType_TRAIT_USER || t == v2.ResourceType_TRAIT_GROUP { - resourceTypes = append(resourceTypes, resourceTypeResp.ResourceType) + resourceTypes = append(resourceTypes, resourceTypeResp.GetResourceType()) continue } } - rtAnnos := annotations.Annotations(resourceTypeResp.ResourceType.Annotations) + rtAnnos := annotations.Annotations(resourceTypeResp.GetResourceType().GetAnnotations()) skipEntitlements := rtAnnos.Contains(&v2.SkipEntitlementsAndGrants{}) - skipEGForResourceType[resourceTypeResp.ResourceType.Id] = skipEntitlements + skipEGForResourceType[resourceTypeResp.GetResourceType().GetId()] = skipEntitlements } for _, resourceId := range resourceIDs { - resourceResp, err := s.externalResourceReader.GetResource(ctx, &reader_v2.ResourcesReaderServiceGetResourceRequest{ResourceId: resourceId}) + resourceResp, err := s.externalResourceReader.GetResource(ctx, reader_v2.ResourcesReaderServiceGetResourceRequest_builder{ResourceId: resourceId}.Build()) if err != nil { if errors.Is(err, sql.ErrNoRows) { l.Debug( "resource was not found in external sync", - zap.String("resource_id", resourceId.Resource), - zap.String("resource_type_id", resourceId.ResourceType), + zap.String("resource_id", resourceId.GetResource()), + zap.String("resource_type_id", resourceId.GetResourceType()), ) continue } @@ -1756,15 +1903,17 @@ func (s *syncer) SyncExternalResourcesWithGrantToEntitlement(ctx context.Context resourceAnnos := annotations.Annotations(resourceVal.GetAnnotations()) batonID := &v2.BatonID{} resourceAnnos.Update(batonID) - resourceVal.Annotations = resourceAnnos + resourceVal.SetAnnotations(resourceAnnos) principals = append(principals, resourceVal) } for _, principal := range principals { - skipEnts := skipEGForResourceType[principal.Id.ResourceType] + rAnnos := annotations.Annotations(principal.GetAnnotations()) + skipEnts := skipEGForResourceType[principal.GetId().GetResourceType()] || rAnnos.Contains(&v2.SkipEntitlementsAndGrants{}) if skipEnts { continue } + resourceEnts, err := s.listExternalEntitlementsForResource(ctx, principal) if err != nil { return err @@ -1773,6 +1922,10 @@ func (s *syncer) SyncExternalResourcesWithGrantToEntitlement(ctx context.Context } for _, ent := range ents { + rAnnos := annotations.Annotations(ent.GetResource().GetAnnotations()) + if rAnnos.Contains(&v2.SkipGrants{}) { + continue + } grantsForEnt, err := s.listExternalGrantsForEntitlement(ctx, ent) if err != nil { return err @@ -1836,7 +1989,7 @@ func (s *syncer) SyncExternalResourcesUsersAndGroups(ctx context.Context) error principals := make([]*v2.Resource, 0) grantsForEnts := make([]*v2.Grant, 0) for _, rt := range resourceTypes { - for _, t := range rt.Traits { + for _, t := range rt.GetTraits() { if t == v2.ResourceType_TRAIT_USER || t == v2.ResourceType_TRAIT_GROUP { userAndGroupResourceTypes = append(userAndGroupResourceTypes, rt) continue @@ -1845,11 +1998,11 @@ func (s *syncer) SyncExternalResourcesUsersAndGroups(ctx context.Context) error } for _, rt := range userAndGroupResourceTypes { - rtAnnos := annotations.Annotations(rt.Annotations) + rtAnnos := annotations.Annotations(rt.GetAnnotations()) skipEntitlements := rtAnnos.Contains(&v2.SkipEntitlementsAndGrants{}) - skipEGForResourceType[rt.Id] = skipEntitlements + skipEGForResourceType[rt.GetId()] = skipEntitlements - resourceListResp, err := s.listExternalResourcesForResourceType(ctx, rt.Id) + resourceListResp, err := s.listExternalResourcesForResourceType(ctx, rt.GetId()) if err != nil { return err } @@ -1858,16 +2011,21 @@ func (s *syncer) SyncExternalResourcesUsersAndGroups(ctx context.Context) error resourceAnnos := annotations.Annotations(resourceVal.GetAnnotations()) batonID := &v2.BatonID{} resourceAnnos.Update(batonID) - resourceVal.Annotations = resourceAnnos + resourceVal.SetAnnotations(resourceAnnos) principals = append(principals, resourceVal) } } for _, principal := range principals { - skipEnts := skipEGForResourceType[principal.Id.ResourceType] + skipEnts := skipEGForResourceType[principal.GetId().GetResourceType()] if skipEnts { continue } + rAnnos := annotations.Annotations(principal.GetAnnotations()) + if rAnnos.Contains(&v2.SkipEntitlementsAndGrants{}) { + continue + } + resourceEnts, err := s.listExternalEntitlementsForResource(ctx, principal) if err != nil { return err @@ -1876,6 +2034,10 @@ func (s *syncer) SyncExternalResourcesUsersAndGroups(ctx context.Context) error } for _, ent := range ents { + rAnnos := annotations.Annotations(ent.GetResource().GetAnnotations()) + if rAnnos.Contains(&v2.SkipGrants{}) { + continue + } grantsForEnt, err := s.listExternalGrantsForEntitlement(ctx, ent) if err != nil { return err @@ -1924,15 +2086,15 @@ func (s *syncer) listExternalResourcesForResourceType(ctx context.Context, resou resources := make([]*v2.Resource, 0) pageToken := "" for { - resourceResp, err := s.externalResourceReader.ListResources(ctx, &v2.ResourcesServiceListResourcesRequest{ + resourceResp, err := s.externalResourceReader.ListResources(ctx, v2.ResourcesServiceListResourcesRequest_builder{ PageToken: pageToken, ResourceTypeId: resourceTypeId, - }) + }.Build()) if err != nil { return nil, err } - resources = append(resources, resourceResp.List...) - pageToken = resourceResp.NextPageToken + resources = append(resources, resourceResp.GetList()...) + pageToken = resourceResp.GetNextPageToken() if pageToken == "" { break } @@ -1943,16 +2105,17 @@ func (s *syncer) listExternalResourcesForResourceType(ctx context.Context, resou func (s *syncer) listExternalEntitlementsForResource(ctx context.Context, resource *v2.Resource) ([]*v2.Entitlement, error) { ents := make([]*v2.Entitlement, 0) entitlementToken := "" + for { - entitlementsList, err := s.externalResourceReader.ListEntitlements(ctx, &v2.EntitlementsServiceListEntitlementsRequest{ + entitlementsList, err := s.externalResourceReader.ListEntitlements(ctx, v2.EntitlementsServiceListEntitlementsRequest_builder{ PageToken: entitlementToken, Resource: resource, - }) + }.Build()) if err != nil { return nil, err } - ents = append(ents, entitlementsList.List...) - entitlementToken = entitlementsList.NextPageToken + ents = append(ents, entitlementsList.GetList()...) + entitlementToken = entitlementsList.GetNextPageToken() if entitlementToken == "" { break } @@ -1964,15 +2127,15 @@ func (s *syncer) listExternalGrantsForEntitlement(ctx context.Context, ent *v2.E grantsForEnts := make([]*v2.Grant, 0) entitlementGrantPageToken := "" for { - grantsForEntitlementResp, err := s.externalResourceReader.ListGrantsForEntitlement(ctx, &reader_v2.GrantsReaderServiceListGrantsForEntitlementRequest{ + grantsForEntitlementResp, err := s.externalResourceReader.ListGrantsForEntitlement(ctx, reader_v2.GrantsReaderServiceListGrantsForEntitlementRequest_builder{ Entitlement: ent, PageToken: entitlementGrantPageToken, - }) + }.Build()) if err != nil { return nil, err } - grantsForEnts = append(grantsForEnts, grantsForEntitlementResp.List...) - entitlementGrantPageToken = grantsForEntitlementResp.NextPageToken + grantsForEnts = append(grantsForEnts, grantsForEntitlementResp.GetList()...) + entitlementGrantPageToken = grantsForEntitlementResp.GetNextPageToken() if entitlementGrantPageToken == "" { break } @@ -1984,14 +2147,14 @@ func (s *syncer) listExternalResourceTypes(ctx context.Context) ([]*v2.ResourceT resourceTypes := make([]*v2.ResourceType, 0) rtPageToken := "" for { - resourceTypesResp, err := s.externalResourceReader.ListResourceTypes(ctx, &v2.ResourceTypesServiceListResourceTypesRequest{ + resourceTypesResp, err := s.externalResourceReader.ListResourceTypes(ctx, v2.ResourceTypesServiceListResourceTypesRequest_builder{ PageToken: rtPageToken, - }) + }.Build()) if err != nil { return nil, err } - resourceTypes = append(resourceTypes, resourceTypesResp.List...) - rtPageToken = resourceTypesResp.NextPageToken + resourceTypes = append(resourceTypes, resourceTypesResp.GetList()...) + rtPageToken = resourceTypesResp.GetNextPageToken() if rtPageToken == "" { break } @@ -2003,15 +2166,15 @@ func (s *syncer) listAllGrants(ctx context.Context) ([]*v2.Grant, error) { grants := make([]*v2.Grant, 0) pageToken := "" for { - grantsResp, err := s.store.ListGrants(ctx, &v2.GrantsServiceListGrantsRequest{ + grantsResp, err := s.store.ListGrants(ctx, v2.GrantsServiceListGrantsRequest_builder{ PageToken: pageToken, - }) + }.Build()) if err != nil { return nil, err } - grants = append(grants, grantsResp.List...) - pageToken = grantsResp.NextPageToken + grants = append(grants, grantsResp.GetList()...) + pageToken = grantsResp.GetNextPageToken() if pageToken == "" { break } @@ -2062,7 +2225,7 @@ func (s *syncer) processGrantsWithExternalPrincipals(ctx context.Context, princi } for _, grant := range grants { - annos := annotations.Annotations(grant.Annotations) + annos := annotations.Annotations(grant.GetAnnotations()) if !annos.ContainsAny(&v2.ExternalResourceMatchAll{}, &v2.ExternalResourceMatch{}, &v2.ExternalResourceMatchID{}) { continue } @@ -2074,19 +2237,19 @@ func (s *syncer) processGrantsWithExternalPrincipals(ctx context.Context, princi } if matchResourceMatchAllAnno != nil { var processPrincipals []*v2.Resource - switch matchResourceMatchAllAnno.ResourceType { + switch matchResourceMatchAllAnno.GetResourceType() { case v2.ResourceType_TRAIT_USER: processPrincipals = userPrincipals case v2.ResourceType_TRAIT_GROUP: processPrincipals = groupPrincipals default: - l.Error("unexpected external resource type trait", zap.Any("trait", matchResourceMatchAllAnno.ResourceType)) + l.Error("unexpected external resource type trait", zap.Any("trait", matchResourceMatchAllAnno.GetResourceType())) } for _, principal := range processPrincipals { newGrant := newGrantForExternalPrincipal(grant, principal) expandedGrants = append(expandedGrants, newGrant) } - grantsToDelete = append(grantsToDelete, grant.Id) + grantsToDelete = append(grantsToDelete, grant.GetId()) continue } @@ -2096,15 +2259,15 @@ func (s *syncer) processGrantsWithExternalPrincipals(ctx context.Context, princi } expandableEntitlementsResourceMap := make(map[string][]*v2.Entitlement) if expandableAnno != nil { - for _, entId := range expandableAnno.EntitlementIds { + for _, entId := range expandableAnno.GetEntitlementIds() { parsedEnt, err := bid.ParseEntitlementBid(entId) if err != nil { l.Error("error parsing expandable entitlement bid", zap.Any("entitlementId", entId)) continue } - resourceBID, err := bid.MakeBid(parsedEnt.Resource) + resourceBID, err := bid.MakeBid(parsedEnt.GetResource()) if err != nil { - l.Error("error making resource bid", zap.Any("parsedEnt.Resource", parsedEnt.Resource)) + l.Error("error making resource bid", zap.Any("parsedEnt.Resource", parsedEnt.GetResource())) continue } entitlementMap, ok := expandableEntitlementsResourceMap[resourceBID] @@ -2122,24 +2285,24 @@ func (s *syncer) processGrantsWithExternalPrincipals(ctx context.Context, princi return err } if matchResourceMatchIDAnno != nil { - if principal, ok := principalMap[matchResourceMatchIDAnno.Id]; ok { + if principal, ok := principalMap[matchResourceMatchIDAnno.GetId()]; ok { newGrant := newGrantForExternalPrincipal(grant, principal) expandedGrants = append(expandedGrants, newGrant) - newGrantAnnos := annotations.Annotations(newGrant.Annotations) + newGrantAnnos := annotations.Annotations(newGrant.GetAnnotations()) newExpandableEntitlementIDs := make([]string, 0) if expandableAnno != nil { - groupPrincipalBID, err := bid.MakeBid(grant.Principal) + groupPrincipalBID, err := bid.MakeBid(grant.GetPrincipal()) if err != nil { - l.Error("error making group principal bid", zap.Error(err), zap.Any("grant.Principal", grant.Principal)) + l.Error("error making group principal bid", zap.Error(err), zap.Any("grant.Principal", grant.GetPrincipal())) continue } principalEntitlements := expandableEntitlementsResourceMap[groupPrincipalBID] for _, expandableGrant := range principalEntitlements { - newExpandableEntId := entitlement.NewEntitlementID(principal, expandableGrant.Slug) - _, err := s.store.GetEntitlement(ctx, &reader_v2.EntitlementsReaderServiceGetEntitlementRequest{EntitlementId: newExpandableEntId}) + newExpandableEntId := entitlement.NewEntitlementID(principal, expandableGrant.GetSlug()) + _, err := s.store.GetEntitlement(ctx, reader_v2.EntitlementsReaderServiceGetEntitlementRequest_builder{EntitlementId: newExpandableEntId}.Build()) if err != nil { if errors.Is(err, sql.ErrNoRows) { l.Error("found no entitlement with entitlement id generated from external source sync", zap.Any("entitlementId", newExpandableEntId)) @@ -2150,20 +2313,20 @@ func (s *syncer) processGrantsWithExternalPrincipals(ctx context.Context, princi newExpandableEntitlementIDs = append(newExpandableEntitlementIDs, newExpandableEntId) } - newExpandableAnno := &v2.GrantExpandable{ + newExpandableAnno := v2.GrantExpandable_builder{ EntitlementIds: newExpandableEntitlementIDs, - Shallow: expandableAnno.Shallow, - ResourceTypeIds: expandableAnno.ResourceTypeIds, - } + Shallow: expandableAnno.GetShallow(), + ResourceTypeIds: expandableAnno.GetResourceTypeIds(), + }.Build() newGrantAnnos.Update(newExpandableAnno) - newGrant.Annotations = newGrantAnnos + newGrant.SetAnnotations(newGrantAnnos) expandedGrants = append(expandedGrants, newGrant) } } // We still want to delete the grant even if there are no matches // Since it does not correspond to any known user - grantsToDelete = append(grantsToDelete, grant.Id) + grantsToDelete = append(grantsToDelete, grant.GetId()) } // Match by key/val @@ -2173,7 +2336,7 @@ func (s *syncer) processGrantsWithExternalPrincipals(ctx context.Context, princi } if matchExternalResource != nil { - switch matchExternalResource.ResourceType { + switch matchExternalResource.GetResourceType() { case v2.ResourceType_TRAIT_USER: for _, userPrincipal := range userPrincipals { userTrait, err := resource.GetUserTrait(userPrincipal) @@ -2181,16 +2344,16 @@ func (s *syncer) processGrantsWithExternalPrincipals(ctx context.Context, princi l.Error("error getting user trait", zap.Any("userPrincipal", userPrincipal)) continue } - if matchExternalResource.Key == "email" { - if userTraitContainsEmail(userTrait.Emails, matchExternalResource.Value) { + if matchExternalResource.GetKey() == "email" { + if userTraitContainsEmail(userTrait.GetEmails(), matchExternalResource.GetValue()) { newGrant := newGrantForExternalPrincipal(grant, userPrincipal) expandedGrants = append(expandedGrants, newGrant) // continue to next principal since we found an email match continue } } - profileVal, ok := resource.GetProfileStringValue(userTrait.Profile, matchExternalResource.Key) - if ok && strings.EqualFold(profileVal, matchExternalResource.Value) { + profileVal, ok := resource.GetProfileStringValue(userTrait.GetProfile(), matchExternalResource.GetKey()) + if ok && strings.EqualFold(profileVal, matchExternalResource.GetValue()) { newGrant := newGrantForExternalPrincipal(grant, userPrincipal) expandedGrants = append(expandedGrants, newGrant) } @@ -2202,23 +2365,23 @@ func (s *syncer) processGrantsWithExternalPrincipals(ctx context.Context, princi l.Error("error getting group trait", zap.Any("groupPrincipal", groupPrincipal)) continue } - profileVal, ok := resource.GetProfileStringValue(groupTrait.Profile, matchExternalResource.Key) - if ok && strings.EqualFold(profileVal, matchExternalResource.Value) { + profileVal, ok := resource.GetProfileStringValue(groupTrait.GetProfile(), matchExternalResource.GetKey()) + if ok && strings.EqualFold(profileVal, matchExternalResource.GetValue()) { newGrant := newGrantForExternalPrincipal(grant, groupPrincipal) - newGrantAnnos := annotations.Annotations(newGrant.Annotations) + newGrantAnnos := annotations.Annotations(newGrant.GetAnnotations()) newExpandableEntitlementIDs := make([]string, 0) if expandableAnno != nil { - groupPrincipalBID, err := bid.MakeBid(grant.Principal) + groupPrincipalBID, err := bid.MakeBid(grant.GetPrincipal()) if err != nil { - l.Error("error making group principal bid", zap.Error(err), zap.Any("grant.Principal", grant.Principal)) + l.Error("error making group principal bid", zap.Error(err), zap.Any("grant.Principal", grant.GetPrincipal())) continue } principalEntitlements := expandableEntitlementsResourceMap[groupPrincipalBID] for _, expandableGrant := range principalEntitlements { - newExpandableEntId := entitlement.NewEntitlementID(groupPrincipal, expandableGrant.Slug) - _, err := s.store.GetEntitlement(ctx, &reader_v2.EntitlementsReaderServiceGetEntitlementRequest{EntitlementId: newExpandableEntId}) + newExpandableEntId := entitlement.NewEntitlementID(groupPrincipal, expandableGrant.GetSlug()) + _, err := s.store.GetEntitlement(ctx, reader_v2.EntitlementsReaderServiceGetEntitlementRequest_builder{EntitlementId: newExpandableEntId}.Build()) if err != nil { if errors.Is(err, sql.ErrNoRows) { l.Error("found no entitlement with entitlement id generated from external source sync", zap.Any("entitlementId", newExpandableEntId)) @@ -2229,29 +2392,29 @@ func (s *syncer) processGrantsWithExternalPrincipals(ctx context.Context, princi newExpandableEntitlementIDs = append(newExpandableEntitlementIDs, newExpandableEntId) } - newExpandableAnno := &v2.GrantExpandable{ + newExpandableAnno := v2.GrantExpandable_builder{ EntitlementIds: newExpandableEntitlementIDs, - Shallow: expandableAnno.Shallow, - ResourceTypeIds: expandableAnno.ResourceTypeIds, - } + Shallow: expandableAnno.GetShallow(), + ResourceTypeIds: expandableAnno.GetResourceTypeIds(), + }.Build() newGrantAnnos.Update(newExpandableAnno) - newGrant.Annotations = newGrantAnnos + newGrant.SetAnnotations(newGrantAnnos) expandedGrants = append(expandedGrants, newGrant) } } } default: - l.Error("unexpected external resource type trait", zap.Any("trait", matchExternalResource.ResourceType)) + l.Error("unexpected external resource type trait", zap.Any("trait", matchExternalResource.GetResourceType())) } // We still want to delete the grant even if there are no matches - grantsToDelete = append(grantsToDelete, grant.Id) + grantsToDelete = append(grantsToDelete, grant.GetId()) } } newGrantIDs := mapset.NewSet[string]() for _, ng := range expandedGrants { - newGrantIDs.Add(ng.Id) + newGrantIDs.Add(ng.GetId()) } err = s.store.PutGrants(ctx, expandedGrants...) @@ -2274,18 +2437,18 @@ func (s *syncer) processGrantsWithExternalPrincipals(ctx context.Context, princi func userTraitContainsEmail(emails []*v2.UserTrait_Email, address string) bool { return slices.ContainsFunc(emails, func(e *v2.UserTrait_Email) bool { - return strings.EqualFold(e.Address, address) + return strings.EqualFold(e.GetAddress(), address) }) } func newGrantForExternalPrincipal(grant *v2.Grant, principal *v2.Resource) *v2.Grant { - newGrant := &v2.Grant{ - Entitlement: grant.Entitlement, + newGrant := v2.Grant_builder{ + Entitlement: grant.GetEntitlement(), Principal: principal, - Id: batonGrant.NewGrantID(principal, grant.Entitlement), - Sources: grant.Sources, - Annotations: grant.Annotations, - } + Id: batonGrant.NewGrantID(principal, grant.GetEntitlement()), + Sources: grant.GetSources(), + Annotations: grant.GetAnnotations(), + }.Build() return newGrant } @@ -2345,39 +2508,39 @@ func (s *syncer) runGrantExpandActions(ctx context.Context) (bool, error) { l = l.With(zap.String("source_entitlement_id", action.SourceEntitlementID), zap.String("descendant_entitlement_id", action.DescendantEntitlementID)) // Fetch source and descendant entitlement - sourceEntitlement, err := s.store.GetEntitlement(ctx, &reader_v2.EntitlementsReaderServiceGetEntitlementRequest{ + sourceEntitlement, err := s.store.GetEntitlement(ctx, reader_v2.EntitlementsReaderServiceGetEntitlementRequest_builder{ EntitlementId: action.SourceEntitlementID, - }) + }.Build()) if err != nil { l.Error("runGrantExpandActions: error fetching source entitlement", zap.Error(err)) return false, fmt.Errorf("runGrantExpandActions: error fetching source entitlement: %w", err) } - descendantEntitlement, err := s.store.GetEntitlement(ctx, &reader_v2.EntitlementsReaderServiceGetEntitlementRequest{ + descendantEntitlement, err := s.store.GetEntitlement(ctx, reader_v2.EntitlementsReaderServiceGetEntitlementRequest_builder{ EntitlementId: action.DescendantEntitlementID, - }) + }.Build()) if err != nil { l.Error("runGrantExpandActions: error fetching descendant entitlement", zap.Error(err)) return false, fmt.Errorf("runGrantExpandActions: error fetching descendant entitlement: %w", err) } // Fetch a page of source grants - sourceGrants, err := s.store.ListGrantsForEntitlement(ctx, &reader_v2.GrantsReaderServiceListGrantsForEntitlementRequest{ + sourceGrants, err := s.store.ListGrantsForEntitlement(ctx, reader_v2.GrantsReaderServiceListGrantsForEntitlementRequest_builder{ Entitlement: sourceEntitlement.GetEntitlement(), PageToken: action.PageToken, - }) + }.Build()) if err != nil { l.Error("runGrantExpandActions: error fetching source grants", zap.Error(err)) return false, fmt.Errorf("runGrantExpandActions: error fetching source grants: %w", err) } - var newGrants []*v2.Grant = make([]*v2.Grant, 0) - for _, sourceGrant := range sourceGrants.List { + var newGrants = make([]*v2.Grant, 0) + for _, sourceGrant := range sourceGrants.GetList() { // Skip this grant if it is not for a resource type we care about if len(action.ResourceTypeIDs) > 0 { relevantResourceType := false for _, resourceTypeID := range action.ResourceTypeIDs { - if sourceGrant.GetPrincipal().Id.ResourceType == resourceTypeID { + if sourceGrant.GetPrincipal().GetId().GetResourceType() == resourceTypeID { relevantResourceType = true break } @@ -2410,12 +2573,12 @@ func (s *syncer) runGrantExpandActions(ctx context.Context) (bool, error) { descendantGrants := make([]*v2.Grant, 0, 1) pageToken := "" for { - req := &reader_v2.GrantsReaderServiceListGrantsForEntitlementRequest{ + req := reader_v2.GrantsReaderServiceListGrantsForEntitlementRequest_builder{ Entitlement: descendantEntitlement.GetEntitlement(), PrincipalId: sourceGrant.GetPrincipal().GetId(), PageToken: pageToken, Annotations: nil, - } + }.Build() resp, err := s.store.ListGrantsForEntitlement(ctx, req) if err != nil { @@ -2423,8 +2586,8 @@ func (s *syncer) runGrantExpandActions(ctx context.Context) (bool, error) { return false, fmt.Errorf("runGrantExpandActions: error fetching descendant grants: %w", err) } - descendantGrants = append(descendantGrants, resp.List...) - pageToken = resp.NextPageToken + descendantGrants = append(descendantGrants, resp.GetList()...) + pageToken = resp.GetNextPageToken() if pageToken == "" { break } @@ -2436,7 +2599,7 @@ func (s *syncer) runGrantExpandActions(ctx context.Context) (bool, error) { directGrant = false // TODO(morgabra): This is kinda gnarly, grant ID won't have any special meaning. // FIXME(morgabra): We should probably conflict check with grant id? - descendantGrant, err := s.newExpandedGrant(ctx, descendantEntitlement.Entitlement, sourceGrant.GetPrincipal()) + descendantGrant, err := s.newExpandedGrant(ctx, descendantEntitlement.GetEntitlement(), sourceGrant.GetPrincipal()) if err != nil { l.Error("runGrantExpandActions: error creating new grant", zap.Error(err)) return false, fmt.Errorf("runGrantExpandActions: error creating new grant: %w", err) @@ -2453,15 +2616,15 @@ func (s *syncer) runGrantExpandActions(ctx context.Context) (bool, error) { sources := descendantGrant.GetSources() if sources == nil { sources = &v2.GrantSources{} - descendantGrant.Sources = sources + descendantGrant.SetSources(sources) } sourcesMap := sources.GetSources() if sourcesMap == nil { sourcesMap = make(map[string]*v2.GrantSources_GrantSource) - sources.Sources = sourcesMap + sources.SetSources(sourcesMap) } - if directGrant && len(sources.Sources) == 0 { + if directGrant && len(sources.GetSources()) == 0 { // If we are already granted this entitlement, make sure to add ourselves as a source. sourcesMap[descendantGrant.GetEntitlement().GetId()] = &v2.GrantSources_GrantSource{} } @@ -2478,7 +2641,7 @@ func (s *syncer) runGrantExpandActions(ctx context.Context) (bool, error) { } // If we have no more pages of work, pop the action off the stack and mark this edge in the graph as done - action.PageToken = sourceGrants.NextPageToken + action.PageToken = sourceGrants.GetNextPageToken() if action.PageToken == "" { graph.MarkEdgeExpanded(action.SourceEntitlementID, action.DescendantEntitlementID) graph.Actions = graph.Actions[1:] @@ -2500,12 +2663,12 @@ func (s *syncer) newExpandedGrant(_ context.Context, descEntitlement *v2.Entitle var annos annotations.Annotations annos.Update(&v2.GrantImmutable{}) - grant := &v2.Grant{ - Id: fmt.Sprintf("%s:%s:%s", descEntitlement.Id, principal.Id.ResourceType, principal.Id.Resource), + grant := v2.Grant_builder{ + Id: fmt.Sprintf("%s:%s:%s", descEntitlement.GetId(), principal.GetId().GetResourceType(), principal.GetId().GetResource()), Entitlement: descEntitlement, Principal: principal, Annotations: annos, - } + }.Build() return grant, nil } @@ -2613,6 +2776,9 @@ func (s *syncer) loadStore(ctx context.Context) error { return err } + if s.setSessionStore != nil { + s.setSessionStore.SetSessionStore(ctx, store) + } s.store = store return nil @@ -2631,6 +2797,13 @@ func (s *syncer) Close(ctx context.Context) error { } } + if s.externalResourceReader != nil { + err = s.externalResourceReader.Close() + if err != nil { + return fmt.Errorf("error closing external resource reader: %w", err) + } + } + if s.c1zManager != nil { err = s.c1zManager.SaveC1Z(ctx) if err != nil { @@ -2715,6 +2888,24 @@ func WithExternalResourceEntitlementIdFilter(entitlementId string) SyncOpt { func WithTargetedSyncResourceIDs(resourceIDs []string) SyncOpt { return func(s *syncer) { s.targetedSyncResourceIDs = resourceIDs + if len(resourceIDs) > 0 { + s.syncType = connectorstore.SyncTypePartial + return + } + // No targeted resource IDs, so we need to update the sync type to either full or resources only. + WithSkipEntitlementsAndGrants(s.skipEntitlementsAndGrants)(s) + } +} + +func WithSessionStore(sessionStore sessions.SetSessionStore) SyncOpt { + return func(s *syncer) { + s.setSessionStore = sessionStore + } +} + +func WithSyncResourceTypes(resourceTypeIDs []string) SyncOpt { + return func(s *syncer) { + s.syncResourceTypes = resourceTypeIDs } } @@ -2724,18 +2915,46 @@ func WithOnlyExpandGrants() SyncOpt { } } +func WithDontExpandGrants() SyncOpt { + return func(s *syncer) { + s.dontExpandGrants = true + } +} func WithSyncID(syncID string) SyncOpt { return func(s *syncer) { s.syncID = syncID } } +func WithSkipEntitlementsAndGrants(skip bool) SyncOpt { + return func(s *syncer) { + s.skipEntitlementsAndGrants = skip + // Partial syncs can skip entitlements and grants, so don't update the sync type in that case. + if s.syncType == connectorstore.SyncTypePartial { + return + } + if skip { + s.syncType = connectorstore.SyncTypeResourcesOnly + } else { + s.syncType = connectorstore.SyncTypeFull + } + } +} + +func WithSkipGrants(skip bool) SyncOpt { + return func(s *syncer) { + s.skipGrants = skip + } +} + // NewSyncer returns a new syncer object. func NewSyncer(ctx context.Context, c types.ConnectorClient, opts ...SyncOpt) (Syncer, error) { s := &syncer{ connector: c, skipEGForResourceType: make(map[string]bool), + resourceTypeTraits: make(map[string][]v2.ResourceType_Trait), counts: NewProgressCounts(), + syncType: connectorstore.SyncTypeFull, } for _, o := range opts { diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/synccompactor/attached/attached.go b/vendor/github.com/conductorone/baton-sdk/pkg/synccompactor/attached/attached.go index 09ae95c6..e3e9fa4b 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/synccompactor/attached/attached.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/synccompactor/attached/attached.go @@ -4,7 +4,10 @@ import ( "context" "fmt" + "github.com/conductorone/baton-sdk/pkg/connectorstore" "github.com/conductorone/baton-sdk/pkg/dotc1z" + "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap" + "go.uber.org/zap" ) type Compactor struct { @@ -22,17 +25,15 @@ func NewAttachedCompactor(base *dotc1z.C1File, applied *dotc1z.C1File, dest *dot } func (c *Compactor) CompactWithSyncID(ctx context.Context, destSyncID string) error { - // Get the latest finished full sync ID from base - baseSyncID, err := c.base.LatestFinishedSync(ctx) + baseSyncID, err := c.base.LatestFinishedSyncID(ctx, connectorstore.SyncTypeAny) if err != nil { return fmt.Errorf("failed to get base sync ID: %w", err) } if baseSyncID == "" { - return fmt.Errorf("no finished full sync found in base") + return fmt.Errorf("no finished sync found in base") } - // Get the latest finished sync ID from applied (any type) - appliedSyncID, err := c.applied.LatestFinishedSyncAnyType(ctx) + appliedSyncID, err := c.applied.LatestFinishedSyncID(ctx, connectorstore.SyncTypeAny) if err != nil { return fmt.Errorf("failed to get applied sync ID: %w", err) } @@ -45,8 +46,12 @@ func (c *Compactor) CompactWithSyncID(ctx context.Context, destSyncID string) er if err != nil { return fmt.Errorf("failed to attach databases to destination: %w", err) } + l := ctxzap.Extract(ctx) defer func() { - _, _ = base.DetachFile("base") + _, err := base.DetachFile("base") + if err != nil { + l.Error("failed to detach file", zap.Error(err)) + } }() // Attach both the base and applied databases to the destination @@ -55,7 +60,10 @@ func (c *Compactor) CompactWithSyncID(ctx context.Context, destSyncID string) er return fmt.Errorf("failed to attach databases to destination: %w", err) } defer func() { - _, _ = attached.DetachFile("attached") + _, err := attached.DetachFile("attached") + if err != nil { + l.Error("failed to detach file", zap.Error(err)) + } }() if err := c.processRecords(ctx, attached, destSyncID, baseSyncID, appliedSyncID); err != nil { diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/synccompactor/compactor.go b/vendor/github.com/conductorone/baton-sdk/pkg/synccompactor/compactor.go index ab35c8cb..7dac81f0 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/synccompactor/compactor.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/synccompactor/compactor.go @@ -10,11 +10,13 @@ import ( "path/filepath" reader_v2 "github.com/conductorone/baton-sdk/pb/c1/reader/v2" + "github.com/conductorone/baton-sdk/pkg/connectorstore" "github.com/conductorone/baton-sdk/pkg/dotc1z" c1zmanager "github.com/conductorone/baton-sdk/pkg/dotc1z/manager" "github.com/conductorone/baton-sdk/pkg/sdk" "github.com/conductorone/baton-sdk/pkg/sync" "github.com/conductorone/baton-sdk/pkg/synccompactor/attached" + "github.com/conductorone/baton-sdk/pkg/synccompactor/naive" "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap" "go.opentelemetry.io/otel" "go.uber.org/zap" @@ -22,8 +24,16 @@ import ( var tracer = otel.Tracer("baton-sdk/pkg.synccompactor") +type CompactorType string + +const ( + CompactorTypeNaive CompactorType = "naive" + CompactorTypeAttached CompactorType = "attached" +) + type Compactor struct { - entries []*CompactableSync + compactorType CompactorType + entries []*CompactableSync tmpDir string destDir string @@ -46,12 +56,22 @@ func WithTmpDir(tempDir string) Option { } } +func WithCompactorType(compactorType CompactorType) Option { + return func(c *Compactor) { + c.compactorType = compactorType + } +} + func NewCompactor(ctx context.Context, outputDir string, compactableSyncs []*CompactableSync, opts ...Option) (*Compactor, func() error, error) { if len(compactableSyncs) < 2 { return nil, nil, ErrNotEnoughFilesToCompact } - c := &Compactor{entries: compactableSyncs, destDir: outputDir} + c := &Compactor{ + entries: compactableSyncs, + destDir: outputDir, + compactorType: CompactorTypeAttached, + } for _, opt := range opts { opt(c) } @@ -83,28 +103,16 @@ func (c *Compactor) Compact(ctx context.Context) (*CompactableSync, error) { return nil, nil } - base := c.entries[0] - incrementals := c.entries[1:] - - // Lets compact all the incrementals together first. - compactedIncrementals := incrementals[0] - if len(incrementals) > 1 { - for i := 1; i < len(incrementals); i++ { - nextEntry := incrementals[i] - compacted, err := c.doOneCompaction(ctx, compactedIncrementals, nextEntry) - if err != nil { - return nil, err - } - compactedIncrementals = compacted + var err error + // Base sync is c.entries[0], so compact all incrementals first, then apply that onto the base. + applied := c.entries[len(c.entries)-1] + for i := len(c.entries) - 2; i >= 0; i-- { + applied, err = c.doOneCompaction(ctx, c.entries[i], applied) + if err != nil { + return nil, err } } - // Then apply that onto our base. - base, err := c.doOneCompaction(ctx, base, compactedIncrementals) - if err != nil { - return nil, err - } - l := ctxzap.Extract(ctx) // Grant expansion doesn't use the connector interface at all, so giving syncer an empty connector is safe... for now. // If that ever changes, we should implement a file connector that is a wrapper around the reader. @@ -119,8 +127,9 @@ func (c *Compactor) Compact(ctx context.Context) (*CompactableSync, error) { syncer, err := sync.NewSyncer( ctx, emptyConnector, - sync.WithC1ZPath(base.FilePath), - sync.WithSyncID(base.SyncID), + sync.WithC1ZPath(applied.FilePath), + sync.WithTmpDir(c.tmpDir), + sync.WithSyncID(applied.SyncID), sync.WithOnlyExpandGrants(), ) if err != nil { @@ -138,8 +147,8 @@ func (c *Compactor) Compact(ctx context.Context) (*CompactableSync, error) { } // Move last compacted file to the destination dir - finalPath := path.Join(c.destDir, fmt.Sprintf("compacted-%s.c1z", base.SyncID)) - if err := cpFile(base.FilePath, finalPath); err != nil { + finalPath := path.Join(c.destDir, fmt.Sprintf("compacted-%s.c1z", applied.SyncID)) + if err := cpFile(applied.FilePath, finalPath); err != nil { return nil, err } @@ -150,7 +159,7 @@ func (c *Compactor) Compact(ctx context.Context) (*CompactableSync, error) { } finalPath = abs } - return &CompactableSync{FilePath: finalPath, SyncID: base.SyncID}, nil + return &CompactableSync{FilePath: finalPath, SyncID: applied.SyncID}, nil } func cpFile(sourcePath string, destPath string) error { @@ -174,13 +183,14 @@ func cpFile(sourcePath string, destPath string) error { return nil } -func getLatestObjects(ctx context.Context, info *CompactableSync) (*reader_v2.SyncRun, *dotc1z.C1File, c1zmanager.Manager, func(), error) { - baseC1Z, err := c1zmanager.New(ctx, info.FilePath) +func (c *Compactor) getLatestObjects(ctx context.Context, info *CompactableSync) (*reader_v2.SyncRun, *dotc1z.C1File, c1zmanager.Manager, func(), error) { + cleanup := func() {} + baseC1Z, err := c1zmanager.New(ctx, info.FilePath, c1zmanager.WithTmpDir(c.tmpDir)) if err != nil { - return nil, nil, nil, nil, err + return nil, nil, nil, cleanup, err } - cleanup := func() { + cleanup = func() { _ = baseC1Z.Close(ctx) } @@ -194,15 +204,26 @@ func getLatestObjects(ctx context.Context, info *CompactableSync) (*reader_v2.Sy _ = baseC1Z.Close(ctx) } - latestAppliedSync, err := baseFile.GetSync(ctx, &reader_v2.SyncsReaderServiceGetSyncRequest{ + latestAppliedSync, err := baseFile.GetSync(ctx, reader_v2.SyncsReaderServiceGetSyncRequest_builder{ SyncId: info.SyncID, Annotations: nil, - }) + }.Build()) if err != nil { return nil, nil, nil, cleanup, err } - return latestAppliedSync.Sync, baseFile, baseC1Z, cleanup, nil + return latestAppliedSync.GetSync(), baseFile, baseC1Z, cleanup, nil +} + +func unionSyncTypes(a, b connectorstore.SyncType) connectorstore.SyncType { + switch { + case a == connectorstore.SyncTypeFull || b == connectorstore.SyncTypeFull: + return connectorstore.SyncTypeFull + case a == connectorstore.SyncTypeResourcesOnly || b == connectorstore.SyncTypeResourcesOnly: + return connectorstore.SyncTypeResourcesOnly + default: + return connectorstore.SyncTypePartial + } } func (c *Compactor) doOneCompaction(ctx context.Context, base *CompactableSync, applied *CompactableSync) (*CompactableSync, error) { @@ -231,28 +252,42 @@ func (c *Compactor) doOneCompaction(ctx context.Context, base *CompactableSync, } defer func() { _ = newFile.Close() }() - newSync, err := newFile.StartNewSyncV2(ctx, string(dotc1z.SyncTypeFull), "") + baseSync, baseFile, _, cleanupBase, err := c.getLatestObjects(ctx, base) + defer cleanupBase() if err != nil { return nil, err } - _, baseFile, _, cleanupBase, err := getLatestObjects(ctx, base) - defer cleanupBase() + appliedSync, appliedFile, _, cleanupApplied, err := c.getLatestObjects(ctx, applied) + defer cleanupApplied() if err != nil { return nil, err } - _, appliedFile, _, cleanupApplied, err := getLatestObjects(ctx, applied) - defer cleanupApplied() + syncType := unionSyncTypes(connectorstore.SyncType(baseSync.GetSyncType()), connectorstore.SyncType(appliedSync.GetSyncType())) + + newSyncId, err := newFile.StartNewSync(ctx, syncType, "") if err != nil { return nil, err } - // runner := naive.NewNaiveCompactor(baseFile, appliedFile, newFile) - runner := attached.NewAttachedCompactor(baseFile, appliedFile, newFile) - if err := runner.CompactWithSyncID(ctx, newSync); err != nil { - l.Error("error running compaction", zap.Error(err)) - return nil, err + switch c.compactorType { + case CompactorTypeNaive: + // TODO: Add support for syncID or remove naive compactor. + runner := naive.NewNaiveCompactor(baseFile, appliedFile, newFile) + if err := runner.Compact(ctx); err != nil { + l.Error("error running compaction", zap.Error(err)) + return nil, err + } + case CompactorTypeAttached: + runner := attached.NewAttachedCompactor(baseFile, appliedFile, newFile) + if err := runner.CompactWithSyncID(ctx, newSyncId); err != nil { + l.Error("error running compaction", zap.Error(err)) + return nil, err + } + default: + // c.compactorType defaults to attached, so this should never happen. + return nil, fmt.Errorf("invalid compactor type: %s", c.compactorType) } if err := newFile.EndSync(ctx); err != nil { @@ -266,6 +301,6 @@ func (c *Compactor) doOneCompaction(ctx context.Context, base *CompactableSync, return &CompactableSync{ FilePath: outputFilepath, - SyncID: newSync, + SyncID: newSyncId, }, nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/synccompactor/naive/naive.go b/vendor/github.com/conductorone/baton-sdk/pkg/synccompactor/naive/naive.go new file mode 100644 index 00000000..7e4ae6e9 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/synccompactor/naive/naive.go @@ -0,0 +1,88 @@ +package naive + +import ( + "context" + + "github.com/conductorone/baton-sdk/pkg/dotc1z" + "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap" + "go.uber.org/zap" + "google.golang.org/protobuf/proto" +) + +func NewNaiveCompactor(base *dotc1z.C1File, applied *dotc1z.C1File, dest *dotc1z.C1File) *Compactor { + return &Compactor{ + base: base, + applied: applied, + dest: dest, + } +} + +type Compactor struct { + base *dotc1z.C1File + applied *dotc1z.C1File + dest *dotc1z.C1File +} + +func (n *Compactor) Compact(ctx context.Context) error { + if err := n.processResourceTypes(ctx); err != nil { + return err + } + if err := n.processResources(ctx); err != nil { + return err + } + if err := n.processEntitlements(ctx); err != nil { + return err + } + if err := n.processGrants(ctx); err != nil { + return err + } + return nil +} + +func naiveCompact[T proto.Message, REQ listRequest, RESP listResponse[T]]( + ctx context.Context, + base listFunc[T, REQ, RESP], + applied listFunc[T, REQ, RESP], + save func(context.Context, ...T) error, +) error { + var t T + l := ctxzap.Extract(ctx) + l.Info("naive compaction: compacting objects", zap.String("object_type", string(t.ProtoReflect().Descriptor().FullName()))) + // List all objects from the base file and save them in the destination file + if err := listAllObjects(ctx, base, func(items []T) (bool, error) { + if err := save(ctx, items...); err != nil { + return false, err + } + return true, nil + }); err != nil { + return err + } + + // Then list all objects from the applied file and save them in the destination file, overwriting ones with the same external_id + if err := listAllObjects(ctx, applied, func(items []T) (bool, error) { + if err := save(ctx, items...); err != nil { + return false, err + } + return true, nil + }); err != nil { + return err + } + + return nil +} + +func (n *Compactor) processResourceTypes(ctx context.Context) error { + return naiveCompact(ctx, n.base.ListResourceTypes, n.applied.ListResourceTypes, n.dest.PutResourceTypesIfNewer) +} + +func (n *Compactor) processResources(ctx context.Context) error { + return naiveCompact(ctx, n.base.ListResources, n.applied.ListResources, n.dest.PutResourcesIfNewer) +} + +func (n *Compactor) processGrants(ctx context.Context) error { + return naiveCompact(ctx, n.base.ListGrants, n.applied.ListGrants, n.dest.PutGrantsIfNewer) +} + +func (n *Compactor) processEntitlements(ctx context.Context) error { + return naiveCompact(ctx, n.base.ListEntitlements, n.applied.ListEntitlements, n.dest.PutEntitlementsIfNewer) +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/synccompactor/naive/naive_unroll.go b/vendor/github.com/conductorone/baton-sdk/pkg/synccompactor/naive/naive_unroll.go new file mode 100644 index 00000000..cc4f8064 --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/synccompactor/naive/naive_unroll.go @@ -0,0 +1,98 @@ +package naive + +import ( + "context" + "reflect" + + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/types/known/anypb" +) + +type listRequest interface { + proto.Message + GetPageSize() uint32 + GetPageToken() string + GetAnnotations() []*anypb.Any +} + +type listResponse[T proto.Message] interface { + GetNextPageToken() string + GetAnnotations() []*anypb.Any + GetList() []T +} + +// createRequest creates a new request object of type REQ using reflection. +func createRequest[REQ listRequest]() REQ { + var r REQ + baseType := reflect.TypeOf(r).Elem() + pointerToInitializedVal := reflect.New(baseType) + return pointerToInitializedVal.Interface().(REQ) +} + +// setFieldIfValid sets a field in a struct if it exists and can be set. +func setFieldIfValid(obj interface{}, fieldName string, setValue func(reflect.Value)) { + val := reflect.ValueOf(obj) + if val.Kind() != reflect.Ptr || val.IsNil() { + return + } + + field := val.Elem().FieldByName(fieldName) + if field.IsValid() && field.CanSet() { + setValue(field) + } +} + +// setPageSize sets the PageSize field in a request to the specified value. +func setPageSize(req listRequest, size uint64) { + setFieldIfValid(req, "PageSize", func(field reflect.Value) { + field.SetUint(size) + }) +} + +// setPageToken sets the PageToken field in a request to the specified token. +func setPageToken(req listRequest, token string) { + setFieldIfValid(req, "PageToken", func(field reflect.Value) { + field.SetString(token) + }) +} + +type listFunc[T proto.Message, REQ listRequest, RESP listResponse[T]] func(context.Context, REQ) (RESP, error) + +func listAllObjects[T proto.Message, REQ listRequest, RESP listResponse[T]](ctx context.Context, list listFunc[T, REQ, RESP], cb func(items []T) (bool, error)) error { + // Create a new request using reflection + req := createRequest[REQ]() + + // Set initial page size + setPageSize(req, 100) // Set a reasonable default page size + + var nextPageToken string + for { + // Set the page token for the current request if needed + if nextPageToken != "" { + setPageToken(req, nextPageToken) + } + + // Call the list function with the current request + resp, err := list(ctx, req) + if err != nil { + return err + } + + // Collect the results + shouldContinue, err := cb(resp.GetList()) + if err != nil { + return err + } + if !shouldContinue { + return nil + } + + // Check if there are more pages + nextPageToken = resp.GetNextPageToken() + if nextPageToken == "" || len(resp.GetList()) == 0 { + break // No more pages + } + } + + return nil +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/actions.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/actions.go index cb59bb5c..91219a2a 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/actions.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/actions.go @@ -36,9 +36,9 @@ func (c *actionListSchemasTaskHandler) HandleTask(ctx context.Context) error { if t == nil { return c.helpers.FinishTask(ctx, nil, nil, errors.New("action list schemas task is nil")) } - resp, err := cc.ListActionSchemas(ctx, &v2.ListActionSchemasRequest{ + resp, err := cc.ListActionSchemas(ctx, v2.ListActionSchemasRequest_builder{ Annotations: t.GetAnnotations(), - }) + }.Build()) if err != nil { return c.helpers.FinishTask(ctx, nil, nil, err) } @@ -78,10 +78,10 @@ func (c *actionGetSchemaTaskHandler) HandleTask(ctx context.Context) error { return c.helpers.FinishTask(ctx, nil, nil, errors.New("action name required")) } - resp, err := cc.GetActionSchema(ctx, &v2.GetActionSchemaRequest{ + resp, err := cc.GetActionSchema(ctx, v2.GetActionSchemaRequest_builder{ Name: t.GetName(), Annotations: t.GetAnnotations(), - }) + }.Build()) if err != nil { return c.helpers.FinishTask(ctx, nil, nil, err) } @@ -124,11 +124,11 @@ func (c *actionInvokeTaskHandler) HandleTask(ctx context.Context) error { return c.helpers.FinishTask(ctx, nil, nil, errors.New("args required")) } - resp, err := cc.InvokeAction(ctx, &v2.InvokeActionRequest{ + resp, err := cc.InvokeAction(ctx, v2.InvokeActionRequest_builder{ Name: t.GetName(), Args: t.GetArgs(), Annotations: t.GetAnnotations(), - }) + }.Build()) if err != nil { return c.helpers.FinishTask(ctx, nil, nil, err) } @@ -168,11 +168,11 @@ func (c *actionStatusTaskHandler) HandleTask(ctx context.Context) error { return c.helpers.FinishTask(ctx, nil, nil, errors.New("action id required")) } - resp, err := cc.GetActionStatus(ctx, &v2.GetActionStatusRequest{ + resp, err := cc.GetActionStatus(ctx, v2.GetActionStatusRequest_builder{ Name: t.GetName(), Id: t.GetId(), Annotations: t.GetAnnotations(), - }) + }.Build()) if err != nil { return c.helpers.FinishTask(ctx, nil, nil, err) } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/bulk_create_tickets.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/bulk_create_tickets.go index 24bb2b6c..f3d7bd81 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/bulk_create_tickets.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/bulk_create_tickets.go @@ -38,17 +38,17 @@ func (c *bulkCreateTicketTaskHandler) HandleTask(ctx context.Context) error { ticketRequests := make([]*v2.TicketsServiceCreateTicketRequest, 0) for _, createTicketTask := range t.GetTicketRequests() { - ticketRequests = append(ticketRequests, &v2.TicketsServiceCreateTicketRequest{ + ticketRequests = append(ticketRequests, v2.TicketsServiceCreateTicketRequest_builder{ Request: createTicketTask.GetTicketRequest(), Schema: createTicketTask.GetTicketSchema(), Annotations: createTicketTask.GetAnnotations(), - }) + }.Build()) } cc := c.helpers.ConnectorClient() - resp, err := cc.BulkCreateTickets(ctx, &v2.TicketsServiceBulkCreateTicketsRequest{ + resp, err := cc.BulkCreateTickets(ctx, v2.TicketsServiceBulkCreateTicketsRequest_builder{ TicketRequests: ticketRequests, - }) + }.Build()) if err != nil { l.Error("failed bulk creating tickets", zap.Error(err)) return c.helpers.FinishTask(ctx, nil, nil, err) diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/bulk_get_tickets.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/bulk_get_tickets.go index 703a5ef9..dd585ee2 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/bulk_get_tickets.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/bulk_get_tickets.go @@ -40,15 +40,15 @@ func (c *bulkGetTicketTaskHandler) HandleTask(ctx context.Context) error { ticketRequests := make([]*v2.TicketsServiceGetTicketRequest, 0) for _, getTicketTask := range t.GetTicketRequests() { - ticketRequests = append(ticketRequests, &v2.TicketsServiceGetTicketRequest{ + ticketRequests = append(ticketRequests, v2.TicketsServiceGetTicketRequest_builder{ Id: getTicketTask.GetTicketId(), Annotations: getTicketTask.GetAnnotations(), - }) + }.Build()) } - resp, err := cc.BulkGetTickets(ctx, &v2.TicketsServiceBulkGetTicketsRequest{ + resp, err := cc.BulkGetTickets(ctx, v2.TicketsServiceBulkGetTicketsRequest_builder{ TicketRequests: ticketRequests, - }) + }.Build()) if err != nil { return c.helpers.FinishTask(ctx, nil, nil, err) } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/create_account.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/create_account.go index 7f7b442d..eb45b3c4 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/create_account.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/create_account.go @@ -29,7 +29,7 @@ func (g *createAccountTaskHandler) HandleTask(ctx context.Context) error { ctx, span := tracer.Start(ctx, "createAccountTaskHandler.HandleTask") defer span.End() - l := ctxzap.Extract(ctx).With(zap.String("task_id", g.task.Id), zap.Stringer("task_type", tasks.GetType(g.task))) + l := ctxzap.Extract(ctx).With(zap.String("task_id", g.task.GetId()), zap.Stringer("task_type", tasks.GetType(g.task))) t := g.task.GetCreateAccount() if t == nil || t.GetAccountInfo() == nil { @@ -41,11 +41,11 @@ func (g *createAccountTaskHandler) HandleTask(ctx context.Context) error { } cc := g.helpers.ConnectorClient() - resp, err := cc.CreateAccount(ctx, &v2.CreateAccountRequest{ + resp, err := cc.CreateAccount(ctx, v2.CreateAccountRequest_builder{ AccountInfo: t.GetAccountInfo(), CredentialOptions: t.GetCredentialOptions(), EncryptionConfigs: t.GetEncryptionConfigs(), - }) + }.Build()) if err != nil { l.Error("failed creating account", zap.Error(err)) return g.helpers.FinishTask(ctx, nil, nil, errors.Join(err, ErrTaskNonRetryable)) diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/create_resource.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/create_resource.go index 8b97f2eb..e9a06bc2 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/create_resource.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/create_resource.go @@ -29,7 +29,7 @@ func (g *createResourceTaskHandler) HandleTask(ctx context.Context) error { ctx, span := tracer.Start(ctx, "createResourceTaskHandler.HandleTask") defer span.End() - l := ctxzap.Extract(ctx).With(zap.String("task_id", g.task.Id), zap.Stringer("task_type", tasks.GetType(g.task))) + l := ctxzap.Extract(ctx).With(zap.String("task_id", g.task.GetId()), zap.Stringer("task_type", tasks.GetType(g.task))) t := g.task.GetCreateResource() if t == nil || t.GetResource() == nil { @@ -41,9 +41,9 @@ func (g *createResourceTaskHandler) HandleTask(ctx context.Context) error { } cc := g.helpers.ConnectorClient() - resp, err := cc.CreateResource(ctx, &v2.CreateResourceRequest{ + resp, err := cc.CreateResource(ctx, v2.CreateResourceRequest_builder{ Resource: t.GetResource(), - }) + }.Build()) if err != nil { l.Error("failed create resource task", zap.Error(err)) return g.helpers.FinishTask(ctx, nil, nil, errors.Join(err, ErrTaskNonRetryable)) diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/create_ticket.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/create_ticket.go index 3cd82079..0873a7c2 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/create_ticket.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/create_ticket.go @@ -37,11 +37,11 @@ func (c *createTicketTaskHandler) HandleTask(ctx context.Context) error { } cc := c.helpers.ConnectorClient() - resp, err := cc.CreateTicket(ctx, &v2.TicketsServiceCreateTicketRequest{ + resp, err := cc.CreateTicket(ctx, v2.TicketsServiceCreateTicketRequest_builder{ Request: t.GetTicketRequest(), Schema: t.GetTicketSchema(), Annotations: t.GetAnnotations(), - }) + }.Build()) if err != nil { l.Error("failed creating ticket", zap.Error(err)) return c.helpers.FinishTask(ctx, nil, t.GetAnnotations(), err) @@ -50,7 +50,7 @@ func (c *createTicketTaskHandler) HandleTask(ctx context.Context) error { respAnnos := annotations.Annotations(resp.GetAnnotations()) respAnnos.Merge(t.GetAnnotations()...) - resp.Annotations = respAnnos + resp.SetAnnotations(respAnnos) return c.helpers.FinishTask(ctx, resp, respAnnos, nil) } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/delete_resource.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/delete_resource.go index 13c61576..ef6aa747 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/delete_resource.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/delete_resource.go @@ -29,7 +29,7 @@ func (g *deleteResourceTaskHandler) HandleTask(ctx context.Context) error { ctx, span := tracer.Start(ctx, "deleteResourceTaskHandler.HandleTask") defer span.End() - l := ctxzap.Extract(ctx).With(zap.String("task_id", g.task.Id), zap.Stringer("task_type", tasks.GetType(g.task))) + l := ctxzap.Extract(ctx).With(zap.String("task_id", g.task.GetId()), zap.Stringer("task_type", tasks.GetType(g.task))) t := g.task.GetDeleteResource() if t == nil || t.GetResourceId() == nil || t.GetResourceId().GetResource() == "" || t.GetResourceId().GetResourceType() == "" { @@ -41,9 +41,10 @@ func (g *deleteResourceTaskHandler) HandleTask(ctx context.Context) error { } cc := g.helpers.ConnectorClient() - resp, err := cc.DeleteResource(ctx, &v2.DeleteResourceRequest{ - ResourceId: t.GetResourceId(), - }) + resp, err := cc.DeleteResource(ctx, v2.DeleteResourceRequest_builder{ + ResourceId: t.GetResourceId(), + ParentResourceId: t.GetParentResourceId(), + }.Build()) if err != nil { l.Error("failed delete resource task", zap.Error(err)) return g.helpers.FinishTask(ctx, nil, nil, errors.Join(err, ErrTaskNonRetryable)) diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/full_sync.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/full_sync.go index 0bec6a27..24266a6f 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/full_sync.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/full_sync.go @@ -13,6 +13,7 @@ import ( v1 "github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1" "github.com/conductorone/baton-sdk/pkg/annotations" + "github.com/conductorone/baton-sdk/pkg/session" sdkSync "github.com/conductorone/baton-sdk/pkg/sync" "github.com/conductorone/baton-sdk/pkg/tasks" "github.com/conductorone/baton-sdk/pkg/types" @@ -33,6 +34,7 @@ type fullSyncTaskHandler struct { externalResourceC1ZPath string externalResourceEntitlementIdFilter string targetedSyncResourceIDs []string + syncResourceTypeIDs []string } func (c *fullSyncTaskHandler) sync(ctx context.Context, c1zPath string) error { @@ -41,11 +43,25 @@ func (c *fullSyncTaskHandler) sync(ctx context.Context, c1zPath string) error { l := ctxzap.Extract(ctx).With(zap.String("task_id", c.task.GetId()), zap.Stringer("task_type", tasks.GetType(c.task))) + if c.task.GetSyncFull() == nil { + return errors.New("task is not a full sync task") + } + syncOpts := []sdkSync.SyncOpt{ sdkSync.WithC1ZPath(c1zPath), sdkSync.WithTmpDir(c.helpers.TempDir()), } + if c.task.GetSyncFull().GetSkipExpandGrants() { + // Have C1 expand grants. This is faster & results in a smaller c1z upload. + syncOpts = append(syncOpts, sdkSync.WithDontExpandGrants()) + } + + if c.task.GetSyncFull().GetSkipEntitlementsAndGrants() { + // Sync only resources. This is meant to be used for a first sync so initial data gets into the UI faster. + syncOpts = append(syncOpts, sdkSync.WithSkipEntitlementsAndGrants(true)) + } + if c.externalResourceC1ZPath != "" { syncOpts = append(syncOpts, sdkSync.WithExternalResourceC1ZPath(c.externalResourceC1ZPath)) } @@ -61,8 +77,17 @@ func (c *fullSyncTaskHandler) sync(ctx context.Context, c1zPath string) error { if len(c.targetedSyncResourceIDs) > 0 { syncOpts = append(syncOpts, sdkSync.WithTargetedSyncResourceIDs(c.targetedSyncResourceIDs)) } + cc := c.helpers.ConnectorClient() - syncer, err := sdkSync.NewSyncer(ctx, c.helpers.ConnectorClient(), syncOpts...) + if len(c.syncResourceTypeIDs) > 0 { + syncOpts = append(syncOpts, sdkSync.WithSyncResourceTypes(c.syncResourceTypeIDs)) + } + + if setSessionStore, ok := cc.(session.SetSessionStore); ok { + syncOpts = append(syncOpts, sdkSync.WithSessionStore(setSessionStore)) + } + + syncer, err := sdkSync.NewSyncer(ctx, cc, syncOpts...) if err != nil { l.Error("failed to create syncer", zap.Error(err)) return err @@ -168,6 +193,7 @@ func newFullSyncTaskHandler( externalResourceC1ZPath string, externalResourceEntitlementIdFilter string, targetedSyncResourceIDs []string, + syncResourceTypeIDs []string, ) tasks.TaskHandler { return &fullSyncTaskHandler{ task: task, @@ -176,6 +202,7 @@ func newFullSyncTaskHandler( externalResourceC1ZPath: externalResourceC1ZPath, externalResourceEntitlementIdFilter: externalResourceEntitlementIdFilter, targetedSyncResourceIDs: targetedSyncResourceIDs, + syncResourceTypeIDs: syncResourceTypeIDs, } } @@ -192,45 +219,45 @@ func uploadDebugLogs(ctx context.Context, helper fullSyncHelpers) error { l.Warn("unable to get the current working directory", zap.Error(err)) } if wd != "" { - l.Warn("no temporal folder found on this system according to our sync helper,"+ + l.Warn("no temporary folder found on this system according to our sync helper,"+ " we may create files in the current working directory by mistake as a result", zap.String("current working directory", wd)) } else { - l.Warn("no temporal folder found on this system according to our sync helper") + l.Warn("no temporary folder found on this system according to our sync helper") } } - debugfilelocation := filepath.Join(tempDir, "debug.log") + debugPath := filepath.Join(tempDir, "debug.log") - _, err := os.Stat(debugfilelocation) + _, err := os.Stat(debugPath) if err != nil { switch { case errors.Is(err, os.ErrNotExist): - l.Warn("debug log file does not exists", zap.Error(err)) + l.Debug("debug log file does not exist", zap.Error(err)) case errors.Is(err, os.ErrPermission): l.Warn("debug log file cannot be stat'd due to lack of permissions", zap.Error(err)) default: l.Warn("cannot stat debug log file", zap.Error(err)) } return nil - } else { - debugfile, err := os.Open(debugfilelocation) - if err != nil { - return err - } - defer debugfile.Close() + } - l.Info("uploading debug logs", zap.String("file", debugfilelocation)) - err = helper.Upload(ctx, debugfile) + debugfile, err := os.Open(debugPath) + if err != nil { + return err + } + defer func() { + err := os.Remove(debugPath) if err != nil { - return err + l.Error("failed to delete file with debug logs", zap.Error(err), zap.String("file", debugPath)) } - defer func() { - err := os.Remove(debugfilelocation) - if err != nil { - l.Error("failed to delete file with debug logs", zap.Error(err), zap.String("file", debugfilelocation)) - } - }() + }() + defer debugfile.Close() - return nil + l.Info("uploading debug logs", zap.String("file", debugPath)) + err = helper.Upload(ctx, debugfile) + if err != nil { + return err } + + return nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/get_ticket.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/get_ticket.go index 3406f7ea..52068b4a 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/get_ticket.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/get_ticket.go @@ -38,9 +38,9 @@ func (c *getTicketTaskHandler) HandleTask(ctx context.Context) error { return c.helpers.FinishTask(ctx, nil, nil, errors.Join(errors.New("malformed get ticket task"), ErrTaskNonRetryable)) } - ticket, err := cc.GetTicket(ctx, &v2.TicketsServiceGetTicketRequest{ + ticket, err := cc.GetTicket(ctx, v2.TicketsServiceGetTicketRequest_builder{ Id: t.GetTicketId(), - }) + }.Build()) if err != nil { return c.helpers.FinishTask(ctx, nil, t.GetAnnotations(), err) } @@ -49,14 +49,14 @@ func (c *getTicketTaskHandler) HandleTask(ctx context.Context) error { return c.helpers.FinishTask(ctx, nil, t.GetAnnotations(), errors.Join(errors.New("connector returned empty ticket"), ErrTaskNonRetryable)) } - resp := &v2.TicketsServiceGetTicketResponse{ + resp := v2.TicketsServiceGetTicketResponse_builder{ Ticket: ticket.GetTicket(), - } + }.Build() respAnnos := annotations.Annotations(resp.GetAnnotations()) respAnnos.Merge(t.GetAnnotations()...) - resp.Annotations = respAnnos + resp.SetAnnotations(respAnnos) l.Debug("GetTicket response", zap.Any("resp", resp)) diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/grant.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/grant.go index 4d4c3801..c0afb76f 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/grant.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/grant.go @@ -29,7 +29,7 @@ func (g *grantTaskHandler) HandleTask(ctx context.Context) error { ctx, span := tracer.Start(ctx, "grantTaskHandler.HandleTask") defer span.End() - l := ctxzap.Extract(ctx).With(zap.String("task_id", g.task.Id), zap.Stringer("task_type", tasks.GetType(g.task))) + l := ctxzap.Extract(ctx).With(zap.String("task_id", g.task.GetId()), zap.Stringer("task_type", tasks.GetType(g.task))) if g.task.GetGrant() == nil || g.task.GetGrant().GetEntitlement() == nil || g.task.GetGrant().GetPrincipal() == nil { l.Error( @@ -44,10 +44,10 @@ func (g *grantTaskHandler) HandleTask(ctx context.Context) error { grant := g.task.GetGrant() cc := g.helpers.ConnectorClient() - resp, err := cc.Grant(ctx, &v2.GrantManagerServiceGrantRequest{ - Entitlement: grant.Entitlement, - Principal: grant.Principal, - }) + resp, err := cc.Grant(ctx, v2.GrantManagerServiceGrantRequest_builder{ + Entitlement: grant.GetEntitlement(), + Principal: grant.GetPrincipal(), + }.Build()) if err != nil { l.Error("failed while granting entitlement", zap.Error(err)) return g.helpers.FinishTask(ctx, nil, nil, errors.Join(err, ErrTaskNonRetryable)) diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/hello.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/hello.go index da5b0223..0990cf48 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/hello.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/hello.go @@ -6,7 +6,7 @@ import ( "runtime/debug" "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap" - "github.com/shirou/gopsutil/v3/host" + "github.com/shirou/gopsutil/v4/host" "go.uber.org/zap" v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" @@ -38,7 +38,7 @@ func (c *helloTaskHandler) osInfo(ctx context.Context) (*v1.BatonServiceHelloReq info.VirtualizationSystem = "none" } - return &v1.BatonServiceHelloRequest_OSInfo{ + return v1.BatonServiceHelloRequest_OSInfo_builder{ Hostname: info.Hostname, Os: info.OS, Platform: info.Platform, @@ -47,23 +47,42 @@ func (c *helloTaskHandler) osInfo(ctx context.Context) (*v1.BatonServiceHelloReq KernelVersion: info.KernelVersion, KernelArch: info.KernelArch, VirtualizationSystem: info.VirtualizationSystem, - }, nil + }.Build(), nil } func (c *helloTaskHandler) buildInfo(ctx context.Context) *v1.BatonServiceHelloRequest_BuildInfo { l := ctxzap.Extract(ctx) + buildInfo := v1.BatonServiceHelloRequest_BuildInfo_builder{ + LangVersion: "0.0.0", + Package: "/dummy/path", + PackageVersion: "0.0.0", + }.Build() bi, ok := debug.ReadBuildInfo() if !ok { l.Error("failed to get build info") - return &v1.BatonServiceHelloRequest_BuildInfo{} + return buildInfo } - return &v1.BatonServiceHelloRequest_BuildInfo{ - LangVersion: bi.GoVersion, - Package: bi.Main.Path, - PackageVersion: bi.Main.Version, + if bi.Main.Path == "" { + l.Warn("missing build info Main.path") + } else { + buildInfo.SetPackage(bi.Main.Path) } + + if bi.Main.Version == "" { + l.Warn("missing build info Main.version") + } else { + buildInfo.SetPackageVersion(bi.Main.Version) + } + + if bi.GoVersion == "" { + l.Warn("missing build info GoVersion") + } else { + buildInfo.SetLangVersion(bi.GoVersion) + } + + return buildInfo } func (c *helloTaskHandler) HandleTask(ctx context.Context) error { @@ -91,12 +110,12 @@ func (c *helloTaskHandler) HandleTask(ctx context.Context) error { if err != nil { return err } - _, err = c.helpers.HelloClient().Hello(ctx, &v1.BatonServiceHelloRequest{ + _, err = c.helpers.HelloClient().Hello(ctx, v1.BatonServiceHelloRequest_builder{ TaskId: taskID, BuildInfo: c.buildInfo(ctx), OsInfo: osInfo, ConnectorMetadata: mdResp.GetMetadata(), - }) + }.Build()) if err != nil { l.Error("failed while sending hello", zap.Error(err)) return err diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/list_ticket_schemas.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/list_ticket_schemas.go index 95579eb1..bd48f298 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/list_ticket_schemas.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/list_ticket_schemas.go @@ -44,9 +44,9 @@ func (c *listTicketSchemasTaskHandler) HandleTask(ctx context.Context) error { var err error pageToken := "" for { - schemas, err := cc.ListTicketSchemas(ctx, &v2.TicketsServiceListTicketSchemasRequest{ + schemas, err := cc.ListTicketSchemas(ctx, v2.TicketsServiceListTicketSchemasRequest_builder{ PageToken: pageToken, - }) + }.Build()) if err != nil { return err } @@ -81,10 +81,10 @@ func (c *listTicketSchemasTaskHandler) HandleTask(ctx context.Context) error { return c.helpers.FinishTask(ctx, nil, nil, err) } - resp := &v2.TicketsServiceListTicketSchemasResponse{ + resp := v2.TicketsServiceListTicketSchemasResponse_builder{ List: ticketSchemas, NextPageToken: "", - } + }.Build() return c.helpers.FinishTask(ctx, resp, resp.GetAnnotations(), nil) } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/manager.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/manager.go index ad3867e3..97a036a1 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/manager.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/manager.go @@ -53,6 +53,7 @@ type c1ApiTaskManager struct { externalResourceC1Z string externalResourceEntitlementIdFilter string targetedSyncResourceIDs []string + syncResourceTypeIDs []string } // getHeartbeatInterval returns an appropriate heartbeat interval. If the interval is 0, it will return the default heartbeat interval. @@ -94,13 +95,11 @@ func (c *c1ApiTaskManager) Next(ctx context.Context) (*v1.Task, time.Duration, e l.Debug("c1_api_task_manager.Next(): queueing initial hello task") c.started = true // Append a hello task to the queue on startup. - c.queue = append(c.queue, &v1.Task{ + c.queue = append(c.queue, v1.Task_builder{ Id: "", Status: v1.Task_STATUS_PENDING, - TaskType: &v1.Task_Hello{ - Hello: &v1.Task_HelloTask{}, - }, - }) + Hello: &v1.Task_HelloTask{}, + }.Build()) // TODO(morgabra) Get resumable tasks here and queue them. } @@ -132,7 +131,7 @@ func (c *c1ApiTaskManager) Next(ctx context.Context) (*v1.Task, time.Duration, e zap.Stringer("task_type", tasks.GetType(resp.GetTask())), ) - l.Debug("c1_api_task_manager.Next(): got task") + l.Debug("c1_api_task_manager.Next(): got task", zap.Duration("next_poll", nextPoll)) return resp.GetTask(), nextPoll, nil } @@ -161,16 +160,14 @@ func (c *c1ApiTaskManager) finishTask(ctx context.Context, task *v1.Task, resp p if err == nil { l.Info("c1_api_task_manager.finishTask(): finishing task successfully") - _, err = c.serviceClient.FinishTask(finishCtx, &v1.BatonServiceFinishTaskRequest{ + _, err = c.serviceClient.FinishTask(finishCtx, v1.BatonServiceFinishTaskRequest_builder{ TaskId: task.GetId(), Status: nil, - FinalState: &v1.BatonServiceFinishTaskRequest_Success_{ - Success: &v1.BatonServiceFinishTaskRequest_Success{ - Annotations: annos, - Response: marshalledResp, - }, - }, - }) + Success: v1.BatonServiceFinishTaskRequest_Success_builder{ + Annotations: annos, + Response: marshalledResp, + }.Build(), + }.Build()) if err != nil { l.Error("c1_api_task_manager.finishTask(): error while attempting to finish task successfully", zap.Error(err)) return err @@ -186,20 +183,18 @@ func (c *c1ApiTaskManager) finishTask(ctx context.Context, task *v1.Task, resp p statusErr = status.New(codes.Unknown, err.Error()) } - _, rpcErr := c.serviceClient.FinishTask(finishCtx, &v1.BatonServiceFinishTaskRequest{ + _, rpcErr := c.serviceClient.FinishTask(finishCtx, v1.BatonServiceFinishTaskRequest_builder{ TaskId: task.GetId(), Status: &pbstatus.Status{ //nolint:gosec // No risk of overflow because `Code` is a small enum. Code: int32(statusErr.Code()), Message: statusErr.Message(), }, - FinalState: &v1.BatonServiceFinishTaskRequest_Error_{ - Error: &v1.BatonServiceFinishTaskRequest_Error{ - NonRetryable: errors.Is(err, ErrTaskNonRetryable), - Annotations: annos, - }, - }, - }) + Error: v1.BatonServiceFinishTaskRequest_Error_builder{ + NonRetryable: errors.Is(err, ErrTaskNonRetryable), + Annotations: annos, + }.Build(), + }.Build()) if rpcErr != nil { l.Error("c1_api_task_manager.finishTask(): error finishing task", zap.Error(rpcErr)) return errors.Join(err, rpcErr) @@ -254,6 +249,7 @@ func (c *c1ApiTaskManager) Process(ctx context.Context, task *v1.Task, cc types. c.externalResourceC1Z, c.externalResourceEntitlementIdFilter, c.targetedSyncResourceIDs, + c.syncResourceTypeIDs, ) case taskTypes.HelloType: handler = newHelloTaskHandler(task, tHelpers) @@ -305,6 +301,7 @@ func (c *c1ApiTaskManager) Process(ctx context.Context, task *v1.Task, cc types. func NewC1TaskManager( ctx context.Context, clientID string, clientSecret string, tempDir string, skipFullSync bool, externalC1Z string, externalResourceEntitlementIdFilter string, targetedSyncResourceIDs []string, + syncResourceTypeIDs []string, ) (tasks.Manager, error) { serviceClient, err := newServiceClient(ctx, clientID, clientSecret) if err != nil { @@ -318,5 +315,6 @@ func NewC1TaskManager( externalResourceC1Z: externalC1Z, externalResourceEntitlementIdFilter: externalResourceEntitlementIdFilter, targetedSyncResourceIDs: targetedSyncResourceIDs, + syncResourceTypeIDs: syncResourceTypeIDs, }, nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/revoke.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/revoke.go index efe072cd..ee57c2ba 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/revoke.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/revoke.go @@ -31,7 +31,7 @@ func (r *revokeTaskHandler) HandleTask(ctx context.Context) error { ctx, span := tracer.Start(ctx, "revokeTaskHandler.HandleTask") defer span.End() - l := ctxzap.Extract(ctx).With(zap.String("task_id", r.task.Id), zap.Stringer("task_type", tasks.GetType(r.task))) + l := ctxzap.Extract(ctx).With(zap.String("task_id", r.task.GetId()), zap.Stringer("task_type", tasks.GetType(r.task))) if r.task.GetRevoke() == nil || r.task.GetRevoke().GetGrant() == nil { l.Error("revoke task was nil or missing grant", zap.Any("revoke", r.task.GetRevoke()), zap.Any("grant", r.task.GetRevoke().GetGrant())) @@ -39,9 +39,9 @@ func (r *revokeTaskHandler) HandleTask(ctx context.Context) error { } cc := r.helpers.ConnectorClient() - resp, err := cc.Revoke(ctx, &v2.GrantManagerServiceRevokeRequest{ + resp, err := cc.Revoke(ctx, v2.GrantManagerServiceRevokeRequest_builder{ Grant: r.task.GetRevoke().GetGrant(), - }) + }.Build()) if err != nil { l.Error("failed while granting entitlement", zap.Error(err)) return r.helpers.FinishTask(ctx, nil, nil, errors.Join(err, ErrTaskNonRetryable)) diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/rotate_credentials.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/rotate_credentials.go index 36d5f803..45f28d9c 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/rotate_credentials.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/rotate_credentials.go @@ -29,7 +29,7 @@ func (g *rotateCredentialsTaskHandler) HandleTask(ctx context.Context) error { ctx, span := tracer.Start(ctx, "rotateCredentialsTaskHandler.HandleTask") defer span.End() - l := ctxzap.Extract(ctx).With(zap.String("task_id", g.task.Id), zap.Stringer("task_type", tasks.GetType(g.task))) + l := ctxzap.Extract(ctx).With(zap.String("task_id", g.task.GetId()), zap.Stringer("task_type", tasks.GetType(g.task))) t := g.task.GetRotateCredentials() if t == nil || t.GetResourceId() == nil { @@ -41,11 +41,11 @@ func (g *rotateCredentialsTaskHandler) HandleTask(ctx context.Context) error { } cc := g.helpers.ConnectorClient() - resp, err := cc.RotateCredential(ctx, &v2.RotateCredentialRequest{ + resp, err := cc.RotateCredential(ctx, v2.RotateCredentialRequest_builder{ ResourceId: t.GetResourceId(), CredentialOptions: t.GetCredentialOptions(), EncryptionConfigs: t.GetEncryptionConfigs(), - }) + }.Build()) if err != nil { l.Error("failed rotating credentials", zap.Error(err)) return g.helpers.FinishTask(ctx, nil, nil, errors.Join(err, ErrTaskNonRetryable)) diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/service_client.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/service_client.go index 55707ab3..f7ef2c82 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/service_client.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/service_client.go @@ -92,7 +92,7 @@ func (c *c1ServiceClient) Hello(ctx context.Context, in *v1.BatonServiceHelloReq } defer done() - in.HostId = c.getHostID() + in.SetHostId(c.getHostID()) return client.Hello(ctx, in) } @@ -107,7 +107,7 @@ func (c *c1ServiceClient) GetTask(ctx context.Context, in *v1.BatonServiceGetTas } defer done() - in.HostId = c.getHostID() + in.SetHostId(c.getHostID()) return client.GetTask(ctx, in) } @@ -122,7 +122,7 @@ func (c *c1ServiceClient) Heartbeat(ctx context.Context, in *v1.BatonServiceHear } defer done() - in.HostId = c.getHostID() + in.SetHostId(c.getHostID()) return client.Heartbeat(ctx, in) } @@ -137,7 +137,7 @@ func (c *c1ServiceClient) FinishTask(ctx context.Context, in *v1.BatonServiceFin } defer done() - in.HostId = c.getHostID() + in.SetHostId(c.getHostID()) return client.FinishTask(ctx, in) } @@ -148,6 +148,39 @@ func (c *c1ServiceClient) Upload(ctx context.Context, task *v1.Task, r io.ReadSe l := ctxzap.Extract(ctx) + var err error + const maxAttempts = 3 + for i := range maxAttempts { + err = c.upload(ctx, task, r) + if err == nil { + return nil + } + l.Warn("failed to upload asset", zap.Error(err)) + if i < maxAttempts-1 { + backoff := time.Second * time.Duration(i) + select { + case <-time.After(backoff): + case <-ctx.Done(): + return ctx.Err() + } + } + } + + return err +} + +func (c *c1ServiceClient) upload(ctx context.Context, task *v1.Task, r io.ReadSeeker) error { + ctx, span := tracer.Start(ctx, "c1ServiceClient.Upload") + defer span.End() + + l := ctxzap.Extract(ctx) + + _, err := r.Seek(0, io.SeekStart) + if err != nil { + l.Error("failed to seek to start of upload asset", zap.Error(err)) + return err + } + client, done, err := c.getClientConn(ctx) if err != nil { return err @@ -173,14 +206,12 @@ func (c *c1ServiceClient) Upload(ctx context.Context, task *v1.Task, r io.ReadSe return err } - err = uc.Send(&v1.BatonServiceUploadAssetRequest{ - Msg: &v1.BatonServiceUploadAssetRequest_Metadata{ - Metadata: &v1.BatonServiceUploadAssetRequest_UploadMetadata{ - HostId: c.getHostID(), - TaskId: task.Id, - }, - }, - }) + err = uc.Send(v1.BatonServiceUploadAssetRequest_builder{ + Metadata: v1.BatonServiceUploadAssetRequest_UploadMetadata_builder{ + HostId: c.getHostID(), + TaskId: task.GetId(), + }.Build(), + }.Build()) if err != nil { l.Error("failed to send upload metadata", zap.Error(err)) return err @@ -206,26 +237,22 @@ func (c *c1ServiceClient) Upload(ctx context.Context, task *v1.Task, r io.ReadSe return err } - err = uc.Send(&v1.BatonServiceUploadAssetRequest{ - Msg: &v1.BatonServiceUploadAssetRequest_Data{ - Data: &v1.BatonServiceUploadAssetRequest_UploadData{ - Data: chunk, - }, - }, - }) + err = uc.Send(v1.BatonServiceUploadAssetRequest_builder{ + Data: v1.BatonServiceUploadAssetRequest_UploadData_builder{ + Data: chunk, + }.Build(), + }.Build()) if err != nil { l.Error("failed to send upload chunk", zap.Error(err)) return err } } - err = uc.Send(&v1.BatonServiceUploadAssetRequest{ - Msg: &v1.BatonServiceUploadAssetRequest_Eof{ - Eof: &v1.BatonServiceUploadAssetRequest_UploadEOF{ - Sha256Checksum: shaChecksum, - }, - }, - }) + err = uc.Send(v1.BatonServiceUploadAssetRequest_builder{ + Eof: v1.BatonServiceUploadAssetRequest_UploadEOF_builder{ + Sha256Checksum: shaChecksum, + }.Build(), + }.Build()) if err != nil { l.Error("failed to send upload metadata", zap.Error(err)) return err @@ -237,7 +264,7 @@ func (c *c1ServiceClient) Upload(ctx context.Context, task *v1.Task, r io.ReadSe return err } - l.Info("uploaded asset", zap.String("task_id", task.Id), zap.Int64("size", rLen)) + l.Info("uploaded asset", zap.String("task_id", task.GetId()), zap.Int64("size", rLen)) return nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/task_helpers.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/task_helpers.go index 7e8342d8..8a8a8dd4 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/task_helpers.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/c1api/task_helpers.go @@ -71,17 +71,17 @@ func (t *taskHelpers) HeartbeatTask(ctx context.Context, annos annotations.Annot rCtx, rCancel := context.WithCancelCause(ctx) l.Debug("heartbeat: sending initial heartbeat") - resp, err := t.serviceClient.Heartbeat(ctx, &v1.BatonServiceHeartbeatRequest{ + resp, err := t.serviceClient.Heartbeat(ctx, v1.BatonServiceHeartbeatRequest_builder{ TaskId: t.task.GetId(), Annotations: annos, - }) + }.Build()) if err != nil { err = errors.Join(ErrTaskHeartbeatFailed, err) l.Error("heartbeat: failed sending initial heartbeat", zap.Error(err)) rCancel(err) return nil, err } - if resp.Cancelled { + if resp.GetCancelled() { err = ErrTaskCancelled l.Debug("heartbeat: task was cancelled by server") rCancel(err) @@ -111,10 +111,10 @@ func (t *taskHelpers) HeartbeatTask(ctx context.Context, annos annotations.Annot return case <-time.After(heartbeatInterval): - resp, err := t.serviceClient.Heartbeat(ctx, &v1.BatonServiceHeartbeatRequest{ + resp, err := t.serviceClient.Heartbeat(ctx, v1.BatonServiceHeartbeatRequest_builder{ TaskId: t.task.GetId(), Annotations: annos, - }) + }.Build()) if err != nil { // If our parent context gets cancelled we can just leave. if ctxErr := ctx.Err(); ctxErr != nil { @@ -136,7 +136,7 @@ func (t *taskHelpers) HeartbeatTask(ctx context.Context, annos annotations.Annot heartbeatInterval = getHeartbeatInterval(resp.GetNextHeartbeat().AsDuration()) l.Debug("heartbeat: success", zap.Duration("next_heartbeat", heartbeatInterval)) - if resp.Cancelled { + if resp.GetCancelled() { l.Debug("heartbeat: task was cancelled by server") rCancel(ErrTaskCancelled) return diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/accounter.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/accounter.go index 33c03735..7d507117 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/accounter.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/accounter.go @@ -34,9 +34,9 @@ func (m *localAccountManager) ShouldDebug() bool { func (m *localAccountManager) Next(ctx context.Context) (*v1.Task, time.Duration, error) { var task *v1.Task m.o.Do(func() { - task = &v1.Task{ - TaskType: &v1.Task_CreateAccount{}, - } + task = v1.Task_builder{ + CreateAccount: &v1.Task_CreateAccountTask{}, + }.Build() }) return task, 0, nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/action_invoker.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/action_invoker.go index 236842d1..ef143f80 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/action_invoker.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/action_invoker.go @@ -36,14 +36,12 @@ func (m *localActionInvoker) ShouldDebug() bool { func (m *localActionInvoker) Next(ctx context.Context) (*v1.Task, time.Duration, error) { var task *v1.Task m.o.Do(func() { - task = &v1.Task{ - TaskType: &v1.Task_ActionInvoke{ - ActionInvoke: &v1.Task_ActionInvokeTask{ - Name: m.action, - Args: m.args, - }, - }, - } + task = v1.Task_builder{ + ActionInvoke: v1.Task_ActionInvokeTask_builder{ + Name: m.action, + Args: m.args, + }.Build(), + }.Build() }) return task, 0, nil } @@ -54,11 +52,11 @@ func (m *localActionInvoker) Process(ctx context.Context, task *v1.Task, cc type defer span.End() t := task.GetActionInvoke() - resp, err := cc.InvokeAction(ctx, &v2.InvokeActionRequest{ + resp, err := cc.InvokeAction(ctx, v2.InvokeActionRequest_builder{ Name: t.GetName(), Args: t.GetArgs(), Annotations: t.GetAnnotations(), - }) + }.Build()) if err != nil { return err } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/compactor.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/compactor.go index 1153134f..e13d756a 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/compactor.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/compactor.go @@ -32,9 +32,9 @@ func (m *localCompactor) ShouldDebug() bool { func (m *localCompactor) Next(ctx context.Context) (*v1.Task, time.Duration, error) { var task *v1.Task m.o.Do(func() { - task = &v1.Task{ - TaskType: &v1.Task_CompactSyncs_{}, - } + task = v1.Task_builder{ + CompactSyncs: &v1.Task_CompactSyncs{}, + }.Build() }) return task, 0, nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/deleter.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/deleter.go index d5db8cb1..400c88b2 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/deleter.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/deleter.go @@ -32,9 +32,9 @@ func (m *localResourceDeleter) ShouldDebug() bool { func (m *localResourceDeleter) Next(ctx context.Context) (*v1.Task, time.Duration, error) { var task *v1.Task m.o.Do(func() { - task = &v1.Task{ - TaskType: &v1.Task_DeleteResource{}, - } + task = v1.Task_builder{ + DeleteResource: &v1.Task_DeleteResourceTask{}, + }.Build() }) return task, 0, nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/differ.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/differ.go index 75212f8c..856f2690 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/differ.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/differ.go @@ -34,9 +34,9 @@ func (m *localDiffer) ShouldDebug() bool { func (m *localDiffer) Next(ctx context.Context) (*v1.Task, time.Duration, error) { var task *v1.Task m.o.Do(func() { - task = &v1.Task{ - TaskType: &v1.Task_CreateSyncDiff{}, - } + task = v1.Task_builder{ + CreateSyncDiff: &v1.Task_CreateSyncDiffTask{}, + }.Build() }) return task, 0, nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/event_feed.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/event_feed.go index 18e04a4b..a4dab4cf 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/event_feed.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/event_feed.go @@ -19,6 +19,7 @@ type localEventFeed struct { o sync.Once feedId string startAt time.Time + cursor string } const EventsPerPageLocally = 100 @@ -34,13 +35,11 @@ func (m *localEventFeed) ShouldDebug() bool { func (m *localEventFeed) Next(ctx context.Context) (*v1.Task, time.Duration, error) { var task *v1.Task m.o.Do(func() { - task = &v1.Task{ - TaskType: &v1.Task_EventFeed{ - EventFeed: &v1.Task_EventFeedTask{ - StartAt: timestamppb.New(m.startAt), - }, - }, - } + task = v1.Task_builder{ + EventFeed: v1.Task_EventFeedTask_builder{ + StartAt: timestamppb.New(m.startAt), + }.Build(), + }.Build() }) return task, 0, nil } @@ -49,14 +48,14 @@ func (m *localEventFeed) Process(ctx context.Context, task *v1.Task, cc types.Co ctx, span := tracer.Start(ctx, "localEventFeed.Process", trace.WithNewRoot()) defer span.End() - var pageToken string + pageToken := m.cursor for { - resp, err := cc.ListEvents(ctx, &v2.ListEventsRequest{ + resp, err := cc.ListEvents(ctx, v2.ListEventsRequest_builder{ PageSize: EventsPerPageLocally, Cursor: pageToken, StartAt: task.GetEventFeed().GetStartAt(), EventFeedId: m.feedId, - }) + }.Build()) if err != nil { return err } @@ -78,9 +77,10 @@ func (m *localEventFeed) Process(ctx context.Context, task *v1.Task, cc types.Co } // NewEventFeed returns a task manager that queues an event feed task. -func NewEventFeed(ctx context.Context, feedId string, startAt time.Time) tasks.Manager { +func NewEventFeed(ctx context.Context, feedId string, startAt time.Time, cursor string) tasks.Manager { return &localEventFeed{ feedId: feedId, startAt: startAt, + cursor: cursor, } } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/granter.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/granter.go index 33c091a7..a6dab321 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/granter.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/granter.go @@ -33,9 +33,9 @@ func (m *localGranter) ShouldDebug() bool { func (m *localGranter) Next(ctx context.Context) (*v1.Task, time.Duration, error) { var task *v1.Task m.o.Do(func() { - task = &v1.Task{ - TaskType: &v1.Task_Grant{}, - } + task = v1.Task_builder{ + Grant: &v1.Task_GrantTask{}, + }.Build() }) return task, 0, nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/revoker.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/revoker.go index b0ef0e9b..2c9825de 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/revoker.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/revoker.go @@ -31,9 +31,9 @@ func (m *localRevoker) ShouldDebug() bool { func (m *localRevoker) Next(ctx context.Context) (*v1.Task, time.Duration, error) { var task *v1.Task m.o.Do(func() { - task = &v1.Task{ - TaskType: &v1.Task_Revoke{}, - } + task = v1.Task_builder{ + Revoke: &v1.Task_RevokeTask{}, + }.Build() }) return task, 0, nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/rotator.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/rotator.go index 4984b6f1..ccea5684 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/rotator.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/rotator.go @@ -32,9 +32,9 @@ func (m *localCredentialRotator) ShouldDebug() bool { func (m *localCredentialRotator) Next(ctx context.Context) (*v1.Task, time.Duration, error) { var task *v1.Task m.o.Do(func() { - task = &v1.Task{ - TaskType: &v1.Task_RotateCredentials{}, - } + task = v1.Task_builder{ + RotateCredentials: &v1.Task_RotateCredentialsTask{}, + }.Build() }) return task, 0, nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/syncer.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/syncer.go index d02a6d9a..15148c48 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/syncer.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/syncer.go @@ -9,6 +9,7 @@ import ( "go.opentelemetry.io/otel/trace" v1 "github.com/conductorone/baton-sdk/pb/c1/connectorapi/baton/v1" + "github.com/conductorone/baton-sdk/pkg/session" sdkSync "github.com/conductorone/baton-sdk/pkg/sync" "github.com/conductorone/baton-sdk/pkg/tasks" "github.com/conductorone/baton-sdk/pkg/types" @@ -21,6 +22,9 @@ type localSyncer struct { externalResourceC1Z string externalResourceEntitlementIdFilter string targetedSyncResourceIDs []string + skipEntitlementsAndGrants bool + skipGrants bool + syncResourceTypeIDs []string } type Option func(*localSyncer) @@ -49,6 +53,24 @@ func WithTargetedSyncResourceIDs(resourceIDs []string) Option { } } +func WithSyncResourceTypeIDs(resourceTypeIDs []string) Option { + return func(m *localSyncer) { + m.syncResourceTypeIDs = resourceTypeIDs + } +} + +func WithSkipEntitlementsAndGrants(skip bool) Option { + return func(m *localSyncer) { + m.skipEntitlementsAndGrants = skip + } +} + +func WithSkipGrants(skip bool) Option { + return func(m *localSyncer) { + m.skipGrants = skip + } +} + func (m *localSyncer) GetTempDir() string { return "" } @@ -60,9 +82,9 @@ func (m *localSyncer) ShouldDebug() bool { func (m *localSyncer) Next(ctx context.Context) (*v1.Task, time.Duration, error) { var task *v1.Task m.o.Do(func() { - task = &v1.Task{ - TaskType: &v1.Task_SyncFull{}, - } + task = v1.Task_builder{ + SyncFull: &v1.Task_SyncFullTask{}, + }.Build() }) return task, 0, nil } @@ -71,12 +93,20 @@ func (m *localSyncer) Process(ctx context.Context, task *v1.Task, cc types.Conne ctx, span := tracer.Start(ctx, "localSyncer.Process", trace.WithNewRoot()) defer span.End() + var setSessionStore session.SetSessionStore + if ssetSessionStore, ok := cc.(session.SetSessionStore); ok { + setSessionStore = ssetSessionStore + } syncer, err := sdkSync.NewSyncer(ctx, cc, sdkSync.WithC1ZPath(m.dbPath), sdkSync.WithTmpDir(m.tmpDir), sdkSync.WithExternalResourceC1ZPath(m.externalResourceC1Z), sdkSync.WithExternalResourceEntitlementIdFilter(m.externalResourceEntitlementIdFilter), sdkSync.WithTargetedSyncResourceIDs(m.targetedSyncResourceIDs), + sdkSync.WithSkipEntitlementsAndGrants(m.skipEntitlementsAndGrants), + sdkSync.WithSkipGrants(m.skipGrants), + sdkSync.WithSessionStore(setSessionStore), + sdkSync.WithSyncResourceTypes(m.syncResourceTypeIDs), ) if err != nil { return err diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/ticket.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/ticket.go index 385e8b47..8aed696f 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/ticket.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/local/ticket.go @@ -56,11 +56,9 @@ func (m *localBulkCreateTicket) ShouldDebug() bool { func (m *localBulkCreateTicket) Next(ctx context.Context) (*v1.Task, time.Duration, error) { var task *v1.Task m.o.Do(func() { - task = &v1.Task{ - TaskType: &v1.Task_BulkCreateTickets{ - BulkCreateTickets: &v1.Task_BulkCreateTicketsTask{}, - }, - } + task = v1.Task_builder{ + BulkCreateTickets: &v1.Task_BulkCreateTicketsTask{}, + }.Build() }) return task, 0, nil } @@ -78,23 +76,23 @@ func (m *localBulkCreateTicket) Process(ctx context.Context, task *v1.Task, cc t ticketReqs := make([]*v2.TicketsServiceCreateTicketRequest, 0) for _, template := range templates.Tickets { - schema, err := cc.GetTicketSchema(ctx, &v2.TicketsServiceGetTicketSchemaRequest{ + schema, err := cc.GetTicketSchema(ctx, v2.TicketsServiceGetTicketSchemaRequest_builder{ Id: template.SchemaID, - }) + }.Build()) if err != nil { return err } - ticketRequestBody := &v2.TicketRequest{ + ticketRequestBody := v2.TicketRequest_builder{ DisplayName: template.DisplayName, Description: template.Description, Labels: template.Labels, - } + }.Build() if template.StatusId != "" { - ticketRequestBody.Status = &v2.TicketStatus{ + ticketRequestBody.SetStatus(v2.TicketStatus_builder{ Id: template.StatusId, - } + }.Build()) } if template.RequestedForId != "" { @@ -103,28 +101,28 @@ func (m *localBulkCreateTicket) Process(ctx context.Context, task *v1.Task, cc t if err != nil { return err } - ticketRequestBody.RequestedFor = requestedUser + ticketRequestBody.SetRequestedFor(requestedUser) } cfs := make(map[string]*v2.TicketCustomField) for k, v := range template.CustomFields { - newCfs, err := sdkTicket.CustomFieldForSchemaField(k, schema.Schema, v) + newCfs, err := sdkTicket.CustomFieldForSchemaField(k, schema.GetSchema(), v) if err != nil { return err } cfs[k] = newCfs } - ticketRequestBody.CustomFields = cfs + ticketRequestBody.SetCustomFields(cfs) - ticketReqs = append(ticketReqs, &v2.TicketsServiceCreateTicketRequest{ + ticketReqs = append(ticketReqs, v2.TicketsServiceCreateTicketRequest_builder{ Request: ticketRequestBody, Schema: schema.GetSchema(), - }) + }.Build()) } - bulkTicketReq := &v2.TicketsServiceBulkCreateTicketsRequest{ + bulkTicketReq := v2.TicketsServiceBulkCreateTicketsRequest_builder{ TicketRequests: ticketReqs, - } + }.Build() resp, err := cc.BulkCreateTickets(ctx, bulkTicketReq) if err != nil { @@ -185,11 +183,9 @@ func (m *localCreateTicket) ShouldDebug() bool { func (m *localCreateTicket) Next(ctx context.Context) (*v1.Task, time.Duration, error) { var task *v1.Task m.o.Do(func() { - task = &v1.Task{ - TaskType: &v1.Task_CreateTicketTask_{ - CreateTicketTask: &v1.Task_CreateTicketTask{}, - }, - } + task = v1.Task_builder{ + CreateTicketTask: &v1.Task_CreateTicketTask{}, + }.Build() }) return task, 0, nil } @@ -202,23 +198,23 @@ func (m *localCreateTicket) Process(ctx context.Context, task *v1.Task, cc types return err } - schema, err := cc.GetTicketSchema(ctx, &v2.TicketsServiceGetTicketSchemaRequest{ + schema, err := cc.GetTicketSchema(ctx, v2.TicketsServiceGetTicketSchemaRequest_builder{ Id: template.SchemaID, - }) + }.Build()) if err != nil { return err } - ticketRequestBody := &v2.TicketRequest{ + ticketRequestBody := v2.TicketRequest_builder{ DisplayName: template.DisplayName, Description: template.Description, Labels: template.Labels, - } + }.Build() if template.StatusId != "" { - ticketRequestBody.Status = &v2.TicketStatus{ + ticketRequestBody.SetStatus(v2.TicketStatus_builder{ Id: template.StatusId, - } + }.Build()) } if template.RequestedForId != "" { @@ -227,22 +223,22 @@ func (m *localCreateTicket) Process(ctx context.Context, task *v1.Task, cc types if err != nil { return err } - ticketRequestBody.RequestedFor = requestedUser + ticketRequestBody.SetRequestedFor(requestedUser) } cfs := make(map[string]*v2.TicketCustomField) for k, v := range template.CustomFields { - newCfs, err := sdkTicket.CustomFieldForSchemaField(k, schema.Schema, v) + newCfs, err := sdkTicket.CustomFieldForSchemaField(k, schema.GetSchema(), v) if err != nil { return err } cfs[k] = newCfs } - ticketRequestBody.CustomFields = cfs - ticketReq := &v2.TicketsServiceCreateTicketRequest{ + ticketRequestBody.SetCustomFields(cfs) + ticketReq := v2.TicketsServiceCreateTicketRequest_builder{ Request: ticketRequestBody, Schema: schema.GetSchema(), - } + }.Build() resp, err := cc.CreateTicket(ctx, ticketReq) if err != nil { @@ -278,13 +274,11 @@ func (m *localGetTicket) ShouldDebug() bool { func (m *localGetTicket) Next(ctx context.Context) (*v1.Task, time.Duration, error) { var task *v1.Task m.o.Do(func() { - task = &v1.Task{ - TaskType: &v1.Task_GetTicket{ - GetTicket: &v1.Task_GetTicketTask{ - TicketId: m.ticketId, - }, - }, - } + task = v1.Task_builder{ + GetTicket: v1.Task_GetTicketTask_builder{ + TicketId: m.ticketId, + }.Build(), + }.Build() }) return task, 0, nil } @@ -292,9 +286,9 @@ func (m *localGetTicket) Next(ctx context.Context) (*v1.Task, time.Duration, err func (m *localGetTicket) Process(ctx context.Context, task *v1.Task, cc types.ConnectorClient) error { l := ctxzap.Extract(ctx) - resp, err := cc.GetTicket(ctx, &v2.TicketsServiceGetTicketRequest{ + resp, err := cc.GetTicket(ctx, v2.TicketsServiceGetTicketRequest_builder{ Id: m.ticketId, - }) + }.Build()) if err != nil { return err } @@ -326,9 +320,9 @@ func (m *localListTicketSchemas) ShouldDebug() bool { func (m *localListTicketSchemas) Next(ctx context.Context) (*v1.Task, time.Duration, error) { var task *v1.Task m.o.Do(func() { - task = &v1.Task{ - TaskType: &v1.Task_ListTicketSchemas{}, - } + task = v1.Task_builder{ + ListTicketSchemas: &v1.Task_ListTicketSchemasTask{}, + }.Build() }) return task, 0, nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/tasks.go b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/tasks.go index d90dd35b..db0e64d4 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/tasks/tasks.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/tasks/tasks.go @@ -21,105 +21,103 @@ type TaskHandler interface { } func Is(task *v1.Task, target taskTypes.TaskType) bool { - if task == nil || task.TaskType == nil { + if task == nil || !task.HasTaskType() { return false } - var ok bool + actualType := task.WhichTaskType() switch target { case taskTypes.FullSyncType: - _, ok = task.GetTaskType().(*v1.Task_SyncFull) + return actualType == v1.Task_SyncFull_case case taskTypes.GrantType: - _, ok = task.GetTaskType().(*v1.Task_Grant) + return actualType == v1.Task_Grant_case case taskTypes.RevokeType: - _, ok = task.GetTaskType().(*v1.Task_Revoke) + return actualType == v1.Task_Revoke_case case taskTypes.HelloType: - _, ok = task.GetTaskType().(*v1.Task_Hello) + return actualType == v1.Task_Hello_case case taskTypes.EventFeedType: - _, ok = task.GetTaskType().(*v1.Task_EventFeed) + return actualType == v1.Task_EventFeed_case case taskTypes.NoneType: - _, ok = task.GetTaskType().(*v1.Task_None) + return actualType == v1.Task_None_case case taskTypes.CreateAccountType: - _, ok = task.GetTaskType().(*v1.Task_CreateAccount) + return actualType == v1.Task_CreateAccount_case case taskTypes.CreateResourceType: - _, ok = task.GetTaskType().(*v1.Task_CreateResource) + return actualType == v1.Task_CreateResource_case case taskTypes.DeleteResourceType: - _, ok = task.GetTaskType().(*v1.Task_DeleteResource) + return actualType == v1.Task_DeleteResource_case case taskTypes.RotateCredentialsType: - _, ok = task.GetTaskType().(*v1.Task_RotateCredentials) + return actualType == v1.Task_RotateCredentials_case case taskTypes.CreateTicketType: - _, ok = task.GetTaskType().(*v1.Task_CreateTicketTask_) + return actualType == v1.Task_CreateTicketTask_case case taskTypes.ListTicketSchemasType: - _, ok = task.GetTaskType().(*v1.Task_ListTicketSchemas) + return actualType == v1.Task_ListTicketSchemas_case case taskTypes.GetTicketType: - _, ok = task.GetTaskType().(*v1.Task_GetTicket) + return actualType == v1.Task_GetTicket_case case taskTypes.BulkCreateTicketsType: - _, ok = task.GetTaskType().(*v1.Task_BulkCreateTickets) + return actualType == v1.Task_BulkCreateTickets_case case taskTypes.BulkGetTicketsType: - _, ok = task.GetTaskType().(*v1.Task_BulkGetTickets) + return actualType == v1.Task_BulkGetTickets_case case taskTypes.ActionListSchemasType: - _, ok = task.GetTaskType().(*v1.Task_ActionListSchemas) + return actualType == v1.Task_ActionListSchemas_case case taskTypes.ActionGetSchemaType: - _, ok = task.GetTaskType().(*v1.Task_ActionGetSchema) + return actualType == v1.Task_ActionGetSchema_case case taskTypes.ActionInvokeType: - _, ok = task.GetTaskType().(*v1.Task_ActionInvoke) + return actualType == v1.Task_ActionInvoke_case case taskTypes.ActionStatusType: - _, ok = task.GetTaskType().(*v1.Task_ActionStatus) + return actualType == v1.Task_ActionStatus_case case taskTypes.CreateSyncDiff: - _, ok = task.GetTaskType().(*v1.Task_CreateSyncDiff) + return actualType == v1.Task_CreateSyncDiff_case default: return false } - - return ok } func GetType(task *v1.Task) taskTypes.TaskType { - if task == nil || task.TaskType == nil { + if task == nil || !task.HasTaskType() { return taskTypes.UnknownType } - switch task.GetTaskType().(type) { - case *v1.Task_SyncFull: + switch task.WhichTaskType() { + case v1.Task_SyncFull_case: return taskTypes.FullSyncType - case *v1.Task_Grant: + case v1.Task_Grant_case: return taskTypes.GrantType - case *v1.Task_Revoke: + case v1.Task_Revoke_case: return taskTypes.RevokeType - case *v1.Task_Hello: + case v1.Task_Hello_case: return taskTypes.HelloType - case *v1.Task_EventFeed: + case v1.Task_EventFeed_case: return taskTypes.EventFeedType - case *v1.Task_None: + case v1.Task_None_case: return taskTypes.NoneType - case *v1.Task_CreateAccount: + case v1.Task_CreateAccount_case: return taskTypes.CreateAccountType - case *v1.Task_CreateResource: + case v1.Task_CreateResource_case: return taskTypes.CreateResourceType - case *v1.Task_DeleteResource: + case v1.Task_DeleteResource_case: return taskTypes.DeleteResourceType - case *v1.Task_RotateCredentials: + case v1.Task_RotateCredentials_case: return taskTypes.RotateCredentialsType - case *v1.Task_CreateTicketTask_: + case v1.Task_CreateTicketTask_case: return taskTypes.CreateTicketType - case *v1.Task_ListTicketSchemas: + case v1.Task_ListTicketSchemas_case: return taskTypes.ListTicketSchemasType - case *v1.Task_GetTicket: + case v1.Task_GetTicket_case: return taskTypes.GetTicketType - case *v1.Task_BulkCreateTickets: + case v1.Task_BulkCreateTickets_case: return taskTypes.BulkCreateTicketsType - case *v1.Task_BulkGetTickets: + case v1.Task_BulkGetTickets_case: return taskTypes.BulkGetTicketsType - case *v1.Task_ActionListSchemas: + case v1.Task_ActionListSchemas_case: return taskTypes.ActionListSchemasType - case *v1.Task_ActionGetSchema: + case v1.Task_ActionGetSchema_case: return taskTypes.ActionGetSchemaType - case *v1.Task_ActionInvoke: + case v1.Task_ActionInvoke_case: return taskTypes.ActionInvokeType - case *v1.Task_ActionStatus: + case v1.Task_ActionStatus_case: return taskTypes.ActionStatusType - case *v1.Task_CreateSyncDiff: + case v1.Task_CreateSyncDiff_case: return taskTypes.CreateSyncDiff default: return taskTypes.UnknownType diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/types/entitlement/entitlement.go b/vendor/github.com/conductorone/baton-sdk/pkg/types/entitlement/entitlement.go index 5be4e840..8715c825 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/types/entitlement/entitlement.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/types/entitlement/entitlement.go @@ -12,44 +12,44 @@ type EntitlementOption func(*v2.Entitlement) func WithAnnotation(msgs ...proto.Message) EntitlementOption { return func(e *v2.Entitlement) { - annos := annotations.Annotations(e.Annotations) + annos := annotations.Annotations(e.GetAnnotations()) for _, msg := range msgs { annos.Append(msg) } - e.Annotations = annos + e.SetAnnotations(annos) } } func WithGrantableTo(grantableTo ...*v2.ResourceType) EntitlementOption { return func(g *v2.Entitlement) { - g.GrantableTo = grantableTo + g.SetGrantableTo(grantableTo) } } func WithDisplayName(displayName string) EntitlementOption { return func(g *v2.Entitlement) { - g.DisplayName = displayName + g.SetDisplayName(displayName) } } func WithDescription(description string) EntitlementOption { return func(g *v2.Entitlement) { - g.Description = description + g.SetDescription(description) } } func NewEntitlementID(resource *v2.Resource, permission string) string { - return fmt.Sprintf("%s:%s:%s", resource.Id.ResourceType, resource.Id.Resource, permission) + return fmt.Sprintf("%s:%s:%s", resource.GetId().GetResourceType(), resource.GetId().GetResource(), permission) } func NewPermissionEntitlement(resource *v2.Resource, name string, entitlementOptions ...EntitlementOption) *v2.Entitlement { - entitlement := &v2.Entitlement{ + entitlement := v2.Entitlement_builder{ Id: NewEntitlementID(resource, name), DisplayName: name, Slug: name, Purpose: v2.Entitlement_PURPOSE_VALUE_PERMISSION, Resource: resource, - } + }.Build() for _, entitlementOption := range entitlementOptions { entitlementOption(entitlement) @@ -58,13 +58,13 @@ func NewPermissionEntitlement(resource *v2.Resource, name string, entitlementOpt } func NewAssignmentEntitlement(resource *v2.Resource, name string, entitlementOptions ...EntitlementOption) *v2.Entitlement { - entitlement := &v2.Entitlement{ + entitlement := v2.Entitlement_builder{ Id: NewEntitlementID(resource, name), DisplayName: name, Slug: name, Purpose: v2.Entitlement_PURPOSE_VALUE_ASSIGNMENT, Resource: resource, - } + }.Build() for _, entitlementOption := range entitlementOptions { entitlementOption(entitlement) @@ -83,13 +83,13 @@ func NewEntitlement(resource *v2.Resource, name, purposeStr string, entitlementO purpose = v2.Entitlement_PURPOSE_VALUE_UNSPECIFIED } - entitlement := &v2.Entitlement{ + entitlement := v2.Entitlement_builder{ Id: NewEntitlementID(resource, name), DisplayName: name, Slug: name, Purpose: purpose, Resource: resource, - } + }.Build() for _, entitlementOption := range entitlementOptions { entitlementOption(entitlement) diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/types/grant/grant.go b/vendor/github.com/conductorone/baton-sdk/pkg/types/grant/grant.go index c662d7bf..972c6344 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/types/grant/grant.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/types/grant/grant.go @@ -27,10 +27,10 @@ func WithGrantMetadata(metadata map[string]interface{}) GrantOption { return err } - meta := &v2.GrantMetadata{Metadata: md} - annos := annotations.Annotations(g.Annotations) + meta := v2.GrantMetadata_builder{Metadata: md}.Build() + annos := annotations.Annotations(g.GetAnnotations()) annos.Update(meta) - g.Annotations = annos + g.SetAnnotations(annos) return nil } @@ -38,18 +38,18 @@ func WithGrantMetadata(metadata map[string]interface{}) GrantOption { func WithExternalPrincipalID(externalID *v2.ExternalId) GrantOption { return func(g *v2.Grant) error { - g.Principal.ExternalId = externalID + g.GetPrincipal().SetExternalId(externalID) return nil } } func WithAnnotation(msgs ...proto.Message) GrantOption { return func(g *v2.Grant) error { - annos := annotations.Annotations(g.Annotations) + annos := annotations.Annotations(g.GetAnnotations()) for _, msg := range msgs { annos.Append(msg) } - g.Annotations = annos + g.SetAnnotations(annos) return nil } @@ -57,23 +57,23 @@ func WithAnnotation(msgs ...proto.Message) GrantOption { // NewGrant returns a new grant for the given entitlement on the resource for the provided principal resource ID. func NewGrant(resource *v2.Resource, entitlementName string, principal GrantPrincipal, grantOptions ...GrantOption) *v2.Grant { - entitlement := &v2.Entitlement{ + entitlement := v2.Entitlement_builder{ Id: eopt.NewEntitlementID(resource, entitlementName), Resource: resource, - } + }.Build() - grant := &v2.Grant{ + grant := v2.Grant_builder{ Entitlement: entitlement, - } + }.Build() var resourceID *v2.ResourceId switch p := principal.(type) { case *v2.ResourceId: resourceID = p - grant.Principal = &v2.Resource{Id: p} + grant.SetPrincipal(v2.Resource_builder{Id: p}.Build()) case *v2.Resource: - grant.Principal = p - resourceID = p.Id + grant.SetPrincipal(p) + resourceID = p.GetId() default: panic("unexpected principal type") } @@ -81,7 +81,7 @@ func NewGrant(resource *v2.Resource, entitlementName string, principal GrantPrin if resourceID == nil { panic("principal resource must have a valid resource ID") } - grant.Id = fmt.Sprintf("%s:%s:%s", entitlement.Id, resourceID.ResourceType, resourceID.Resource) + grant.SetId(fmt.Sprintf("%s:%s:%s", entitlement.GetId(), resourceID.GetResourceType(), resourceID.GetResource())) for _, grantOption := range grantOptions { err := grantOption(grant) @@ -99,7 +99,7 @@ func NewGrantID(principal GrantPrincipal, entitlement *v2.Entitlement) string { case *v2.ResourceId: resourceID = p case *v2.Resource: - resourceID = p.Id + resourceID = p.GetId() default: panic("unexpected principal type") } @@ -107,5 +107,5 @@ func NewGrantID(principal GrantPrincipal, entitlement *v2.Entitlement) string { if resourceID == nil { panic("principal resource must have a valid resource ID") } - return fmt.Sprintf("%s:%s:%s", entitlement.Id, resourceID.ResourceType, resourceID.Resource) + return fmt.Sprintf("%s:%s:%s", entitlement.GetId(), resourceID.GetResourceType(), resourceID.GetResource()) } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/app_trait.go b/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/app_trait.go index 8d2335d6..b1d41672 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/app_trait.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/app_trait.go @@ -12,7 +12,7 @@ type AppTraitOption func(gt *v2.AppTrait) error func WithAppIcon(assetRef *v2.AssetRef) AppTraitOption { return func(at *v2.AppTrait) error { - at.Icon = assetRef + at.SetIcon(assetRef) return nil } @@ -20,7 +20,7 @@ func WithAppIcon(assetRef *v2.AssetRef) AppTraitOption { func WithAppLogo(assetRef *v2.AssetRef) AppTraitOption { return func(at *v2.AppTrait) error { - at.Logo = assetRef + at.SetLogo(assetRef) return nil } @@ -28,7 +28,7 @@ func WithAppLogo(assetRef *v2.AssetRef) AppTraitOption { func WithAppFlags(flags ...v2.AppTrait_AppFlag) AppTraitOption { return func(at *v2.AppTrait) error { - at.Flags = flags + at.SetFlags(flags) return nil } } @@ -40,7 +40,7 @@ func WithAppProfile(profile map[string]interface{}) AppTraitOption { return err } - at.Profile = p + at.SetProfile(p) return nil } @@ -48,7 +48,7 @@ func WithAppProfile(profile map[string]interface{}) AppTraitOption { func WithAppHelpURL(helpURL string) AppTraitOption { return func(at *v2.AppTrait) error { - at.HelpUrl = helpURL + at.SetHelpUrl(helpURL) return nil } } @@ -70,7 +70,7 @@ func NewAppTrait(opts ...AppTraitOption) (*v2.AppTrait, error) { // GetAppTrait attempts to return the AppTrait instance on a resource. func GetAppTrait(resource *v2.Resource) (*v2.AppTrait, error) { ret := &v2.AppTrait{} - annos := annotations.Annotations(resource.Annotations) + annos := annotations.Annotations(resource.GetAnnotations()) ok, err := annos.Pick(ret) if err != nil { return nil, err diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/group_trait.go b/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/group_trait.go index d37506a7..2857fe99 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/group_trait.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/group_trait.go @@ -17,7 +17,7 @@ func WithGroupProfile(profile map[string]interface{}) GroupTraitOption { return err } - gt.Profile = p + gt.SetProfile(p) return nil } @@ -25,7 +25,7 @@ func WithGroupProfile(profile map[string]interface{}) GroupTraitOption { func WithGroupIcon(assetRef *v2.AssetRef) GroupTraitOption { return func(gt *v2.GroupTrait) error { - gt.Icon = assetRef + gt.SetIcon(assetRef) return nil } } @@ -47,7 +47,7 @@ func NewGroupTrait(opts ...GroupTraitOption) (*v2.GroupTrait, error) { // GetGroupTrait attempts to return the GroupTrait instance on a resource. func GetGroupTrait(resource *v2.Resource) (*v2.GroupTrait, error) { ret := &v2.GroupTrait{} - annos := annotations.Annotations(resource.Annotations) + annos := annotations.Annotations(resource.GetAnnotations()) ok, err := annos.Pick(ret) if err != nil { return nil, err diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/resource.go b/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/resource.go index 585d9bea..33d3f132 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/resource.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/resource.go @@ -7,6 +7,8 @@ import ( v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2" "github.com/conductorone/baton-sdk/pkg/annotations" + "github.com/conductorone/baton-sdk/pkg/pagination" + "github.com/conductorone/baton-sdk/pkg/types/sessions" "google.golang.org/protobuf/proto" ) @@ -14,14 +16,14 @@ type ResourceOption func(*v2.Resource) error func WithAnnotation(msgs ...proto.Message) ResourceOption { return func(r *v2.Resource) error { - annos := annotations.Annotations(r.Annotations) + annos := annotations.Annotations(r.GetAnnotations()) for _, msg := range msgs { if msg == nil { continue } annos.Append(msg) } - r.Annotations = annos + r.SetAnnotations(annos) return nil } @@ -29,14 +31,14 @@ func WithAnnotation(msgs ...proto.Message) ResourceOption { func WithExternalID(externalID *v2.ExternalId) ResourceOption { return func(r *v2.Resource) error { - r.ExternalId = externalID + r.SetExternalId(externalID) return nil } } func WithParentResourceID(parentResourceID *v2.ResourceId) ResourceOption { return func(r *v2.Resource) error { - r.ParentResourceId = parentResourceID + r.SetParentResourceId(parentResourceID) return nil } @@ -44,7 +46,7 @@ func WithParentResourceID(parentResourceID *v2.ResourceId) ResourceOption { func WithDescription(description string) ResourceOption { return func(r *v2.Resource) error { - r.Description = description + r.SetDescription(description) return nil } @@ -55,7 +57,7 @@ func WithUserTrait(opts ...UserTraitOption) ResourceOption { var err error ut := &v2.UserTrait{} - annos := annotations.Annotations(r.Annotations) + annos := annotations.Annotations(r.GetAnnotations()) picked, err := annos.Pick(ut) if err != nil { @@ -78,7 +80,7 @@ func WithUserTrait(opts ...UserTraitOption) ResourceOption { } annos.Update(ut) - r.Annotations = annos + r.SetAnnotations(annos) return nil } } @@ -87,7 +89,7 @@ func WithGroupTrait(opts ...GroupTraitOption) ResourceOption { return func(r *v2.Resource) error { ut := &v2.GroupTrait{} - annos := annotations.Annotations(r.Annotations) + annos := annotations.Annotations(r.GetAnnotations()) _, err := annos.Pick(ut) if err != nil { return err @@ -101,7 +103,7 @@ func WithGroupTrait(opts ...GroupTraitOption) ResourceOption { } annos.Update(ut) - r.Annotations = annos + r.SetAnnotations(annos) return nil } } @@ -110,7 +112,7 @@ func WithRoleTrait(opts ...RoleTraitOption) ResourceOption { return func(r *v2.Resource) error { rt := &v2.RoleTrait{} - annos := annotations.Annotations(r.Annotations) + annos := annotations.Annotations(r.GetAnnotations()) _, err := annos.Pick(rt) if err != nil { return err @@ -124,7 +126,7 @@ func WithRoleTrait(opts ...RoleTraitOption) ResourceOption { } annos.Update(rt) - r.Annotations = annos + r.SetAnnotations(annos) return nil } @@ -134,7 +136,7 @@ func WithAppTrait(opts ...AppTraitOption) ResourceOption { return func(r *v2.Resource) error { at := &v2.AppTrait{} - annos := annotations.Annotations(r.Annotations) + annos := annotations.Annotations(r.GetAnnotations()) _, err := annos.Pick(at) if err != nil { return err @@ -148,7 +150,7 @@ func WithAppTrait(opts ...AppTraitOption) ResourceOption { } annos.Update(at) - r.Annotations = annos + r.SetAnnotations(annos) return nil } @@ -158,7 +160,7 @@ func WithSecretTrait(opts ...SecretTraitOption) ResourceOption { return func(r *v2.Resource) error { rt := &v2.SecretTrait{} - annos := annotations.Annotations(r.Annotations) + annos := annotations.Annotations(r.GetAnnotations()) _, err := annos.Pick(rt) if err != nil { return err @@ -172,7 +174,7 @@ func WithSecretTrait(opts ...SecretTraitOption) ResourceOption { } annos.Update(rt) - r.Annotations = annos + r.SetAnnotations(annos) return nil } @@ -203,12 +205,12 @@ func NewResourceType(name string, requiredTraits []v2.ResourceType_Trait, msgs . annos.Append(msg) } - return &v2.ResourceType{ + return v2.ResourceType_builder{ Id: id, DisplayName: name, Traits: requiredTraits, Annotations: annos, - } + }.Build() } // NewResourceID returns a new resource ID given a resource type parent ID, and arbitrary object ID. @@ -218,10 +220,10 @@ func NewResourceID(resourceType *v2.ResourceType, objectID interface{}) (*v2.Res return nil, err } - return &v2.ResourceId{ - ResourceType: resourceType.Id, + return v2.ResourceId_builder{ + ResourceType: resourceType.GetId(), Resource: id, - }, nil + }.Build(), nil } // NewResource returns a new resource instance with no traits. @@ -231,10 +233,10 @@ func NewResource(name string, resourceType *v2.ResourceType, objectID interface{ return nil, err } - resource := &v2.Resource{ + resource := v2.Resource_builder{ Id: rID, DisplayName: name, - } + }.Build() for _, resourceOption := range resourceOptions { err = resourceOption(resource) @@ -337,3 +339,14 @@ func NewSecretResource( return ret, nil } + +type SyncOpAttrs struct { + Session sessions.SessionStore + SyncID string + PageToken pagination.Token +} + +type SyncOpResults struct { + NextPageToken string + Annotations annotations.Annotations +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/role_trait.go b/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/role_trait.go index 4b80da27..bc534133 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/role_trait.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/role_trait.go @@ -17,7 +17,7 @@ func WithRoleProfile(profile map[string]interface{}) RoleTraitOption { return err } - rt.Profile = p + rt.SetProfile(p) return nil } @@ -40,7 +40,7 @@ func NewRoleTrait(opts ...RoleTraitOption) (*v2.RoleTrait, error) { // GetRoleTrait attempts to return the RoleTrait instance on a resource. func GetRoleTrait(resource *v2.Resource) (*v2.RoleTrait, error) { ret := &v2.RoleTrait{} - annos := annotations.Annotations(resource.Annotations) + annos := annotations.Annotations(resource.GetAnnotations()) ok, err := annos.Pick(ret) if err != nil { return nil, err diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/secret_trait.go b/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/secret_trait.go index 520f677c..babb6d8a 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/secret_trait.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/secret_trait.go @@ -12,35 +12,35 @@ type SecretTraitOption func(t *v2.SecretTrait) error func WithSecretCreatedAt(createdAt time.Time) SecretTraitOption { return func(t *v2.SecretTrait) error { - t.CreatedAt = timestamppb.New(createdAt) + t.SetCreatedAt(timestamppb.New(createdAt)) return nil } } func WithSecretLastUsedAt(lastUsed time.Time) SecretTraitOption { return func(t *v2.SecretTrait) error { - t.LastUsedAt = timestamppb.New(lastUsed) + t.SetLastUsedAt(timestamppb.New(lastUsed)) return nil } } func WithSecretExpiresAt(expiresAt time.Time) SecretTraitOption { return func(t *v2.SecretTrait) error { - t.ExpiresAt = timestamppb.New(expiresAt) + t.SetExpiresAt(timestamppb.New(expiresAt)) return nil } } func WithSecretCreatedByID(createdById *v2.ResourceId) SecretTraitOption { return func(t *v2.SecretTrait) error { - t.CreatedById = createdById + t.SetCreatedById(createdById) return nil } } func WithSecretIdentityID(identityId *v2.ResourceId) SecretTraitOption { return func(t *v2.SecretTrait) error { - t.IdentityId = identityId + t.SetIdentityId(identityId) return nil } } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/user_trait.go b/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/user_trait.go index 41cc373d..ba16457b 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/user_trait.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/types/resource/user_trait.go @@ -15,7 +15,7 @@ type UserTraitOption func(ut *v2.UserTrait) error func WithStatus(status v2.UserTrait_Status_Status) UserTraitOption { return func(ut *v2.UserTrait) error { - ut.Status = &v2.UserTrait_Status{Status: status} + ut.SetStatus(v2.UserTrait_Status_builder{Status: status}.Build()) return nil } @@ -23,7 +23,7 @@ func WithStatus(status v2.UserTrait_Status_Status) UserTraitOption { func WithDetailedStatus(status v2.UserTrait_Status_Status, details string) UserTraitOption { return func(ut *v2.UserTrait) error { - ut.Status = &v2.UserTrait_Status{Status: status, Details: details} + ut.SetStatus(v2.UserTrait_Status_builder{Status: status, Details: details}.Build()) return nil } @@ -35,12 +35,12 @@ func WithEmail(email string, primary bool) UserTraitOption { return nil } - traitEmail := &v2.UserTrait_Email{ + traitEmail := v2.UserTrait_Email_builder{ Address: email, IsPrimary: primary, - } + }.Build() - ut.Emails = append(ut.Emails, traitEmail) + ut.SetEmails(append(ut.GetEmails(), traitEmail)) return nil } @@ -52,22 +52,22 @@ func WithUserLogin(login string, aliases ...string) UserTraitOption { // If login is empty do nothing return nil } - ut.Login = login - ut.LoginAliases = aliases + ut.SetLogin(login) + ut.SetLoginAliases(aliases) return nil } } func WithEmployeeID(employeeIDs ...string) UserTraitOption { return func(ut *v2.UserTrait) error { - ut.EmployeeIds = employeeIDs + ut.SetEmployeeIds(employeeIDs) return nil } } func WithUserIcon(assetRef *v2.AssetRef) UserTraitOption { return func(ut *v2.UserTrait) error { - ut.Icon = assetRef + ut.SetIcon(assetRef) return nil } @@ -80,7 +80,7 @@ func WithUserProfile(profile map[string]interface{}) UserTraitOption { return err } - ut.Profile = p + ut.SetProfile(p) return nil } @@ -88,42 +88,42 @@ func WithUserProfile(profile map[string]interface{}) UserTraitOption { func WithAccountType(accountType v2.UserTrait_AccountType) UserTraitOption { return func(ut *v2.UserTrait) error { - ut.AccountType = accountType + ut.SetAccountType(accountType) return nil } } func WithCreatedAt(createdAt time.Time) UserTraitOption { return func(ut *v2.UserTrait) error { - ut.CreatedAt = timestamppb.New(createdAt) + ut.SetCreatedAt(timestamppb.New(createdAt)) return nil } } func WithLastLogin(lastLogin time.Time) UserTraitOption { return func(ut *v2.UserTrait) error { - ut.LastLogin = timestamppb.New(lastLogin) + ut.SetLastLogin(timestamppb.New(lastLogin)) return nil } } func WithMFAStatus(mfaStatus *v2.UserTrait_MFAStatus) UserTraitOption { return func(ut *v2.UserTrait) error { - ut.MfaStatus = mfaStatus + ut.SetMfaStatus(mfaStatus) return nil } } func WithSSOStatus(ssoStatus *v2.UserTrait_SSOStatus) UserTraitOption { return func(ut *v2.UserTrait) error { - ut.SsoStatus = ssoStatus + ut.SetSsoStatus(ssoStatus) return nil } } func WithStructuredName(structuredName *v2.UserTrait_StructuredName) UserTraitOption { return func(ut *v2.UserTrait) error { - ut.StructuredName = structuredName + ut.SetStructuredName(structuredName) return nil } } @@ -140,13 +140,13 @@ func NewUserTrait(opts ...UserTraitOption) (*v2.UserTrait, error) { } // If no status was set, default to be enabled. - if userTrait.Status == nil { - userTrait.Status = &v2.UserTrait_Status{Status: v2.UserTrait_Status_STATUS_ENABLED} + if !userTrait.HasStatus() { + userTrait.SetStatus(v2.UserTrait_Status_builder{Status: v2.UserTrait_Status_STATUS_ENABLED}.Build()) } // If account type isn't specified, default to a human user. - if userTrait.AccountType == v2.UserTrait_ACCOUNT_TYPE_UNSPECIFIED { - userTrait.AccountType = v2.UserTrait_ACCOUNT_TYPE_HUMAN + if userTrait.GetAccountType() == v2.UserTrait_ACCOUNT_TYPE_UNSPECIFIED { + userTrait.SetAccountType(v2.UserTrait_ACCOUNT_TYPE_HUMAN) } return userTrait, nil @@ -155,7 +155,7 @@ func NewUserTrait(opts ...UserTraitOption) (*v2.UserTrait, error) { // GetUserTrait attempts to return the UserTrait instance on a resource. func GetUserTrait(resource *v2.Resource) (*v2.UserTrait, error) { ret := &v2.UserTrait{} - annos := annotations.Annotations(resource.Annotations) + annos := annotations.Annotations(resource.GetAnnotations()) ok, err := annos.Pick(ret) if err != nil { return nil, err diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/types/sessions/sessions.go b/vendor/github.com/conductorone/baton-sdk/pkg/types/sessions/sessions.go new file mode 100644 index 00000000..7b5ca3ca --- /dev/null +++ b/vendor/github.com/conductorone/baton-sdk/pkg/types/sessions/sessions.go @@ -0,0 +1,70 @@ +package sessions + +import ( + "context" +) + +type SessionStoreKey struct{} + +type SessionStore interface { + Get(ctx context.Context, key string, opt ...SessionStoreOption) ([]byte, bool, error) + GetMany(ctx context.Context, keys []string, opt ...SessionStoreOption) (map[string][]byte, error) + Set(ctx context.Context, key string, value []byte, opt ...SessionStoreOption) error + SetMany(ctx context.Context, values map[string][]byte, opt ...SessionStoreOption) error + Delete(ctx context.Context, key string, opt ...SessionStoreOption) error + Clear(ctx context.Context, opt ...SessionStoreOption) error + GetAll(ctx context.Context, pageToken string, opt ...SessionStoreOption) (map[string][]byte, string, error) +} + +type SessionStoreOption func(ctx context.Context, bag *SessionStoreBag) error + +type SessionStoreConstructor func(ctx context.Context, opt ...SessionStoreConstructorOption) (SessionStore, error) + +type SessionStoreConstructorOption func(ctx context.Context) (context.Context, error) + +type SessionStoreBag struct { + SyncID string + Prefix string + PageToken string +} + +// SyncIDKey is the context key for storing the current sync ID. +type SyncIDKey struct{} + +// WithSyncID returns a SessionCacheOption that sets the sync ID for the operation. +func WithSyncID(syncID string) SessionStoreOption { + return func(ctx context.Context, bag *SessionStoreBag) error { + bag.SyncID = syncID + return nil + } +} + +func WithPrefix(prefix string) SessionStoreOption { + return func(ctx context.Context, bag *SessionStoreBag) error { + bag.Prefix = prefix + return nil + } +} + +// GetSyncID retrieves the sync ID from the context, returning empty string if not found. +func GetSyncID(ctx context.Context) string { + if syncID, ok := ctx.Value(SyncIDKey{}).(string); ok { + return syncID + } + return "" +} + +func WithPageToken(pageToken string) SessionStoreOption { + return func(ctx context.Context, bag *SessionStoreBag) error { + bag.PageToken = pageToken + return nil + } +} + +func SetSyncIDInContext(ctx context.Context, syncID string) context.Context { + return context.WithValue(ctx, SyncIDKey{}, syncID) +} + +type SetSessionStore interface { + SetSessionStore(ctx context.Context, store SessionStore) +} diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/types/ticket/custom_fields.go b/vendor/github.com/conductorone/baton-sdk/pkg/types/ticket/custom_fields.go index fd3d6b94..6ce7c247 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/types/ticket/custom_fields.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/types/ticket/custom_fields.go @@ -26,57 +26,57 @@ func CustomFieldForSchemaField(id string, schema *v2.TicketSchema, value interfa return nil, fmt.Errorf("error: id(%s) not found in schema", id) } - switch field.GetValue().(type) { - case *v2.TicketCustomField_StringValue: + switch field.WhichValue() { + case v2.TicketCustomField_StringValue_case: v, ok := value.(string) if !ok { return nil, fmt.Errorf("unexpected value type for custom field: %s %T", id, v) } return StringField(id, v), nil - case *v2.TicketCustomField_StringValues: + case v2.TicketCustomField_StringValues_case: v, ok := value.([]string) if !ok { return nil, fmt.Errorf("unexpected value type for custom field: %s %T", id, v) } return StringsField(id, v), nil - case *v2.TicketCustomField_BoolValue: + case v2.TicketCustomField_BoolValue_case: v, ok := value.(bool) if !ok { return nil, fmt.Errorf("unexpected value type for custom field: %s %T", id, v) } return BoolField(id, v), nil - case *v2.TicketCustomField_NumberValue: + case v2.TicketCustomField_NumberValue_case: v, ok := value.(float32) if !ok { return nil, fmt.Errorf("unexpected value type for custom field: %s %T", id, v) } return NumberField(id, v), nil - case *v2.TicketCustomField_TimestampValue: + case v2.TicketCustomField_TimestampValue_case: v, ok := value.(*timestamppb.Timestamp) if !ok { return nil, fmt.Errorf("unexpected value type for custom field: %s %T", id, v) } return TimestampField(id, v.AsTime()), nil - case *v2.TicketCustomField_PickStringValue: + case v2.TicketCustomField_PickStringValue_case: v, ok := value.(string) if !ok { return nil, fmt.Errorf("unexpected value type for custom field: %s %T", id, v) } return PickStringField(id, v), nil - case *v2.TicketCustomField_PickMultipleStringValues: + case v2.TicketCustomField_PickMultipleStringValues_case: v, ok := value.([]string) if !ok { return nil, fmt.Errorf("unexpected value type for custom field: %s %T", id, v) } return PickMultipleStringsField(id, v), nil - case *v2.TicketCustomField_PickObjectValue: + case v2.TicketCustomField_PickObjectValue_case: rawBytes, err := json.Marshal(value) if err != nil { return nil, err @@ -90,7 +90,7 @@ func CustomFieldForSchemaField(id string, schema *v2.TicketSchema, value interfa return PickObjectValueField(id, ov), nil - case *v2.TicketCustomField_PickMultipleObjectValues: + case v2.TicketCustomField_PickMultipleObjectValues_case: rawValue, err := json.Marshal(value) if err != nil { return nil, err @@ -133,7 +133,7 @@ func GetStringValue(field *v2.TicketCustomField) (string, error) { if !ok { return "", errors.New("error: expected string value") } - return v.StringValue.Value, nil + return v.StringValue.GetValue(), nil } func GetStringsValue(field *v2.TicketCustomField) ([]string, error) { @@ -144,7 +144,7 @@ func GetStringsValue(field *v2.TicketCustomField) ([]string, error) { if !ok { return nil, errors.New("error: expected string values") } - return v.StringValues.Values, nil + return v.StringValues.GetValues(), nil } func GetBoolValue(field *v2.TicketCustomField) (bool, error) { @@ -155,7 +155,7 @@ func GetBoolValue(field *v2.TicketCustomField) (bool, error) { if !ok { return false, errors.New("error: expected bool value") } - return v.BoolValue.Value, nil + return v.BoolValue.GetValue(), nil } func GetNumberValue(field *v2.TicketCustomField) (float32, error) { @@ -177,7 +177,7 @@ func GetTimestampValue(field *v2.TicketCustomField) (time.Time, error) { if !ok { return time.Time{}, errors.New("error: expected timestamp value") } - return v.TimestampValue.Value.AsTime(), nil + return v.TimestampValue.GetValue().AsTime(), nil } func GetPickStringValue(field *v2.TicketCustomField) (string, error) { @@ -188,7 +188,7 @@ func GetPickStringValue(field *v2.TicketCustomField) (string, error) { if !ok { return "", errors.New("error: expected pick string value") } - return v.PickStringValue.Value, nil + return v.PickStringValue.GetValue(), nil } func GetPickMultipleStringValues(field *v2.TicketCustomField) ([]string, error) { @@ -199,7 +199,7 @@ func GetPickMultipleStringValues(field *v2.TicketCustomField) ([]string, error) if !ok { return nil, errors.New("error: expected pick multiple string values") } - return v.PickMultipleStringValues.Values, nil + return v.PickMultipleStringValues.GetValues(), nil } func GetPickObjectValue(field *v2.TicketCustomField) (*v2.TicketCustomFieldObjectValue, error) { @@ -210,7 +210,7 @@ func GetPickObjectValue(field *v2.TicketCustomField) (*v2.TicketCustomFieldObjec if !ok { return nil, errors.New("error: expected pick object value") } - return v.PickObjectValue.Value, nil + return v.PickObjectValue.GetValue(), nil } func GetPickMultipleObjectValues(field *v2.TicketCustomField) ([]*v2.TicketCustomFieldObjectValue, error) { @@ -221,7 +221,7 @@ func GetPickMultipleObjectValues(field *v2.TicketCustomField) ([]*v2.TicketCusto if !ok { return nil, errors.New("error: expected pick multiple object values") } - return v.PickMultipleObjectValues.Values, nil + return v.PickMultipleObjectValues.GetValues(), nil } // GetCustomFieldValue returns the interface{} of the value set on a given custom field. @@ -229,52 +229,52 @@ func GetCustomFieldValue(field *v2.TicketCustomField) (interface{}, error) { if field == nil { return nil, nil } - switch v := field.GetValue().(type) { - case *v2.TicketCustomField_StringValue: - strVal := v.StringValue.GetValue() + switch field.WhichValue() { + case v2.TicketCustomField_StringValue_case: + strVal := field.GetStringValue().GetValue() if strVal == "" { return nil, nil } - return v.StringValue.GetValue(), nil + return field.GetStringValue().GetValue(), nil - case *v2.TicketCustomField_StringValues: - strVals := v.StringValues.GetValues() + case v2.TicketCustomField_StringValues_case: + strVals := field.GetStringValues().GetValues() if len(strVals) == 0 { return nil, nil } return strVals, nil - case *v2.TicketCustomField_BoolValue: - return v.BoolValue.GetValue(), nil + case v2.TicketCustomField_BoolValue_case: + return field.GetBoolValue().GetValue(), nil - case *v2.TicketCustomField_NumberValue: - wrapperVal := v.NumberValue.GetValue() + case v2.TicketCustomField_NumberValue_case: + wrapperVal := field.GetNumberValue().GetValue() if wrapperVal == nil { return nil, nil } return wrapperVal.GetValue(), nil - case *v2.TicketCustomField_TimestampValue: - return v.TimestampValue.GetValue(), nil + case v2.TicketCustomField_TimestampValue_case: + return field.GetTimestampValue().GetValue(), nil - case *v2.TicketCustomField_PickStringValue: - strVal := v.PickStringValue.GetValue() + case v2.TicketCustomField_PickStringValue_case: + strVal := field.GetPickStringValue().GetValue() if strVal == "" { return nil, nil } return strVal, nil - case *v2.TicketCustomField_PickMultipleStringValues: - strVals := v.PickMultipleStringValues.GetValues() + case v2.TicketCustomField_PickMultipleStringValues_case: + strVals := field.GetPickMultipleStringValues().GetValues() if len(strVals) == 0 { return nil, nil } return strVals, nil - case *v2.TicketCustomField_PickObjectValue: - return v.PickObjectValue.GetValue(), nil + case v2.TicketCustomField_PickObjectValue_case: + return field.GetPickObjectValue().GetValue(), nil - case *v2.TicketCustomField_PickMultipleObjectValues: - objVals := v.PickMultipleObjectValues.GetValues() + case v2.TicketCustomField_PickMultipleObjectValues_case: + objVals := field.GetPickMultipleObjectValues().GetValues() if len(objVals) == 0 { return nil, nil } @@ -289,53 +289,53 @@ func GetDefaultCustomFieldValue(field *v2.TicketCustomField) (interface{}, error if field == nil { return nil, nil } - switch v := field.GetValue().(type) { - case *v2.TicketCustomField_StringValue: - strVal := v.StringValue.GetDefaultValue() + switch field.WhichValue() { + case v2.TicketCustomField_StringValue_case: + strVal := field.GetStringValue().GetDefaultValue() if strVal == "" { return nil, nil } return strVal, nil - case *v2.TicketCustomField_StringValues: - strVals := v.StringValues.GetDefaultValues() + case v2.TicketCustomField_StringValues_case: + strVals := field.GetStringValues().GetDefaultValues() if len(strVals) == 0 { return nil, nil } return strVals, nil - case *v2.TicketCustomField_BoolValue: - return v.BoolValue.GetValue(), nil + case v2.TicketCustomField_BoolValue_case: + return field.GetBoolValue().GetValue(), nil - case *v2.TicketCustomField_NumberValue: - defaultWrapper := v.NumberValue.GetDefaultValue() + case v2.TicketCustomField_NumberValue_case: + defaultWrapper := field.GetNumberValue().GetDefaultValue() if defaultWrapper == nil { return nil, nil } return defaultWrapper.GetValue(), nil - case *v2.TicketCustomField_TimestampValue: - return v.TimestampValue.GetDefaultValue(), nil + case v2.TicketCustomField_TimestampValue_case: + return field.GetTimestampValue().GetDefaultValue(), nil - case *v2.TicketCustomField_PickStringValue: - strVal := v.PickStringValue.GetDefaultValue() + case v2.TicketCustomField_PickStringValue_case: + strVal := field.GetPickStringValue().GetDefaultValue() if strVal == "" { return nil, nil } return strVal, nil - case *v2.TicketCustomField_PickMultipleStringValues: - strVals := v.PickMultipleStringValues.GetDefaultValues() + case v2.TicketCustomField_PickMultipleStringValues_case: + strVals := field.GetPickMultipleStringValues().GetDefaultValues() if len(strVals) == 0 { return nil, nil } return strVals, nil - case *v2.TicketCustomField_PickObjectValue: - return v.PickObjectValue.GetDefaultValue(), nil + case v2.TicketCustomField_PickObjectValue_case: + return field.GetPickObjectValue().GetDefaultValue(), nil - case *v2.TicketCustomField_PickMultipleObjectValues: - objVals := v.PickMultipleObjectValues.GetDefaultValues() + case v2.TicketCustomField_PickMultipleObjectValues_case: + objVals := field.GetPickMultipleObjectValues().GetDefaultValues() if len(objVals) == 0 { return nil, nil } @@ -365,17 +365,17 @@ func ValidateTicket(ctx context.Context, schema *v2.TicketSchema, ticket *v2.Tic // Validate the ticket status is one defined in the schema // Ticket status is not required so if a ticket doesn't have a status // we don't need to validate, skip the loop in this case - validTicketStatus := ticket.Status == nil + validTicketStatus := !ticket.HasStatus() if !validTicketStatus { for _, status := range schema.GetStatuses() { - if ticket.Status.GetId() == status.GetId() { + if ticket.GetStatus().GetId() == status.GetId() { validTicketStatus = true break } } } if !validTicketStatus { - l.Debug("error: invalid ticket: could not find status", zap.String("status_id", ticket.Status.GetId())) + l.Debug("error: invalid ticket: could not find status", zap.String("status_id", ticket.GetStatus().GetId())) return false, nil } @@ -385,8 +385,8 @@ func ValidateTicket(ctx context.Context, schema *v2.TicketSchema, ticket *v2.Tic for id, cf := range schemaCustomFields { ticketCf, ok := ticketCustomFields[id] if !ok { - if cf.Required { - l.Debug("error: invalid ticket: missing custom field", zap.String("custom_field_id", cf.Id)) + if cf.GetRequired() { + l.Debug("error: invalid ticket: missing custom field", zap.String("custom_field_id", cf.GetId())) return false, nil } else { // field not present but not required, so skip it @@ -394,11 +394,11 @@ func ValidateTicket(ctx context.Context, schema *v2.TicketSchema, ticket *v2.Tic } } - switch v := cf.GetValue().(type) { - case *v2.TicketCustomField_StringValue: + switch cf.WhichValue() { + case v2.TicketCustomField_StringValue_case: tv, tok := ticketCf.GetValue().(*v2.TicketCustomField_StringValue) if !tok { - l.Debug("error: invalid ticket: expected string value for field", zap.String("custom_field_id", cf.Id), zap.Any("value", tv)) + l.Debug("error: invalid ticket: expected string value for field", zap.String("custom_field_id", cf.GetId()), zap.Any("value", tv)) return false, nil } @@ -407,15 +407,15 @@ func ValidateTicket(ctx context.Context, schema *v2.TicketSchema, ticket *v2.Tic stringValue = tv.StringValue.GetDefaultValue() } - if cf.Required && stringValue == "" { - l.Debug("error: invalid ticket: string value is required but was empty", zap.String("custom_field_id", cf.Id)) + if cf.GetRequired() && stringValue == "" { + l.Debug("error: invalid ticket: string value is required but was empty", zap.String("custom_field_id", cf.GetId())) return false, nil } - case *v2.TicketCustomField_StringValues: + case v2.TicketCustomField_StringValues_case: tv, tok := ticketCf.GetValue().(*v2.TicketCustomField_StringValues) if !tok { - l.Debug("error: invalid ticket: expected string values for field", zap.String("custom_field_id", cf.Id), zap.Any("values", tv)) + l.Debug("error: invalid ticket: expected string values for field", zap.String("custom_field_id", cf.GetId()), zap.Any("values", tv)) return false, nil } @@ -424,28 +424,28 @@ func ValidateTicket(ctx context.Context, schema *v2.TicketSchema, ticket *v2.Tic stringValues = tv.StringValues.GetDefaultValues() } - if cf.Required && len(stringValues) == 0 { - l.Debug("error: invalid ticket: string values is required but was empty", zap.String("custom_field_id", cf.Id)) + if cf.GetRequired() && len(stringValues) == 0 { + l.Debug("error: invalid ticket: string values is required but was empty", zap.String("custom_field_id", cf.GetId())) return false, nil } - case *v2.TicketCustomField_BoolValue: + case v2.TicketCustomField_BoolValue_case: tv, tok := ticketCf.GetValue().(*v2.TicketCustomField_BoolValue) if !tok { - l.Debug("error: invalid ticket: expected bool value for field", zap.String("custom_field_id", cf.Id), zap.Any("value", tv)) + l.Debug("error: invalid ticket: expected bool value for field", zap.String("custom_field_id", cf.GetId()), zap.Any("value", tv)) return false, nil } - case *v2.TicketCustomField_NumberValue: + case v2.TicketCustomField_NumberValue_case: tv, tok := ticketCf.GetValue().(*v2.TicketCustomField_NumberValue) if !tok { - l.Debug("error: invalid ticket: expected number value for field", zap.String("custom_field_id", cf.Id), zap.Any("value", tv)) + l.Debug("error: invalid ticket: expected number value for field", zap.String("custom_field_id", cf.GetId()), zap.Any("value", tv)) return false, nil } - case *v2.TicketCustomField_TimestampValue: + case v2.TicketCustomField_TimestampValue_case: tv, tok := ticketCf.GetValue().(*v2.TicketCustomField_TimestampValue) if !tok { - l.Debug("error: invalid ticket: expected timestamp value for field", zap.String("custom_field_id", cf.Id), zap.Any("value", tv)) + l.Debug("error: invalid ticket: expected timestamp value for field", zap.String("custom_field_id", cf.GetId()), zap.Any("value", tv)) return false, nil } @@ -454,20 +454,20 @@ func ValidateTicket(ctx context.Context, schema *v2.TicketSchema, ticket *v2.Tic timestampValue = tv.TimestampValue.GetDefaultValue() } - if cf.Required && timestampValue == nil { - l.Debug("error: invalid ticket: expected timestamp value for field but was empty", zap.String("custom_field_id", cf.Id)) + if cf.GetRequired() && timestampValue == nil { + l.Debug("error: invalid ticket: expected timestamp value for field but was empty", zap.String("custom_field_id", cf.GetId())) return false, nil } - case *v2.TicketCustomField_PickStringValue: + case v2.TicketCustomField_PickStringValue_case: tv, tok := ticketCf.GetValue().(*v2.TicketCustomField_PickStringValue) if !tok { - l.Debug("error: invalid ticket: expected string value for field", zap.String("custom_field_id", cf.Id), zap.Any("value", tv)) + l.Debug("error: invalid ticket: expected string value for field", zap.String("custom_field_id", cf.GetId()), zap.Any("value", tv)) return false, nil } ticketValue := tv.PickStringValue.GetValue() - allowedValues := v.PickStringValue.GetAllowedValues() + allowedValues := cf.GetPickStringValue().GetAllowedValues() defaultTicketValue := tv.PickStringValue.GetDefaultValue() if ticketValue == "" { @@ -475,18 +475,18 @@ func ValidateTicket(ctx context.Context, schema *v2.TicketSchema, ticket *v2.Tic } // String value is empty but custom field is not required, skip further validation - if !cf.Required && ticketValue == "" { + if !cf.GetRequired() && ticketValue == "" { continue } // Custom field is required, check if string is empty if ticketValue == "" { - l.Debug("error: invalid ticket: expected string value for field but was empty", zap.String("custom_field_id", cf.Id)) + l.Debug("error: invalid ticket: expected string value for field but was empty", zap.String("custom_field_id", cf.GetId())) return false, nil } if len(allowedValues) == 0 { - l.Debug("error: invalid schema: expected schema to specify at least one allowed value", zap.String("custom_field_id", cf.Id)) + l.Debug("error: invalid schema: expected schema to specify at least one allowed value", zap.String("custom_field_id", cf.GetId())) return false, nil } @@ -500,40 +500,40 @@ func ValidateTicket(ctx context.Context, schema *v2.TicketSchema, ticket *v2.Tic if !foundMatch { l.Debug( "error: invalid ticket: expected value from schema", - zap.String("custom_field_id", cf.Id), + zap.String("custom_field_id", cf.GetId()), zap.String("value", ticketValue), zap.Strings("allowed_values", allowedValues), ) return false, nil } - case *v2.TicketCustomField_PickMultipleStringValues: + case v2.TicketCustomField_PickMultipleStringValues_case: tv, tok := ticketCf.GetValue().(*v2.TicketCustomField_PickMultipleStringValues) if !tok { - l.Debug("error: invalid ticket: expected string values for field", zap.String("custom_field_id", cf.Id), zap.Any("values", tv)) + l.Debug("error: invalid ticket: expected string values for field", zap.String("custom_field_id", cf.GetId()), zap.Any("values", tv)) return false, nil } ticketValues := tv.PickMultipleStringValues.GetValues() - allowedValues := v.PickMultipleStringValues.GetAllowedValues() + allowedValues := cf.GetPickMultipleStringValues().GetAllowedValues() if len(ticketValues) == 0 { ticketValues = tv.PickMultipleStringValues.GetDefaultValues() } // String values are empty but custom field is not required, skip further validation - if !cf.Required && len(ticketValues) == 0 { + if !cf.GetRequired() && len(ticketValues) == 0 { continue } // Custom field is required so check if string values are empty if len(ticketValues) == 0 { - l.Debug("error: invalid ticket: string values is required but was empty", zap.String("custom_field_id", cf.Id)) + l.Debug("error: invalid ticket: string values is required but was empty", zap.String("custom_field_id", cf.GetId())) return false, nil } if len(allowedValues) == 0 { - l.Debug("error: invalid schema: expected schema to specify at least one allowed value", zap.String("custom_field_id", cf.Id)) + l.Debug("error: invalid schema: expected schema to specify at least one allowed value", zap.String("custom_field_id", cf.GetId())) return false, nil } @@ -548,40 +548,40 @@ func ValidateTicket(ctx context.Context, schema *v2.TicketSchema, ticket *v2.Tic if len(ticketValues) != foundMatches { l.Debug( "error: invalid ticket: expected value from schema", - zap.String("custom_field_id", cf.Id), + zap.String("custom_field_id", cf.GetId()), zap.Strings("values", ticketValues), zap.Strings("allowed_values", allowedValues), ) return false, nil } - case *v2.TicketCustomField_PickObjectValue: + case v2.TicketCustomField_PickObjectValue_case: tv, tok := ticketCf.GetValue().(*v2.TicketCustomField_PickObjectValue) if !tok { - l.Debug("error: invalid ticket: expected object value for field", zap.String("custom_field_id", cf.Id), zap.Any("value", tv)) + l.Debug("error: invalid ticket: expected object value for field", zap.String("custom_field_id", cf.GetId()), zap.Any("value", tv)) return false, nil } ticketValue := tv.PickObjectValue.GetValue() - allowedValues := v.PickObjectValue.GetAllowedValues() + allowedValues := cf.GetPickObjectValue().GetAllowedValues() if ticketValue == nil || ticketValue.GetId() == "" { ticketValue = tv.PickObjectValue.GetDefaultValue() } // Object value for field is nil, but custom field is not required, skip further validation - if !cf.Required && (ticketValue == nil || ticketValue.GetId() == "") { + if !cf.GetRequired() && (ticketValue == nil || ticketValue.GetId() == "") { continue } // Custom field is required so check if object value for field is nil if ticketValue == nil || ticketValue.GetId() == "" { - l.Debug("error: invalid ticket: expected object value for field but was nil", zap.String("custom_field_id", cf.Id)) + l.Debug("error: invalid ticket: expected object value for field but was nil", zap.String("custom_field_id", cf.GetId())) return false, nil } if len(allowedValues) == 0 { - l.Debug("error: invalid schema: expected schema to specify at least one allowed value", zap.String("custom_field_id", cf.Id)) + l.Debug("error: invalid schema: expected schema to specify at least one allowed value", zap.String("custom_field_id", cf.GetId())) return false, nil } @@ -595,40 +595,40 @@ func ValidateTicket(ctx context.Context, schema *v2.TicketSchema, ticket *v2.Tic if !foundMatch { l.Debug( "error: invalid ticket: expected value from schema", - zap.String("custom_field_id", cf.Id), + zap.String("custom_field_id", cf.GetId()), zap.String("value_id", ticketValue.GetId()), zap.Any("allowed_values", allowedValues), ) return false, nil } - case *v2.TicketCustomField_PickMultipleObjectValues: + case v2.TicketCustomField_PickMultipleObjectValues_case: tv, tok := ticketCf.GetValue().(*v2.TicketCustomField_PickMultipleObjectValues) if !tok { - l.Debug("error: invalid ticket: expected object values for field", zap.String("custom_field_id", cf.Id), zap.Any("values", tv)) + l.Debug("error: invalid ticket: expected object values for field", zap.String("custom_field_id", cf.GetId()), zap.Any("values", tv)) return false, nil } ticketValues := tv.PickMultipleObjectValues.GetValues() if len(ticketValues) == 0 { - ticketValues = v.PickMultipleObjectValues.GetDefaultValues() + ticketValues = cf.GetPickMultipleObjectValues().GetDefaultValues() } - allowedValues := v.PickMultipleObjectValues.GetAllowedValues() + allowedValues := cf.GetPickMultipleObjectValues().GetAllowedValues() // Object values are empty but custom field is not required, skip further validation - if !cf.Required && len(ticketValues) == 0 { + if !cf.GetRequired() && len(ticketValues) == 0 { continue } // Custom field is required so check if object values are empty if len(ticketValues) == 0 { - l.Debug("error: invalid ticket: object values is required but was empty", zap.String("custom_field_id", cf.Id)) + l.Debug("error: invalid ticket: object values is required but was empty", zap.String("custom_field_id", cf.GetId())) return false, nil } if len(allowedValues) == 0 { - l.Debug("error: invalid schema: expected schema to specify at least one allowed value", zap.String("custom_field_id", cf.Id)) + l.Debug("error: invalid schema: expected schema to specify at least one allowed value", zap.String("custom_field_id", cf.GetId())) return false, nil } @@ -643,7 +643,7 @@ func ValidateTicket(ctx context.Context, schema *v2.TicketSchema, ticket *v2.Tic if len(ticketValues) != foundMatches { l.Debug( "error: invalid ticket: expected value from schema", - zap.String("custom_field_id", cf.Id), + zap.String("custom_field_id", cf.GetId()), zap.Any("values", ticketValues), zap.Any("allowed_values", allowedValues), ) @@ -651,7 +651,7 @@ func ValidateTicket(ctx context.Context, schema *v2.TicketSchema, ticket *v2.Tic } default: - l.Debug("error: invalid schema: unknown custom field type", zap.Any("custom_field_type", v)) + l.Debug("error: invalid schema: unknown custom field type", zap.Any("custom_field_type", cf.WhichValue())) return false, errors.New("error: invalid schema: unknown custom field type") } } @@ -660,207 +660,171 @@ func ValidateTicket(ctx context.Context, schema *v2.TicketSchema, ticket *v2.Tic } func StringFieldSchema(id, displayName string, required bool) *v2.TicketCustomField { - return &v2.TicketCustomField{ + return v2.TicketCustomField_builder{ Id: id, DisplayName: displayName, Required: required, - Value: &v2.TicketCustomField_StringValue{ - StringValue: &v2.TicketCustomFieldStringValue{}, - }, - } + StringValue: &v2.TicketCustomFieldStringValue{}, + }.Build() } func StringField(id, value string) *v2.TicketCustomField { - return &v2.TicketCustomField{ + return v2.TicketCustomField_builder{ Id: id, - Value: &v2.TicketCustomField_StringValue{ - StringValue: &v2.TicketCustomFieldStringValue{ - Value: value, - }, - }, - } + StringValue: v2.TicketCustomFieldStringValue_builder{ + Value: value, + }.Build(), + }.Build() } func StringsFieldSchema(id, displayName string, required bool) *v2.TicketCustomField { - return &v2.TicketCustomField{ - Id: id, - DisplayName: displayName, - Required: required, - Value: &v2.TicketCustomField_StringValues{ - StringValues: &v2.TicketCustomFieldStringValues{}, - }, - } + return v2.TicketCustomField_builder{ + Id: id, + DisplayName: displayName, + Required: required, + StringValues: &v2.TicketCustomFieldStringValues{}, + }.Build() } func StringsField(id string, values []string) *v2.TicketCustomField { - return &v2.TicketCustomField{ + return v2.TicketCustomField_builder{ Id: id, - Value: &v2.TicketCustomField_StringValues{ - StringValues: &v2.TicketCustomFieldStringValues{ - Values: values, - }, - }, - } + StringValues: v2.TicketCustomFieldStringValues_builder{ + Values: values, + }.Build(), + }.Build() } func BoolFieldSchema(id, displayName string, required bool) *v2.TicketCustomField { - return &v2.TicketCustomField{ + return v2.TicketCustomField_builder{ Id: id, DisplayName: displayName, Required: required, - Value: &v2.TicketCustomField_BoolValue{ - BoolValue: &v2.TicketCustomFieldBoolValue{}, - }, - } + BoolValue: &v2.TicketCustomFieldBoolValue{}, + }.Build() } func NumberFieldSchema(id, displayName string, required bool) *v2.TicketCustomField { - return &v2.TicketCustomField{ + return v2.TicketCustomField_builder{ Id: id, DisplayName: displayName, Required: required, - Value: &v2.TicketCustomField_NumberValue{ - NumberValue: &v2.TicketCustomFieldNumberValue{}, - }, - } + NumberValue: &v2.TicketCustomFieldNumberValue{}, + }.Build() } func BoolField(id string, value bool) *v2.TicketCustomField { - return &v2.TicketCustomField{ + return v2.TicketCustomField_builder{ Id: id, - Value: &v2.TicketCustomField_BoolValue{ - BoolValue: &v2.TicketCustomFieldBoolValue{ - Value: value, - }, - }, - } + BoolValue: v2.TicketCustomFieldBoolValue_builder{ + Value: value, + }.Build(), + }.Build() } func NumberField(id string, value float32) *v2.TicketCustomField { - return &v2.TicketCustomField{ + return v2.TicketCustomField_builder{ Id: id, - Value: &v2.TicketCustomField_NumberValue{ - NumberValue: &v2.TicketCustomFieldNumberValue{ - Value: wrapperspb.Float(value), - }, - }, - } + NumberValue: v2.TicketCustomFieldNumberValue_builder{ + Value: wrapperspb.Float(value), + }.Build(), + }.Build() } func TimestampFieldSchema(id, displayName string, required bool) *v2.TicketCustomField { - return &v2.TicketCustomField{ - Id: id, - DisplayName: displayName, - Required: required, - Value: &v2.TicketCustomField_TimestampValue{ - TimestampValue: &v2.TicketCustomFieldTimestampValue{}, - }, - } + return v2.TicketCustomField_builder{ + Id: id, + DisplayName: displayName, + Required: required, + TimestampValue: &v2.TicketCustomFieldTimestampValue{}, + }.Build() } func TimestampField(id string, value time.Time) *v2.TicketCustomField { - return &v2.TicketCustomField{ + return v2.TicketCustomField_builder{ Id: id, - Value: &v2.TicketCustomField_TimestampValue{ - TimestampValue: &v2.TicketCustomFieldTimestampValue{ - Value: timestamppb.New(value), - }, - }, - } + TimestampValue: v2.TicketCustomFieldTimestampValue_builder{ + Value: timestamppb.New(value), + }.Build(), + }.Build() } func PickStringFieldSchema(id, displayName string, required bool, allowedValues []string) *v2.TicketCustomField { - return &v2.TicketCustomField{ + return v2.TicketCustomField_builder{ Id: id, DisplayName: displayName, Required: required, - Value: &v2.TicketCustomField_PickStringValue{ - PickStringValue: &v2.TicketCustomFieldPickStringValue{ - AllowedValues: allowedValues, - }, - }, - } + PickStringValue: v2.TicketCustomFieldPickStringValue_builder{ + AllowedValues: allowedValues, + }.Build(), + }.Build() } func PickStringField(id string, value string) *v2.TicketCustomField { - return &v2.TicketCustomField{ + return v2.TicketCustomField_builder{ Id: id, - Value: &v2.TicketCustomField_PickStringValue{ - PickStringValue: &v2.TicketCustomFieldPickStringValue{ - Value: value, - }, - }, - } + PickStringValue: v2.TicketCustomFieldPickStringValue_builder{ + Value: value, + }.Build(), + }.Build() } func PickMultipleStringsFieldSchema(id, displayName string, required bool, allowedValues []string) *v2.TicketCustomField { - return &v2.TicketCustomField{ + return v2.TicketCustomField_builder{ Id: id, DisplayName: displayName, Required: required, - Value: &v2.TicketCustomField_PickMultipleStringValues{ - PickMultipleStringValues: &v2.TicketCustomFieldPickMultipleStringValues{ - AllowedValues: allowedValues, - }, - }, - } + PickMultipleStringValues: v2.TicketCustomFieldPickMultipleStringValues_builder{ + AllowedValues: allowedValues, + }.Build(), + }.Build() } func PickMultipleStringsField(id string, values []string) *v2.TicketCustomField { - return &v2.TicketCustomField{ + return v2.TicketCustomField_builder{ Id: id, - Value: &v2.TicketCustomField_PickMultipleStringValues{ - PickMultipleStringValues: &v2.TicketCustomFieldPickMultipleStringValues{ - Values: values, - }, - }, - } + PickMultipleStringValues: v2.TicketCustomFieldPickMultipleStringValues_builder{ + Values: values, + }.Build(), + }.Build() } func PickObjectValueFieldSchema(id, displayName string, required bool, allowedValues []*v2.TicketCustomFieldObjectValue) *v2.TicketCustomField { - return &v2.TicketCustomField{ + return v2.TicketCustomField_builder{ Id: id, DisplayName: displayName, Required: required, - Value: &v2.TicketCustomField_PickObjectValue{ - PickObjectValue: &v2.TicketCustomFieldPickObjectValue{ - AllowedValues: allowedValues, - }, - }, - } + PickObjectValue: v2.TicketCustomFieldPickObjectValue_builder{ + AllowedValues: allowedValues, + }.Build(), + }.Build() } func PickObjectValueField(id string, value *v2.TicketCustomFieldObjectValue) *v2.TicketCustomField { - return &v2.TicketCustomField{ + return v2.TicketCustomField_builder{ Id: id, - Value: &v2.TicketCustomField_PickObjectValue{ - PickObjectValue: &v2.TicketCustomFieldPickObjectValue{ - Value: value, - }, - }, - } + PickObjectValue: v2.TicketCustomFieldPickObjectValue_builder{ + Value: value, + }.Build(), + }.Build() } func PickMultipleObjectValuesFieldSchema(id, displayName string, required bool, allowedValues []*v2.TicketCustomFieldObjectValue) *v2.TicketCustomField { - return &v2.TicketCustomField{ + return v2.TicketCustomField_builder{ Id: id, DisplayName: displayName, Required: required, - Value: &v2.TicketCustomField_PickMultipleObjectValues{ - PickMultipleObjectValues: &v2.TicketCustomFieldPickMultipleObjectValues{ - AllowedValues: allowedValues, - }, - }, - } + PickMultipleObjectValues: v2.TicketCustomFieldPickMultipleObjectValues_builder{ + AllowedValues: allowedValues, + }.Build(), + }.Build() } func PickMultipleObjectValuesField(id string, values []*v2.TicketCustomFieldObjectValue) *v2.TicketCustomField { - return &v2.TicketCustomField{ + return v2.TicketCustomField_builder{ Id: id, - Value: &v2.TicketCustomField_PickMultipleObjectValues{ - PickMultipleObjectValues: &v2.TicketCustomFieldPickMultipleObjectValues{ - Values: values, - }, - }, - } + PickMultipleObjectValues: v2.TicketCustomFieldPickMultipleObjectValues_builder{ + Values: values, + }.Build(), + }.Build() } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/types/types.go b/vendor/github.com/conductorone/baton-sdk/pkg/types/types.go index 191c0a9b..fc52f6f4 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/types/types.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/types/types.go @@ -1,4 +1,4 @@ -package types +package types //nolint:revive // we want this to be "types" import ( "context" diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/ugrpc/c1_credential_provider.go b/vendor/github.com/conductorone/baton-sdk/pkg/ugrpc/c1_credential_provider.go index 05b21aa1..6073b812 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/ugrpc/c1_credential_provider.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/ugrpc/c1_credential_provider.go @@ -1,10 +1,7 @@ package ugrpc import ( - "bytes" "context" - "crypto/ed25519" - "encoding/base64" "errors" "net" "net/http" @@ -13,6 +10,7 @@ import ( "strings" "time" + "github.com/conductorone/baton-sdk/pkg/crypto" "github.com/conductorone/baton-sdk/pkg/uhttp" "github.com/go-jose/go-jose/v4" "github.com/go-jose/go-jose/v4/json" @@ -30,10 +28,7 @@ const ( ) var ( - ErrInvalidClientSecret = errors.New("invalid client secret") - ErrInvalidClientID = errors.New("invalid client id") - - v1SecretTokenIdentifier = []byte("v1") + ErrInvalidClientID = errors.New("invalid client id") ) type c1Token struct { @@ -66,39 +61,6 @@ func parseClientID(input string) (string, string, error) { return clientName, items[0], nil } -func parseSecret(input []byte) (*jose.JSONWebKey, error) { - items := bytes.SplitN(input, []byte(":"), 4) - if len(items) != 4 { - return nil, ErrInvalidClientSecret - } - - if !bytes.Equal(items[2], v1SecretTokenIdentifier) { - return nil, ErrInvalidClientSecret - } - - jwkData, err := base64.RawURLEncoding.DecodeString(string(items[3])) - if err != nil { - return nil, ErrInvalidClientSecret - } - - npk := &jose.JSONWebKey{} - err = npk.UnmarshalJSON(jwkData) - if err != nil { - return nil, ErrInvalidClientSecret - } - - if npk.IsPublic() || !npk.Valid() { - return nil, ErrInvalidClientSecret - } - - _, ok := npk.Key.(ed25519.PrivateKey) - if !ok { - return nil, ErrInvalidClientSecret - } - - return npk, nil -} - func (c *c1TokenSource) Token() (*oauth2.Token, error) { jsigner, err := jose.NewSigner( jose.SigningKey{ @@ -197,7 +159,7 @@ func newC1TokenSource(ctx context.Context, clientID string, clientSecret string) return nil, "", "", err } - secret, err := parseSecret([]byte(clientSecret)) + secret, err := crypto.ParseClientSecret([]byte(clientSecret), false) if err != nil { return nil, "", "", err } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/ugrpc/interceptors.go b/vendor/github.com/conductorone/baton-sdk/pkg/ugrpc/interceptors.go index e2a76cba..f2a4b979 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/ugrpc/interceptors.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/ugrpc/interceptors.go @@ -13,6 +13,21 @@ import ( "google.golang.org/grpc/status" ) +func ChainUnaryInterceptors(interceptors ...grpc.UnaryServerInterceptor) grpc.UnaryServerInterceptor { + return func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) { + // Compose from last to first + chained := handler + for i := len(interceptors) - 1; i >= 0; i-- { + currentInterceptor := interceptors[i] + next := chained + chained = func(currentCtx context.Context, currentReq interface{}) (interface{}, error) { + return currentInterceptor(currentCtx, currentReq, info, next) + } + } + return chained(ctx, req) + } +} + // StreamServerInterceptors returns a slice of interceptors that includes the default interceptors, // plus any interceptors passed in as arguments. func StreamServerInterceptors(ctx context.Context, interceptors ...grpc.StreamServerInterceptor) []grpc.StreamServerInterceptor { 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..a7d91ed5 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/dbcache.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/dbcache.go @@ -52,13 +52,13 @@ const ( failRollback = "Failed to rollback transaction" failInsert = "Failed to insert response data into cache table" failScanResponse = "Failed to scan rows for cached response" - cacheTTLThreshold = 60 + cacheTTLThreshold = time.Duration(60) * time.Second cacheTTLMultiplier uint64 = 5 ) var errNilConnection = errors.New("database connection is nil") -var defaultWaitDuration = cacheTTLThreshold * time.Second // Default Cleanup interval, 60 seconds +var defaultWaitDuration = cacheTTLThreshold // Default Cleanup interval, 60 seconds const tableName = "http_cache" @@ -67,10 +67,9 @@ func NewDBCache(ctx context.Context, cfg CacheConfig) (*DBCache, error) { var ( err error dc = &DBCache{ - waitDuration: defaultWaitDuration, // Default Cleanup interval, 60 seconds - stats: true, - //nolint:gosec // disable G115 - expirationTime: time.Duration(cfg.TTL) * time.Second, + waitDuration: defaultWaitDuration, // Default Cleanup interval, 60 seconds + stats: true, + expirationTime: cfg.TTL, } ) l := ctxzap.Extract(ctx) @@ -111,8 +110,7 @@ func NewDBCache(ctx context.Context, cfg CacheConfig) (*DBCache, error) { } if cfg.TTL > cacheTTLThreshold { - //nolint:gosec // disable G115 - dc.waitDuration = time.Duration(cfg.TTL*cacheTTLMultiplier) * time.Second // set as a fraction of the Cache TTL + dc.waitDuration = cfg.TTL * time.Duration(cacheTTLMultiplier) // set as a fraction of the Cache TTL } go func(waitDuration, expirationTime time.Duration) { @@ -192,7 +190,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) @@ -429,8 +427,8 @@ func (d *DBCache) updateStats(ctx context.Context, field, key string) error { func (d *DBCache) getStats(ctx context.Context) (CacheStats, error) { var ( - hits int64 - misses int64 + hits uint64 + misses uint64 ) if d.db == nil { return CacheStats{}, errNilConnection @@ -456,6 +454,9 @@ func (d *DBCache) getStats(ctx context.Context) (CacheStats, error) { return CacheStats{}, err } } + if rows.Err() != nil { + return CacheStats{}, rows.Err() + } return CacheStats{ Hits: hits, diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/gocache.go b/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/gocache.go index 63f769db..6d3720a1 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/gocache.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/gocache.go @@ -18,9 +18,9 @@ import ( ) const ( - cacheTTLMaximum uint64 = 31536000 // 31536000 seconds = one year - cacheTTLDefault uint64 = 3600 // 3600 seconds = one hour - defaultCacheSize uint = 5 // MB + cacheTTLMaximum time.Duration = 31536000 * time.Second // 31536000 seconds = one year + cacheTTLDefault time.Duration = 3600 * time.Second // 3600 seconds = one hour + defaultCacheSizeMb uint64 = 5 // MB ) type CacheBackend string @@ -32,15 +32,15 @@ const ( ) type CacheConfig struct { - LogDebug bool - TTL uint64 // If 0, cache is disabled - MaxSize uint // MB - Backend CacheBackend // If noop, cache is disabled + LogDebug bool + TTL time.Duration // If 0, cache is disabled + MaxSizeMb uint64 // MB + Backend CacheBackend // If noop, cache is disabled } type CacheStats struct { - Hits int64 - Misses int64 + Hits uint64 + Misses uint64 } type ContextKey struct{} @@ -50,7 +50,7 @@ type GoCache struct { } type NoopCache struct { - counter int64 + counter uint64 } func NewNoopCache(ctx context.Context) *NoopCache { @@ -79,15 +79,15 @@ func (n *NoopCache) Stats(ctx context.Context) CacheStats { } func (cc *CacheConfig) ToString() string { - return fmt.Sprintf("Backend: %v, TTL: %d, MaxSize: %dMB, LogDebug: %t", cc.Backend, cc.TTL, cc.MaxSize, cc.LogDebug) + return fmt.Sprintf("Backend: %v, TTL: %d, MaxSize: %dMB, LogDebug: %t", cc.Backend, cc.TTL, cc.MaxSizeMb, cc.LogDebug) } func DefaultCacheConfig() CacheConfig { return CacheConfig{ - TTL: cacheTTLDefault, - MaxSize: defaultCacheSize, - LogDebug: false, - Backend: CacheBackendMemory, + TTL: cacheTTLDefault, + MaxSizeMb: defaultCacheSizeMb, + LogDebug: false, + Backend: CacheBackendMemory, } } @@ -96,12 +96,12 @@ func NewCacheConfigFromEnv() *CacheConfig { cacheMaxSize, err := strconv.ParseInt(os.Getenv("BATON_HTTP_CACHE_MAX_SIZE"), 10, 64) if err == nil && cacheMaxSize >= 0 { - config.MaxSize = uint(cacheMaxSize) + config.MaxSizeMb = uint64(cacheMaxSize) } - cacheTTL, err := strconv.ParseUint(os.Getenv("BATON_HTTP_CACHE_TTL"), 10, 64) + cacheTTL, err := strconv.ParseInt(os.Getenv("BATON_HTTP_CACHE_TTL"), 10, 64) if err == nil { - config.TTL = min(cacheTTLMaximum, max(0, cacheTTL)) + config.TTL = min(cacheTTLMaximum, max(0, time.Duration(cacheTTL)*time.Second)) } cacheBackend := os.Getenv("BATON_HTTP_CACHE_BACKEND") @@ -147,7 +147,7 @@ func NewHttpCache(ctx context.Context, config *CacheConfig) (icache, error) { l.Info("http cache config", zap.String("config", config.ToString())) if config.TTL == 0 { - l.Debug("CacheTTL is 0, disabling cache.", zap.Uint64("CacheTTL", config.TTL)) + l.Debug("NewHttpCache: Cache TTL is 0, disabling cache.", zap.Duration("cache_ttl", config.TTL)) return NewNoopCache(ctx), nil } @@ -179,7 +179,7 @@ func NewHttpCache(ctx context.Context, config *CacheConfig) (icache, error) { func NewGoCache(ctx context.Context, cfg CacheConfig) (*GoCache, error) { l := ctxzap.Extract(ctx) gc := GoCache{} - maxSize := cfg.MaxSize * 1024 * 1024 + maxSize := cfg.MaxSizeMb * 1024 * 1024 if maxSize > math.MaxInt { return nil, fmt.Errorf("error converting max size to bytes") } @@ -189,7 +189,7 @@ func NewGoCache(ctx context.Context, cfg CacheConfig) (*GoCache, error) { Cost(func(key string, value []byte) uint32 { return uint32(len(key) + len(value)) }). - WithTTL(time.Duration(cfg.TTL) * time.Second). + WithTTL(cfg.TTL). Build() if err != nil { @@ -208,9 +208,17 @@ func (g *GoCache) Stats(ctx context.Context) CacheStats { return CacheStats{} } stats := g.rootLibrary.Stats() + hits := stats.Hits() + misses := stats.Misses() + if hits < 0 { + hits = 0 + } + if misses < 0 { + misses = 0 + } return CacheStats{ - Hits: stats.Hits(), - Misses: stats.Misses(), + Hits: uint64(hits), //nolint:gosec // disable G115: we check the min size + Misses: uint64(misses), //nolint:gosec // disable G115: we check the min size } } 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 3d3075e0..6feb0864 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/wrapper.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/wrapper.go @@ -242,10 +242,10 @@ func WithRatelimitData(resource *v2.RateLimitDescription) DoOption { return err } - resource.Limit = rl.Limit - resource.Remaining = rl.Remaining - resource.ResetAt = rl.ResetAt - resource.Status = rl.Status + resource.SetLimit(rl.GetLimit()) + resource.SetRemaining(rl.GetRemaining()) + resource.SetResetAt(rl.GetResetAt()) + resource.SetStatus(rl.GetStatus()) return nil } @@ -353,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 @@ -369,6 +369,13 @@ func (c *BaseHttpClient) Do(req *http.Request, options ...DoOption) (*http.Respo 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() { @@ -437,7 +444,7 @@ func (c *BaseHttpClient) Do(req *http.Request, options ...DoOption) (*http.Respo 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...) @@ -490,6 +497,14 @@ 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 @@ -590,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/uotel/config.go b/vendor/github.com/conductorone/baton-sdk/pkg/uotel/config.go index 14082a35..9d107225 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/uotel/config.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/uotel/config.go @@ -251,7 +251,7 @@ func (c *otelConfig) initLogging(ctx context.Context, cc *grpc.ClientConn) (cont return nil, fmt.Errorf("failed to initialize otlp exporter: %w", err) } // TODO(morgabra): Whole bunch of tunables _here_... - processor := log.NewBatchProcessor(exp, log.WithExportInterval(time.Second*5)) + processor := log.NewBatchProcessor(exp, log.WithExportInterval(time.Second*1)) // TODO(morgabra): Whole bunch of tunables ALSO HERE... provider := log.NewLoggerProvider( log.WithResource(res), 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/conductorone/baton-sdk/pkg/utls/certs.go b/vendor/github.com/conductorone/baton-sdk/pkg/utls/certs.go index e70de8fd..86b072a6 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/utls/certs.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/utls/certs.go @@ -56,10 +56,10 @@ func generateCredential(ctx context.Context, name string, caCert *x509.Certifica return nil, err } - return &v1.Credential{ + return v1.Credential_builder{ Key: privateKey, Cert: signedCert, - }, nil + }.Build(), nil } // GenerateClientServerCredentials generates a new CA and two sets of credentials for use in a client/server configuration. @@ -105,13 +105,13 @@ func GenerateClientServerCredentials(ctx context.Context) (*v1.Credential, *v1.C if err != nil { return nil, nil, err } - clientCreds.CaCert = caCert + clientCreds.SetCaCert(caCert) serverCreds, err := generateCredential(ctx, "c1-connector-server", ca, caKey) if err != nil { return nil, nil, err } - serverCreds.CaCert = caCert + serverCreds.SetCaCert(caCert) return clientCreds, serverCreds, nil } diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/utls/client.go b/vendor/github.com/conductorone/baton-sdk/pkg/utls/client.go index 7426a882..d751a9d0 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/utls/client.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/utls/client.go @@ -11,7 +11,7 @@ import ( // ClientConfig takes a credential and returns a TLS configuration that can be used to connect to a server. func ClientConfig(ctx context.Context, cred *v1.Credential) (*tls.Config, error) { - caCert, err := x509.ParseCertificate(cred.CaCert) + caCert, err := x509.ParseCertificate(cred.GetCaCert()) if err != nil { return nil, err } @@ -20,15 +20,15 @@ func ClientConfig(ctx context.Context, cred *v1.Credential) (*tls.Config, error) pool.AddCert(caCert) // Validate that we have a valid certificate - _, err = x509.ParseCertificate(cred.Cert) + _, err = x509.ParseCertificate(cred.GetCert()) if err != nil { return nil, err } var tlsCert tls.Certificate - tlsCert.Certificate = append(tlsCert.Certificate, cred.Cert) - tlsCert.PrivateKey = ed25519.PrivateKey(cred.Key) + tlsCert.Certificate = append(tlsCert.Certificate, cred.GetCert()) + tlsCert.PrivateKey = ed25519.PrivateKey(cred.GetKey()) return &tls.Config{ ServerName: "127.0.0.1", diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/utls/listener.go b/vendor/github.com/conductorone/baton-sdk/pkg/utls/listener.go index b1a935b4..05fa3d32 100644 --- a/vendor/github.com/conductorone/baton-sdk/pkg/utls/listener.go +++ b/vendor/github.com/conductorone/baton-sdk/pkg/utls/listener.go @@ -12,7 +12,7 @@ import ( // ListenerConfig takes a credential and returns a TLS configuration that can be used to create a TLS listener. func ListenerConfig(ctx context.Context, cred *v1.Credential) (*tls.Config, error) { - caCert, err := x509.ParseCertificate(cred.CaCert) + caCert, err := x509.ParseCertificate(cred.GetCaCert()) if err != nil { return nil, err } @@ -21,15 +21,15 @@ func ListenerConfig(ctx context.Context, cred *v1.Credential) (*tls.Config, erro pool.AddCert(caCert) // Validate that we have a valid certificate - _, err = x509.ParseCertificate(cred.Cert) + _, err = x509.ParseCertificate(cred.GetCert()) if err != nil { return nil, err } var tlsCert tls.Certificate - tlsCert.Certificate = append(tlsCert.Certificate, cred.Cert) - tlsCert.PrivateKey = ed25519.PrivateKey(cred.Key) + tlsCert.Certificate = append(tlsCert.Certificate, cred.GetCert()) + tlsCert.PrivateKey = ed25519.PrivateKey(cred.GetKey()) return &tls.Config{ MinVersion: tls.VersionTLS12, diff --git a/vendor/github.com/ebitengine/purego/.gitignore b/vendor/github.com/ebitengine/purego/.gitignore new file mode 100644 index 00000000..b25c15b8 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/.gitignore @@ -0,0 +1 @@ +*~ diff --git a/vendor/github.com/ebitengine/purego/LICENSE b/vendor/github.com/ebitengine/purego/LICENSE new file mode 100644 index 00000000..8dada3ed --- /dev/null +++ b/vendor/github.com/ebitengine/purego/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/ebitengine/purego/README.md b/vendor/github.com/ebitengine/purego/README.md new file mode 100644 index 00000000..f1ff9053 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/README.md @@ -0,0 +1,97 @@ +# purego +[![Go Reference](https://pkg.go.dev/badge/github.com/ebitengine/purego?GOOS=darwin.svg)](https://pkg.go.dev/github.com/ebitengine/purego?GOOS=darwin) + +A library for calling C functions from Go without Cgo. + +> This is beta software so expect bugs and potentially API breaking changes +> but each release will be tagged to avoid breaking people's code. +> Bug reports are encouraged. + +## Motivation + +The [Ebitengine](https://github.com/hajimehoshi/ebiten) game engine was ported to use only Go on Windows. This enabled +cross-compiling to Windows from any other operating system simply by setting `GOOS=windows`. The purego project was +born to bring that same vision to the other platforms supported by Ebitengine. + +## Benefits + +- **Simple Cross-Compilation**: No C means you can build for other platforms easily without a C compiler. +- **Faster Compilation**: Efficiently cache your entirely Go builds. +- **Smaller Binaries**: Using Cgo generates a C wrapper function for each C function called. Purego doesn't! +- **Dynamic Linking**: Load symbols at runtime and use it as a plugin system. +- **Foreign Function Interface**: Call into other languages that are compiled into shared objects. +- **Cgo Fallback**: Works even with CGO_ENABLED=1 so incremental porting is possible. +This also means unsupported GOARCHs (freebsd/riscv64, linux/mips, etc.) will still work +except for float arguments and return values. + +## Supported Platforms + +- **FreeBSD**: amd64, arm64 +- **Linux**: amd64, arm64 +- **macOS / iOS**: amd64, arm64 +- **Windows**: 386*, amd64, arm*, arm64 + +`*` These architectures only support SyscallN and NewCallback + +## Example + +The example below only showcases purego use for macOS and Linux. The other platforms require special handling which can +be seen in the complete example at [examples/libc](https://github.com/ebitengine/purego/tree/main/examples/libc) which supports Windows and FreeBSD. + +```go +package main + +import ( + "fmt" + "runtime" + + "github.com/ebitengine/purego" +) + +func getSystemLibrary() string { + switch runtime.GOOS { + case "darwin": + return "/usr/lib/libSystem.B.dylib" + case "linux": + return "libc.so.6" + default: + panic(fmt.Errorf("GOOS=%s is not supported", runtime.GOOS)) + } +} + +func main() { + libc, err := purego.Dlopen(getSystemLibrary(), purego.RTLD_NOW|purego.RTLD_GLOBAL) + if err != nil { + panic(err) + } + var puts func(string) + purego.RegisterLibFunc(&puts, libc, "puts") + puts("Calling C from Go without Cgo!") +} +``` + +Then to run: `CGO_ENABLED=0 go run main.go` + +## Questions + +If you have questions about how to incorporate purego in your project or want to discuss +how it works join the [Discord](https://discord.gg/HzGZVD6BkY)! + +### External Code + +Purego uses code that originates from the Go runtime. These files are under the BSD-3 +License that can be found [in the Go Source](https://github.com/golang/go/blob/master/LICENSE). +This is a list of the copied files: + +* `abi_*.h` from package `runtime/cgo` +* `zcallback_darwin_*.s` from package `runtime` +* `internal/fakecgo/abi_*.h` from package `runtime/cgo` +* `internal/fakecgo/asm_GOARCH.s` from package `runtime/cgo` +* `internal/fakecgo/callbacks.go` from package `runtime/cgo` +* `internal/fakecgo/go_GOOS_GOARCH.go` from package `runtime/cgo` +* `internal/fakecgo/iscgo.go` from package `runtime/cgo` +* `internal/fakecgo/setenv.go` from package `runtime/cgo` +* `internal/fakecgo/freebsd.go` from package `runtime/cgo` + +The files `abi_*.h` and `internal/fakecgo/abi_*.h` are the same because Bazel does not support cross-package use of +`#include` so we need each one once per package. (cf. [issue](https://github.com/bazelbuild/rules_go/issues/3636)) diff --git a/vendor/github.com/ebitengine/purego/abi_amd64.h b/vendor/github.com/ebitengine/purego/abi_amd64.h new file mode 100644 index 00000000..9949435f --- /dev/null +++ b/vendor/github.com/ebitengine/purego/abi_amd64.h @@ -0,0 +1,99 @@ +// Copyright 2021 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Macros for transitioning from the host ABI to Go ABI0. +// +// These save the frame pointer, so in general, functions that use +// these should have zero frame size to suppress the automatic frame +// pointer, though it's harmless to not do this. + +#ifdef GOOS_windows + +// REGS_HOST_TO_ABI0_STACK is the stack bytes used by +// PUSH_REGS_HOST_TO_ABI0. +#define REGS_HOST_TO_ABI0_STACK (28*8 + 8) + +// PUSH_REGS_HOST_TO_ABI0 prepares for transitioning from +// the host ABI to Go ABI0 code. It saves all registers that are +// callee-save in the host ABI and caller-save in Go ABI0 and prepares +// for entry to Go. +// +// Save DI SI BP BX R12 R13 R14 R15 X6-X15 registers and the DF flag. +// Clear the DF flag for the Go ABI. +// MXCSR matches the Go ABI, so we don't have to set that, +// and Go doesn't modify it, so we don't have to save it. +#define PUSH_REGS_HOST_TO_ABI0() \ + PUSHFQ \ + CLD \ + ADJSP $(REGS_HOST_TO_ABI0_STACK - 8) \ + MOVQ DI, (0*0)(SP) \ + MOVQ SI, (1*8)(SP) \ + MOVQ BP, (2*8)(SP) \ + MOVQ BX, (3*8)(SP) \ + MOVQ R12, (4*8)(SP) \ + MOVQ R13, (5*8)(SP) \ + MOVQ R14, (6*8)(SP) \ + MOVQ R15, (7*8)(SP) \ + MOVUPS X6, (8*8)(SP) \ + MOVUPS X7, (10*8)(SP) \ + MOVUPS X8, (12*8)(SP) \ + MOVUPS X9, (14*8)(SP) \ + MOVUPS X10, (16*8)(SP) \ + MOVUPS X11, (18*8)(SP) \ + MOVUPS X12, (20*8)(SP) \ + MOVUPS X13, (22*8)(SP) \ + MOVUPS X14, (24*8)(SP) \ + MOVUPS X15, (26*8)(SP) + +#define POP_REGS_HOST_TO_ABI0() \ + MOVQ (0*0)(SP), DI \ + MOVQ (1*8)(SP), SI \ + MOVQ (2*8)(SP), BP \ + MOVQ (3*8)(SP), BX \ + MOVQ (4*8)(SP), R12 \ + MOVQ (5*8)(SP), R13 \ + MOVQ (6*8)(SP), R14 \ + MOVQ (7*8)(SP), R15 \ + MOVUPS (8*8)(SP), X6 \ + MOVUPS (10*8)(SP), X7 \ + MOVUPS (12*8)(SP), X8 \ + MOVUPS (14*8)(SP), X9 \ + MOVUPS (16*8)(SP), X10 \ + MOVUPS (18*8)(SP), X11 \ + MOVUPS (20*8)(SP), X12 \ + MOVUPS (22*8)(SP), X13 \ + MOVUPS (24*8)(SP), X14 \ + MOVUPS (26*8)(SP), X15 \ + ADJSP $-(REGS_HOST_TO_ABI0_STACK - 8) \ + POPFQ + +#else +// SysV ABI + +#define REGS_HOST_TO_ABI0_STACK (6*8) + +// SysV MXCSR matches the Go ABI, so we don't have to set that, +// and Go doesn't modify it, so we don't have to save it. +// Both SysV and Go require DF to be cleared, so that's already clear. +// The SysV and Go frame pointer conventions are compatible. +#define PUSH_REGS_HOST_TO_ABI0() \ + ADJSP $(REGS_HOST_TO_ABI0_STACK) \ + MOVQ BP, (5*8)(SP) \ + LEAQ (5*8)(SP), BP \ + MOVQ BX, (0*8)(SP) \ + MOVQ R12, (1*8)(SP) \ + MOVQ R13, (2*8)(SP) \ + MOVQ R14, (3*8)(SP) \ + MOVQ R15, (4*8)(SP) + +#define POP_REGS_HOST_TO_ABI0() \ + MOVQ (0*8)(SP), BX \ + MOVQ (1*8)(SP), R12 \ + MOVQ (2*8)(SP), R13 \ + MOVQ (3*8)(SP), R14 \ + MOVQ (4*8)(SP), R15 \ + MOVQ (5*8)(SP), BP \ + ADJSP $-(REGS_HOST_TO_ABI0_STACK) + +#endif diff --git a/vendor/github.com/ebitengine/purego/abi_arm64.h b/vendor/github.com/ebitengine/purego/abi_arm64.h new file mode 100644 index 00000000..5d5061ec --- /dev/null +++ b/vendor/github.com/ebitengine/purego/abi_arm64.h @@ -0,0 +1,39 @@ +// Copyright 2021 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Macros for transitioning from the host ABI to Go ABI0. +// +// These macros save and restore the callee-saved registers +// from the stack, but they don't adjust stack pointer, so +// the user should prepare stack space in advance. +// SAVE_R19_TO_R28(offset) saves R19 ~ R28 to the stack space +// of ((offset)+0*8)(RSP) ~ ((offset)+9*8)(RSP). +// +// SAVE_F8_TO_F15(offset) saves F8 ~ F15 to the stack space +// of ((offset)+0*8)(RSP) ~ ((offset)+7*8)(RSP). +// +// R29 is not saved because Go will save and restore it. + +#define SAVE_R19_TO_R28(offset) \ + STP (R19, R20), ((offset)+0*8)(RSP) \ + STP (R21, R22), ((offset)+2*8)(RSP) \ + STP (R23, R24), ((offset)+4*8)(RSP) \ + STP (R25, R26), ((offset)+6*8)(RSP) \ + STP (R27, g), ((offset)+8*8)(RSP) +#define RESTORE_R19_TO_R28(offset) \ + LDP ((offset)+0*8)(RSP), (R19, R20) \ + LDP ((offset)+2*8)(RSP), (R21, R22) \ + LDP ((offset)+4*8)(RSP), (R23, R24) \ + LDP ((offset)+6*8)(RSP), (R25, R26) \ + LDP ((offset)+8*8)(RSP), (R27, g) /* R28 */ +#define SAVE_F8_TO_F15(offset) \ + FSTPD (F8, F9), ((offset)+0*8)(RSP) \ + FSTPD (F10, F11), ((offset)+2*8)(RSP) \ + FSTPD (F12, F13), ((offset)+4*8)(RSP) \ + FSTPD (F14, F15), ((offset)+6*8)(RSP) +#define RESTORE_F8_TO_F15(offset) \ + FLDPD ((offset)+0*8)(RSP), (F8, F9) \ + FLDPD ((offset)+2*8)(RSP), (F10, F11) \ + FLDPD ((offset)+4*8)(RSP), (F12, F13) \ + FLDPD ((offset)+6*8)(RSP), (F14, F15) diff --git a/vendor/github.com/ebitengine/purego/cgo.go b/vendor/github.com/ebitengine/purego/cgo.go new file mode 100644 index 00000000..7d5abef3 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/cgo.go @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build cgo && (darwin || freebsd || linux) + +package purego + +// if CGO_ENABLED=1 import the Cgo runtime to ensure that it is set up properly. +// This is required since some frameworks need TLS setup the C way which Go doesn't do. +// We currently don't support ios in fakecgo mode so force Cgo or fail +// Even if CGO_ENABLED=1 the Cgo runtime is not imported unless `import "C"` is used. +// which will import this package automatically. Normally this isn't an issue since it +// usually isn't possible to call into C without using that import. However, with purego +// it is since we don't use `import "C"`! +import ( + _ "runtime/cgo" + + _ "github.com/ebitengine/purego/internal/cgo" +) diff --git a/vendor/github.com/ebitengine/purego/dlerror.go b/vendor/github.com/ebitengine/purego/dlerror.go new file mode 100644 index 00000000..95cdfe16 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/dlerror.go @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2023 The Ebitengine Authors + +//go:build darwin || freebsd || linux + +package purego + +// Dlerror represents an error value returned from Dlopen, Dlsym, or Dlclose. +// +// This type is not available on Windows as there is no counterpart to it on Windows. +type Dlerror struct { + s string +} + +func (e Dlerror) Error() string { + return e.s +} diff --git a/vendor/github.com/ebitengine/purego/dlfcn.go b/vendor/github.com/ebitengine/purego/dlfcn.go new file mode 100644 index 00000000..cd1bf293 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/dlfcn.go @@ -0,0 +1,99 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build (darwin || freebsd || linux) && !android && !faketime + +package purego + +import ( + "unsafe" +) + +// Unix Specification for dlfcn.h: https://pubs.opengroup.org/onlinepubs/7908799/xsh/dlfcn.h.html + +var ( + fnDlopen func(path string, mode int) uintptr + fnDlsym func(handle uintptr, name string) uintptr + fnDlerror func() string + fnDlclose func(handle uintptr) bool +) + +func init() { + RegisterFunc(&fnDlopen, dlopenABI0) + RegisterFunc(&fnDlsym, dlsymABI0) + RegisterFunc(&fnDlerror, dlerrorABI0) + RegisterFunc(&fnDlclose, dlcloseABI0) +} + +// Dlopen examines the dynamic library or bundle file specified by path. If the file is compatible +// with the current process and has not already been loaded into the +// current process, it is loaded and linked. After being linked, if it contains +// any initializer functions, they are called, before Dlopen +// returns. It returns a handle that can be used with Dlsym and Dlclose. +// A second call to Dlopen with the same path will return the same handle, but the internal +// reference count for the handle will be incremented. Therefore, all +// Dlopen calls should be balanced with a Dlclose call. +// +// This function is not available on Windows. +// Use [golang.org/x/sys/windows.LoadLibrary], [golang.org/x/sys/windows.LoadLibraryEx], +// [golang.org/x/sys/windows.NewLazyDLL], or [golang.org/x/sys/windows.NewLazySystemDLL] for Windows instead. +func Dlopen(path string, mode int) (uintptr, error) { + u := fnDlopen(path, mode) + if u == 0 { + return 0, Dlerror{fnDlerror()} + } + return u, nil +} + +// Dlsym takes a "handle" of a dynamic library returned by Dlopen and the symbol name. +// It returns the address where that symbol is loaded into memory. If the symbol is not found, +// in the specified library or any of the libraries that were automatically loaded by Dlopen +// when that library was loaded, Dlsym returns zero. +// +// This function is not available on Windows. +// Use [golang.org/x/sys/windows.GetProcAddress] for Windows instead. +func Dlsym(handle uintptr, name string) (uintptr, error) { + u := fnDlsym(handle, name) + if u == 0 { + return 0, Dlerror{fnDlerror()} + } + return u, nil +} + +// Dlclose decrements the reference count on the dynamic library handle. +// If the reference count drops to zero and no other loaded libraries +// use symbols in it, then the dynamic library is unloaded. +// +// This function is not available on Windows. +// Use [golang.org/x/sys/windows.FreeLibrary] for Windows instead. +func Dlclose(handle uintptr) error { + if fnDlclose(handle) { + return Dlerror{fnDlerror()} + } + return nil +} + +func loadSymbol(handle uintptr, name string) (uintptr, error) { + return Dlsym(handle, name) +} + +// these functions exist in dlfcn_stubs.s and are calling C functions linked to in dlfcn_GOOS.go +// the indirection is necessary because a function is actually a pointer to the pointer to the code. +// sadly, I do not know of anyway to remove the assembly stubs entirely because //go:linkname doesn't +// appear to work if you link directly to the C function on darwin arm64. + +//go:linkname dlopen dlopen +var dlopen uint8 +var dlopenABI0 = uintptr(unsafe.Pointer(&dlopen)) + +//go:linkname dlsym dlsym +var dlsym uint8 +var dlsymABI0 = uintptr(unsafe.Pointer(&dlsym)) + +//go:linkname dlclose dlclose +var dlclose uint8 +var dlcloseABI0 = uintptr(unsafe.Pointer(&dlclose)) + +//go:linkname dlerror dlerror +var dlerror uint8 +var dlerrorABI0 = uintptr(unsafe.Pointer(&dlerror)) diff --git a/vendor/github.com/ebitengine/purego/dlfcn_android.go b/vendor/github.com/ebitengine/purego/dlfcn_android.go new file mode 100644 index 00000000..0d534176 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/dlfcn_android.go @@ -0,0 +1,34 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2024 The Ebitengine Authors + +package purego + +import "github.com/ebitengine/purego/internal/cgo" + +// Source for constants: https://android.googlesource.com/platform/bionic/+/refs/heads/main/libc/include/dlfcn.h + +const ( + is64bit = 1 << (^uintptr(0) >> 63) / 2 + is32bit = 1 - is64bit + RTLD_DEFAULT = is32bit * 0xffffffff + RTLD_LAZY = 0x00000001 + RTLD_NOW = is64bit * 0x00000002 + RTLD_LOCAL = 0x00000000 + RTLD_GLOBAL = is64bit*0x00100 | is32bit*0x00000002 +) + +func Dlopen(path string, mode int) (uintptr, error) { + return cgo.Dlopen(path, mode) +} + +func Dlsym(handle uintptr, name string) (uintptr, error) { + return cgo.Dlsym(handle, name) +} + +func Dlclose(handle uintptr) error { + return cgo.Dlclose(handle) +} + +func loadSymbol(handle uintptr, name string) (uintptr, error) { + return Dlsym(handle, name) +} diff --git a/vendor/github.com/ebitengine/purego/dlfcn_darwin.go b/vendor/github.com/ebitengine/purego/dlfcn_darwin.go new file mode 100644 index 00000000..27f56071 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/dlfcn_darwin.go @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +package purego + +// Source for constants: https://opensource.apple.com/source/dyld/dyld-360.14/include/dlfcn.h.auto.html + +const ( + RTLD_DEFAULT = 1<<64 - 2 // Pseudo-handle for dlsym so search for any loaded symbol + RTLD_LAZY = 0x1 // Relocations are performed at an implementation-dependent time. + RTLD_NOW = 0x2 // Relocations are performed when the object is loaded. + RTLD_LOCAL = 0x4 // All symbols are not made available for relocation processing by other modules. + RTLD_GLOBAL = 0x8 // All symbols are available for relocation processing of other modules. +) + +//go:cgo_import_dynamic purego_dlopen dlopen "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_dlsym dlsym "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_dlerror dlerror "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_dlclose dlclose "/usr/lib/libSystem.B.dylib" diff --git a/vendor/github.com/ebitengine/purego/dlfcn_freebsd.go b/vendor/github.com/ebitengine/purego/dlfcn_freebsd.go new file mode 100644 index 00000000..6b371620 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/dlfcn_freebsd.go @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +package purego + +// Constants as defined in https://github.com/freebsd/freebsd-src/blob/main/include/dlfcn.h +const ( + intSize = 32 << (^uint(0) >> 63) // 32 or 64 + RTLD_DEFAULT = 1< C) +// +// string <=> char* +// bool <=> _Bool +// uintptr <=> uintptr_t +// uint <=> uint32_t or uint64_t +// uint8 <=> uint8_t +// uint16 <=> uint16_t +// uint32 <=> uint32_t +// uint64 <=> uint64_t +// int <=> int32_t or int64_t +// int8 <=> int8_t +// int16 <=> int16_t +// int32 <=> int32_t +// int64 <=> int64_t +// float32 <=> float +// float64 <=> double +// struct <=> struct (WIP - darwin only) +// func <=> C function +// unsafe.Pointer, *T <=> void* +// []T => void* +// +// There is a special case when the last argument of fptr is a variadic interface (or []interface} +// it will be expanded into a call to the C function as if it had the arguments in that slice. +// This means that using arg ...interface{} is like a cast to the function with the arguments inside arg. +// This is not the same as C variadic. +// +// # Memory +// +// In general it is not possible for purego to guarantee the lifetimes of objects returned or received from +// calling functions using RegisterFunc. For arguments to a C function it is important that the C function doesn't +// hold onto a reference to Go memory. This is the same as the [Cgo rules]. +// +// However, there are some special cases. When passing a string as an argument if the string does not end in a null +// terminated byte (\x00) then the string will be copied into memory maintained by purego. The memory is only valid for +// that specific call. Therefore, if the C code keeps a reference to that string it may become invalid at some +// undefined time. However, if the string does already contain a null-terminated byte then no copy is done. +// It is then the responsibility of the caller to ensure the string stays alive as long as it's needed in C memory. +// This can be done using runtime.KeepAlive or allocating the string in C memory using malloc. When a C function +// returns a null-terminated pointer to char a Go string can be used. Purego will allocate a new string in Go memory +// and copy the data over. This string will be garbage collected whenever Go decides it's no longer referenced. +// This C created string will not be freed by purego. If the pointer to char is not null-terminated or must continue +// to point to C memory (because it's a buffer for example) then use a pointer to byte and then convert that to a slice +// using unsafe.Slice. Doing this means that it becomes the responsibility of the caller to care about the lifetime +// of the pointer +// +// # Structs +// +// Purego can handle the most common structs that have fields of builtin types like int8, uint16, float32, etc. However, +// it does not support aligning fields properly. It is therefore the responsibility of the caller to ensure +// that all padding is added to the Go struct to match the C one. See `BoolStructFn` in struct_test.go for an example. +// +// # Example +// +// All functions below call this C function: +// +// char *foo(char *str); +// +// // Let purego convert types +// var foo func(s string) string +// goString := foo("copied") +// // Go will garbage collect this string +// +// // Manually, handle allocations +// var foo2 func(b string) *byte +// mustFree := foo2("not copied\x00") +// defer free(mustFree) +// +// [Cgo rules]: https://pkg.go.dev/cmd/cgo#hdr-Go_references_to_C +func RegisterFunc(fptr interface{}, cfn uintptr) { + fn := reflect.ValueOf(fptr).Elem() + ty := fn.Type() + if ty.Kind() != reflect.Func { + panic("purego: fptr must be a function pointer") + } + if ty.NumOut() > 1 { + panic("purego: function can only return zero or one values") + } + if cfn == 0 { + panic("purego: cfn is nil") + } + if ty.NumOut() == 1 && (ty.Out(0).Kind() == reflect.Float32 || ty.Out(0).Kind() == reflect.Float64) && + runtime.GOARCH != "arm64" && runtime.GOARCH != "amd64" { + panic("purego: float returns are not supported") + } + { + // this code checks how many registers and stack this function will use + // to avoid crashing with too many arguments + var ints int + var floats int + var stack int + for i := 0; i < ty.NumIn(); i++ { + arg := ty.In(i) + switch arg.Kind() { + case reflect.Func: + // This only does preliminary testing to ensure the CDecl argument + // is the first argument. Full testing is done when the callback is actually + // created in NewCallback. + for j := 0; j < arg.NumIn(); j++ { + in := arg.In(j) + if !in.AssignableTo(reflect.TypeOf(CDecl{})) { + continue + } + if j != 0 { + panic("purego: CDecl must be the first argument") + } + } + case reflect.String, reflect.Uintptr, reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, + reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Ptr, reflect.UnsafePointer, + reflect.Slice, reflect.Bool: + if ints < numOfIntegerRegisters() { + ints++ + } else { + stack++ + } + case reflect.Float32, reflect.Float64: + const is32bit = unsafe.Sizeof(uintptr(0)) == 4 + if is32bit { + panic("purego: floats only supported on 64bit platforms") + } + if floats < numOfFloats { + floats++ + } else { + stack++ + } + case reflect.Struct: + if runtime.GOOS != "darwin" || (runtime.GOARCH != "amd64" && runtime.GOARCH != "arm64") { + panic("purego: struct arguments are only supported on darwin amd64 & arm64") + } + if arg.Size() == 0 { + continue + } + addInt := func(u uintptr) { + ints++ + } + addFloat := func(u uintptr) { + floats++ + } + addStack := func(u uintptr) { + stack++ + } + _ = addStruct(reflect.New(arg).Elem(), &ints, &floats, &stack, addInt, addFloat, addStack, nil) + default: + panic("purego: unsupported kind " + arg.Kind().String()) + } + } + if ty.NumOut() == 1 && ty.Out(0).Kind() == reflect.Struct { + if runtime.GOOS != "darwin" { + panic("purego: struct return values only supported on darwin arm64 & amd64") + } + outType := ty.Out(0) + checkStructFieldsSupported(outType) + if runtime.GOARCH == "amd64" && outType.Size() > maxRegAllocStructSize { + // on amd64 if struct is bigger than 16 bytes allocate the return struct + // and pass it in as a hidden first argument. + ints++ + } + } + sizeOfStack := maxArgs - numOfIntegerRegisters() + if stack > sizeOfStack { + panic("purego: too many arguments") + } + } + v := reflect.MakeFunc(ty, func(args []reflect.Value) (results []reflect.Value) { + if len(args) > 0 { + if variadic, ok := args[len(args)-1].Interface().([]interface{}); ok { + // subtract one from args bc the last argument in args is []interface{} + // which we are currently expanding + tmp := make([]reflect.Value, len(args)-1+len(variadic)) + n := copy(tmp, args[:len(args)-1]) + for i, v := range variadic { + tmp[n+i] = reflect.ValueOf(v) + } + args = tmp + } + } + var sysargs [maxArgs]uintptr + stack := sysargs[numOfIntegerRegisters():] + var floats [numOfFloats]uintptr + var numInts int + var numFloats int + var numStack int + var addStack, addInt, addFloat func(x uintptr) + if runtime.GOARCH == "arm64" || runtime.GOOS != "windows" { + // Windows arm64 uses the same calling convention as macOS and Linux + addStack = func(x uintptr) { + stack[numStack] = x + numStack++ + } + addInt = func(x uintptr) { + if numInts >= numOfIntegerRegisters() { + addStack(x) + } else { + sysargs[numInts] = x + numInts++ + } + } + addFloat = func(x uintptr) { + if numFloats < len(floats) { + floats[numFloats] = x + numFloats++ + } else { + addStack(x) + } + } + } else { + // On Windows amd64 the arguments are passed in the numbered registered. + // So the first int is in the first integer register and the first float + // is in the second floating register if there is already a first int. + // This is in contrast to how macOS and Linux pass arguments which + // tries to use as many registers as possible in the calling convention. + addStack = func(x uintptr) { + sysargs[numStack] = x + numStack++ + } + addInt = addStack + addFloat = addStack + } + + var keepAlive []interface{} + defer func() { + runtime.KeepAlive(keepAlive) + runtime.KeepAlive(args) + }() + var syscall syscall15Args + if ty.NumOut() == 1 && ty.Out(0).Kind() == reflect.Struct { + outType := ty.Out(0) + if runtime.GOARCH == "amd64" && outType.Size() > maxRegAllocStructSize { + val := reflect.New(outType) + keepAlive = append(keepAlive, val) + addInt(val.Pointer()) + } else if runtime.GOARCH == "arm64" && outType.Size() > maxRegAllocStructSize { + isAllFloats, numFields := isAllSameFloat(outType) + if !isAllFloats || numFields > 4 { + val := reflect.New(outType) + keepAlive = append(keepAlive, val) + syscall.arm64_r8 = val.Pointer() + } + } + } + for _, v := range args { + switch v.Kind() { + case reflect.String: + ptr := strings.CString(v.String()) + keepAlive = append(keepAlive, ptr) + addInt(uintptr(unsafe.Pointer(ptr))) + case reflect.Uintptr, reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + addInt(uintptr(v.Uint())) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + addInt(uintptr(v.Int())) + case reflect.Ptr, reflect.UnsafePointer, reflect.Slice: + // There is no need to keepAlive this pointer separately because it is kept alive in the args variable + addInt(v.Pointer()) + case reflect.Func: + addInt(NewCallback(v.Interface())) + case reflect.Bool: + if v.Bool() { + addInt(1) + } else { + addInt(0) + } + case reflect.Float32: + addFloat(uintptr(math.Float32bits(float32(v.Float())))) + case reflect.Float64: + addFloat(uintptr(math.Float64bits(v.Float()))) + case reflect.Struct: + keepAlive = addStruct(v, &numInts, &numFloats, &numStack, addInt, addFloat, addStack, keepAlive) + default: + panic("purego: unsupported kind: " + v.Kind().String()) + } + } + if runtime.GOARCH == "arm64" || runtime.GOOS != "windows" { + // Use the normal arm64 calling convention even on Windows + syscall = syscall15Args{ + cfn, + sysargs[0], sysargs[1], sysargs[2], sysargs[3], sysargs[4], sysargs[5], + sysargs[6], sysargs[7], sysargs[8], sysargs[9], sysargs[10], sysargs[11], + sysargs[12], sysargs[13], sysargs[14], + floats[0], floats[1], floats[2], floats[3], floats[4], floats[5], floats[6], floats[7], + syscall.arm64_r8, + } + runtime_cgocall(syscall15XABI0, unsafe.Pointer(&syscall)) + } else { + // This is a fallback for Windows amd64, 386, and arm. Note this may not support floats + syscall.a1, syscall.a2, _ = syscall_syscall15X(cfn, sysargs[0], sysargs[1], sysargs[2], sysargs[3], sysargs[4], + sysargs[5], sysargs[6], sysargs[7], sysargs[8], sysargs[9], sysargs[10], sysargs[11], + sysargs[12], sysargs[13], sysargs[14]) + syscall.f1 = syscall.a2 // on amd64 a2 stores the float return. On 32bit platforms floats aren't support + } + if ty.NumOut() == 0 { + return nil + } + outType := ty.Out(0) + v := reflect.New(outType).Elem() + switch outType.Kind() { + case reflect.Uintptr, reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + v.SetUint(uint64(syscall.a1)) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + v.SetInt(int64(syscall.a1)) + case reflect.Bool: + v.SetBool(byte(syscall.a1) != 0) + case reflect.UnsafePointer: + // We take the address and then dereference it to trick go vet from creating a possible miss-use of unsafe.Pointer + v.SetPointer(*(*unsafe.Pointer)(unsafe.Pointer(&syscall.a1))) + case reflect.Ptr: + v = reflect.NewAt(outType, unsafe.Pointer(&syscall.a1)).Elem() + case reflect.Func: + // wrap this C function in a nicely typed Go function + v = reflect.New(outType) + RegisterFunc(v.Interface(), syscall.a1) + case reflect.String: + v.SetString(strings.GoString(syscall.a1)) + case reflect.Float32: + // NOTE: syscall.r2 is only the floating return value on 64bit platforms. + // On 32bit platforms syscall.r2 is the upper part of a 64bit return. + v.SetFloat(float64(math.Float32frombits(uint32(syscall.f1)))) + case reflect.Float64: + // NOTE: syscall.r2 is only the floating return value on 64bit platforms. + // On 32bit platforms syscall.r2 is the upper part of a 64bit return. + v.SetFloat(math.Float64frombits(uint64(syscall.f1))) + case reflect.Struct: + v = getStruct(outType, syscall) + default: + panic("purego: unsupported return kind: " + outType.Kind().String()) + } + return []reflect.Value{v} + }) + fn.Set(v) +} + +// maxRegAllocStructSize is the biggest a struct can be while still fitting in registers. +// if it is bigger than this than enough space must be allocated on the heap and then passed into +// the function as the first parameter on amd64 or in R8 on arm64. +// +// If you change this make sure to update it in objc_runtime_darwin.go +const maxRegAllocStructSize = 16 + +func isAllSameFloat(ty reflect.Type) (allFloats bool, numFields int) { + allFloats = true + root := ty.Field(0).Type + for root.Kind() == reflect.Struct { + root = root.Field(0).Type + } + first := root.Kind() + if first != reflect.Float32 && first != reflect.Float64 { + allFloats = false + } + for i := 0; i < ty.NumField(); i++ { + f := ty.Field(i).Type + if f.Kind() == reflect.Struct { + var structNumFields int + allFloats, structNumFields = isAllSameFloat(f) + numFields += structNumFields + continue + } + numFields++ + if f.Kind() != first { + allFloats = false + } + } + return allFloats, numFields +} + +func checkStructFieldsSupported(ty reflect.Type) { + for i := 0; i < ty.NumField(); i++ { + f := ty.Field(i).Type + if f.Kind() == reflect.Array { + f = f.Elem() + } else if f.Kind() == reflect.Struct { + checkStructFieldsSupported(f) + continue + } + switch f.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, + reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, + reflect.Uintptr, reflect.Ptr, reflect.UnsafePointer, reflect.Float64, reflect.Float32: + default: + panic(fmt.Sprintf("purego: struct field type %s is not supported", f)) + } + } +} + +func roundUpTo8(val uintptr) uintptr { + return (val + 7) &^ 7 +} + +func numOfIntegerRegisters() int { + switch runtime.GOARCH { + case "arm64": + return 8 + case "amd64": + return 6 + default: + // since this platform isn't supported and can therefore only access + // integer registers it is fine to return the maxArgs + return maxArgs + } +} diff --git a/vendor/github.com/ebitengine/purego/go_runtime.go b/vendor/github.com/ebitengine/purego/go_runtime.go new file mode 100644 index 00000000..13671ff2 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/go_runtime.go @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build darwin || freebsd || linux || windows + +package purego + +import ( + "unsafe" +) + +//go:linkname runtime_cgocall runtime.cgocall +func runtime_cgocall(fn uintptr, arg unsafe.Pointer) int32 // from runtime/sys_libc.go diff --git a/vendor/github.com/ebitengine/purego/internal/cgo/dlfcn_cgo_unix.go b/vendor/github.com/ebitengine/purego/internal/cgo/dlfcn_cgo_unix.go new file mode 100644 index 00000000..b09ecac1 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/cgo/dlfcn_cgo_unix.go @@ -0,0 +1,56 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2024 The Ebitengine Authors + +//go:build freebsd || linux + +package cgo + +/* + #cgo LDFLAGS: -ldl + +#include +#include +*/ +import "C" + +import ( + "errors" + "unsafe" +) + +func Dlopen(filename string, flag int) (uintptr, error) { + cfilename := C.CString(filename) + defer C.free(unsafe.Pointer(cfilename)) + handle := C.dlopen(cfilename, C.int(flag)) + if handle == nil { + return 0, errors.New(C.GoString(C.dlerror())) + } + return uintptr(handle), nil +} + +func Dlsym(handle uintptr, symbol string) (uintptr, error) { + csymbol := C.CString(symbol) + defer C.free(unsafe.Pointer(csymbol)) + symbolAddr := C.dlsym(*(*unsafe.Pointer)(unsafe.Pointer(&handle)), csymbol) + if symbolAddr == nil { + return 0, errors.New(C.GoString(C.dlerror())) + } + return uintptr(symbolAddr), nil +} + +func Dlclose(handle uintptr) error { + result := C.dlclose(*(*unsafe.Pointer)(unsafe.Pointer(&handle))) + if result != 0 { + return errors.New(C.GoString(C.dlerror())) + } + return nil +} + +// all that is needed is to assign each dl function because then its +// symbol will then be made available to the linker and linked to inside dlfcn.go +var ( + _ = C.dlopen + _ = C.dlsym + _ = C.dlerror + _ = C.dlclose +) diff --git a/vendor/github.com/ebitengine/purego/internal/cgo/empty.go b/vendor/github.com/ebitengine/purego/internal/cgo/empty.go new file mode 100644 index 00000000..1d7cffe2 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/cgo/empty.go @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2024 The Ebitengine Authors + +package cgo + +// Empty so that importing this package doesn't cause issue for certain platforms. diff --git a/vendor/github.com/ebitengine/purego/internal/cgo/syscall_cgo_unix.go b/vendor/github.com/ebitengine/purego/internal/cgo/syscall_cgo_unix.go new file mode 100644 index 00000000..37ff24d5 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/cgo/syscall_cgo_unix.go @@ -0,0 +1,55 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build freebsd || (linux && !(arm64 || amd64)) + +package cgo + +// this file is placed inside internal/cgo and not package purego +// because Cgo and assembly files can't be in the same package. + +/* + #cgo LDFLAGS: -ldl + +#include +#include +#include +#include + +typedef struct syscall15Args { + uintptr_t fn; + uintptr_t a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15; + uintptr_t f1, f2, f3, f4, f5, f6, f7, f8; + uintptr_t err; +} syscall15Args; + +void syscall15(struct syscall15Args *args) { + assert((args->f1|args->f2|args->f3|args->f4|args->f5|args->f6|args->f7|args->f8) == 0); + uintptr_t (*func_name)(uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, + uintptr_t a7, uintptr_t a8, uintptr_t a9, uintptr_t a10, uintptr_t a11, uintptr_t a12, + uintptr_t a13, uintptr_t a14, uintptr_t a15); + *(void**)(&func_name) = (void*)(args->fn); + uintptr_t r1 = func_name(args->a1,args->a2,args->a3,args->a4,args->a5,args->a6,args->a7,args->a8,args->a9, + args->a10,args->a11,args->a12,args->a13,args->a14,args->a15); + args->a1 = r1; + args->err = errno; +} + +*/ +import "C" +import "unsafe" + +// assign purego.syscall15XABI0 to the C version of this function. +var Syscall15XABI0 = unsafe.Pointer(C.syscall15) + +//go:nosplit +func Syscall15X(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15 uintptr) (r1, r2, err uintptr) { + args := C.syscall15Args{ + C.uintptr_t(fn), C.uintptr_t(a1), C.uintptr_t(a2), C.uintptr_t(a3), + C.uintptr_t(a4), C.uintptr_t(a5), C.uintptr_t(a6), + C.uintptr_t(a7), C.uintptr_t(a8), C.uintptr_t(a9), C.uintptr_t(a10), C.uintptr_t(a11), C.uintptr_t(a12), + C.uintptr_t(a13), C.uintptr_t(a14), C.uintptr_t(a15), 0, 0, 0, 0, 0, 0, 0, 0, 0, + } + C.syscall15(&args) + return uintptr(args.a1), 0, uintptr(args.err) +} diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/abi_amd64.h b/vendor/github.com/ebitengine/purego/internal/fakecgo/abi_amd64.h new file mode 100644 index 00000000..9949435f --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/abi_amd64.h @@ -0,0 +1,99 @@ +// Copyright 2021 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Macros for transitioning from the host ABI to Go ABI0. +// +// These save the frame pointer, so in general, functions that use +// these should have zero frame size to suppress the automatic frame +// pointer, though it's harmless to not do this. + +#ifdef GOOS_windows + +// REGS_HOST_TO_ABI0_STACK is the stack bytes used by +// PUSH_REGS_HOST_TO_ABI0. +#define REGS_HOST_TO_ABI0_STACK (28*8 + 8) + +// PUSH_REGS_HOST_TO_ABI0 prepares for transitioning from +// the host ABI to Go ABI0 code. It saves all registers that are +// callee-save in the host ABI and caller-save in Go ABI0 and prepares +// for entry to Go. +// +// Save DI SI BP BX R12 R13 R14 R15 X6-X15 registers and the DF flag. +// Clear the DF flag for the Go ABI. +// MXCSR matches the Go ABI, so we don't have to set that, +// and Go doesn't modify it, so we don't have to save it. +#define PUSH_REGS_HOST_TO_ABI0() \ + PUSHFQ \ + CLD \ + ADJSP $(REGS_HOST_TO_ABI0_STACK - 8) \ + MOVQ DI, (0*0)(SP) \ + MOVQ SI, (1*8)(SP) \ + MOVQ BP, (2*8)(SP) \ + MOVQ BX, (3*8)(SP) \ + MOVQ R12, (4*8)(SP) \ + MOVQ R13, (5*8)(SP) \ + MOVQ R14, (6*8)(SP) \ + MOVQ R15, (7*8)(SP) \ + MOVUPS X6, (8*8)(SP) \ + MOVUPS X7, (10*8)(SP) \ + MOVUPS X8, (12*8)(SP) \ + MOVUPS X9, (14*8)(SP) \ + MOVUPS X10, (16*8)(SP) \ + MOVUPS X11, (18*8)(SP) \ + MOVUPS X12, (20*8)(SP) \ + MOVUPS X13, (22*8)(SP) \ + MOVUPS X14, (24*8)(SP) \ + MOVUPS X15, (26*8)(SP) + +#define POP_REGS_HOST_TO_ABI0() \ + MOVQ (0*0)(SP), DI \ + MOVQ (1*8)(SP), SI \ + MOVQ (2*8)(SP), BP \ + MOVQ (3*8)(SP), BX \ + MOVQ (4*8)(SP), R12 \ + MOVQ (5*8)(SP), R13 \ + MOVQ (6*8)(SP), R14 \ + MOVQ (7*8)(SP), R15 \ + MOVUPS (8*8)(SP), X6 \ + MOVUPS (10*8)(SP), X7 \ + MOVUPS (12*8)(SP), X8 \ + MOVUPS (14*8)(SP), X9 \ + MOVUPS (16*8)(SP), X10 \ + MOVUPS (18*8)(SP), X11 \ + MOVUPS (20*8)(SP), X12 \ + MOVUPS (22*8)(SP), X13 \ + MOVUPS (24*8)(SP), X14 \ + MOVUPS (26*8)(SP), X15 \ + ADJSP $-(REGS_HOST_TO_ABI0_STACK - 8) \ + POPFQ + +#else +// SysV ABI + +#define REGS_HOST_TO_ABI0_STACK (6*8) + +// SysV MXCSR matches the Go ABI, so we don't have to set that, +// and Go doesn't modify it, so we don't have to save it. +// Both SysV and Go require DF to be cleared, so that's already clear. +// The SysV and Go frame pointer conventions are compatible. +#define PUSH_REGS_HOST_TO_ABI0() \ + ADJSP $(REGS_HOST_TO_ABI0_STACK) \ + MOVQ BP, (5*8)(SP) \ + LEAQ (5*8)(SP), BP \ + MOVQ BX, (0*8)(SP) \ + MOVQ R12, (1*8)(SP) \ + MOVQ R13, (2*8)(SP) \ + MOVQ R14, (3*8)(SP) \ + MOVQ R15, (4*8)(SP) + +#define POP_REGS_HOST_TO_ABI0() \ + MOVQ (0*8)(SP), BX \ + MOVQ (1*8)(SP), R12 \ + MOVQ (2*8)(SP), R13 \ + MOVQ (3*8)(SP), R14 \ + MOVQ (4*8)(SP), R15 \ + MOVQ (5*8)(SP), BP \ + ADJSP $-(REGS_HOST_TO_ABI0_STACK) + +#endif diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/abi_arm64.h b/vendor/github.com/ebitengine/purego/internal/fakecgo/abi_arm64.h new file mode 100644 index 00000000..5d5061ec --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/abi_arm64.h @@ -0,0 +1,39 @@ +// Copyright 2021 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Macros for transitioning from the host ABI to Go ABI0. +// +// These macros save and restore the callee-saved registers +// from the stack, but they don't adjust stack pointer, so +// the user should prepare stack space in advance. +// SAVE_R19_TO_R28(offset) saves R19 ~ R28 to the stack space +// of ((offset)+0*8)(RSP) ~ ((offset)+9*8)(RSP). +// +// SAVE_F8_TO_F15(offset) saves F8 ~ F15 to the stack space +// of ((offset)+0*8)(RSP) ~ ((offset)+7*8)(RSP). +// +// R29 is not saved because Go will save and restore it. + +#define SAVE_R19_TO_R28(offset) \ + STP (R19, R20), ((offset)+0*8)(RSP) \ + STP (R21, R22), ((offset)+2*8)(RSP) \ + STP (R23, R24), ((offset)+4*8)(RSP) \ + STP (R25, R26), ((offset)+6*8)(RSP) \ + STP (R27, g), ((offset)+8*8)(RSP) +#define RESTORE_R19_TO_R28(offset) \ + LDP ((offset)+0*8)(RSP), (R19, R20) \ + LDP ((offset)+2*8)(RSP), (R21, R22) \ + LDP ((offset)+4*8)(RSP), (R23, R24) \ + LDP ((offset)+6*8)(RSP), (R25, R26) \ + LDP ((offset)+8*8)(RSP), (R27, g) /* R28 */ +#define SAVE_F8_TO_F15(offset) \ + FSTPD (F8, F9), ((offset)+0*8)(RSP) \ + FSTPD (F10, F11), ((offset)+2*8)(RSP) \ + FSTPD (F12, F13), ((offset)+4*8)(RSP) \ + FSTPD (F14, F15), ((offset)+6*8)(RSP) +#define RESTORE_F8_TO_F15(offset) \ + FLDPD ((offset)+0*8)(RSP), (F8, F9) \ + FLDPD ((offset)+2*8)(RSP), (F10, F11) \ + FLDPD ((offset)+4*8)(RSP), (F12, F13) \ + FLDPD ((offset)+6*8)(RSP), (F14, F15) diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/asm_amd64.s b/vendor/github.com/ebitengine/purego/internal/fakecgo/asm_amd64.s new file mode 100644 index 00000000..2b7eb57f --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/asm_amd64.s @@ -0,0 +1,39 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +#include "textflag.h" +#include "abi_amd64.h" + +// Called by C code generated by cmd/cgo. +// func crosscall2(fn, a unsafe.Pointer, n int32, ctxt uintptr) +// Saves C callee-saved registers and calls cgocallback with three arguments. +// fn is the PC of a func(a unsafe.Pointer) function. +// This signature is known to SWIG, so we can't change it. +TEXT crosscall2(SB), NOSPLIT, $0-0 + PUSH_REGS_HOST_TO_ABI0() + + // Make room for arguments to cgocallback. + ADJSP $0x18 + +#ifndef GOOS_windows + MOVQ DI, 0x0(SP) // fn + MOVQ SI, 0x8(SP) // arg + + // Skip n in DX. + MOVQ CX, 0x10(SP) // ctxt + +#else + MOVQ CX, 0x0(SP) // fn + MOVQ DX, 0x8(SP) // arg + + // Skip n in R8. + MOVQ R9, 0x10(SP) // ctxt + +#endif + + CALL runtime·cgocallback(SB) + + ADJSP $-0x18 + POP_REGS_HOST_TO_ABI0() + RET diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/asm_arm64.s b/vendor/github.com/ebitengine/purego/internal/fakecgo/asm_arm64.s new file mode 100644 index 00000000..50e5261d --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/asm_arm64.s @@ -0,0 +1,36 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +#include "textflag.h" +#include "abi_arm64.h" + +// Called by C code generated by cmd/cgo. +// func crosscall2(fn, a unsafe.Pointer, n int32, ctxt uintptr) +// Saves C callee-saved registers and calls cgocallback with three arguments. +// fn is the PC of a func(a unsafe.Pointer) function. +TEXT crosscall2(SB), NOSPLIT|NOFRAME, $0 +/* + * We still need to save all callee save register as before, and then + * push 3 args for fn (R0, R1, R3), skipping R2. + * Also note that at procedure entry in gc world, 8(RSP) will be the + * first arg. + */ + SUB $(8*24), RSP + STP (R0, R1), (8*1)(RSP) + MOVD R3, (8*3)(RSP) + + SAVE_R19_TO_R28(8*4) + SAVE_F8_TO_F15(8*14) + STP (R29, R30), (8*22)(RSP) + + // Initialize Go ABI environment + BL runtime·load_g(SB) + BL runtime·cgocallback(SB) + + RESTORE_R19_TO_R28(8*4) + RESTORE_F8_TO_F15(8*14) + LDP (8*22)(RSP), (R29, R30) + + ADD $(8*24), RSP + RET diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/callbacks.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/callbacks.go new file mode 100644 index 00000000..f29e690c --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/callbacks.go @@ -0,0 +1,93 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !cgo && (darwin || freebsd || linux) + +package fakecgo + +import ( + _ "unsafe" +) + +// TODO: decide if we need _runtime_cgo_panic_internal + +//go:linkname x_cgo_init_trampoline x_cgo_init_trampoline +//go:linkname _cgo_init _cgo_init +var x_cgo_init_trampoline byte +var _cgo_init = &x_cgo_init_trampoline + +// Creates a new system thread without updating any Go state. +// +// This method is invoked during shared library loading to create a new OS +// thread to perform the runtime initialization. This method is similar to +// _cgo_sys_thread_start except that it doesn't update any Go state. + +//go:linkname x_cgo_thread_start_trampoline x_cgo_thread_start_trampoline +//go:linkname _cgo_thread_start _cgo_thread_start +var x_cgo_thread_start_trampoline byte +var _cgo_thread_start = &x_cgo_thread_start_trampoline + +// Notifies that the runtime has been initialized. +// +// We currently block at every CGO entry point (via _cgo_wait_runtime_init_done) +// to ensure that the runtime has been initialized before the CGO call is +// executed. This is necessary for shared libraries where we kickoff runtime +// initialization in a separate thread and return without waiting for this +// thread to complete the init. + +//go:linkname x_cgo_notify_runtime_init_done_trampoline x_cgo_notify_runtime_init_done_trampoline +//go:linkname _cgo_notify_runtime_init_done _cgo_notify_runtime_init_done +var x_cgo_notify_runtime_init_done_trampoline byte +var _cgo_notify_runtime_init_done = &x_cgo_notify_runtime_init_done_trampoline + +// Indicates whether a dummy thread key has been created or not. +// +// When calling go exported function from C, we register a destructor +// callback, for a dummy thread key, by using pthread_key_create. + +//go:linkname _cgo_pthread_key_created _cgo_pthread_key_created +var x_cgo_pthread_key_created uintptr +var _cgo_pthread_key_created = &x_cgo_pthread_key_created + +// Set the x_crosscall2_ptr C function pointer variable point to crosscall2. +// It's for the runtime package to call at init time. +func set_crosscall2() { + // nothing needs to be done here for fakecgo + // because it's possible to just call cgocallback directly +} + +//go:linkname _set_crosscall2 runtime.set_crosscall2 +var _set_crosscall2 = set_crosscall2 + +// Store the g into the thread-specific value. +// So that pthread_key_destructor will dropm when the thread is exiting. + +//go:linkname x_cgo_bindm_trampoline x_cgo_bindm_trampoline +//go:linkname _cgo_bindm _cgo_bindm +var x_cgo_bindm_trampoline byte +var _cgo_bindm = &x_cgo_bindm_trampoline + +// TODO: decide if we need x_cgo_set_context_function +// TODO: decide if we need _cgo_yield + +var ( + // In Go 1.20 the race detector was rewritten to pure Go + // on darwin. This means that when CGO_ENABLED=0 is set + // fakecgo is built with race detector code. This is not + // good since this code is pretending to be C. The go:norace + // pragma is not enough, since it only applies to the native + // ABIInternal function. The ABIO wrapper (which is necessary, + // since all references to text symbols from assembly will use it) + // does not inherit the go:norace pragma, so it will still be + // instrumented by the race detector. + // + // To circumvent this issue, using closure calls in the + // assembly, which forces the compiler to use the ABIInternal + // native implementation (which has go:norace) instead. + threadentry_call = threadentry + x_cgo_init_call = x_cgo_init + x_cgo_setenv_call = x_cgo_setenv + x_cgo_unsetenv_call = x_cgo_unsetenv + x_cgo_thread_start_call = x_cgo_thread_start +) diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/doc.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/doc.go new file mode 100644 index 00000000..be82f7df --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/doc.go @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build !cgo && (darwin || freebsd || linux) + +// Package fakecgo implements the Cgo runtime (runtime/cgo) entirely in Go. +// This allows code that calls into C to function properly when CGO_ENABLED=0. +// +// # Goals +// +// fakecgo attempts to replicate the same naming structure as in the runtime. +// For example, functions that have the prefix "gcc_*" are named "go_*". +// This makes it easier to port other GOOSs and GOARCHs as well as to keep +// it in sync with runtime/cgo. +// +// # Support +// +// Currently, fakecgo only supports macOS on amd64 & arm64. It also cannot +// be used with -buildmode=c-archive because that requires special initialization +// that fakecgo does not implement at the moment. +// +// # Usage +// +// Using fakecgo is easy just import _ "github.com/ebitengine/purego" and then +// set the environment variable CGO_ENABLED=0. +// The recommended usage for fakecgo is to prefer using runtime/cgo if possible +// but if cross-compiling or fast build times are important fakecgo is available. +// Purego will pick which ever Cgo runtime is available and prefer the one that +// comes with Go (runtime/cgo). +package fakecgo + +//go:generate go run gen.go diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/freebsd.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/freebsd.go new file mode 100644 index 00000000..bb73a709 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/freebsd.go @@ -0,0 +1,27 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build freebsd && !cgo + +package fakecgo + +import _ "unsafe" // for go:linkname + +// Supply environ and __progname, because we don't +// link against the standard FreeBSD crt0.o and the +// libc dynamic library needs them. + +// Note: when building with cross-compiling or CGO_ENABLED=0, add +// the following argument to `go` so that these symbols are defined by +// making fakecgo the Cgo. +// -gcflags="github.com/ebitengine/purego/internal/fakecgo=-std" + +//go:linkname _environ environ +//go:linkname _progname __progname + +//go:cgo_export_dynamic environ +//go:cgo_export_dynamic __progname + +var _environ uintptr +var _progname uintptr diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/go_darwin_amd64.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/go_darwin_amd64.go new file mode 100644 index 00000000..39f5ff1f --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/go_darwin_amd64.go @@ -0,0 +1,73 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !cgo + +package fakecgo + +import "unsafe" + +//go:nosplit +//go:norace +func _cgo_sys_thread_start(ts *ThreadStart) { + var attr pthread_attr_t + var ign, oset sigset_t + var p pthread_t + var size size_t + var err int + + sigfillset(&ign) + pthread_sigmask(SIG_SETMASK, &ign, &oset) + + size = pthread_get_stacksize_np(pthread_self()) + pthread_attr_init(&attr) + pthread_attr_setstacksize(&attr, size) + // Leave stacklo=0 and set stackhi=size; mstart will do the rest. + ts.g.stackhi = uintptr(size) + + err = _cgo_try_pthread_create(&p, &attr, unsafe.Pointer(threadentry_trampolineABI0), ts) + + pthread_sigmask(SIG_SETMASK, &oset, nil) + + if err != 0 { + print("fakecgo: pthread_create failed: ") + println(err) + abort() + } +} + +// threadentry_trampolineABI0 maps the C ABI to Go ABI then calls the Go function +// +//go:linkname x_threadentry_trampoline threadentry_trampoline +var x_threadentry_trampoline byte +var threadentry_trampolineABI0 = &x_threadentry_trampoline + +//go:nosplit +//go:norace +func threadentry(v unsafe.Pointer) unsafe.Pointer { + ts := *(*ThreadStart)(v) + free(v) + + setg_trampoline(setg_func, uintptr(unsafe.Pointer(ts.g))) + + // faking funcs in go is a bit a... involved - but the following works :) + fn := uintptr(unsafe.Pointer(&ts.fn)) + (*(*func())(unsafe.Pointer(&fn)))() + + return nil +} + +// here we will store a pointer to the provided setg func +var setg_func uintptr + +//go:nosplit +//go:norace +func x_cgo_init(g *G, setg uintptr) { + var size size_t + + setg_func = setg + + size = pthread_get_stacksize_np(pthread_self()) + g.stacklo = uintptr(unsafe.Add(unsafe.Pointer(&size), -size+4096)) +} diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/go_darwin_arm64.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/go_darwin_arm64.go new file mode 100644 index 00000000..d0868f0f --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/go_darwin_arm64.go @@ -0,0 +1,88 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !cgo + +package fakecgo + +import "unsafe" + +//go:nosplit +//go:norace +func _cgo_sys_thread_start(ts *ThreadStart) { + var attr pthread_attr_t + var ign, oset sigset_t + var p pthread_t + var size size_t + var err int + + sigfillset(&ign) + pthread_sigmask(SIG_SETMASK, &ign, &oset) + + size = pthread_get_stacksize_np(pthread_self()) + pthread_attr_init(&attr) + pthread_attr_setstacksize(&attr, size) + // Leave stacklo=0 and set stackhi=size; mstart will do the rest. + ts.g.stackhi = uintptr(size) + + err = _cgo_try_pthread_create(&p, &attr, unsafe.Pointer(threadentry_trampolineABI0), ts) + + pthread_sigmask(SIG_SETMASK, &oset, nil) + + if err != 0 { + print("fakecgo: pthread_create failed: ") + println(err) + abort() + } +} + +// threadentry_trampolineABI0 maps the C ABI to Go ABI then calls the Go function +// +//go:linkname x_threadentry_trampoline threadentry_trampoline +var x_threadentry_trampoline byte +var threadentry_trampolineABI0 = &x_threadentry_trampoline + +//go:nosplit +//go:norace +func threadentry(v unsafe.Pointer) unsafe.Pointer { + ts := *(*ThreadStart)(v) + free(v) + + // TODO: support ios + //#if TARGET_OS_IPHONE + // darwin_arm_init_thread_exception_port(); + //#endif + setg_trampoline(setg_func, uintptr(unsafe.Pointer(ts.g))) + + // faking funcs in go is a bit a... involved - but the following works :) + fn := uintptr(unsafe.Pointer(&ts.fn)) + (*(*func())(unsafe.Pointer(&fn)))() + + return nil +} + +// here we will store a pointer to the provided setg func +var setg_func uintptr + +// x_cgo_init(G *g, void (*setg)(void*)) (runtime/cgo/gcc_linux_amd64.c) +// This get's called during startup, adjusts stacklo, and provides a pointer to setg_gcc for us +// Additionally, if we set _cgo_init to non-null, go won't do it's own TLS setup +// This function can't be go:systemstack since go is not in a state where the systemcheck would work. +// +//go:nosplit +//go:norace +func x_cgo_init(g *G, setg uintptr) { + var size size_t + + setg_func = setg + size = pthread_get_stacksize_np(pthread_self()) + g.stacklo = uintptr(unsafe.Add(unsafe.Pointer(&size), -size+4096)) + + //TODO: support ios + //#if TARGET_OS_IPHONE + // darwin_arm_init_mach_exception_handler(); + // darwin_arm_init_thread_exception_port(); + // init_working_dir(); + //#endif +} diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/go_freebsd_amd64.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/go_freebsd_amd64.go new file mode 100644 index 00000000..c9ff7156 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/go_freebsd_amd64.go @@ -0,0 +1,95 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !cgo + +package fakecgo + +import "unsafe" + +//go:nosplit +func _cgo_sys_thread_start(ts *ThreadStart) { + var attr pthread_attr_t + var ign, oset sigset_t + var p pthread_t + var size size_t + var err int + + //fprintf(stderr, "runtime/cgo: _cgo_sys_thread_start: fn=%p, g=%p\n", ts->fn, ts->g); // debug + sigfillset(&ign) + pthread_sigmask(SIG_SETMASK, &ign, &oset) + + pthread_attr_init(&attr) + pthread_attr_getstacksize(&attr, &size) + // Leave stacklo=0 and set stackhi=size; mstart will do the rest. + ts.g.stackhi = uintptr(size) + + err = _cgo_try_pthread_create(&p, &attr, unsafe.Pointer(threadentry_trampolineABI0), ts) + + pthread_sigmask(SIG_SETMASK, &oset, nil) + + if err != 0 { + print("fakecgo: pthread_create failed: ") + println(err) + abort() + } +} + +// threadentry_trampolineABI0 maps the C ABI to Go ABI then calls the Go function +// +//go:linkname x_threadentry_trampoline threadentry_trampoline +var x_threadentry_trampoline byte +var threadentry_trampolineABI0 = &x_threadentry_trampoline + +//go:nosplit +func threadentry(v unsafe.Pointer) unsafe.Pointer { + ts := *(*ThreadStart)(v) + free(v) + + setg_trampoline(setg_func, uintptr(unsafe.Pointer(ts.g))) + + // faking funcs in go is a bit a... involved - but the following works :) + fn := uintptr(unsafe.Pointer(&ts.fn)) + (*(*func())(unsafe.Pointer(&fn)))() + + return nil +} + +// here we will store a pointer to the provided setg func +var setg_func uintptr + +//go:nosplit +func x_cgo_init(g *G, setg uintptr) { + var size size_t + var attr *pthread_attr_t + + /* The memory sanitizer distributed with versions of clang + before 3.8 has a bug: if you call mmap before malloc, mmap + may return an address that is later overwritten by the msan + library. Avoid this problem by forcing a call to malloc + here, before we ever call malloc. + + This is only required for the memory sanitizer, so it's + unfortunate that we always run it. It should be possible + to remove this when we no longer care about versions of + clang before 3.8. The test for this is + misc/cgo/testsanitizers. + + GCC works hard to eliminate a seemingly unnecessary call to + malloc, so we actually use the memory we allocate. */ + + setg_func = setg + attr = (*pthread_attr_t)(malloc(unsafe.Sizeof(*attr))) + if attr == nil { + println("fakecgo: malloc failed") + abort() + } + pthread_attr_init(attr) + pthread_attr_getstacksize(attr, &size) + // runtime/cgo uses __builtin_frame_address(0) instead of `uintptr(unsafe.Pointer(&size))` + // but this should be OK since we are taking the address of the first variable in this function. + g.stacklo = uintptr(unsafe.Pointer(&size)) - uintptr(size) + 4096 + pthread_attr_destroy(attr) + free(unsafe.Pointer(attr)) +} diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/go_freebsd_arm64.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/go_freebsd_arm64.go new file mode 100644 index 00000000..e3a060b9 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/go_freebsd_arm64.go @@ -0,0 +1,98 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !cgo + +package fakecgo + +import "unsafe" + +//go:nosplit +func _cgo_sys_thread_start(ts *ThreadStart) { + var attr pthread_attr_t + var ign, oset sigset_t + var p pthread_t + var size size_t + var err int + + // fprintf(stderr, "runtime/cgo: _cgo_sys_thread_start: fn=%p, g=%p\n", ts->fn, ts->g); // debug + sigfillset(&ign) + pthread_sigmask(SIG_SETMASK, &ign, &oset) + + pthread_attr_init(&attr) + pthread_attr_getstacksize(&attr, &size) + // Leave stacklo=0 and set stackhi=size; mstart will do the rest. + ts.g.stackhi = uintptr(size) + + err = _cgo_try_pthread_create(&p, &attr, unsafe.Pointer(threadentry_trampolineABI0), ts) + + pthread_sigmask(SIG_SETMASK, &oset, nil) + + if err != 0 { + print("fakecgo: pthread_create failed: ") + println(err) + abort() + } +} + +// threadentry_trampolineABI0 maps the C ABI to Go ABI then calls the Go function +// +//go:linkname x_threadentry_trampoline threadentry_trampoline +var x_threadentry_trampoline byte +var threadentry_trampolineABI0 = &x_threadentry_trampoline + +//go:nosplit +func threadentry(v unsafe.Pointer) unsafe.Pointer { + ts := *(*ThreadStart)(v) + free(v) + + setg_trampoline(setg_func, uintptr(unsafe.Pointer(ts.g))) + + // faking funcs in go is a bit a... involved - but the following works :) + fn := uintptr(unsafe.Pointer(&ts.fn)) + (*(*func())(unsafe.Pointer(&fn)))() + + return nil +} + +// here we will store a pointer to the provided setg func +var setg_func uintptr + +// x_cgo_init(G *g, void (*setg)(void*)) (runtime/cgo/gcc_linux_amd64.c) +// This get's called during startup, adjusts stacklo, and provides a pointer to setg_gcc for us +// Additionally, if we set _cgo_init to non-null, go won't do it's own TLS setup +// This function can't be go:systemstack since go is not in a state where the systemcheck would work. +// +//go:nosplit +func x_cgo_init(g *G, setg uintptr) { + var size size_t + var attr *pthread_attr_t + + /* The memory sanitizer distributed with versions of clang + before 3.8 has a bug: if you call mmap before malloc, mmap + may return an address that is later overwritten by the msan + library. Avoid this problem by forcing a call to malloc + here, before we ever call malloc. + + This is only required for the memory sanitizer, so it's + unfortunate that we always run it. It should be possible + to remove this when we no longer care about versions of + clang before 3.8. The test for this is + misc/cgo/testsanitizers. + + GCC works hard to eliminate a seemingly unnecessary call to + malloc, so we actually use the memory we allocate. */ + + setg_func = setg + attr = (*pthread_attr_t)(malloc(unsafe.Sizeof(*attr))) + if attr == nil { + println("fakecgo: malloc failed") + abort() + } + pthread_attr_init(attr) + pthread_attr_getstacksize(attr, &size) + g.stacklo = uintptr(unsafe.Pointer(&size)) - uintptr(size) + 4096 + pthread_attr_destroy(attr) + free(unsafe.Pointer(attr)) +} diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/go_libinit.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/go_libinit.go new file mode 100644 index 00000000..e5a66f39 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/go_libinit.go @@ -0,0 +1,72 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build !cgo && (darwin || freebsd || linux) + +package fakecgo + +import ( + "syscall" + "unsafe" +) + +var ( + pthread_g pthread_key_t + + runtime_init_cond = PTHREAD_COND_INITIALIZER + runtime_init_mu = PTHREAD_MUTEX_INITIALIZER + runtime_init_done int +) + +//go:nosplit +//go:norace +func x_cgo_notify_runtime_init_done() { + pthread_mutex_lock(&runtime_init_mu) + runtime_init_done = 1 + pthread_cond_broadcast(&runtime_init_cond) + pthread_mutex_unlock(&runtime_init_mu) +} + +// Store the g into a thread-specific value associated with the pthread key pthread_g. +// And pthread_key_destructor will dropm when the thread is exiting. +// +//go:norace +func x_cgo_bindm(g unsafe.Pointer) { + // We assume this will always succeed, otherwise, there might be extra M leaking, + // when a C thread exits after a cgo call. + // We only invoke this function once per thread in runtime.needAndBindM, + // and the next calls just reuse the bound m. + pthread_setspecific(pthread_g, g) +} + +// _cgo_try_pthread_create retries pthread_create if it fails with +// EAGAIN. +// +//go:nosplit +//go:norace +func _cgo_try_pthread_create(thread *pthread_t, attr *pthread_attr_t, pfn unsafe.Pointer, arg *ThreadStart) int { + var ts syscall.Timespec + // tries needs to be the same type as syscall.Timespec.Nsec + // but the fields are int32 on 32bit and int64 on 64bit. + // tries is assigned to syscall.Timespec.Nsec in order to match its type. + tries := ts.Nsec + var err int + + for tries = 0; tries < 20; tries++ { + // inlined this call because it ran out of stack when inlining was disabled + err = int(call5(pthread_createABI0, uintptr(unsafe.Pointer(thread)), uintptr(unsafe.Pointer(attr)), uintptr(pfn), uintptr(unsafe.Pointer(arg)), 0)) + if err == 0 { + // inlined this call because it ran out of stack when inlining was disabled + call5(pthread_detachABI0, uintptr(*thread), 0, 0, 0, 0) + return 0 + } + if err != int(syscall.EAGAIN) { + return err + } + ts.Sec = 0 + ts.Nsec = (tries + 1) * 1000 * 1000 // Milliseconds. + // inlined this call because it ran out of stack when inlining was disabled + call5(nanosleepABI0, uintptr(unsafe.Pointer(&ts)), 0, 0, 0, 0) + } + return int(syscall.EAGAIN) +} diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/go_linux_amd64.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/go_linux_amd64.go new file mode 100644 index 00000000..c9ff7156 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/go_linux_amd64.go @@ -0,0 +1,95 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !cgo + +package fakecgo + +import "unsafe" + +//go:nosplit +func _cgo_sys_thread_start(ts *ThreadStart) { + var attr pthread_attr_t + var ign, oset sigset_t + var p pthread_t + var size size_t + var err int + + //fprintf(stderr, "runtime/cgo: _cgo_sys_thread_start: fn=%p, g=%p\n", ts->fn, ts->g); // debug + sigfillset(&ign) + pthread_sigmask(SIG_SETMASK, &ign, &oset) + + pthread_attr_init(&attr) + pthread_attr_getstacksize(&attr, &size) + // Leave stacklo=0 and set stackhi=size; mstart will do the rest. + ts.g.stackhi = uintptr(size) + + err = _cgo_try_pthread_create(&p, &attr, unsafe.Pointer(threadentry_trampolineABI0), ts) + + pthread_sigmask(SIG_SETMASK, &oset, nil) + + if err != 0 { + print("fakecgo: pthread_create failed: ") + println(err) + abort() + } +} + +// threadentry_trampolineABI0 maps the C ABI to Go ABI then calls the Go function +// +//go:linkname x_threadentry_trampoline threadentry_trampoline +var x_threadentry_trampoline byte +var threadentry_trampolineABI0 = &x_threadentry_trampoline + +//go:nosplit +func threadentry(v unsafe.Pointer) unsafe.Pointer { + ts := *(*ThreadStart)(v) + free(v) + + setg_trampoline(setg_func, uintptr(unsafe.Pointer(ts.g))) + + // faking funcs in go is a bit a... involved - but the following works :) + fn := uintptr(unsafe.Pointer(&ts.fn)) + (*(*func())(unsafe.Pointer(&fn)))() + + return nil +} + +// here we will store a pointer to the provided setg func +var setg_func uintptr + +//go:nosplit +func x_cgo_init(g *G, setg uintptr) { + var size size_t + var attr *pthread_attr_t + + /* The memory sanitizer distributed with versions of clang + before 3.8 has a bug: if you call mmap before malloc, mmap + may return an address that is later overwritten by the msan + library. Avoid this problem by forcing a call to malloc + here, before we ever call malloc. + + This is only required for the memory sanitizer, so it's + unfortunate that we always run it. It should be possible + to remove this when we no longer care about versions of + clang before 3.8. The test for this is + misc/cgo/testsanitizers. + + GCC works hard to eliminate a seemingly unnecessary call to + malloc, so we actually use the memory we allocate. */ + + setg_func = setg + attr = (*pthread_attr_t)(malloc(unsafe.Sizeof(*attr))) + if attr == nil { + println("fakecgo: malloc failed") + abort() + } + pthread_attr_init(attr) + pthread_attr_getstacksize(attr, &size) + // runtime/cgo uses __builtin_frame_address(0) instead of `uintptr(unsafe.Pointer(&size))` + // but this should be OK since we are taking the address of the first variable in this function. + g.stacklo = uintptr(unsafe.Pointer(&size)) - uintptr(size) + 4096 + pthread_attr_destroy(attr) + free(unsafe.Pointer(attr)) +} diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/go_linux_arm64.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/go_linux_arm64.go new file mode 100644 index 00000000..a3b1cca5 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/go_linux_arm64.go @@ -0,0 +1,98 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !cgo + +package fakecgo + +import "unsafe" + +//go:nosplit +func _cgo_sys_thread_start(ts *ThreadStart) { + var attr pthread_attr_t + var ign, oset sigset_t + var p pthread_t + var size size_t + var err int + + //fprintf(stderr, "runtime/cgo: _cgo_sys_thread_start: fn=%p, g=%p\n", ts->fn, ts->g); // debug + sigfillset(&ign) + pthread_sigmask(SIG_SETMASK, &ign, &oset) + + pthread_attr_init(&attr) + pthread_attr_getstacksize(&attr, &size) + // Leave stacklo=0 and set stackhi=size; mstart will do the rest. + ts.g.stackhi = uintptr(size) + + err = _cgo_try_pthread_create(&p, &attr, unsafe.Pointer(threadentry_trampolineABI0), ts) + + pthread_sigmask(SIG_SETMASK, &oset, nil) + + if err != 0 { + print("fakecgo: pthread_create failed: ") + println(err) + abort() + } +} + +// threadentry_trampolineABI0 maps the C ABI to Go ABI then calls the Go function +// +//go:linkname x_threadentry_trampoline threadentry_trampoline +var x_threadentry_trampoline byte +var threadentry_trampolineABI0 = &x_threadentry_trampoline + +//go:nosplit +func threadentry(v unsafe.Pointer) unsafe.Pointer { + ts := *(*ThreadStart)(v) + free(v) + + setg_trampoline(setg_func, uintptr(unsafe.Pointer(ts.g))) + + // faking funcs in go is a bit a... involved - but the following works :) + fn := uintptr(unsafe.Pointer(&ts.fn)) + (*(*func())(unsafe.Pointer(&fn)))() + + return nil +} + +// here we will store a pointer to the provided setg func +var setg_func uintptr + +// x_cgo_init(G *g, void (*setg)(void*)) (runtime/cgo/gcc_linux_amd64.c) +// This get's called during startup, adjusts stacklo, and provides a pointer to setg_gcc for us +// Additionally, if we set _cgo_init to non-null, go won't do it's own TLS setup +// This function can't be go:systemstack since go is not in a state where the systemcheck would work. +// +//go:nosplit +func x_cgo_init(g *G, setg uintptr) { + var size size_t + var attr *pthread_attr_t + + /* The memory sanitizer distributed with versions of clang + before 3.8 has a bug: if you call mmap before malloc, mmap + may return an address that is later overwritten by the msan + library. Avoid this problem by forcing a call to malloc + here, before we ever call malloc. + + This is only required for the memory sanitizer, so it's + unfortunate that we always run it. It should be possible + to remove this when we no longer care about versions of + clang before 3.8. The test for this is + misc/cgo/testsanitizers. + + GCC works hard to eliminate a seemingly unnecessary call to + malloc, so we actually use the memory we allocate. */ + + setg_func = setg + attr = (*pthread_attr_t)(malloc(unsafe.Sizeof(*attr))) + if attr == nil { + println("fakecgo: malloc failed") + abort() + } + pthread_attr_init(attr) + pthread_attr_getstacksize(attr, &size) + g.stacklo = uintptr(unsafe.Pointer(&size)) - uintptr(size) + 4096 + pthread_attr_destroy(attr) + free(unsafe.Pointer(attr)) +} diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/go_setenv.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/go_setenv.go new file mode 100644 index 00000000..e42d84f0 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/go_setenv.go @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build !cgo && (darwin || freebsd || linux) + +package fakecgo + +//go:nosplit +//go:norace +func x_cgo_setenv(arg *[2]*byte) { + setenv(arg[0], arg[1], 1) +} + +//go:nosplit +//go:norace +func x_cgo_unsetenv(arg *[1]*byte) { + unsetenv(arg[0]) +} diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/go_util.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/go_util.go new file mode 100644 index 00000000..0ac10d1f --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/go_util.go @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build !cgo && (darwin || freebsd || linux) + +package fakecgo + +import "unsafe" + +// _cgo_thread_start is split into three parts in cgo since only one part is system dependent (keep it here for easier handling) + +// _cgo_thread_start(ThreadStart *arg) (runtime/cgo/gcc_util.c) +// This get's called instead of the go code for creating new threads +// -> pthread_* stuff is used, so threads are setup correctly for C +// If this is missing, TLS is only setup correctly on thread 1! +// This function should be go:systemstack instead of go:nosplit (but that requires runtime) +// +//go:nosplit +//go:norace +func x_cgo_thread_start(arg *ThreadStart) { + var ts *ThreadStart + // Make our own copy that can persist after we return. + // _cgo_tsan_acquire(); + ts = (*ThreadStart)(malloc(unsafe.Sizeof(*ts))) + // _cgo_tsan_release(); + if ts == nil { + println("fakecgo: out of memory in thread_start") + abort() + } + // *ts = *arg would cause a writebarrier so copy using slices + s1 := unsafe.Slice((*uintptr)(unsafe.Pointer(ts)), unsafe.Sizeof(*ts)/8) + s2 := unsafe.Slice((*uintptr)(unsafe.Pointer(arg)), unsafe.Sizeof(*arg)/8) + for i := range s2 { + s1[i] = s2[i] + } + _cgo_sys_thread_start(ts) // OS-dependent half +} diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/iscgo.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/iscgo.go new file mode 100644 index 00000000..28af41cc --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/iscgo.go @@ -0,0 +1,19 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !cgo && (darwin || freebsd || linux) + +// The runtime package contains an uninitialized definition +// for runtime·iscgo. Override it to tell the runtime we're here. +// There are various function pointers that should be set too, +// but those depend on dynamic linker magic to get initialized +// correctly, and sometimes they break. This variable is a +// backup: it depends only on old C style static linking rules. + +package fakecgo + +import _ "unsafe" // for go:linkname + +//go:linkname _iscgo runtime.iscgo +var _iscgo bool = true diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo.go new file mode 100644 index 00000000..38f94419 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo.go @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build !cgo && (darwin || freebsd || linux) + +package fakecgo + +type ( + size_t uintptr + // Sources: + // Darwin (32 bytes) - https://github.com/apple/darwin-xnu/blob/2ff845c2e033bd0ff64b5b6aa6063a1f8f65aa32/bsd/sys/_types.h#L74 + // FreeBSD (32 bytes) - https://github.com/DoctorWkt/xv6-freebsd/blob/d2a294c2a984baed27676068b15ed9a29b06ab6f/include/signal.h#L98C9-L98C21 + // Linux (128 bytes) - https://github.com/torvalds/linux/blob/ab75170520d4964f3acf8bb1f91d34cbc650688e/arch/x86/include/asm/signal.h#L25 + sigset_t [128]byte + pthread_attr_t [64]byte + pthread_t int + pthread_key_t uint64 +) + +// for pthread_sigmask: + +type sighow int32 + +const ( + SIG_BLOCK sighow = 0 + SIG_UNBLOCK sighow = 1 + SIG_SETMASK sighow = 2 +) + +type G struct { + stacklo uintptr + stackhi uintptr +} + +type ThreadStart struct { + g *G + tls *uintptr + fn uintptr +} diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_darwin.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_darwin.go new file mode 100644 index 00000000..af148333 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_darwin.go @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build !cgo + +package fakecgo + +type ( + pthread_mutex_t struct { + sig int64 + opaque [56]byte + } + pthread_cond_t struct { + sig int64 + opaque [40]byte + } +) + +var ( + PTHREAD_COND_INITIALIZER = pthread_cond_t{sig: 0x3CB0B1BB} + PTHREAD_MUTEX_INITIALIZER = pthread_mutex_t{sig: 0x32AAABA7} +) diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_freebsd.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_freebsd.go new file mode 100644 index 00000000..ca1f722c --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_freebsd.go @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build !cgo + +package fakecgo + +type ( + pthread_cond_t uintptr + pthread_mutex_t uintptr +) + +var ( + PTHREAD_COND_INITIALIZER = pthread_cond_t(0) + PTHREAD_MUTEX_INITIALIZER = pthread_mutex_t(0) +) diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_linux.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_linux.go new file mode 100644 index 00000000..c4b6e9ea --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_linux.go @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build !cgo + +package fakecgo + +type ( + pthread_cond_t [48]byte + pthread_mutex_t [48]byte +) + +var ( + PTHREAD_COND_INITIALIZER = pthread_cond_t{} + PTHREAD_MUTEX_INITIALIZER = pthread_mutex_t{} +) diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/setenv.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/setenv.go new file mode 100644 index 00000000..f30af0e1 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/setenv.go @@ -0,0 +1,19 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !cgo && (darwin || freebsd || linux) + +package fakecgo + +import _ "unsafe" // for go:linkname + +//go:linkname x_cgo_setenv_trampoline x_cgo_setenv_trampoline +//go:linkname _cgo_setenv runtime._cgo_setenv +var x_cgo_setenv_trampoline byte +var _cgo_setenv = &x_cgo_setenv_trampoline + +//go:linkname x_cgo_unsetenv_trampoline x_cgo_unsetenv_trampoline +//go:linkname _cgo_unsetenv runtime._cgo_unsetenv +var x_cgo_unsetenv_trampoline byte +var _cgo_unsetenv = &x_cgo_unsetenv_trampoline diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols.go new file mode 100644 index 00000000..d5170240 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols.go @@ -0,0 +1,221 @@ +// Code generated by 'go generate' with gen.go. DO NOT EDIT. + +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build !cgo && (darwin || freebsd || linux) + +package fakecgo + +import ( + "syscall" + "unsafe" +) + +// setg_trampoline calls setg with the G provided +func setg_trampoline(setg uintptr, G uintptr) + +// call5 takes fn the C function and 5 arguments and calls the function with those arguments +func call5(fn, a1, a2, a3, a4, a5 uintptr) uintptr + +//go:nosplit +//go:norace +func malloc(size uintptr) unsafe.Pointer { + ret := call5(mallocABI0, uintptr(size), 0, 0, 0, 0) + // this indirection is to avoid go vet complaining about possible misuse of unsafe.Pointer + return *(*unsafe.Pointer)(unsafe.Pointer(&ret)) +} + +//go:nosplit +//go:norace +func free(ptr unsafe.Pointer) { + call5(freeABI0, uintptr(ptr), 0, 0, 0, 0) +} + +//go:nosplit +//go:norace +func setenv(name *byte, value *byte, overwrite int32) int32 { + return int32(call5(setenvABI0, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(value)), uintptr(overwrite), 0, 0)) +} + +//go:nosplit +//go:norace +func unsetenv(name *byte) int32 { + return int32(call5(unsetenvABI0, uintptr(unsafe.Pointer(name)), 0, 0, 0, 0)) +} + +//go:nosplit +//go:norace +func sigfillset(set *sigset_t) int32 { + return int32(call5(sigfillsetABI0, uintptr(unsafe.Pointer(set)), 0, 0, 0, 0)) +} + +//go:nosplit +//go:norace +func nanosleep(ts *syscall.Timespec, rem *syscall.Timespec) int32 { + return int32(call5(nanosleepABI0, uintptr(unsafe.Pointer(ts)), uintptr(unsafe.Pointer(rem)), 0, 0, 0)) +} + +//go:nosplit +//go:norace +func abort() { + call5(abortABI0, 0, 0, 0, 0, 0) +} + +//go:nosplit +//go:norace +func pthread_attr_init(attr *pthread_attr_t) int32 { + return int32(call5(pthread_attr_initABI0, uintptr(unsafe.Pointer(attr)), 0, 0, 0, 0)) +} + +//go:nosplit +//go:norace +func pthread_create(thread *pthread_t, attr *pthread_attr_t, start unsafe.Pointer, arg unsafe.Pointer) int32 { + return int32(call5(pthread_createABI0, uintptr(unsafe.Pointer(thread)), uintptr(unsafe.Pointer(attr)), uintptr(start), uintptr(arg), 0)) +} + +//go:nosplit +//go:norace +func pthread_detach(thread pthread_t) int32 { + return int32(call5(pthread_detachABI0, uintptr(thread), 0, 0, 0, 0)) +} + +//go:nosplit +//go:norace +func pthread_sigmask(how sighow, ign *sigset_t, oset *sigset_t) int32 { + return int32(call5(pthread_sigmaskABI0, uintptr(how), uintptr(unsafe.Pointer(ign)), uintptr(unsafe.Pointer(oset)), 0, 0)) +} + +//go:nosplit +//go:norace +func pthread_self() pthread_t { + return pthread_t(call5(pthread_selfABI0, 0, 0, 0, 0, 0)) +} + +//go:nosplit +//go:norace +func pthread_get_stacksize_np(thread pthread_t) size_t { + return size_t(call5(pthread_get_stacksize_npABI0, uintptr(thread), 0, 0, 0, 0)) +} + +//go:nosplit +//go:norace +func pthread_attr_getstacksize(attr *pthread_attr_t, stacksize *size_t) int32 { + return int32(call5(pthread_attr_getstacksizeABI0, uintptr(unsafe.Pointer(attr)), uintptr(unsafe.Pointer(stacksize)), 0, 0, 0)) +} + +//go:nosplit +//go:norace +func pthread_attr_setstacksize(attr *pthread_attr_t, size size_t) int32 { + return int32(call5(pthread_attr_setstacksizeABI0, uintptr(unsafe.Pointer(attr)), uintptr(size), 0, 0, 0)) +} + +//go:nosplit +//go:norace +func pthread_attr_destroy(attr *pthread_attr_t) int32 { + return int32(call5(pthread_attr_destroyABI0, uintptr(unsafe.Pointer(attr)), 0, 0, 0, 0)) +} + +//go:nosplit +//go:norace +func pthread_mutex_lock(mutex *pthread_mutex_t) int32 { + return int32(call5(pthread_mutex_lockABI0, uintptr(unsafe.Pointer(mutex)), 0, 0, 0, 0)) +} + +//go:nosplit +//go:norace +func pthread_mutex_unlock(mutex *pthread_mutex_t) int32 { + return int32(call5(pthread_mutex_unlockABI0, uintptr(unsafe.Pointer(mutex)), 0, 0, 0, 0)) +} + +//go:nosplit +//go:norace +func pthread_cond_broadcast(cond *pthread_cond_t) int32 { + return int32(call5(pthread_cond_broadcastABI0, uintptr(unsafe.Pointer(cond)), 0, 0, 0, 0)) +} + +//go:nosplit +//go:norace +func pthread_setspecific(key pthread_key_t, value unsafe.Pointer) int32 { + return int32(call5(pthread_setspecificABI0, uintptr(key), uintptr(value), 0, 0, 0)) +} + +//go:linkname _malloc _malloc +var _malloc uint8 +var mallocABI0 = uintptr(unsafe.Pointer(&_malloc)) + +//go:linkname _free _free +var _free uint8 +var freeABI0 = uintptr(unsafe.Pointer(&_free)) + +//go:linkname _setenv _setenv +var _setenv uint8 +var setenvABI0 = uintptr(unsafe.Pointer(&_setenv)) + +//go:linkname _unsetenv _unsetenv +var _unsetenv uint8 +var unsetenvABI0 = uintptr(unsafe.Pointer(&_unsetenv)) + +//go:linkname _sigfillset _sigfillset +var _sigfillset uint8 +var sigfillsetABI0 = uintptr(unsafe.Pointer(&_sigfillset)) + +//go:linkname _nanosleep _nanosleep +var _nanosleep uint8 +var nanosleepABI0 = uintptr(unsafe.Pointer(&_nanosleep)) + +//go:linkname _abort _abort +var _abort uint8 +var abortABI0 = uintptr(unsafe.Pointer(&_abort)) + +//go:linkname _pthread_attr_init _pthread_attr_init +var _pthread_attr_init uint8 +var pthread_attr_initABI0 = uintptr(unsafe.Pointer(&_pthread_attr_init)) + +//go:linkname _pthread_create _pthread_create +var _pthread_create uint8 +var pthread_createABI0 = uintptr(unsafe.Pointer(&_pthread_create)) + +//go:linkname _pthread_detach _pthread_detach +var _pthread_detach uint8 +var pthread_detachABI0 = uintptr(unsafe.Pointer(&_pthread_detach)) + +//go:linkname _pthread_sigmask _pthread_sigmask +var _pthread_sigmask uint8 +var pthread_sigmaskABI0 = uintptr(unsafe.Pointer(&_pthread_sigmask)) + +//go:linkname _pthread_self _pthread_self +var _pthread_self uint8 +var pthread_selfABI0 = uintptr(unsafe.Pointer(&_pthread_self)) + +//go:linkname _pthread_get_stacksize_np _pthread_get_stacksize_np +var _pthread_get_stacksize_np uint8 +var pthread_get_stacksize_npABI0 = uintptr(unsafe.Pointer(&_pthread_get_stacksize_np)) + +//go:linkname _pthread_attr_getstacksize _pthread_attr_getstacksize +var _pthread_attr_getstacksize uint8 +var pthread_attr_getstacksizeABI0 = uintptr(unsafe.Pointer(&_pthread_attr_getstacksize)) + +//go:linkname _pthread_attr_setstacksize _pthread_attr_setstacksize +var _pthread_attr_setstacksize uint8 +var pthread_attr_setstacksizeABI0 = uintptr(unsafe.Pointer(&_pthread_attr_setstacksize)) + +//go:linkname _pthread_attr_destroy _pthread_attr_destroy +var _pthread_attr_destroy uint8 +var pthread_attr_destroyABI0 = uintptr(unsafe.Pointer(&_pthread_attr_destroy)) + +//go:linkname _pthread_mutex_lock _pthread_mutex_lock +var _pthread_mutex_lock uint8 +var pthread_mutex_lockABI0 = uintptr(unsafe.Pointer(&_pthread_mutex_lock)) + +//go:linkname _pthread_mutex_unlock _pthread_mutex_unlock +var _pthread_mutex_unlock uint8 +var pthread_mutex_unlockABI0 = uintptr(unsafe.Pointer(&_pthread_mutex_unlock)) + +//go:linkname _pthread_cond_broadcast _pthread_cond_broadcast +var _pthread_cond_broadcast uint8 +var pthread_cond_broadcastABI0 = uintptr(unsafe.Pointer(&_pthread_cond_broadcast)) + +//go:linkname _pthread_setspecific _pthread_setspecific +var _pthread_setspecific uint8 +var pthread_setspecificABI0 = uintptr(unsafe.Pointer(&_pthread_setspecific)) diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_darwin.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_darwin.go new file mode 100644 index 00000000..54aaa462 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_darwin.go @@ -0,0 +1,29 @@ +// Code generated by 'go generate' with gen.go. DO NOT EDIT. + +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build !cgo + +package fakecgo + +//go:cgo_import_dynamic purego_malloc malloc "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_free free "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_setenv setenv "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_unsetenv unsetenv "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_sigfillset sigfillset "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_nanosleep nanosleep "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_abort abort "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_pthread_attr_init pthread_attr_init "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_pthread_create pthread_create "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_pthread_detach pthread_detach "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_pthread_sigmask pthread_sigmask "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_pthread_self pthread_self "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_pthread_get_stacksize_np pthread_get_stacksize_np "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_pthread_attr_getstacksize pthread_attr_getstacksize "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_pthread_attr_setstacksize pthread_attr_setstacksize "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_pthread_attr_destroy pthread_attr_destroy "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_pthread_mutex_lock pthread_mutex_lock "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_pthread_mutex_unlock pthread_mutex_unlock "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_pthread_cond_broadcast pthread_cond_broadcast "/usr/lib/libSystem.B.dylib" +//go:cgo_import_dynamic purego_pthread_setspecific pthread_setspecific "/usr/lib/libSystem.B.dylib" diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_freebsd.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_freebsd.go new file mode 100644 index 00000000..81538119 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_freebsd.go @@ -0,0 +1,29 @@ +// Code generated by 'go generate' with gen.go. DO NOT EDIT. + +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build !cgo + +package fakecgo + +//go:cgo_import_dynamic purego_malloc malloc "libc.so.7" +//go:cgo_import_dynamic purego_free free "libc.so.7" +//go:cgo_import_dynamic purego_setenv setenv "libc.so.7" +//go:cgo_import_dynamic purego_unsetenv unsetenv "libc.so.7" +//go:cgo_import_dynamic purego_sigfillset sigfillset "libc.so.7" +//go:cgo_import_dynamic purego_nanosleep nanosleep "libc.so.7" +//go:cgo_import_dynamic purego_abort abort "libc.so.7" +//go:cgo_import_dynamic purego_pthread_attr_init pthread_attr_init "libpthread.so" +//go:cgo_import_dynamic purego_pthread_create pthread_create "libpthread.so" +//go:cgo_import_dynamic purego_pthread_detach pthread_detach "libpthread.so" +//go:cgo_import_dynamic purego_pthread_sigmask pthread_sigmask "libpthread.so" +//go:cgo_import_dynamic purego_pthread_self pthread_self "libpthread.so" +//go:cgo_import_dynamic purego_pthread_get_stacksize_np pthread_get_stacksize_np "libpthread.so" +//go:cgo_import_dynamic purego_pthread_attr_getstacksize pthread_attr_getstacksize "libpthread.so" +//go:cgo_import_dynamic purego_pthread_attr_setstacksize pthread_attr_setstacksize "libpthread.so" +//go:cgo_import_dynamic purego_pthread_attr_destroy pthread_attr_destroy "libpthread.so" +//go:cgo_import_dynamic purego_pthread_mutex_lock pthread_mutex_lock "libpthread.so" +//go:cgo_import_dynamic purego_pthread_mutex_unlock pthread_mutex_unlock "libpthread.so" +//go:cgo_import_dynamic purego_pthread_cond_broadcast pthread_cond_broadcast "libpthread.so" +//go:cgo_import_dynamic purego_pthread_setspecific pthread_setspecific "libpthread.so" diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_linux.go b/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_linux.go new file mode 100644 index 00000000..180057d0 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_linux.go @@ -0,0 +1,29 @@ +// Code generated by 'go generate' with gen.go. DO NOT EDIT. + +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build !cgo + +package fakecgo + +//go:cgo_import_dynamic purego_malloc malloc "libc.so.6" +//go:cgo_import_dynamic purego_free free "libc.so.6" +//go:cgo_import_dynamic purego_setenv setenv "libc.so.6" +//go:cgo_import_dynamic purego_unsetenv unsetenv "libc.so.6" +//go:cgo_import_dynamic purego_sigfillset sigfillset "libc.so.6" +//go:cgo_import_dynamic purego_nanosleep nanosleep "libc.so.6" +//go:cgo_import_dynamic purego_abort abort "libc.so.6" +//go:cgo_import_dynamic purego_pthread_attr_init pthread_attr_init "libpthread.so.0" +//go:cgo_import_dynamic purego_pthread_create pthread_create "libpthread.so.0" +//go:cgo_import_dynamic purego_pthread_detach pthread_detach "libpthread.so.0" +//go:cgo_import_dynamic purego_pthread_sigmask pthread_sigmask "libpthread.so.0" +//go:cgo_import_dynamic purego_pthread_self pthread_self "libpthread.so.0" +//go:cgo_import_dynamic purego_pthread_get_stacksize_np pthread_get_stacksize_np "libpthread.so.0" +//go:cgo_import_dynamic purego_pthread_attr_getstacksize pthread_attr_getstacksize "libpthread.so.0" +//go:cgo_import_dynamic purego_pthread_attr_setstacksize pthread_attr_setstacksize "libpthread.so.0" +//go:cgo_import_dynamic purego_pthread_attr_destroy pthread_attr_destroy "libpthread.so.0" +//go:cgo_import_dynamic purego_pthread_mutex_lock pthread_mutex_lock "libpthread.so.0" +//go:cgo_import_dynamic purego_pthread_mutex_unlock pthread_mutex_unlock "libpthread.so.0" +//go:cgo_import_dynamic purego_pthread_cond_broadcast pthread_cond_broadcast "libpthread.so.0" +//go:cgo_import_dynamic purego_pthread_setspecific pthread_setspecific "libpthread.so.0" diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_amd64.s b/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_amd64.s new file mode 100644 index 00000000..c9a3cc09 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_amd64.s @@ -0,0 +1,104 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build !cgo && (darwin || linux || freebsd) + +/* +trampoline for emulating required C functions for cgo in go (see cgo.go) +(we convert cdecl calling convention to go and vice-versa) + +Since we're called from go and call into C we can cheat a bit with the calling conventions: + - in go all the registers are caller saved + - in C we have a couple of callee saved registers + +=> we can use BX, R12, R13, R14, R15 instead of the stack + +C Calling convention cdecl used here (we only need integer args): +1. arg: DI +2. arg: SI +3. arg: DX +4. arg: CX +5. arg: R8 +6. arg: R9 +We don't need floats with these functions -> AX=0 +return value will be in AX +*/ +#include "textflag.h" +#include "go_asm.h" + +// these trampolines map the gcc ABI to Go ABI and then calls into the Go equivalent functions. + +TEXT x_cgo_init_trampoline(SB), NOSPLIT, $16 + MOVQ DI, AX + MOVQ SI, BX + MOVQ ·x_cgo_init_call(SB), DX + MOVQ (DX), CX + CALL CX + RET + +TEXT x_cgo_thread_start_trampoline(SB), NOSPLIT, $8 + MOVQ DI, AX + MOVQ ·x_cgo_thread_start_call(SB), DX + MOVQ (DX), CX + CALL CX + RET + +TEXT x_cgo_setenv_trampoline(SB), NOSPLIT, $8 + MOVQ DI, AX + MOVQ ·x_cgo_setenv_call(SB), DX + MOVQ (DX), CX + CALL CX + RET + +TEXT x_cgo_unsetenv_trampoline(SB), NOSPLIT, $8 + MOVQ DI, AX + MOVQ ·x_cgo_unsetenv_call(SB), DX + MOVQ (DX), CX + CALL CX + RET + +TEXT x_cgo_notify_runtime_init_done_trampoline(SB), NOSPLIT, $0 + CALL ·x_cgo_notify_runtime_init_done(SB) + RET + +TEXT x_cgo_bindm_trampoline(SB), NOSPLIT, $0 + CALL ·x_cgo_bindm(SB) + RET + +// func setg_trampoline(setg uintptr, g uintptr) +TEXT ·setg_trampoline(SB), NOSPLIT, $0-16 + MOVQ G+8(FP), DI + MOVQ setg+0(FP), BX + XORL AX, AX + CALL BX + RET + +TEXT threadentry_trampoline(SB), NOSPLIT, $16 + MOVQ DI, AX + MOVQ ·threadentry_call(SB), DX + MOVQ (DX), CX + CALL CX + RET + +TEXT ·call5(SB), NOSPLIT, $0-56 + MOVQ fn+0(FP), BX + MOVQ a1+8(FP), DI + MOVQ a2+16(FP), SI + MOVQ a3+24(FP), DX + MOVQ a4+32(FP), CX + MOVQ a5+40(FP), R8 + + XORL AX, AX // no floats + + PUSHQ BP // save BP + MOVQ SP, BP // save SP inside BP bc BP is callee-saved + SUBQ $16, SP // allocate space for alignment + ANDQ $-16, SP // align on 16 bytes for SSE + + CALL BX + + MOVQ BP, SP // get SP back + POPQ BP // restore BP + + MOVQ AX, ret+48(FP) + RET diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_arm64.s b/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_arm64.s new file mode 100644 index 00000000..9dbdbc01 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_arm64.s @@ -0,0 +1,72 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build !cgo && (darwin || freebsd || linux) + +#include "textflag.h" +#include "go_asm.h" + +// these trampolines map the gcc ABI to Go ABI and then calls into the Go equivalent functions. + +TEXT x_cgo_init_trampoline(SB), NOSPLIT, $0-0 + MOVD R0, 8(RSP) + MOVD R1, 16(RSP) + MOVD ·x_cgo_init_call(SB), R26 + MOVD (R26), R2 + CALL (R2) + RET + +TEXT x_cgo_thread_start_trampoline(SB), NOSPLIT, $0-0 + MOVD R0, 8(RSP) + MOVD ·x_cgo_thread_start_call(SB), R26 + MOVD (R26), R2 + CALL (R2) + RET + +TEXT x_cgo_setenv_trampoline(SB), NOSPLIT, $0-0 + MOVD R0, 8(RSP) + MOVD ·x_cgo_setenv_call(SB), R26 + MOVD (R26), R2 + CALL (R2) + RET + +TEXT x_cgo_unsetenv_trampoline(SB), NOSPLIT, $0-0 + MOVD R0, 8(RSP) + MOVD ·x_cgo_unsetenv_call(SB), R26 + MOVD (R26), R2 + CALL (R2) + RET + +TEXT x_cgo_notify_runtime_init_done_trampoline(SB), NOSPLIT, $0-0 + CALL ·x_cgo_notify_runtime_init_done(SB) + RET + +TEXT x_cgo_bindm_trampoline(SB), NOSPLIT, $0 + CALL ·x_cgo_bindm(SB) + RET + +// func setg_trampoline(setg uintptr, g uintptr) +TEXT ·setg_trampoline(SB), NOSPLIT, $0-16 + MOVD G+8(FP), R0 + MOVD setg+0(FP), R1 + CALL R1 + RET + +TEXT threadentry_trampoline(SB), NOSPLIT, $0-0 + MOVD R0, 8(RSP) + MOVD ·threadentry_call(SB), R26 + MOVD (R26), R2 + CALL (R2) + MOVD $0, R0 // TODO: get the return value from threadentry + RET + +TEXT ·call5(SB), NOSPLIT, $0-0 + MOVD fn+0(FP), R6 + MOVD a1+8(FP), R0 + MOVD a2+16(FP), R1 + MOVD a3+24(FP), R2 + MOVD a4+32(FP), R3 + MOVD a5+40(FP), R4 + CALL R6 + MOVD R0, ret+48(FP) + RET diff --git a/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_stubs.s b/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_stubs.s new file mode 100644 index 00000000..a65b2012 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_stubs.s @@ -0,0 +1,90 @@ +// Code generated by 'go generate' with gen.go. DO NOT EDIT. + +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build !cgo && (darwin || freebsd || linux) + +#include "textflag.h" + +// these stubs are here because it is not possible to go:linkname directly the C functions on darwin arm64 + +TEXT _malloc(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_malloc(SB) + RET + +TEXT _free(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_free(SB) + RET + +TEXT _setenv(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_setenv(SB) + RET + +TEXT _unsetenv(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_unsetenv(SB) + RET + +TEXT _sigfillset(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_sigfillset(SB) + RET + +TEXT _nanosleep(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_nanosleep(SB) + RET + +TEXT _abort(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_abort(SB) + RET + +TEXT _pthread_attr_init(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_pthread_attr_init(SB) + RET + +TEXT _pthread_create(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_pthread_create(SB) + RET + +TEXT _pthread_detach(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_pthread_detach(SB) + RET + +TEXT _pthread_sigmask(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_pthread_sigmask(SB) + RET + +TEXT _pthread_self(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_pthread_self(SB) + RET + +TEXT _pthread_get_stacksize_np(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_pthread_get_stacksize_np(SB) + RET + +TEXT _pthread_attr_getstacksize(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_pthread_attr_getstacksize(SB) + RET + +TEXT _pthread_attr_setstacksize(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_pthread_attr_setstacksize(SB) + RET + +TEXT _pthread_attr_destroy(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_pthread_attr_destroy(SB) + RET + +TEXT _pthread_mutex_lock(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_pthread_mutex_lock(SB) + RET + +TEXT _pthread_mutex_unlock(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_pthread_mutex_unlock(SB) + RET + +TEXT _pthread_cond_broadcast(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_pthread_cond_broadcast(SB) + RET + +TEXT _pthread_setspecific(SB), NOSPLIT|NOFRAME, $0-0 + JMP purego_pthread_setspecific(SB) + RET diff --git a/vendor/github.com/ebitengine/purego/internal/strings/strings.go b/vendor/github.com/ebitengine/purego/internal/strings/strings.go new file mode 100644 index 00000000..5b0d2522 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/internal/strings/strings.go @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +package strings + +import ( + "unsafe" +) + +// hasSuffix tests whether the string s ends with suffix. +func hasSuffix(s, suffix string) bool { + return len(s) >= len(suffix) && s[len(s)-len(suffix):] == suffix +} + +// CString converts a go string to *byte that can be passed to C code. +func CString(name string) *byte { + if hasSuffix(name, "\x00") { + return &(*(*[]byte)(unsafe.Pointer(&name)))[0] + } + b := make([]byte, len(name)+1) + copy(b, name) + return &b[0] +} + +// GoString copies a null-terminated char* to a Go string. +func GoString(c uintptr) string { + // We take the address and then dereference it to trick go vet from creating a possible misuse of unsafe.Pointer + ptr := *(*unsafe.Pointer)(unsafe.Pointer(&c)) + if ptr == nil { + return "" + } + var length int + for { + if *(*byte)(unsafe.Add(ptr, uintptr(length))) == '\x00' { + break + } + length++ + } + return string(unsafe.Slice((*byte)(ptr), length)) +} diff --git a/vendor/github.com/ebitengine/purego/is_ios.go b/vendor/github.com/ebitengine/purego/is_ios.go new file mode 100644 index 00000000..ed31da97 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/is_ios.go @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build !cgo + +package purego + +// if you are getting this error it means that you have +// CGO_ENABLED=0 while trying to build for ios. +// purego does not support this mode yet. +// the fix is to set CGO_ENABLED=1 which will require +// a C compiler. +var _ = _PUREGO_REQUIRES_CGO_ON_IOS diff --git a/vendor/github.com/ebitengine/purego/nocgo.go b/vendor/github.com/ebitengine/purego/nocgo.go new file mode 100644 index 00000000..5b989ea8 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/nocgo.go @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build !cgo && (darwin || freebsd || linux) + +package purego + +// if CGO_ENABLED=0 import fakecgo to setup the Cgo runtime correctly. +// This is required since some frameworks need TLS setup the C way which Go doesn't do. +// We currently don't support ios in fakecgo mode so force Cgo or fail +// +// The way that the Cgo runtime (runtime/cgo) works is by setting some variables found +// in runtime with non-null GCC compiled functions. The variables that are replaced are +// var ( +// iscgo bool // in runtime/cgo.go +// _cgo_init unsafe.Pointer // in runtime/cgo.go +// _cgo_thread_start unsafe.Pointer // in runtime/cgo.go +// _cgo_notify_runtime_init_done unsafe.Pointer // in runtime/cgo.go +// _cgo_setenv unsafe.Pointer // in runtime/env_posix.go +// _cgo_unsetenv unsafe.Pointer // in runtime/env_posix.go +// ) +// importing fakecgo will set these (using //go:linkname) with functions written +// entirely in Go (except for some assembly trampolines to change GCC ABI to Go ABI). +// Doing so makes it possible to build applications that call into C without CGO_ENABLED=1. +import _ "github.com/ebitengine/purego/internal/fakecgo" diff --git a/vendor/github.com/ebitengine/purego/struct_amd64.go b/vendor/github.com/ebitengine/purego/struct_amd64.go new file mode 100644 index 00000000..f3514c98 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/struct_amd64.go @@ -0,0 +1,260 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2024 The Ebitengine Authors + +package purego + +import ( + "math" + "reflect" + "unsafe" +) + +func getStruct(outType reflect.Type, syscall syscall15Args) (v reflect.Value) { + outSize := outType.Size() + switch { + case outSize == 0: + return reflect.New(outType).Elem() + case outSize <= 8: + if isAllFloats(outType) { + // 2 float32s or 1 float64s are return in the float register + return reflect.NewAt(outType, unsafe.Pointer(&struct{ a uintptr }{syscall.f1})).Elem() + } + // up to 8 bytes is returned in RAX + return reflect.NewAt(outType, unsafe.Pointer(&struct{ a uintptr }{syscall.a1})).Elem() + case outSize <= 16: + r1, r2 := syscall.a1, syscall.a2 + if isAllFloats(outType) { + r1 = syscall.f1 + r2 = syscall.f2 + } else { + // check first 8 bytes if it's floats + hasFirstFloat := false + f1 := outType.Field(0).Type + if f1.Kind() == reflect.Float64 || f1.Kind() == reflect.Float32 && outType.Field(1).Type.Kind() == reflect.Float32 { + r1 = syscall.f1 + hasFirstFloat = true + } + + // find index of the field that starts the second 8 bytes + var i int + for i = 0; i < outType.NumField(); i++ { + if outType.Field(i).Offset == 8 { + break + } + } + + // check last 8 bytes if they are floats + f1 = outType.Field(i).Type + if f1.Kind() == reflect.Float64 || f1.Kind() == reflect.Float32 && i+1 == outType.NumField() { + r2 = syscall.f1 + } else if hasFirstFloat { + // if the first field was a float then that means the second integer field + // comes from the first integer register + r2 = syscall.a1 + } + } + return reflect.NewAt(outType, unsafe.Pointer(&struct{ a, b uintptr }{r1, r2})).Elem() + default: + // create struct from the Go pointer created above + // weird pointer dereference to circumvent go vet + return reflect.NewAt(outType, *(*unsafe.Pointer)(unsafe.Pointer(&syscall.a1))).Elem() + } +} + +func isAllFloats(ty reflect.Type) bool { + for i := 0; i < ty.NumField(); i++ { + f := ty.Field(i) + switch f.Type.Kind() { + case reflect.Float64, reflect.Float32: + default: + return false + } + } + return true +} + +// https://refspecs.linuxbase.org/elf/x86_64-abi-0.99.pdf +// https://gitlab.com/x86-psABIs/x86-64-ABI +// Class determines where the 8 byte value goes. +// Higher value classes win over lower value classes +const ( + _NO_CLASS = 0b0000 + _SSE = 0b0001 + _X87 = 0b0011 // long double not used in Go + _INTEGER = 0b0111 + _MEMORY = 0b1111 +) + +func addStruct(v reflect.Value, numInts, numFloats, numStack *int, addInt, addFloat, addStack func(uintptr), keepAlive []interface{}) []interface{} { + if v.Type().Size() == 0 { + return keepAlive + } + + // if greater than 64 bytes place on stack + if v.Type().Size() > 8*8 { + placeStack(v, addStack) + return keepAlive + } + var ( + savedNumFloats = *numFloats + savedNumInts = *numInts + savedNumStack = *numStack + ) + placeOnStack := postMerger(v.Type()) || !tryPlaceRegister(v, addFloat, addInt) + if placeOnStack { + // reset any values placed in registers + *numFloats = savedNumFloats + *numInts = savedNumInts + *numStack = savedNumStack + placeStack(v, addStack) + } + return keepAlive +} + +func postMerger(t reflect.Type) (passInMemory bool) { + // (c) If the size of the aggregate exceeds two eightbytes and the first eight- byte isn’t SSE or any other + // eightbyte isn’t SSEUP, the whole argument is passed in memory. + if t.Kind() != reflect.Struct { + return false + } + if t.Size() <= 2*8 { + return false + } + return true // Go does not have an SSE/SEEUP type so this is always true +} + +func tryPlaceRegister(v reflect.Value, addFloat func(uintptr), addInt func(uintptr)) (ok bool) { + ok = true + var val uint64 + var shift byte // # of bits to shift + var flushed bool + class := _NO_CLASS + flushIfNeeded := func() { + if flushed { + return + } + flushed = true + if class == _SSE { + addFloat(uintptr(val)) + } else { + addInt(uintptr(val)) + } + val = 0 + shift = 0 + class = _NO_CLASS + } + var place func(v reflect.Value) + place = func(v reflect.Value) { + var numFields int + if v.Kind() == reflect.Struct { + numFields = v.Type().NumField() + } else { + numFields = v.Type().Len() + } + + for i := 0; i < numFields; i++ { + flushed = false + var f reflect.Value + if v.Kind() == reflect.Struct { + f = v.Field(i) + } else { + f = v.Index(i) + } + switch f.Kind() { + case reflect.Struct: + place(f) + case reflect.Bool: + if f.Bool() { + val |= 1 + } + shift += 8 + class |= _INTEGER + case reflect.Pointer: + ok = false + return + case reflect.Int8: + val |= uint64(f.Int()&0xFF) << shift + shift += 8 + class |= _INTEGER + case reflect.Int16: + val |= uint64(f.Int()&0xFFFF) << shift + shift += 16 + class |= _INTEGER + case reflect.Int32: + val |= uint64(f.Int()&0xFFFF_FFFF) << shift + shift += 32 + class |= _INTEGER + case reflect.Int64, reflect.Int: + val = uint64(f.Int()) + shift = 64 + class = _INTEGER + case reflect.Uint8: + val |= f.Uint() << shift + shift += 8 + class |= _INTEGER + case reflect.Uint16: + val |= f.Uint() << shift + shift += 16 + class |= _INTEGER + case reflect.Uint32: + val |= f.Uint() << shift + shift += 32 + class |= _INTEGER + case reflect.Uint64, reflect.Uint: + val = f.Uint() + shift = 64 + class = _INTEGER + case reflect.Float32: + val |= uint64(math.Float32bits(float32(f.Float()))) << shift + shift += 32 + class |= _SSE + case reflect.Float64: + if v.Type().Size() > 16 { + ok = false + return + } + val = uint64(math.Float64bits(f.Float())) + shift = 64 + class = _SSE + case reflect.Array: + place(f) + default: + panic("purego: unsupported kind " + f.Kind().String()) + } + + if shift == 64 { + flushIfNeeded() + } else if shift > 64 { + // Should never happen, but may if we forget to reset shift after flush (or forget to flush), + // better fall apart here, than corrupt arguments. + panic("purego: tryPlaceRegisters shift > 64") + } + } + } + + place(v) + flushIfNeeded() + return ok +} + +func placeStack(v reflect.Value, addStack func(uintptr)) { + for i := 0; i < v.Type().NumField(); i++ { + f := v.Field(i) + switch f.Kind() { + case reflect.Pointer: + addStack(f.Pointer()) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + addStack(uintptr(f.Int())) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + addStack(uintptr(f.Uint())) + case reflect.Float32: + addStack(uintptr(math.Float32bits(float32(f.Float())))) + case reflect.Float64: + addStack(uintptr(math.Float64bits(f.Float()))) + case reflect.Struct: + placeStack(f, addStack) + default: + panic("purego: unsupported kind " + f.Kind().String()) + } + } +} diff --git a/vendor/github.com/ebitengine/purego/struct_arm64.go b/vendor/github.com/ebitengine/purego/struct_arm64.go new file mode 100644 index 00000000..11c36bd6 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/struct_arm64.go @@ -0,0 +1,274 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2024 The Ebitengine Authors + +package purego + +import ( + "math" + "reflect" + "unsafe" +) + +func getStruct(outType reflect.Type, syscall syscall15Args) (v reflect.Value) { + outSize := outType.Size() + switch { + case outSize == 0: + return reflect.New(outType).Elem() + case outSize <= 8: + r1 := syscall.a1 + if isAllFloats, numFields := isAllSameFloat(outType); isAllFloats { + r1 = syscall.f1 + if numFields == 2 { + r1 = syscall.f2<<32 | syscall.f1 + } + } + return reflect.NewAt(outType, unsafe.Pointer(&struct{ a uintptr }{r1})).Elem() + case outSize <= 16: + r1, r2 := syscall.a1, syscall.a2 + if isAllFloats, numFields := isAllSameFloat(outType); isAllFloats { + switch numFields { + case 4: + r1 = syscall.f2<<32 | syscall.f1 + r2 = syscall.f4<<32 | syscall.f3 + case 3: + r1 = syscall.f2<<32 | syscall.f1 + r2 = syscall.f3 + case 2: + r1 = syscall.f1 + r2 = syscall.f2 + default: + panic("unreachable") + } + } + return reflect.NewAt(outType, unsafe.Pointer(&struct{ a, b uintptr }{r1, r2})).Elem() + default: + if isAllFloats, numFields := isAllSameFloat(outType); isAllFloats && numFields <= 4 { + switch numFields { + case 4: + return reflect.NewAt(outType, unsafe.Pointer(&struct{ a, b, c, d uintptr }{syscall.f1, syscall.f2, syscall.f3, syscall.f4})).Elem() + case 3: + return reflect.NewAt(outType, unsafe.Pointer(&struct{ a, b, c uintptr }{syscall.f1, syscall.f2, syscall.f3})).Elem() + default: + panic("unreachable") + } + } + // create struct from the Go pointer created in arm64_r8 + // weird pointer dereference to circumvent go vet + return reflect.NewAt(outType, *(*unsafe.Pointer)(unsafe.Pointer(&syscall.arm64_r8))).Elem() + } +} + +// https://github.com/ARM-software/abi-aa/blob/main/sysvabi64/sysvabi64.rst +const ( + _NO_CLASS = 0b00 + _FLOAT = 0b01 + _INT = 0b11 +) + +func addStruct(v reflect.Value, numInts, numFloats, numStack *int, addInt, addFloat, addStack func(uintptr), keepAlive []interface{}) []interface{} { + if v.Type().Size() == 0 { + return keepAlive + } + + if hva, hfa, size := isHVA(v.Type()), isHFA(v.Type()), v.Type().Size(); hva || hfa || size <= 16 { + // if this doesn't fit entirely in registers then + // each element goes onto the stack + if hfa && *numFloats+v.NumField() > numOfFloats { + *numFloats = numOfFloats + } else if hva && *numInts+v.NumField() > numOfIntegerRegisters() { + *numInts = numOfIntegerRegisters() + } + + placeRegisters(v, addFloat, addInt) + } else { + keepAlive = placeStack(v, keepAlive, addInt) + } + return keepAlive // the struct was allocated so don't panic +} + +func placeRegisters(v reflect.Value, addFloat func(uintptr), addInt func(uintptr)) { + var val uint64 + var shift byte + var flushed bool + class := _NO_CLASS + var place func(v reflect.Value) + place = func(v reflect.Value) { + var numFields int + if v.Kind() == reflect.Struct { + numFields = v.Type().NumField() + } else { + numFields = v.Type().Len() + } + for k := 0; k < numFields; k++ { + flushed = false + var f reflect.Value + if v.Kind() == reflect.Struct { + f = v.Field(k) + } else { + f = v.Index(k) + } + if shift >= 64 { + shift = 0 + flushed = true + if class == _FLOAT { + addFloat(uintptr(val)) + } else { + addInt(uintptr(val)) + } + } + switch f.Type().Kind() { + case reflect.Struct: + place(f) + case reflect.Bool: + if f.Bool() { + val |= 1 + } + shift += 8 + class |= _INT + case reflect.Uint8: + val |= f.Uint() << shift + shift += 8 + class |= _INT + case reflect.Uint16: + val |= f.Uint() << shift + shift += 16 + class |= _INT + case reflect.Uint32: + val |= f.Uint() << shift + shift += 32 + class |= _INT + case reflect.Uint64: + addInt(uintptr(f.Uint())) + shift = 0 + flushed = true + case reflect.Int8: + val |= uint64(f.Int()&0xFF) << shift + shift += 8 + class |= _INT + case reflect.Int16: + val |= uint64(f.Int()&0xFFFF) << shift + shift += 16 + class |= _INT + case reflect.Int32: + val |= uint64(f.Int()&0xFFFF_FFFF) << shift + shift += 32 + class |= _INT + case reflect.Int64: + addInt(uintptr(f.Int())) + shift = 0 + flushed = true + case reflect.Float32: + if class == _FLOAT { + addFloat(uintptr(val)) + val = 0 + shift = 0 + } + val |= uint64(math.Float32bits(float32(f.Float()))) << shift + shift += 32 + class |= _FLOAT + case reflect.Float64: + addFloat(uintptr(math.Float64bits(float64(f.Float())))) + shift = 0 + flushed = true + case reflect.Array: + place(f) + default: + panic("purego: unsupported kind " + f.Kind().String()) + } + } + } + place(v) + if !flushed { + if class == _FLOAT { + addFloat(uintptr(val)) + } else { + addInt(uintptr(val)) + } + } +} + +func placeStack(v reflect.Value, keepAlive []interface{}, addInt func(uintptr)) []interface{} { + // Struct is too big to be placed in registers. + // Copy to heap and place the pointer in register + ptrStruct := reflect.New(v.Type()) + ptrStruct.Elem().Set(v) + ptr := ptrStruct.Elem().Addr().UnsafePointer() + keepAlive = append(keepAlive, ptr) + addInt(uintptr(ptr)) + return keepAlive +} + +// isHFA reports a Homogeneous Floating-point Aggregate (HFA) which is a Fundamental Data Type that is a +// Floating-Point type and at most four uniquely addressable members (5.9.5.1 in [Arm64 Calling Convention]). +// This type of struct will be placed more compactly than the individual fields. +// +// [Arm64 Calling Convention]: https://github.com/ARM-software/abi-aa/blob/main/sysvabi64/sysvabi64.rst +func isHFA(t reflect.Type) bool { + // round up struct size to nearest 8 see section B.4 + structSize := roundUpTo8(t.Size()) + if structSize == 0 || t.NumField() > 4 { + return false + } + first := t.Field(0) + switch first.Type.Kind() { + case reflect.Float32, reflect.Float64: + firstKind := first.Type.Kind() + for i := 0; i < t.NumField(); i++ { + if t.Field(i).Type.Kind() != firstKind { + return false + } + } + return true + case reflect.Array: + switch first.Type.Elem().Kind() { + case reflect.Float32, reflect.Float64: + return true + default: + return false + } + case reflect.Struct: + for i := 0; i < first.Type.NumField(); i++ { + if !isHFA(first.Type) { + return false + } + } + return true + default: + return false + } +} + +// isHVA reports a Homogeneous Aggregate with a Fundamental Data Type that is a Short-Vector type +// and at most four uniquely addressable members (5.9.5.2 in [Arm64 Calling Convention]). +// A short vector is a machine type that is composed of repeated instances of one fundamental integral or +// floating-point type. It may be 8 or 16 bytes in total size (5.4 in [Arm64 Calling Convention]). +// This type of struct will be placed more compactly than the individual fields. +// +// [Arm64 Calling Convention]: https://github.com/ARM-software/abi-aa/blob/main/sysvabi64/sysvabi64.rst +func isHVA(t reflect.Type) bool { + // round up struct size to nearest 8 see section B.4 + structSize := roundUpTo8(t.Size()) + if structSize == 0 || (structSize != 8 && structSize != 16) { + return false + } + first := t.Field(0) + switch first.Type.Kind() { + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Int8, reflect.Int16, reflect.Int32: + firstKind := first.Type.Kind() + for i := 0; i < t.NumField(); i++ { + if t.Field(i).Type.Kind() != firstKind { + return false + } + } + return true + case reflect.Array: + switch first.Type.Elem().Kind() { + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Int8, reflect.Int16, reflect.Int32: + return true + default: + return false + } + default: + return false + } +} diff --git a/vendor/github.com/ebitengine/purego/struct_other.go b/vendor/github.com/ebitengine/purego/struct_other.go new file mode 100644 index 00000000..9d42adac --- /dev/null +++ b/vendor/github.com/ebitengine/purego/struct_other.go @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2024 The Ebitengine Authors + +//go:build !amd64 && !arm64 + +package purego + +import "reflect" + +func addStruct(v reflect.Value, numInts, numFloats, numStack *int, addInt, addFloat, addStack func(uintptr), keepAlive []interface{}) []interface{} { + panic("purego: struct arguments are not supported") +} + +func getStruct(outType reflect.Type, syscall syscall15Args) (v reflect.Value) { + panic("purego: struct returns are not supported") +} diff --git a/vendor/github.com/ebitengine/purego/sys_amd64.s b/vendor/github.com/ebitengine/purego/sys_amd64.s new file mode 100644 index 00000000..cabde1a5 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/sys_amd64.s @@ -0,0 +1,164 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build darwin || freebsd || linux + +#include "textflag.h" +#include "abi_amd64.h" +#include "go_asm.h" +#include "funcdata.h" + +#define STACK_SIZE 80 +#define PTR_ADDRESS (STACK_SIZE - 8) + +// syscall15X calls a function in libc on behalf of the syscall package. +// syscall15X takes a pointer to a struct like: +// struct { +// fn uintptr +// a1 uintptr +// a2 uintptr +// a3 uintptr +// a4 uintptr +// a5 uintptr +// a6 uintptr +// a7 uintptr +// a8 uintptr +// a9 uintptr +// a10 uintptr +// a11 uintptr +// a12 uintptr +// a13 uintptr +// a14 uintptr +// a15 uintptr +// r1 uintptr +// r2 uintptr +// err uintptr +// } +// syscall15X must be called on the g0 stack with the +// C calling convention (use libcCall). +GLOBL ·syscall15XABI0(SB), NOPTR|RODATA, $8 +DATA ·syscall15XABI0(SB)/8, $syscall15X(SB) +TEXT syscall15X(SB), NOSPLIT|NOFRAME, $0 + PUSHQ BP + MOVQ SP, BP + SUBQ $STACK_SIZE, SP + MOVQ DI, PTR_ADDRESS(BP) // save the pointer + MOVQ DI, R11 + + MOVQ syscall15Args_f1(R11), X0 // f1 + MOVQ syscall15Args_f2(R11), X1 // f2 + MOVQ syscall15Args_f3(R11), X2 // f3 + MOVQ syscall15Args_f4(R11), X3 // f4 + MOVQ syscall15Args_f5(R11), X4 // f5 + MOVQ syscall15Args_f6(R11), X5 // f6 + MOVQ syscall15Args_f7(R11), X6 // f7 + MOVQ syscall15Args_f8(R11), X7 // f8 + + MOVQ syscall15Args_a1(R11), DI // a1 + MOVQ syscall15Args_a2(R11), SI // a2 + MOVQ syscall15Args_a3(R11), DX // a3 + MOVQ syscall15Args_a4(R11), CX // a4 + MOVQ syscall15Args_a5(R11), R8 // a5 + MOVQ syscall15Args_a6(R11), R9 // a6 + + // push the remaining paramters onto the stack + MOVQ syscall15Args_a7(R11), R12 + MOVQ R12, 0(SP) // push a7 + MOVQ syscall15Args_a8(R11), R12 + MOVQ R12, 8(SP) // push a8 + MOVQ syscall15Args_a9(R11), R12 + MOVQ R12, 16(SP) // push a9 + MOVQ syscall15Args_a10(R11), R12 + MOVQ R12, 24(SP) // push a10 + MOVQ syscall15Args_a11(R11), R12 + MOVQ R12, 32(SP) // push a11 + MOVQ syscall15Args_a12(R11), R12 + MOVQ R12, 40(SP) // push a12 + MOVQ syscall15Args_a13(R11), R12 + MOVQ R12, 48(SP) // push a13 + MOVQ syscall15Args_a14(R11), R12 + MOVQ R12, 56(SP) // push a14 + MOVQ syscall15Args_a15(R11), R12 + MOVQ R12, 64(SP) // push a15 + XORL AX, AX // vararg: say "no float args" + + MOVQ syscall15Args_fn(R11), R10 // fn + CALL R10 + + MOVQ PTR_ADDRESS(BP), DI // get the pointer back + MOVQ AX, syscall15Args_a1(DI) // r1 + MOVQ DX, syscall15Args_a2(DI) // r3 + MOVQ X0, syscall15Args_f1(DI) // f1 + MOVQ X1, syscall15Args_f2(DI) // f2 + + XORL AX, AX // no error (it's ignored anyway) + ADDQ $STACK_SIZE, SP + MOVQ BP, SP + POPQ BP + RET + +TEXT callbackasm1(SB), NOSPLIT|NOFRAME, $0 + MOVQ 0(SP), AX // save the return address to calculate the cb index + MOVQ 8(SP), R10 // get the return SP so that we can align register args with stack args + ADDQ $8, SP // remove return address from stack, we are not returning to callbackasm, but to its caller. + + // make space for first six int and 8 float arguments below the frame + ADJSP $14*8, SP + MOVSD X0, (1*8)(SP) + MOVSD X1, (2*8)(SP) + MOVSD X2, (3*8)(SP) + MOVSD X3, (4*8)(SP) + MOVSD X4, (5*8)(SP) + MOVSD X5, (6*8)(SP) + MOVSD X6, (7*8)(SP) + MOVSD X7, (8*8)(SP) + MOVQ DI, (9*8)(SP) + MOVQ SI, (10*8)(SP) + MOVQ DX, (11*8)(SP) + MOVQ CX, (12*8)(SP) + MOVQ R8, (13*8)(SP) + MOVQ R9, (14*8)(SP) + LEAQ 8(SP), R8 // R8 = address of args vector + + PUSHQ R10 // push the stack pointer below registers + + // Switch from the host ABI to the Go ABI. + PUSH_REGS_HOST_TO_ABI0() + + // determine index into runtime·cbs table + MOVQ $callbackasm(SB), DX + SUBQ DX, AX + MOVQ $0, DX + MOVQ $5, CX // divide by 5 because each call instruction in ·callbacks is 5 bytes long + DIVL CX + SUBQ $1, AX // subtract 1 because return PC is to the next slot + + // Create a struct callbackArgs on our stack to be passed as + // the "frame" to cgocallback and on to callbackWrap. + // $24 to make enough room for the arguments to runtime.cgocallback + SUBQ $(24+callbackArgs__size), SP + MOVQ AX, (24+callbackArgs_index)(SP) // callback index + MOVQ R8, (24+callbackArgs_args)(SP) // address of args vector + MOVQ $0, (24+callbackArgs_result)(SP) // result + LEAQ 24(SP), AX // take the address of callbackArgs + + // Call cgocallback, which will call callbackWrap(frame). + MOVQ ·callbackWrap_call(SB), DI // Get the ABIInternal function pointer + MOVQ (DI), DI // without by using a closure. + MOVQ AX, SI // frame (address of callbackArgs) + MOVQ $0, CX // context + + CALL crosscall2(SB) // runtime.cgocallback(fn, frame, ctxt uintptr) + + // Get callback result. + MOVQ (24+callbackArgs_result)(SP), AX + ADDQ $(24+callbackArgs__size), SP // remove callbackArgs struct + + POP_REGS_HOST_TO_ABI0() + + POPQ R10 // get the SP back + ADJSP $-14*8, SP // remove arguments + + MOVQ R10, 0(SP) + + RET diff --git a/vendor/github.com/ebitengine/purego/sys_arm64.s b/vendor/github.com/ebitengine/purego/sys_arm64.s new file mode 100644 index 00000000..a68fdb99 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/sys_arm64.s @@ -0,0 +1,92 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build darwin || freebsd || linux || windows + +#include "textflag.h" +#include "go_asm.h" +#include "funcdata.h" + +#define STACK_SIZE 64 +#define PTR_ADDRESS (STACK_SIZE - 8) + +// syscall15X calls a function in libc on behalf of the syscall package. +// syscall15X takes a pointer to a struct like: +// struct { +// fn uintptr +// a1 uintptr +// a2 uintptr +// a3 uintptr +// a4 uintptr +// a5 uintptr +// a6 uintptr +// a7 uintptr +// a8 uintptr +// a9 uintptr +// a10 uintptr +// a11 uintptr +// a12 uintptr +// a13 uintptr +// a14 uintptr +// a15 uintptr +// r1 uintptr +// r2 uintptr +// err uintptr +// } +// syscall15X must be called on the g0 stack with the +// C calling convention (use libcCall). +GLOBL ·syscall15XABI0(SB), NOPTR|RODATA, $8 +DATA ·syscall15XABI0(SB)/8, $syscall15X(SB) +TEXT syscall15X(SB), NOSPLIT, $0 + SUB $STACK_SIZE, RSP // push structure pointer + MOVD R0, PTR_ADDRESS(RSP) + MOVD R0, R9 + + FMOVD syscall15Args_f1(R9), F0 // f1 + FMOVD syscall15Args_f2(R9), F1 // f2 + FMOVD syscall15Args_f3(R9), F2 // f3 + FMOVD syscall15Args_f4(R9), F3 // f4 + FMOVD syscall15Args_f5(R9), F4 // f5 + FMOVD syscall15Args_f6(R9), F5 // f6 + FMOVD syscall15Args_f7(R9), F6 // f7 + FMOVD syscall15Args_f8(R9), F7 // f8 + + MOVD syscall15Args_a1(R9), R0 // a1 + MOVD syscall15Args_a2(R9), R1 // a2 + MOVD syscall15Args_a3(R9), R2 // a3 + MOVD syscall15Args_a4(R9), R3 // a4 + MOVD syscall15Args_a5(R9), R4 // a5 + MOVD syscall15Args_a6(R9), R5 // a6 + MOVD syscall15Args_a7(R9), R6 // a7 + MOVD syscall15Args_a8(R9), R7 // a8 + MOVD syscall15Args_arm64_r8(R9), R8 // r8 + + MOVD syscall15Args_a9(R9), R10 + MOVD R10, 0(RSP) // push a9 onto stack + MOVD syscall15Args_a10(R9), R10 + MOVD R10, 8(RSP) // push a10 onto stack + MOVD syscall15Args_a11(R9), R10 + MOVD R10, 16(RSP) // push a11 onto stack + MOVD syscall15Args_a12(R9), R10 + MOVD R10, 24(RSP) // push a12 onto stack + MOVD syscall15Args_a13(R9), R10 + MOVD R10, 32(RSP) // push a13 onto stack + MOVD syscall15Args_a14(R9), R10 + MOVD R10, 40(RSP) // push a14 onto stack + MOVD syscall15Args_a15(R9), R10 + MOVD R10, 48(RSP) // push a15 onto stack + + MOVD syscall15Args_fn(R9), R10 // fn + BL (R10) + + MOVD PTR_ADDRESS(RSP), R2 // pop structure pointer + ADD $STACK_SIZE, RSP + + MOVD R0, syscall15Args_a1(R2) // save r1 + MOVD R1, syscall15Args_a2(R2) // save r3 + FMOVD F0, syscall15Args_f1(R2) // save f0 + FMOVD F1, syscall15Args_f2(R2) // save f1 + FMOVD F2, syscall15Args_f3(R2) // save f2 + FMOVD F3, syscall15Args_f4(R2) // save f3 + + RET diff --git a/vendor/github.com/ebitengine/purego/sys_unix_arm64.s b/vendor/github.com/ebitengine/purego/sys_unix_arm64.s new file mode 100644 index 00000000..6da06b4d --- /dev/null +++ b/vendor/github.com/ebitengine/purego/sys_unix_arm64.s @@ -0,0 +1,70 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2023 The Ebitengine Authors + +//go:build darwin || freebsd || linux + +#include "textflag.h" +#include "go_asm.h" +#include "funcdata.h" +#include "abi_arm64.h" + +TEXT callbackasm1(SB), NOSPLIT|NOFRAME, $0 + NO_LOCAL_POINTERS + + // On entry, the trampoline in zcallback_darwin_arm64.s left + // the callback index in R12 (which is volatile in the C ABI). + + // Save callback register arguments R0-R7 and F0-F7. + // We do this at the top of the frame so they're contiguous with stack arguments. + SUB $(16*8), RSP, R14 + FSTPD (F0, F1), (0*8)(R14) + FSTPD (F2, F3), (2*8)(R14) + FSTPD (F4, F5), (4*8)(R14) + FSTPD (F6, F7), (6*8)(R14) + STP (R0, R1), (8*8)(R14) + STP (R2, R3), (10*8)(R14) + STP (R4, R5), (12*8)(R14) + STP (R6, R7), (14*8)(R14) + + // Adjust SP by frame size. + SUB $(26*8), RSP + + // It is important to save R27 because the go assembler + // uses it for move instructions for a variable. + // This line: + // MOVD ·callbackWrap_call(SB), R0 + // Creates the instructions: + // ADRP 14335(PC), R27 + // MOVD 388(27), R0 + // R27 is a callee saved register so we are responsible + // for ensuring its value doesn't change. So save it and + // restore it at the end of this function. + // R30 is the link register. crosscall2 doesn't save it + // so it's saved here. + STP (R27, R30), 0(RSP) + + // Create a struct callbackArgs on our stack. + MOVD $(callbackArgs__size)(RSP), R13 + MOVD R12, callbackArgs_index(R13) // callback index + MOVD R14, callbackArgs_args(R13) // address of args vector + MOVD ZR, callbackArgs_result(R13) // result + + // Move parameters into registers + // Get the ABIInternal function pointer + // without by using a closure. + MOVD ·callbackWrap_call(SB), R0 + MOVD (R0), R0 // fn unsafe.Pointer + MOVD R13, R1 // frame (&callbackArgs{...}) + MOVD $0, R3 // ctxt uintptr + + BL crosscall2(SB) + + // Get callback result. + MOVD $(callbackArgs__size)(RSP), R13 + MOVD callbackArgs_result(R13), R0 + + // Restore LR and R27 + LDP 0(RSP), (R27, R30) + ADD $(26*8), RSP + + RET diff --git a/vendor/github.com/ebitengine/purego/syscall.go b/vendor/github.com/ebitengine/purego/syscall.go new file mode 100644 index 00000000..c30688dd --- /dev/null +++ b/vendor/github.com/ebitengine/purego/syscall.go @@ -0,0 +1,53 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build darwin || freebsd || linux || windows + +package purego + +// CDecl marks a function as being called using the __cdecl calling convention as defined in +// the [MSDocs] when passed to NewCallback. It must be the first argument to the function. +// This is only useful on 386 Windows, but it is safe to use on other platforms. +// +// [MSDocs]: https://learn.microsoft.com/en-us/cpp/cpp/cdecl?view=msvc-170 +type CDecl struct{} + +const ( + maxArgs = 15 + numOfFloats = 8 // arm64 and amd64 both have 8 float registers +) + +type syscall15Args struct { + fn, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15 uintptr + f1, f2, f3, f4, f5, f6, f7, f8 uintptr + arm64_r8 uintptr +} + +// SyscallN takes fn, a C function pointer and a list of arguments as uintptr. +// There is an internal maximum number of arguments that SyscallN can take. It panics +// when the maximum is exceeded. It returns the result and the libc error code if there is one. +// +// NOTE: SyscallN does not properly call functions that have both integer and float parameters. +// See discussion comment https://github.com/ebiten/purego/pull/1#issuecomment-1128057607 +// for an explanation of why that is. +// +// On amd64, if there are more than 8 floats the 9th and so on will be placed incorrectly on the +// stack. +// +// The pragma go:nosplit is not needed at this function declaration because it uses go:uintptrescapes +// which forces all the objects that the uintptrs point to onto the heap where a stack split won't affect +// their memory location. +// +//go:uintptrescapes +func SyscallN(fn uintptr, args ...uintptr) (r1, r2, err uintptr) { + if fn == 0 { + panic("purego: fn is nil") + } + if len(args) > maxArgs { + panic("purego: too many arguments to SyscallN") + } + // add padding so there is no out-of-bounds slicing + var tmp [maxArgs]uintptr + copy(tmp[:], args) + return syscall_syscall15X(fn, tmp[0], tmp[1], tmp[2], tmp[3], tmp[4], tmp[5], tmp[6], tmp[7], tmp[8], tmp[9], tmp[10], tmp[11], tmp[12], tmp[13], tmp[14]) +} diff --git a/vendor/github.com/ebitengine/purego/syscall_cgo_linux.go b/vendor/github.com/ebitengine/purego/syscall_cgo_linux.go new file mode 100644 index 00000000..36ee14e3 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/syscall_cgo_linux.go @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build cgo && !(amd64 || arm64) + +package purego + +import ( + "github.com/ebitengine/purego/internal/cgo" +) + +var syscall15XABI0 = uintptr(cgo.Syscall15XABI0) + +//go:nosplit +func syscall_syscall15X(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15 uintptr) (r1, r2, err uintptr) { + return cgo.Syscall15X(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) +} + +func NewCallback(_ interface{}) uintptr { + panic("purego: NewCallback on Linux is only supported on amd64/arm64") +} diff --git a/vendor/github.com/ebitengine/purego/syscall_sysv.go b/vendor/github.com/ebitengine/purego/syscall_sysv.go new file mode 100644 index 00000000..cce171c8 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/syscall_sysv.go @@ -0,0 +1,223 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +//go:build darwin || freebsd || (linux && (amd64 || arm64)) + +package purego + +import ( + "reflect" + "runtime" + "sync" + "unsafe" +) + +var syscall15XABI0 uintptr + +//go:nosplit +func syscall_syscall15X(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15 uintptr) (r1, r2, err uintptr) { + args := syscall15Args{ + fn, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, + a1, a2, a3, a4, a5, a6, a7, a8, + 0, + } + runtime_cgocall(syscall15XABI0, unsafe.Pointer(&args)) + return args.a1, args.a2, 0 +} + +// NewCallback converts a Go function to a function pointer conforming to the C calling convention. +// This is useful when interoperating with C code requiring callbacks. The argument is expected to be a +// function with zero or one uintptr-sized result. The function must not have arguments with size larger than the size +// of uintptr. Only a limited number of callbacks may be created in a single Go process, and any memory allocated +// for these callbacks is never released. At least 2000 callbacks can always be created. Although this function +// provides similar functionality to windows.NewCallback it is distinct. +func NewCallback(fn interface{}) uintptr { + ty := reflect.TypeOf(fn) + for i := 0; i < ty.NumIn(); i++ { + in := ty.In(i) + if !in.AssignableTo(reflect.TypeOf(CDecl{})) { + continue + } + if i != 0 { + panic("purego: CDecl must be the first argument") + } + } + return compileCallback(fn) +} + +// maxCb is the maximum number of callbacks +// only increase this if you have added more to the callbackasm function +const maxCB = 2000 + +var cbs struct { + lock sync.Mutex + numFn int // the number of functions currently in cbs.funcs + funcs [maxCB]reflect.Value // the saved callbacks +} + +type callbackArgs struct { + index uintptr + // args points to the argument block. + // + // The structure of the arguments goes + // float registers followed by the + // integer registers followed by the stack. + // + // This variable is treated as a continuous + // block of memory containing all of the arguments + // for this callback. + args unsafe.Pointer + // Below are out-args from callbackWrap + result uintptr +} + +func compileCallback(fn interface{}) uintptr { + val := reflect.ValueOf(fn) + if val.Kind() != reflect.Func { + panic("purego: the type must be a function but was not") + } + if val.IsNil() { + panic("purego: function must not be nil") + } + ty := val.Type() + for i := 0; i < ty.NumIn(); i++ { + in := ty.In(i) + switch in.Kind() { + case reflect.Struct: + if i == 0 && in.AssignableTo(reflect.TypeOf(CDecl{})) { + continue + } + fallthrough + case reflect.Interface, reflect.Func, reflect.Slice, + reflect.Chan, reflect.Complex64, reflect.Complex128, + reflect.String, reflect.Map, reflect.Invalid: + panic("purego: unsupported argument type: " + in.Kind().String()) + } + } +output: + switch { + case ty.NumOut() == 1: + switch ty.Out(0).Kind() { + case reflect.Pointer, reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, + reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr, + reflect.Bool, reflect.UnsafePointer: + break output + } + panic("purego: unsupported return type: " + ty.String()) + case ty.NumOut() > 1: + panic("purego: callbacks can only have one return") + } + cbs.lock.Lock() + defer cbs.lock.Unlock() + if cbs.numFn >= maxCB { + panic("purego: the maximum number of callbacks has been reached") + } + cbs.funcs[cbs.numFn] = val + cbs.numFn++ + return callbackasmAddr(cbs.numFn - 1) +} + +const ptrSize = unsafe.Sizeof((*int)(nil)) + +const callbackMaxFrame = 64 * ptrSize + +// callbackasm is implemented in zcallback_GOOS_GOARCH.s +// +//go:linkname __callbackasm callbackasm +var __callbackasm byte +var callbackasmABI0 = uintptr(unsafe.Pointer(&__callbackasm)) + +// callbackWrap_call allows the calling of the ABIInternal wrapper +// which is required for runtime.cgocallback without the +// tag which is only allowed in the runtime. +// This closure is used inside sys_darwin_GOARCH.s +var callbackWrap_call = callbackWrap + +// callbackWrap is called by assembly code which determines which Go function to call. +// This function takes the arguments and passes them to the Go function and returns the result. +func callbackWrap(a *callbackArgs) { + cbs.lock.Lock() + fn := cbs.funcs[a.index] + cbs.lock.Unlock() + fnType := fn.Type() + args := make([]reflect.Value, fnType.NumIn()) + frame := (*[callbackMaxFrame]uintptr)(a.args) + var floatsN int // floatsN represents the number of float arguments processed + var intsN int // intsN represents the number of integer arguments processed + // stack points to the index into frame of the current stack element. + // The stack begins after the float and integer registers. + stack := numOfIntegerRegisters() + numOfFloats + for i := range args { + var pos int + switch fnType.In(i).Kind() { + case reflect.Float32, reflect.Float64: + if floatsN >= numOfFloats { + pos = stack + stack++ + } else { + pos = floatsN + } + floatsN++ + case reflect.Struct: + // This is the CDecl field + args[i] = reflect.Zero(fnType.In(i)) + continue + default: + + if intsN >= numOfIntegerRegisters() { + pos = stack + stack++ + } else { + // the integers begin after the floats in frame + pos = intsN + numOfFloats + } + intsN++ + } + args[i] = reflect.NewAt(fnType.In(i), unsafe.Pointer(&frame[pos])).Elem() + } + ret := fn.Call(args) + if len(ret) > 0 { + switch k := ret[0].Kind(); k { + case reflect.Uint, reflect.Uint64, reflect.Uint32, reflect.Uint16, reflect.Uint8, reflect.Uintptr: + a.result = uintptr(ret[0].Uint()) + case reflect.Int, reflect.Int64, reflect.Int32, reflect.Int16, reflect.Int8: + a.result = uintptr(ret[0].Int()) + case reflect.Bool: + if ret[0].Bool() { + a.result = 1 + } else { + a.result = 0 + } + case reflect.Pointer: + a.result = ret[0].Pointer() + case reflect.UnsafePointer: + a.result = ret[0].Pointer() + default: + panic("purego: unsupported kind: " + k.String()) + } + } +} + +// callbackasmAddr returns address of runtime.callbackasm +// function adjusted by i. +// On x86 and amd64, runtime.callbackasm is a series of CALL instructions, +// and we want callback to arrive at +// correspondent call instruction instead of start of +// runtime.callbackasm. +// On ARM, runtime.callbackasm is a series of mov and branch instructions. +// R12 is loaded with the callback index. Each entry is two instructions, +// hence 8 bytes. +func callbackasmAddr(i int) uintptr { + var entrySize int + switch runtime.GOARCH { + default: + panic("purego: unsupported architecture") + case "386", "amd64": + entrySize = 5 + case "arm", "arm64": + // On ARM and ARM64, each entry is a MOV instruction + // followed by a branch instruction + entrySize = 8 + } + return callbackasmABI0 + uintptr(i*entrySize) +} diff --git a/vendor/github.com/ebitengine/purego/syscall_windows.go b/vendor/github.com/ebitengine/purego/syscall_windows.go new file mode 100644 index 00000000..5fbfcabf --- /dev/null +++ b/vendor/github.com/ebitengine/purego/syscall_windows.go @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: 2022 The Ebitengine Authors + +package purego + +import ( + "reflect" + "syscall" +) + +var syscall15XABI0 uintptr + +func syscall_syscall15X(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15 uintptr) (r1, r2, err uintptr) { + r1, r2, errno := syscall.Syscall15(fn, 15, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) + return r1, r2, uintptr(errno) +} + +// NewCallback converts a Go function to a function pointer conforming to the stdcall calling convention. +// This is useful when interoperating with Windows code requiring callbacks. The argument is expected to be a +// function with one uintptr-sized result. The function must not have arguments with size larger than the +// size of uintptr. Only a limited number of callbacks may be created in a single Go process, and any memory +// allocated for these callbacks is never released. Between NewCallback and NewCallbackCDecl, at least 1024 +// callbacks can always be created. Although this function is similiar to the darwin version it may act +// differently. +func NewCallback(fn interface{}) uintptr { + isCDecl := false + ty := reflect.TypeOf(fn) + for i := 0; i < ty.NumIn(); i++ { + in := ty.In(i) + if !in.AssignableTo(reflect.TypeOf(CDecl{})) { + continue + } + if i != 0 { + panic("purego: CDecl must be the first argument") + } + isCDecl = true + } + if isCDecl { + return syscall.NewCallbackCDecl(fn) + } + return syscall.NewCallback(fn) +} + +func loadSymbol(handle uintptr, name string) (uintptr, error) { + return syscall.GetProcAddress(syscall.Handle(handle), name) +} diff --git a/vendor/github.com/ebitengine/purego/zcallback_amd64.s b/vendor/github.com/ebitengine/purego/zcallback_amd64.s new file mode 100644 index 00000000..6a778bfc --- /dev/null +++ b/vendor/github.com/ebitengine/purego/zcallback_amd64.s @@ -0,0 +1,2014 @@ +// Code generated by wincallback.go using 'go generate'. DO NOT EDIT. + +//go:build darwin || freebsd || linux + +// runtime·callbackasm is called by external code to +// execute Go implemented callback function. It is not +// called from the start, instead runtime·compilecallback +// always returns address into runtime·callbackasm offset +// appropriately so different callbacks start with different +// CALL instruction in runtime·callbackasm. This determines +// which Go callback function is executed later on. +#include "textflag.h" + +TEXT callbackasm(SB), NOSPLIT|NOFRAME, $0 + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) + CALL callbackasm1(SB) diff --git a/vendor/github.com/ebitengine/purego/zcallback_arm64.s b/vendor/github.com/ebitengine/purego/zcallback_arm64.s new file mode 100644 index 00000000..c079b803 --- /dev/null +++ b/vendor/github.com/ebitengine/purego/zcallback_arm64.s @@ -0,0 +1,4014 @@ +// Code generated by wincallback.go using 'go generate'. DO NOT EDIT. + +//go:build darwin || freebsd || linux + +// External code calls into callbackasm at an offset corresponding +// to the callback index. Callbackasm is a table of MOV and B instructions. +// The MOV instruction loads R12 with the callback index, and the +// B instruction branches to callbackasm1. +// callbackasm1 takes the callback index from R12 and +// indexes into an array that stores information about each callback. +// It then calls the Go implementation for that callback. +#include "textflag.h" + +TEXT callbackasm(SB), NOSPLIT|NOFRAME, $0 + MOVD $0, R12 + B callbackasm1(SB) + MOVD $1, R12 + B callbackasm1(SB) + MOVD $2, R12 + B callbackasm1(SB) + MOVD $3, R12 + B callbackasm1(SB) + MOVD $4, R12 + B callbackasm1(SB) + MOVD $5, R12 + B callbackasm1(SB) + MOVD $6, R12 + B callbackasm1(SB) + MOVD $7, R12 + B callbackasm1(SB) + MOVD $8, R12 + B callbackasm1(SB) + MOVD $9, R12 + B callbackasm1(SB) + MOVD $10, R12 + B callbackasm1(SB) + MOVD $11, R12 + B callbackasm1(SB) + MOVD $12, R12 + B callbackasm1(SB) + MOVD $13, R12 + B callbackasm1(SB) + MOVD $14, R12 + B callbackasm1(SB) + MOVD $15, R12 + B callbackasm1(SB) + MOVD $16, R12 + B callbackasm1(SB) + MOVD $17, R12 + B callbackasm1(SB) + MOVD $18, R12 + B callbackasm1(SB) + MOVD $19, R12 + B callbackasm1(SB) + MOVD $20, R12 + B callbackasm1(SB) + MOVD $21, R12 + B callbackasm1(SB) + MOVD $22, R12 + B callbackasm1(SB) + MOVD $23, R12 + B callbackasm1(SB) + MOVD $24, R12 + B callbackasm1(SB) + MOVD $25, R12 + B callbackasm1(SB) + MOVD $26, R12 + B callbackasm1(SB) + MOVD $27, R12 + B callbackasm1(SB) + MOVD $28, R12 + B callbackasm1(SB) + MOVD $29, R12 + B callbackasm1(SB) + MOVD $30, R12 + B callbackasm1(SB) + MOVD $31, R12 + B callbackasm1(SB) + MOVD $32, R12 + B callbackasm1(SB) + MOVD $33, R12 + B callbackasm1(SB) + MOVD $34, R12 + B callbackasm1(SB) + MOVD $35, R12 + B callbackasm1(SB) + MOVD $36, R12 + B callbackasm1(SB) + MOVD $37, R12 + B callbackasm1(SB) + MOVD $38, R12 + B callbackasm1(SB) + MOVD $39, R12 + B callbackasm1(SB) + MOVD $40, R12 + B callbackasm1(SB) + MOVD $41, R12 + B callbackasm1(SB) + MOVD $42, R12 + B callbackasm1(SB) + MOVD $43, R12 + B callbackasm1(SB) + MOVD $44, R12 + B callbackasm1(SB) + MOVD $45, R12 + B callbackasm1(SB) + MOVD $46, R12 + B callbackasm1(SB) + MOVD $47, R12 + B callbackasm1(SB) + MOVD $48, R12 + B callbackasm1(SB) + MOVD $49, R12 + B callbackasm1(SB) + MOVD $50, R12 + B callbackasm1(SB) + MOVD $51, R12 + B callbackasm1(SB) + MOVD $52, R12 + B callbackasm1(SB) + MOVD $53, R12 + B callbackasm1(SB) + MOVD $54, R12 + B callbackasm1(SB) + MOVD $55, R12 + B callbackasm1(SB) + MOVD $56, R12 + B callbackasm1(SB) + MOVD $57, R12 + B callbackasm1(SB) + MOVD $58, R12 + B callbackasm1(SB) + MOVD $59, R12 + B callbackasm1(SB) + MOVD $60, R12 + B callbackasm1(SB) + MOVD $61, R12 + B callbackasm1(SB) + MOVD $62, R12 + B callbackasm1(SB) + MOVD $63, R12 + B callbackasm1(SB) + MOVD $64, R12 + B callbackasm1(SB) + MOVD $65, R12 + B callbackasm1(SB) + MOVD $66, R12 + B callbackasm1(SB) + MOVD $67, R12 + B callbackasm1(SB) + MOVD $68, R12 + B callbackasm1(SB) + MOVD $69, R12 + B callbackasm1(SB) + MOVD $70, R12 + B callbackasm1(SB) + MOVD $71, R12 + B callbackasm1(SB) + MOVD $72, R12 + B callbackasm1(SB) + MOVD $73, R12 + B callbackasm1(SB) + MOVD $74, R12 + B callbackasm1(SB) + MOVD $75, R12 + B callbackasm1(SB) + MOVD $76, R12 + B callbackasm1(SB) + MOVD $77, R12 + B callbackasm1(SB) + MOVD $78, R12 + B callbackasm1(SB) + MOVD $79, R12 + B callbackasm1(SB) + MOVD $80, R12 + B callbackasm1(SB) + MOVD $81, R12 + B callbackasm1(SB) + MOVD $82, R12 + B callbackasm1(SB) + MOVD $83, R12 + B callbackasm1(SB) + MOVD $84, R12 + B callbackasm1(SB) + MOVD $85, R12 + B callbackasm1(SB) + MOVD $86, R12 + B callbackasm1(SB) + MOVD $87, R12 + B callbackasm1(SB) + MOVD $88, R12 + B callbackasm1(SB) + MOVD $89, R12 + B callbackasm1(SB) + MOVD $90, R12 + B callbackasm1(SB) + MOVD $91, R12 + B callbackasm1(SB) + MOVD $92, R12 + B callbackasm1(SB) + MOVD $93, R12 + B callbackasm1(SB) + MOVD $94, R12 + B callbackasm1(SB) + MOVD $95, R12 + B callbackasm1(SB) + MOVD $96, R12 + B callbackasm1(SB) + MOVD $97, R12 + B callbackasm1(SB) + MOVD $98, R12 + B callbackasm1(SB) + MOVD $99, R12 + B callbackasm1(SB) + MOVD $100, R12 + B callbackasm1(SB) + MOVD $101, R12 + B callbackasm1(SB) + MOVD $102, R12 + B callbackasm1(SB) + MOVD $103, R12 + B callbackasm1(SB) + MOVD $104, R12 + B callbackasm1(SB) + MOVD $105, R12 + B callbackasm1(SB) + MOVD $106, R12 + B callbackasm1(SB) + MOVD $107, R12 + B callbackasm1(SB) + MOVD $108, R12 + B callbackasm1(SB) + MOVD $109, R12 + B callbackasm1(SB) + MOVD $110, R12 + B callbackasm1(SB) + MOVD $111, R12 + B callbackasm1(SB) + MOVD $112, R12 + B callbackasm1(SB) + MOVD $113, R12 + B callbackasm1(SB) + MOVD $114, R12 + B callbackasm1(SB) + MOVD $115, R12 + B callbackasm1(SB) + MOVD $116, R12 + B callbackasm1(SB) + MOVD $117, R12 + B callbackasm1(SB) + MOVD $118, R12 + B callbackasm1(SB) + MOVD $119, R12 + B callbackasm1(SB) + MOVD $120, R12 + B callbackasm1(SB) + MOVD $121, R12 + B callbackasm1(SB) + MOVD $122, R12 + B callbackasm1(SB) + MOVD $123, R12 + B callbackasm1(SB) + MOVD $124, R12 + B callbackasm1(SB) + MOVD $125, R12 + B callbackasm1(SB) + MOVD $126, R12 + B callbackasm1(SB) + MOVD $127, R12 + B callbackasm1(SB) + MOVD $128, R12 + B callbackasm1(SB) + MOVD $129, R12 + B callbackasm1(SB) + MOVD $130, R12 + B callbackasm1(SB) + MOVD $131, R12 + B callbackasm1(SB) + MOVD $132, R12 + B callbackasm1(SB) + MOVD $133, R12 + B callbackasm1(SB) + MOVD $134, R12 + B callbackasm1(SB) + MOVD $135, R12 + B callbackasm1(SB) + MOVD $136, R12 + B callbackasm1(SB) + MOVD $137, R12 + B callbackasm1(SB) + MOVD $138, R12 + B callbackasm1(SB) + MOVD $139, R12 + B callbackasm1(SB) + MOVD $140, R12 + B callbackasm1(SB) + MOVD $141, R12 + B callbackasm1(SB) + MOVD $142, R12 + B callbackasm1(SB) + MOVD $143, R12 + B callbackasm1(SB) + MOVD $144, R12 + B callbackasm1(SB) + MOVD $145, R12 + B callbackasm1(SB) + MOVD $146, R12 + B callbackasm1(SB) + MOVD $147, R12 + B callbackasm1(SB) + MOVD $148, R12 + B callbackasm1(SB) + MOVD $149, R12 + B callbackasm1(SB) + MOVD $150, R12 + B callbackasm1(SB) + MOVD $151, R12 + B callbackasm1(SB) + MOVD $152, R12 + B callbackasm1(SB) + MOVD $153, R12 + B callbackasm1(SB) + MOVD $154, R12 + B callbackasm1(SB) + MOVD $155, R12 + B callbackasm1(SB) + MOVD $156, R12 + B callbackasm1(SB) + MOVD $157, R12 + B callbackasm1(SB) + MOVD $158, R12 + B callbackasm1(SB) + MOVD $159, R12 + B callbackasm1(SB) + MOVD $160, R12 + B callbackasm1(SB) + MOVD $161, R12 + B callbackasm1(SB) + MOVD $162, R12 + B callbackasm1(SB) + MOVD $163, R12 + B callbackasm1(SB) + MOVD $164, R12 + B callbackasm1(SB) + MOVD $165, R12 + B callbackasm1(SB) + MOVD $166, R12 + B callbackasm1(SB) + MOVD $167, R12 + B callbackasm1(SB) + MOVD $168, R12 + B callbackasm1(SB) + MOVD $169, R12 + B callbackasm1(SB) + MOVD $170, R12 + B callbackasm1(SB) + MOVD $171, R12 + B callbackasm1(SB) + MOVD $172, R12 + B callbackasm1(SB) + MOVD $173, R12 + B callbackasm1(SB) + MOVD $174, R12 + B callbackasm1(SB) + MOVD $175, R12 + B callbackasm1(SB) + MOVD $176, R12 + B callbackasm1(SB) + MOVD $177, R12 + B callbackasm1(SB) + MOVD $178, R12 + B callbackasm1(SB) + MOVD $179, R12 + B callbackasm1(SB) + MOVD $180, R12 + B callbackasm1(SB) + MOVD $181, R12 + B callbackasm1(SB) + MOVD $182, R12 + B callbackasm1(SB) + MOVD $183, R12 + B callbackasm1(SB) + MOVD $184, R12 + B callbackasm1(SB) + MOVD $185, R12 + B callbackasm1(SB) + MOVD $186, R12 + B callbackasm1(SB) + MOVD $187, R12 + B callbackasm1(SB) + MOVD $188, R12 + B callbackasm1(SB) + MOVD $189, R12 + B callbackasm1(SB) + MOVD $190, R12 + B callbackasm1(SB) + MOVD $191, R12 + B callbackasm1(SB) + MOVD $192, R12 + B callbackasm1(SB) + MOVD $193, R12 + B callbackasm1(SB) + MOVD $194, R12 + B callbackasm1(SB) + MOVD $195, R12 + B callbackasm1(SB) + MOVD $196, R12 + B callbackasm1(SB) + MOVD $197, R12 + B callbackasm1(SB) + MOVD $198, R12 + B callbackasm1(SB) + MOVD $199, R12 + B callbackasm1(SB) + MOVD $200, R12 + B callbackasm1(SB) + MOVD $201, R12 + B callbackasm1(SB) + MOVD $202, R12 + B callbackasm1(SB) + MOVD $203, R12 + B callbackasm1(SB) + MOVD $204, R12 + B callbackasm1(SB) + MOVD $205, R12 + B callbackasm1(SB) + MOVD $206, R12 + B callbackasm1(SB) + MOVD $207, R12 + B callbackasm1(SB) + MOVD $208, R12 + B callbackasm1(SB) + MOVD $209, R12 + B callbackasm1(SB) + MOVD $210, R12 + B callbackasm1(SB) + MOVD $211, R12 + B callbackasm1(SB) + MOVD $212, R12 + B callbackasm1(SB) + MOVD $213, R12 + B callbackasm1(SB) + MOVD $214, R12 + B callbackasm1(SB) + MOVD $215, R12 + B callbackasm1(SB) + MOVD $216, R12 + B callbackasm1(SB) + MOVD $217, R12 + B callbackasm1(SB) + MOVD $218, R12 + B callbackasm1(SB) + MOVD $219, R12 + B callbackasm1(SB) + MOVD $220, R12 + B callbackasm1(SB) + MOVD $221, R12 + B callbackasm1(SB) + MOVD $222, R12 + B callbackasm1(SB) + MOVD $223, R12 + B callbackasm1(SB) + MOVD $224, R12 + B callbackasm1(SB) + MOVD $225, R12 + B callbackasm1(SB) + MOVD $226, R12 + B callbackasm1(SB) + MOVD $227, R12 + B callbackasm1(SB) + MOVD $228, R12 + B callbackasm1(SB) + MOVD $229, R12 + B callbackasm1(SB) + MOVD $230, R12 + B callbackasm1(SB) + MOVD $231, R12 + B callbackasm1(SB) + MOVD $232, R12 + B callbackasm1(SB) + MOVD $233, R12 + B callbackasm1(SB) + MOVD $234, R12 + B callbackasm1(SB) + MOVD $235, R12 + B callbackasm1(SB) + MOVD $236, R12 + B callbackasm1(SB) + MOVD $237, R12 + B callbackasm1(SB) + MOVD $238, R12 + B callbackasm1(SB) + MOVD $239, R12 + B callbackasm1(SB) + MOVD $240, R12 + B callbackasm1(SB) + MOVD $241, R12 + B callbackasm1(SB) + MOVD $242, R12 + B callbackasm1(SB) + MOVD $243, R12 + B callbackasm1(SB) + MOVD $244, R12 + B callbackasm1(SB) + MOVD $245, R12 + B callbackasm1(SB) + MOVD $246, R12 + B callbackasm1(SB) + MOVD $247, R12 + B callbackasm1(SB) + MOVD $248, R12 + B callbackasm1(SB) + MOVD $249, R12 + B callbackasm1(SB) + MOVD $250, R12 + B callbackasm1(SB) + MOVD $251, R12 + B callbackasm1(SB) + MOVD $252, R12 + B callbackasm1(SB) + MOVD $253, R12 + B callbackasm1(SB) + MOVD $254, R12 + B callbackasm1(SB) + MOVD $255, R12 + B callbackasm1(SB) + MOVD $256, R12 + B callbackasm1(SB) + MOVD $257, R12 + B callbackasm1(SB) + MOVD $258, R12 + B callbackasm1(SB) + MOVD $259, R12 + B callbackasm1(SB) + MOVD $260, R12 + B callbackasm1(SB) + MOVD $261, R12 + B callbackasm1(SB) + MOVD $262, R12 + B callbackasm1(SB) + MOVD $263, R12 + B callbackasm1(SB) + MOVD $264, R12 + B callbackasm1(SB) + MOVD $265, R12 + B callbackasm1(SB) + MOVD $266, R12 + B callbackasm1(SB) + MOVD $267, R12 + B callbackasm1(SB) + MOVD $268, R12 + B callbackasm1(SB) + MOVD $269, R12 + B callbackasm1(SB) + MOVD $270, R12 + B callbackasm1(SB) + MOVD $271, R12 + B callbackasm1(SB) + MOVD $272, R12 + B callbackasm1(SB) + MOVD $273, R12 + B callbackasm1(SB) + MOVD $274, R12 + B callbackasm1(SB) + MOVD $275, R12 + B callbackasm1(SB) + MOVD $276, R12 + B callbackasm1(SB) + MOVD $277, R12 + B callbackasm1(SB) + MOVD $278, R12 + B callbackasm1(SB) + MOVD $279, R12 + B callbackasm1(SB) + MOVD $280, R12 + B callbackasm1(SB) + MOVD $281, R12 + B callbackasm1(SB) + MOVD $282, R12 + B callbackasm1(SB) + MOVD $283, R12 + B callbackasm1(SB) + MOVD $284, R12 + B callbackasm1(SB) + MOVD $285, R12 + B callbackasm1(SB) + MOVD $286, R12 + B callbackasm1(SB) + MOVD $287, R12 + B callbackasm1(SB) + MOVD $288, R12 + B callbackasm1(SB) + MOVD $289, R12 + B callbackasm1(SB) + MOVD $290, R12 + B callbackasm1(SB) + MOVD $291, R12 + B callbackasm1(SB) + MOVD $292, R12 + B callbackasm1(SB) + MOVD $293, R12 + B callbackasm1(SB) + MOVD $294, R12 + B callbackasm1(SB) + MOVD $295, R12 + B callbackasm1(SB) + MOVD $296, R12 + B callbackasm1(SB) + MOVD $297, R12 + B callbackasm1(SB) + MOVD $298, R12 + B callbackasm1(SB) + MOVD $299, R12 + B callbackasm1(SB) + MOVD $300, R12 + B callbackasm1(SB) + MOVD $301, R12 + B callbackasm1(SB) + MOVD $302, R12 + B callbackasm1(SB) + MOVD $303, R12 + B callbackasm1(SB) + MOVD $304, R12 + B callbackasm1(SB) + MOVD $305, R12 + B callbackasm1(SB) + MOVD $306, R12 + B callbackasm1(SB) + MOVD $307, R12 + B callbackasm1(SB) + MOVD $308, R12 + B callbackasm1(SB) + MOVD $309, R12 + B callbackasm1(SB) + MOVD $310, R12 + B callbackasm1(SB) + MOVD $311, R12 + B callbackasm1(SB) + MOVD $312, R12 + B callbackasm1(SB) + MOVD $313, R12 + B callbackasm1(SB) + MOVD $314, R12 + B callbackasm1(SB) + MOVD $315, R12 + B callbackasm1(SB) + MOVD $316, R12 + B callbackasm1(SB) + MOVD $317, R12 + B callbackasm1(SB) + MOVD $318, R12 + B callbackasm1(SB) + MOVD $319, R12 + B callbackasm1(SB) + MOVD $320, R12 + B callbackasm1(SB) + MOVD $321, R12 + B callbackasm1(SB) + MOVD $322, R12 + B callbackasm1(SB) + MOVD $323, R12 + B callbackasm1(SB) + MOVD $324, R12 + B callbackasm1(SB) + MOVD $325, R12 + B callbackasm1(SB) + MOVD $326, R12 + B callbackasm1(SB) + MOVD $327, R12 + B callbackasm1(SB) + MOVD $328, R12 + B callbackasm1(SB) + MOVD $329, R12 + B callbackasm1(SB) + MOVD $330, R12 + B callbackasm1(SB) + MOVD $331, R12 + B callbackasm1(SB) + MOVD $332, R12 + B callbackasm1(SB) + MOVD $333, R12 + B callbackasm1(SB) + MOVD $334, R12 + B callbackasm1(SB) + MOVD $335, R12 + B callbackasm1(SB) + MOVD $336, R12 + B callbackasm1(SB) + MOVD $337, R12 + B callbackasm1(SB) + MOVD $338, R12 + B callbackasm1(SB) + MOVD $339, R12 + B callbackasm1(SB) + MOVD $340, R12 + B callbackasm1(SB) + MOVD $341, R12 + B callbackasm1(SB) + MOVD $342, R12 + B callbackasm1(SB) + MOVD $343, R12 + B callbackasm1(SB) + MOVD $344, R12 + B callbackasm1(SB) + MOVD $345, R12 + B callbackasm1(SB) + MOVD $346, R12 + B callbackasm1(SB) + MOVD $347, R12 + B callbackasm1(SB) + MOVD $348, R12 + B callbackasm1(SB) + MOVD $349, R12 + B callbackasm1(SB) + MOVD $350, R12 + B callbackasm1(SB) + MOVD $351, R12 + B callbackasm1(SB) + MOVD $352, R12 + B callbackasm1(SB) + MOVD $353, R12 + B callbackasm1(SB) + MOVD $354, R12 + B callbackasm1(SB) + MOVD $355, R12 + B callbackasm1(SB) + MOVD $356, R12 + B callbackasm1(SB) + MOVD $357, R12 + B callbackasm1(SB) + MOVD $358, R12 + B callbackasm1(SB) + MOVD $359, R12 + B callbackasm1(SB) + MOVD $360, R12 + B callbackasm1(SB) + MOVD $361, R12 + B callbackasm1(SB) + MOVD $362, R12 + B callbackasm1(SB) + MOVD $363, R12 + B callbackasm1(SB) + MOVD $364, R12 + B callbackasm1(SB) + MOVD $365, R12 + B callbackasm1(SB) + MOVD $366, R12 + B callbackasm1(SB) + MOVD $367, R12 + B callbackasm1(SB) + MOVD $368, R12 + B callbackasm1(SB) + MOVD $369, R12 + B callbackasm1(SB) + MOVD $370, R12 + B callbackasm1(SB) + MOVD $371, R12 + B callbackasm1(SB) + MOVD $372, R12 + B callbackasm1(SB) + MOVD $373, R12 + B callbackasm1(SB) + MOVD $374, R12 + B callbackasm1(SB) + MOVD $375, R12 + B callbackasm1(SB) + MOVD $376, R12 + B callbackasm1(SB) + MOVD $377, R12 + B callbackasm1(SB) + MOVD $378, R12 + B callbackasm1(SB) + MOVD $379, R12 + B callbackasm1(SB) + MOVD $380, R12 + B callbackasm1(SB) + MOVD $381, R12 + B callbackasm1(SB) + MOVD $382, R12 + B callbackasm1(SB) + MOVD $383, R12 + B callbackasm1(SB) + MOVD $384, R12 + B callbackasm1(SB) + MOVD $385, R12 + B callbackasm1(SB) + MOVD $386, R12 + B callbackasm1(SB) + MOVD $387, R12 + B callbackasm1(SB) + MOVD $388, R12 + B callbackasm1(SB) + MOVD $389, R12 + B callbackasm1(SB) + MOVD $390, R12 + B callbackasm1(SB) + MOVD $391, R12 + B callbackasm1(SB) + MOVD $392, R12 + B callbackasm1(SB) + MOVD $393, R12 + B callbackasm1(SB) + MOVD $394, R12 + B callbackasm1(SB) + MOVD $395, R12 + B callbackasm1(SB) + MOVD $396, R12 + B callbackasm1(SB) + MOVD $397, R12 + B callbackasm1(SB) + MOVD $398, R12 + B callbackasm1(SB) + MOVD $399, R12 + B callbackasm1(SB) + MOVD $400, R12 + B callbackasm1(SB) + MOVD $401, R12 + B callbackasm1(SB) + MOVD $402, R12 + B callbackasm1(SB) + MOVD $403, R12 + B callbackasm1(SB) + MOVD $404, R12 + B callbackasm1(SB) + MOVD $405, R12 + B callbackasm1(SB) + MOVD $406, R12 + B callbackasm1(SB) + MOVD $407, R12 + B callbackasm1(SB) + MOVD $408, R12 + B callbackasm1(SB) + MOVD $409, R12 + B callbackasm1(SB) + MOVD $410, R12 + B callbackasm1(SB) + MOVD $411, R12 + B callbackasm1(SB) + MOVD $412, R12 + B callbackasm1(SB) + MOVD $413, R12 + B callbackasm1(SB) + MOVD $414, R12 + B callbackasm1(SB) + MOVD $415, R12 + B callbackasm1(SB) + MOVD $416, R12 + B callbackasm1(SB) + MOVD $417, R12 + B callbackasm1(SB) + MOVD $418, R12 + B callbackasm1(SB) + MOVD $419, R12 + B callbackasm1(SB) + MOVD $420, R12 + B callbackasm1(SB) + MOVD $421, R12 + B callbackasm1(SB) + MOVD $422, R12 + B callbackasm1(SB) + MOVD $423, R12 + B callbackasm1(SB) + MOVD $424, R12 + B callbackasm1(SB) + MOVD $425, R12 + B callbackasm1(SB) + MOVD $426, R12 + B callbackasm1(SB) + MOVD $427, R12 + B callbackasm1(SB) + MOVD $428, R12 + B callbackasm1(SB) + MOVD $429, R12 + B callbackasm1(SB) + MOVD $430, R12 + B callbackasm1(SB) + MOVD $431, R12 + B callbackasm1(SB) + MOVD $432, R12 + B callbackasm1(SB) + MOVD $433, R12 + B callbackasm1(SB) + MOVD $434, R12 + B callbackasm1(SB) + MOVD $435, R12 + B callbackasm1(SB) + MOVD $436, R12 + B callbackasm1(SB) + MOVD $437, R12 + B callbackasm1(SB) + MOVD $438, R12 + B callbackasm1(SB) + MOVD $439, R12 + B callbackasm1(SB) + MOVD $440, R12 + B callbackasm1(SB) + MOVD $441, R12 + B callbackasm1(SB) + MOVD $442, R12 + B callbackasm1(SB) + MOVD $443, R12 + B callbackasm1(SB) + MOVD $444, R12 + B callbackasm1(SB) + MOVD $445, R12 + B callbackasm1(SB) + MOVD $446, R12 + B callbackasm1(SB) + MOVD $447, R12 + B callbackasm1(SB) + MOVD $448, R12 + B callbackasm1(SB) + MOVD $449, R12 + B callbackasm1(SB) + MOVD $450, R12 + B callbackasm1(SB) + MOVD $451, R12 + B callbackasm1(SB) + MOVD $452, R12 + B callbackasm1(SB) + MOVD $453, R12 + B callbackasm1(SB) + MOVD $454, R12 + B callbackasm1(SB) + MOVD $455, R12 + B callbackasm1(SB) + MOVD $456, R12 + B callbackasm1(SB) + MOVD $457, R12 + B callbackasm1(SB) + MOVD $458, R12 + B callbackasm1(SB) + MOVD $459, R12 + B callbackasm1(SB) + MOVD $460, R12 + B callbackasm1(SB) + MOVD $461, R12 + B callbackasm1(SB) + MOVD $462, R12 + B callbackasm1(SB) + MOVD $463, R12 + B callbackasm1(SB) + MOVD $464, R12 + B callbackasm1(SB) + MOVD $465, R12 + B callbackasm1(SB) + MOVD $466, R12 + B callbackasm1(SB) + MOVD $467, R12 + B callbackasm1(SB) + MOVD $468, R12 + B callbackasm1(SB) + MOVD $469, R12 + B callbackasm1(SB) + MOVD $470, R12 + B callbackasm1(SB) + MOVD $471, R12 + B callbackasm1(SB) + MOVD $472, R12 + B callbackasm1(SB) + MOVD $473, R12 + B callbackasm1(SB) + MOVD $474, R12 + B callbackasm1(SB) + MOVD $475, R12 + B callbackasm1(SB) + MOVD $476, R12 + B callbackasm1(SB) + MOVD $477, R12 + B callbackasm1(SB) + MOVD $478, R12 + B callbackasm1(SB) + MOVD $479, R12 + B callbackasm1(SB) + MOVD $480, R12 + B callbackasm1(SB) + MOVD $481, R12 + B callbackasm1(SB) + MOVD $482, R12 + B callbackasm1(SB) + MOVD $483, R12 + B callbackasm1(SB) + MOVD $484, R12 + B callbackasm1(SB) + MOVD $485, R12 + B callbackasm1(SB) + MOVD $486, R12 + B callbackasm1(SB) + MOVD $487, R12 + B callbackasm1(SB) + MOVD $488, R12 + B callbackasm1(SB) + MOVD $489, R12 + B callbackasm1(SB) + MOVD $490, R12 + B callbackasm1(SB) + MOVD $491, R12 + B callbackasm1(SB) + MOVD $492, R12 + B callbackasm1(SB) + MOVD $493, R12 + B callbackasm1(SB) + MOVD $494, R12 + B callbackasm1(SB) + MOVD $495, R12 + B callbackasm1(SB) + MOVD $496, R12 + B callbackasm1(SB) + MOVD $497, R12 + B callbackasm1(SB) + MOVD $498, R12 + B callbackasm1(SB) + MOVD $499, R12 + B callbackasm1(SB) + MOVD $500, R12 + B callbackasm1(SB) + MOVD $501, R12 + B callbackasm1(SB) + MOVD $502, R12 + B callbackasm1(SB) + MOVD $503, R12 + B callbackasm1(SB) + MOVD $504, R12 + B callbackasm1(SB) + MOVD $505, R12 + B callbackasm1(SB) + MOVD $506, R12 + B callbackasm1(SB) + MOVD $507, R12 + B callbackasm1(SB) + MOVD $508, R12 + B callbackasm1(SB) + MOVD $509, R12 + B callbackasm1(SB) + MOVD $510, R12 + B callbackasm1(SB) + MOVD $511, R12 + B callbackasm1(SB) + MOVD $512, R12 + B callbackasm1(SB) + MOVD $513, R12 + B callbackasm1(SB) + MOVD $514, R12 + B callbackasm1(SB) + MOVD $515, R12 + B callbackasm1(SB) + MOVD $516, R12 + B callbackasm1(SB) + MOVD $517, R12 + B callbackasm1(SB) + MOVD $518, R12 + B callbackasm1(SB) + MOVD $519, R12 + B callbackasm1(SB) + MOVD $520, R12 + B callbackasm1(SB) + MOVD $521, R12 + B callbackasm1(SB) + MOVD $522, R12 + B callbackasm1(SB) + MOVD $523, R12 + B callbackasm1(SB) + MOVD $524, R12 + B callbackasm1(SB) + MOVD $525, R12 + B callbackasm1(SB) + MOVD $526, R12 + B callbackasm1(SB) + MOVD $527, R12 + B callbackasm1(SB) + MOVD $528, R12 + B callbackasm1(SB) + MOVD $529, R12 + B callbackasm1(SB) + MOVD $530, R12 + B callbackasm1(SB) + MOVD $531, R12 + B callbackasm1(SB) + MOVD $532, R12 + B callbackasm1(SB) + MOVD $533, R12 + B callbackasm1(SB) + MOVD $534, R12 + B callbackasm1(SB) + MOVD $535, R12 + B callbackasm1(SB) + MOVD $536, R12 + B callbackasm1(SB) + MOVD $537, R12 + B callbackasm1(SB) + MOVD $538, R12 + B callbackasm1(SB) + MOVD $539, R12 + B callbackasm1(SB) + MOVD $540, R12 + B callbackasm1(SB) + MOVD $541, R12 + B callbackasm1(SB) + MOVD $542, R12 + B callbackasm1(SB) + MOVD $543, R12 + B callbackasm1(SB) + MOVD $544, R12 + B callbackasm1(SB) + MOVD $545, R12 + B callbackasm1(SB) + MOVD $546, R12 + B callbackasm1(SB) + MOVD $547, R12 + B callbackasm1(SB) + MOVD $548, R12 + B callbackasm1(SB) + MOVD $549, R12 + B callbackasm1(SB) + MOVD $550, R12 + B callbackasm1(SB) + MOVD $551, R12 + B callbackasm1(SB) + MOVD $552, R12 + B callbackasm1(SB) + MOVD $553, R12 + B callbackasm1(SB) + MOVD $554, R12 + B callbackasm1(SB) + MOVD $555, R12 + B callbackasm1(SB) + MOVD $556, R12 + B callbackasm1(SB) + MOVD $557, R12 + B callbackasm1(SB) + MOVD $558, R12 + B callbackasm1(SB) + MOVD $559, R12 + B callbackasm1(SB) + MOVD $560, R12 + B callbackasm1(SB) + MOVD $561, R12 + B callbackasm1(SB) + MOVD $562, R12 + B callbackasm1(SB) + MOVD $563, R12 + B callbackasm1(SB) + MOVD $564, R12 + B callbackasm1(SB) + MOVD $565, R12 + B callbackasm1(SB) + MOVD $566, R12 + B callbackasm1(SB) + MOVD $567, R12 + B callbackasm1(SB) + MOVD $568, R12 + B callbackasm1(SB) + MOVD $569, R12 + B callbackasm1(SB) + MOVD $570, R12 + B callbackasm1(SB) + MOVD $571, R12 + B callbackasm1(SB) + MOVD $572, R12 + B callbackasm1(SB) + MOVD $573, R12 + B callbackasm1(SB) + MOVD $574, R12 + B callbackasm1(SB) + MOVD $575, R12 + B callbackasm1(SB) + MOVD $576, R12 + B callbackasm1(SB) + MOVD $577, R12 + B callbackasm1(SB) + MOVD $578, R12 + B callbackasm1(SB) + MOVD $579, R12 + B callbackasm1(SB) + MOVD $580, R12 + B callbackasm1(SB) + MOVD $581, R12 + B callbackasm1(SB) + MOVD $582, R12 + B callbackasm1(SB) + MOVD $583, R12 + B callbackasm1(SB) + MOVD $584, R12 + B callbackasm1(SB) + MOVD $585, R12 + B callbackasm1(SB) + MOVD $586, R12 + B callbackasm1(SB) + MOVD $587, R12 + B callbackasm1(SB) + MOVD $588, R12 + B callbackasm1(SB) + MOVD $589, R12 + B callbackasm1(SB) + MOVD $590, R12 + B callbackasm1(SB) + MOVD $591, R12 + B callbackasm1(SB) + MOVD $592, R12 + B callbackasm1(SB) + MOVD $593, R12 + B callbackasm1(SB) + MOVD $594, R12 + B callbackasm1(SB) + MOVD $595, R12 + B callbackasm1(SB) + MOVD $596, R12 + B callbackasm1(SB) + MOVD $597, R12 + B callbackasm1(SB) + MOVD $598, R12 + B callbackasm1(SB) + MOVD $599, R12 + B callbackasm1(SB) + MOVD $600, R12 + B callbackasm1(SB) + MOVD $601, R12 + B callbackasm1(SB) + MOVD $602, R12 + B callbackasm1(SB) + MOVD $603, R12 + B callbackasm1(SB) + MOVD $604, R12 + B callbackasm1(SB) + MOVD $605, R12 + B callbackasm1(SB) + MOVD $606, R12 + B callbackasm1(SB) + MOVD $607, R12 + B callbackasm1(SB) + MOVD $608, R12 + B callbackasm1(SB) + MOVD $609, R12 + B callbackasm1(SB) + MOVD $610, R12 + B callbackasm1(SB) + MOVD $611, R12 + B callbackasm1(SB) + MOVD $612, R12 + B callbackasm1(SB) + MOVD $613, R12 + B callbackasm1(SB) + MOVD $614, R12 + B callbackasm1(SB) + MOVD $615, R12 + B callbackasm1(SB) + MOVD $616, R12 + B callbackasm1(SB) + MOVD $617, R12 + B callbackasm1(SB) + MOVD $618, R12 + B callbackasm1(SB) + MOVD $619, R12 + B callbackasm1(SB) + MOVD $620, R12 + B callbackasm1(SB) + MOVD $621, R12 + B callbackasm1(SB) + MOVD $622, R12 + B callbackasm1(SB) + MOVD $623, R12 + B callbackasm1(SB) + MOVD $624, R12 + B callbackasm1(SB) + MOVD $625, R12 + B callbackasm1(SB) + MOVD $626, R12 + B callbackasm1(SB) + MOVD $627, R12 + B callbackasm1(SB) + MOVD $628, R12 + B callbackasm1(SB) + MOVD $629, R12 + B callbackasm1(SB) + MOVD $630, R12 + B callbackasm1(SB) + MOVD $631, R12 + B callbackasm1(SB) + MOVD $632, R12 + B callbackasm1(SB) + MOVD $633, R12 + B callbackasm1(SB) + MOVD $634, R12 + B callbackasm1(SB) + MOVD $635, R12 + B callbackasm1(SB) + MOVD $636, R12 + B callbackasm1(SB) + MOVD $637, R12 + B callbackasm1(SB) + MOVD $638, R12 + B callbackasm1(SB) + MOVD $639, R12 + B callbackasm1(SB) + MOVD $640, R12 + B callbackasm1(SB) + MOVD $641, R12 + B callbackasm1(SB) + MOVD $642, R12 + B callbackasm1(SB) + MOVD $643, R12 + B callbackasm1(SB) + MOVD $644, R12 + B callbackasm1(SB) + MOVD $645, R12 + B callbackasm1(SB) + MOVD $646, R12 + B callbackasm1(SB) + MOVD $647, R12 + B callbackasm1(SB) + MOVD $648, R12 + B callbackasm1(SB) + MOVD $649, R12 + B callbackasm1(SB) + MOVD $650, R12 + B callbackasm1(SB) + MOVD $651, R12 + B callbackasm1(SB) + MOVD $652, R12 + B callbackasm1(SB) + MOVD $653, R12 + B callbackasm1(SB) + MOVD $654, R12 + B callbackasm1(SB) + MOVD $655, R12 + B callbackasm1(SB) + MOVD $656, R12 + B callbackasm1(SB) + MOVD $657, R12 + B callbackasm1(SB) + MOVD $658, R12 + B callbackasm1(SB) + MOVD $659, R12 + B callbackasm1(SB) + MOVD $660, R12 + B callbackasm1(SB) + MOVD $661, R12 + B callbackasm1(SB) + MOVD $662, R12 + B callbackasm1(SB) + MOVD $663, R12 + B callbackasm1(SB) + MOVD $664, R12 + B callbackasm1(SB) + MOVD $665, R12 + B callbackasm1(SB) + MOVD $666, R12 + B callbackasm1(SB) + MOVD $667, R12 + B callbackasm1(SB) + MOVD $668, R12 + B callbackasm1(SB) + MOVD $669, R12 + B callbackasm1(SB) + MOVD $670, R12 + B callbackasm1(SB) + MOVD $671, R12 + B callbackasm1(SB) + MOVD $672, R12 + B callbackasm1(SB) + MOVD $673, R12 + B callbackasm1(SB) + MOVD $674, R12 + B callbackasm1(SB) + MOVD $675, R12 + B callbackasm1(SB) + MOVD $676, R12 + B callbackasm1(SB) + MOVD $677, R12 + B callbackasm1(SB) + MOVD $678, R12 + B callbackasm1(SB) + MOVD $679, R12 + B callbackasm1(SB) + MOVD $680, R12 + B callbackasm1(SB) + MOVD $681, R12 + B callbackasm1(SB) + MOVD $682, R12 + B callbackasm1(SB) + MOVD $683, R12 + B callbackasm1(SB) + MOVD $684, R12 + B callbackasm1(SB) + MOVD $685, R12 + B callbackasm1(SB) + MOVD $686, R12 + B callbackasm1(SB) + MOVD $687, R12 + B callbackasm1(SB) + MOVD $688, R12 + B callbackasm1(SB) + MOVD $689, R12 + B callbackasm1(SB) + MOVD $690, R12 + B callbackasm1(SB) + MOVD $691, R12 + B callbackasm1(SB) + MOVD $692, R12 + B callbackasm1(SB) + MOVD $693, R12 + B callbackasm1(SB) + MOVD $694, R12 + B callbackasm1(SB) + MOVD $695, R12 + B callbackasm1(SB) + MOVD $696, R12 + B callbackasm1(SB) + MOVD $697, R12 + B callbackasm1(SB) + MOVD $698, R12 + B callbackasm1(SB) + MOVD $699, R12 + B callbackasm1(SB) + MOVD $700, R12 + B callbackasm1(SB) + MOVD $701, R12 + B callbackasm1(SB) + MOVD $702, R12 + B callbackasm1(SB) + MOVD $703, R12 + B callbackasm1(SB) + MOVD $704, R12 + B callbackasm1(SB) + MOVD $705, R12 + B callbackasm1(SB) + MOVD $706, R12 + B callbackasm1(SB) + MOVD $707, R12 + B callbackasm1(SB) + MOVD $708, R12 + B callbackasm1(SB) + MOVD $709, R12 + B callbackasm1(SB) + MOVD $710, R12 + B callbackasm1(SB) + MOVD $711, R12 + B callbackasm1(SB) + MOVD $712, R12 + B callbackasm1(SB) + MOVD $713, R12 + B callbackasm1(SB) + MOVD $714, R12 + B callbackasm1(SB) + MOVD $715, R12 + B callbackasm1(SB) + MOVD $716, R12 + B callbackasm1(SB) + MOVD $717, R12 + B callbackasm1(SB) + MOVD $718, R12 + B callbackasm1(SB) + MOVD $719, R12 + B callbackasm1(SB) + MOVD $720, R12 + B callbackasm1(SB) + MOVD $721, R12 + B callbackasm1(SB) + MOVD $722, R12 + B callbackasm1(SB) + MOVD $723, R12 + B callbackasm1(SB) + MOVD $724, R12 + B callbackasm1(SB) + MOVD $725, R12 + B callbackasm1(SB) + MOVD $726, R12 + B callbackasm1(SB) + MOVD $727, R12 + B callbackasm1(SB) + MOVD $728, R12 + B callbackasm1(SB) + MOVD $729, R12 + B callbackasm1(SB) + MOVD $730, R12 + B callbackasm1(SB) + MOVD $731, R12 + B callbackasm1(SB) + MOVD $732, R12 + B callbackasm1(SB) + MOVD $733, R12 + B callbackasm1(SB) + MOVD $734, R12 + B callbackasm1(SB) + MOVD $735, R12 + B callbackasm1(SB) + MOVD $736, R12 + B callbackasm1(SB) + MOVD $737, R12 + B callbackasm1(SB) + MOVD $738, R12 + B callbackasm1(SB) + MOVD $739, R12 + B callbackasm1(SB) + MOVD $740, R12 + B callbackasm1(SB) + MOVD $741, R12 + B callbackasm1(SB) + MOVD $742, R12 + B callbackasm1(SB) + MOVD $743, R12 + B callbackasm1(SB) + MOVD $744, R12 + B callbackasm1(SB) + MOVD $745, R12 + B callbackasm1(SB) + MOVD $746, R12 + B callbackasm1(SB) + MOVD $747, R12 + B callbackasm1(SB) + MOVD $748, R12 + B callbackasm1(SB) + MOVD $749, R12 + B callbackasm1(SB) + MOVD $750, R12 + B callbackasm1(SB) + MOVD $751, R12 + B callbackasm1(SB) + MOVD $752, R12 + B callbackasm1(SB) + MOVD $753, R12 + B callbackasm1(SB) + MOVD $754, R12 + B callbackasm1(SB) + MOVD $755, R12 + B callbackasm1(SB) + MOVD $756, R12 + B callbackasm1(SB) + MOVD $757, R12 + B callbackasm1(SB) + MOVD $758, R12 + B callbackasm1(SB) + MOVD $759, R12 + B callbackasm1(SB) + MOVD $760, R12 + B callbackasm1(SB) + MOVD $761, R12 + B callbackasm1(SB) + MOVD $762, R12 + B callbackasm1(SB) + MOVD $763, R12 + B callbackasm1(SB) + MOVD $764, R12 + B callbackasm1(SB) + MOVD $765, R12 + B callbackasm1(SB) + MOVD $766, R12 + B callbackasm1(SB) + MOVD $767, R12 + B callbackasm1(SB) + MOVD $768, R12 + B callbackasm1(SB) + MOVD $769, R12 + B callbackasm1(SB) + MOVD $770, R12 + B callbackasm1(SB) + MOVD $771, R12 + B callbackasm1(SB) + MOVD $772, R12 + B callbackasm1(SB) + MOVD $773, R12 + B callbackasm1(SB) + MOVD $774, R12 + B callbackasm1(SB) + MOVD $775, R12 + B callbackasm1(SB) + MOVD $776, R12 + B callbackasm1(SB) + MOVD $777, R12 + B callbackasm1(SB) + MOVD $778, R12 + B callbackasm1(SB) + MOVD $779, R12 + B callbackasm1(SB) + MOVD $780, R12 + B callbackasm1(SB) + MOVD $781, R12 + B callbackasm1(SB) + MOVD $782, R12 + B callbackasm1(SB) + MOVD $783, R12 + B callbackasm1(SB) + MOVD $784, R12 + B callbackasm1(SB) + MOVD $785, R12 + B callbackasm1(SB) + MOVD $786, R12 + B callbackasm1(SB) + MOVD $787, R12 + B callbackasm1(SB) + MOVD $788, R12 + B callbackasm1(SB) + MOVD $789, R12 + B callbackasm1(SB) + MOVD $790, R12 + B callbackasm1(SB) + MOVD $791, R12 + B callbackasm1(SB) + MOVD $792, R12 + B callbackasm1(SB) + MOVD $793, R12 + B callbackasm1(SB) + MOVD $794, R12 + B callbackasm1(SB) + MOVD $795, R12 + B callbackasm1(SB) + MOVD $796, R12 + B callbackasm1(SB) + MOVD $797, R12 + B callbackasm1(SB) + MOVD $798, R12 + B callbackasm1(SB) + MOVD $799, R12 + B callbackasm1(SB) + MOVD $800, R12 + B callbackasm1(SB) + MOVD $801, R12 + B callbackasm1(SB) + MOVD $802, R12 + B callbackasm1(SB) + MOVD $803, R12 + B callbackasm1(SB) + MOVD $804, R12 + B callbackasm1(SB) + MOVD $805, R12 + B callbackasm1(SB) + MOVD $806, R12 + B callbackasm1(SB) + MOVD $807, R12 + B callbackasm1(SB) + MOVD $808, R12 + B callbackasm1(SB) + MOVD $809, R12 + B callbackasm1(SB) + MOVD $810, R12 + B callbackasm1(SB) + MOVD $811, R12 + B callbackasm1(SB) + MOVD $812, R12 + B callbackasm1(SB) + MOVD $813, R12 + B callbackasm1(SB) + MOVD $814, R12 + B callbackasm1(SB) + MOVD $815, R12 + B callbackasm1(SB) + MOVD $816, R12 + B callbackasm1(SB) + MOVD $817, R12 + B callbackasm1(SB) + MOVD $818, R12 + B callbackasm1(SB) + MOVD $819, R12 + B callbackasm1(SB) + MOVD $820, R12 + B callbackasm1(SB) + MOVD $821, R12 + B callbackasm1(SB) + MOVD $822, R12 + B callbackasm1(SB) + MOVD $823, R12 + B callbackasm1(SB) + MOVD $824, R12 + B callbackasm1(SB) + MOVD $825, R12 + B callbackasm1(SB) + MOVD $826, R12 + B callbackasm1(SB) + MOVD $827, R12 + B callbackasm1(SB) + MOVD $828, R12 + B callbackasm1(SB) + MOVD $829, R12 + B callbackasm1(SB) + MOVD $830, R12 + B callbackasm1(SB) + MOVD $831, R12 + B callbackasm1(SB) + MOVD $832, R12 + B callbackasm1(SB) + MOVD $833, R12 + B callbackasm1(SB) + MOVD $834, R12 + B callbackasm1(SB) + MOVD $835, R12 + B callbackasm1(SB) + MOVD $836, R12 + B callbackasm1(SB) + MOVD $837, R12 + B callbackasm1(SB) + MOVD $838, R12 + B callbackasm1(SB) + MOVD $839, R12 + B callbackasm1(SB) + MOVD $840, R12 + B callbackasm1(SB) + MOVD $841, R12 + B callbackasm1(SB) + MOVD $842, R12 + B callbackasm1(SB) + MOVD $843, R12 + B callbackasm1(SB) + MOVD $844, R12 + B callbackasm1(SB) + MOVD $845, R12 + B callbackasm1(SB) + MOVD $846, R12 + B callbackasm1(SB) + MOVD $847, R12 + B callbackasm1(SB) + MOVD $848, R12 + B callbackasm1(SB) + MOVD $849, R12 + B callbackasm1(SB) + MOVD $850, R12 + B callbackasm1(SB) + MOVD $851, R12 + B callbackasm1(SB) + MOVD $852, R12 + B callbackasm1(SB) + MOVD $853, R12 + B callbackasm1(SB) + MOVD $854, R12 + B callbackasm1(SB) + MOVD $855, R12 + B callbackasm1(SB) + MOVD $856, R12 + B callbackasm1(SB) + MOVD $857, R12 + B callbackasm1(SB) + MOVD $858, R12 + B callbackasm1(SB) + MOVD $859, R12 + B callbackasm1(SB) + MOVD $860, R12 + B callbackasm1(SB) + MOVD $861, R12 + B callbackasm1(SB) + MOVD $862, R12 + B callbackasm1(SB) + MOVD $863, R12 + B callbackasm1(SB) + MOVD $864, R12 + B callbackasm1(SB) + MOVD $865, R12 + B callbackasm1(SB) + MOVD $866, R12 + B callbackasm1(SB) + MOVD $867, R12 + B callbackasm1(SB) + MOVD $868, R12 + B callbackasm1(SB) + MOVD $869, R12 + B callbackasm1(SB) + MOVD $870, R12 + B callbackasm1(SB) + MOVD $871, R12 + B callbackasm1(SB) + MOVD $872, R12 + B callbackasm1(SB) + MOVD $873, R12 + B callbackasm1(SB) + MOVD $874, R12 + B callbackasm1(SB) + MOVD $875, R12 + B callbackasm1(SB) + MOVD $876, R12 + B callbackasm1(SB) + MOVD $877, R12 + B callbackasm1(SB) + MOVD $878, R12 + B callbackasm1(SB) + MOVD $879, R12 + B callbackasm1(SB) + MOVD $880, R12 + B callbackasm1(SB) + MOVD $881, R12 + B callbackasm1(SB) + MOVD $882, R12 + B callbackasm1(SB) + MOVD $883, R12 + B callbackasm1(SB) + MOVD $884, R12 + B callbackasm1(SB) + MOVD $885, R12 + B callbackasm1(SB) + MOVD $886, R12 + B callbackasm1(SB) + MOVD $887, R12 + B callbackasm1(SB) + MOVD $888, R12 + B callbackasm1(SB) + MOVD $889, R12 + B callbackasm1(SB) + MOVD $890, R12 + B callbackasm1(SB) + MOVD $891, R12 + B callbackasm1(SB) + MOVD $892, R12 + B callbackasm1(SB) + MOVD $893, R12 + B callbackasm1(SB) + MOVD $894, R12 + B callbackasm1(SB) + MOVD $895, R12 + B callbackasm1(SB) + MOVD $896, R12 + B callbackasm1(SB) + MOVD $897, R12 + B callbackasm1(SB) + MOVD $898, R12 + B callbackasm1(SB) + MOVD $899, R12 + B callbackasm1(SB) + MOVD $900, R12 + B callbackasm1(SB) + MOVD $901, R12 + B callbackasm1(SB) + MOVD $902, R12 + B callbackasm1(SB) + MOVD $903, R12 + B callbackasm1(SB) + MOVD $904, R12 + B callbackasm1(SB) + MOVD $905, R12 + B callbackasm1(SB) + MOVD $906, R12 + B callbackasm1(SB) + MOVD $907, R12 + B callbackasm1(SB) + MOVD $908, R12 + B callbackasm1(SB) + MOVD $909, R12 + B callbackasm1(SB) + MOVD $910, R12 + B callbackasm1(SB) + MOVD $911, R12 + B callbackasm1(SB) + MOVD $912, R12 + B callbackasm1(SB) + MOVD $913, R12 + B callbackasm1(SB) + MOVD $914, R12 + B callbackasm1(SB) + MOVD $915, R12 + B callbackasm1(SB) + MOVD $916, R12 + B callbackasm1(SB) + MOVD $917, R12 + B callbackasm1(SB) + MOVD $918, R12 + B callbackasm1(SB) + MOVD $919, R12 + B callbackasm1(SB) + MOVD $920, R12 + B callbackasm1(SB) + MOVD $921, R12 + B callbackasm1(SB) + MOVD $922, R12 + B callbackasm1(SB) + MOVD $923, R12 + B callbackasm1(SB) + MOVD $924, R12 + B callbackasm1(SB) + MOVD $925, R12 + B callbackasm1(SB) + MOVD $926, R12 + B callbackasm1(SB) + MOVD $927, R12 + B callbackasm1(SB) + MOVD $928, R12 + B callbackasm1(SB) + MOVD $929, R12 + B callbackasm1(SB) + MOVD $930, R12 + B callbackasm1(SB) + MOVD $931, R12 + B callbackasm1(SB) + MOVD $932, R12 + B callbackasm1(SB) + MOVD $933, R12 + B callbackasm1(SB) + MOVD $934, R12 + B callbackasm1(SB) + MOVD $935, R12 + B callbackasm1(SB) + MOVD $936, R12 + B callbackasm1(SB) + MOVD $937, R12 + B callbackasm1(SB) + MOVD $938, R12 + B callbackasm1(SB) + MOVD $939, R12 + B callbackasm1(SB) + MOVD $940, R12 + B callbackasm1(SB) + MOVD $941, R12 + B callbackasm1(SB) + MOVD $942, R12 + B callbackasm1(SB) + MOVD $943, R12 + B callbackasm1(SB) + MOVD $944, R12 + B callbackasm1(SB) + MOVD $945, R12 + B callbackasm1(SB) + MOVD $946, R12 + B callbackasm1(SB) + MOVD $947, R12 + B callbackasm1(SB) + MOVD $948, R12 + B callbackasm1(SB) + MOVD $949, R12 + B callbackasm1(SB) + MOVD $950, R12 + B callbackasm1(SB) + MOVD $951, R12 + B callbackasm1(SB) + MOVD $952, R12 + B callbackasm1(SB) + MOVD $953, R12 + B callbackasm1(SB) + MOVD $954, R12 + B callbackasm1(SB) + MOVD $955, R12 + B callbackasm1(SB) + MOVD $956, R12 + B callbackasm1(SB) + MOVD $957, R12 + B callbackasm1(SB) + MOVD $958, R12 + B callbackasm1(SB) + MOVD $959, R12 + B callbackasm1(SB) + MOVD $960, R12 + B callbackasm1(SB) + MOVD $961, R12 + B callbackasm1(SB) + MOVD $962, R12 + B callbackasm1(SB) + MOVD $963, R12 + B callbackasm1(SB) + MOVD $964, R12 + B callbackasm1(SB) + MOVD $965, R12 + B callbackasm1(SB) + MOVD $966, R12 + B callbackasm1(SB) + MOVD $967, R12 + B callbackasm1(SB) + MOVD $968, R12 + B callbackasm1(SB) + MOVD $969, R12 + B callbackasm1(SB) + MOVD $970, R12 + B callbackasm1(SB) + MOVD $971, R12 + B callbackasm1(SB) + MOVD $972, R12 + B callbackasm1(SB) + MOVD $973, R12 + B callbackasm1(SB) + MOVD $974, R12 + B callbackasm1(SB) + MOVD $975, R12 + B callbackasm1(SB) + MOVD $976, R12 + B callbackasm1(SB) + MOVD $977, R12 + B callbackasm1(SB) + MOVD $978, R12 + B callbackasm1(SB) + MOVD $979, R12 + B callbackasm1(SB) + MOVD $980, R12 + B callbackasm1(SB) + MOVD $981, R12 + B callbackasm1(SB) + MOVD $982, R12 + B callbackasm1(SB) + MOVD $983, R12 + B callbackasm1(SB) + MOVD $984, R12 + B callbackasm1(SB) + MOVD $985, R12 + B callbackasm1(SB) + MOVD $986, R12 + B callbackasm1(SB) + MOVD $987, R12 + B callbackasm1(SB) + MOVD $988, R12 + B callbackasm1(SB) + MOVD $989, R12 + B callbackasm1(SB) + MOVD $990, R12 + B callbackasm1(SB) + MOVD $991, R12 + B callbackasm1(SB) + MOVD $992, R12 + B callbackasm1(SB) + MOVD $993, R12 + B callbackasm1(SB) + MOVD $994, R12 + B callbackasm1(SB) + MOVD $995, R12 + B callbackasm1(SB) + MOVD $996, R12 + B callbackasm1(SB) + MOVD $997, R12 + B callbackasm1(SB) + MOVD $998, R12 + B callbackasm1(SB) + MOVD $999, R12 + B callbackasm1(SB) + MOVD $1000, R12 + B callbackasm1(SB) + MOVD $1001, R12 + B callbackasm1(SB) + MOVD $1002, R12 + B callbackasm1(SB) + MOVD $1003, R12 + B callbackasm1(SB) + MOVD $1004, R12 + B callbackasm1(SB) + MOVD $1005, R12 + B callbackasm1(SB) + MOVD $1006, R12 + B callbackasm1(SB) + MOVD $1007, R12 + B callbackasm1(SB) + MOVD $1008, R12 + B callbackasm1(SB) + MOVD $1009, R12 + B callbackasm1(SB) + MOVD $1010, R12 + B callbackasm1(SB) + MOVD $1011, R12 + B callbackasm1(SB) + MOVD $1012, R12 + B callbackasm1(SB) + MOVD $1013, R12 + B callbackasm1(SB) + MOVD $1014, R12 + B callbackasm1(SB) + MOVD $1015, R12 + B callbackasm1(SB) + MOVD $1016, R12 + B callbackasm1(SB) + MOVD $1017, R12 + B callbackasm1(SB) + MOVD $1018, R12 + B callbackasm1(SB) + MOVD $1019, R12 + B callbackasm1(SB) + MOVD $1020, R12 + B callbackasm1(SB) + MOVD $1021, R12 + B callbackasm1(SB) + MOVD $1022, R12 + B callbackasm1(SB) + MOVD $1023, R12 + B callbackasm1(SB) + MOVD $1024, R12 + B callbackasm1(SB) + MOVD $1025, R12 + B callbackasm1(SB) + MOVD $1026, R12 + B callbackasm1(SB) + MOVD $1027, R12 + B callbackasm1(SB) + MOVD $1028, R12 + B callbackasm1(SB) + MOVD $1029, R12 + B callbackasm1(SB) + MOVD $1030, R12 + B callbackasm1(SB) + MOVD $1031, R12 + B callbackasm1(SB) + MOVD $1032, R12 + B callbackasm1(SB) + MOVD $1033, R12 + B callbackasm1(SB) + MOVD $1034, R12 + B callbackasm1(SB) + MOVD $1035, R12 + B callbackasm1(SB) + MOVD $1036, R12 + B callbackasm1(SB) + MOVD $1037, R12 + B callbackasm1(SB) + MOVD $1038, R12 + B callbackasm1(SB) + MOVD $1039, R12 + B callbackasm1(SB) + MOVD $1040, R12 + B callbackasm1(SB) + MOVD $1041, R12 + B callbackasm1(SB) + MOVD $1042, R12 + B callbackasm1(SB) + MOVD $1043, R12 + B callbackasm1(SB) + MOVD $1044, R12 + B callbackasm1(SB) + MOVD $1045, R12 + B callbackasm1(SB) + MOVD $1046, R12 + B callbackasm1(SB) + MOVD $1047, R12 + B callbackasm1(SB) + MOVD $1048, R12 + B callbackasm1(SB) + MOVD $1049, R12 + B callbackasm1(SB) + MOVD $1050, R12 + B callbackasm1(SB) + MOVD $1051, R12 + B callbackasm1(SB) + MOVD $1052, R12 + B callbackasm1(SB) + MOVD $1053, R12 + B callbackasm1(SB) + MOVD $1054, R12 + B callbackasm1(SB) + MOVD $1055, R12 + B callbackasm1(SB) + MOVD $1056, R12 + B callbackasm1(SB) + MOVD $1057, R12 + B callbackasm1(SB) + MOVD $1058, R12 + B callbackasm1(SB) + MOVD $1059, R12 + B callbackasm1(SB) + MOVD $1060, R12 + B callbackasm1(SB) + MOVD $1061, R12 + B callbackasm1(SB) + MOVD $1062, R12 + B callbackasm1(SB) + MOVD $1063, R12 + B callbackasm1(SB) + MOVD $1064, R12 + B callbackasm1(SB) + MOVD $1065, R12 + B callbackasm1(SB) + MOVD $1066, R12 + B callbackasm1(SB) + MOVD $1067, R12 + B callbackasm1(SB) + MOVD $1068, R12 + B callbackasm1(SB) + MOVD $1069, R12 + B callbackasm1(SB) + MOVD $1070, R12 + B callbackasm1(SB) + MOVD $1071, R12 + B callbackasm1(SB) + MOVD $1072, R12 + B callbackasm1(SB) + MOVD $1073, R12 + B callbackasm1(SB) + MOVD $1074, R12 + B callbackasm1(SB) + MOVD $1075, R12 + B callbackasm1(SB) + MOVD $1076, R12 + B callbackasm1(SB) + MOVD $1077, R12 + B callbackasm1(SB) + MOVD $1078, R12 + B callbackasm1(SB) + MOVD $1079, R12 + B callbackasm1(SB) + MOVD $1080, R12 + B callbackasm1(SB) + MOVD $1081, R12 + B callbackasm1(SB) + MOVD $1082, R12 + B callbackasm1(SB) + MOVD $1083, R12 + B callbackasm1(SB) + MOVD $1084, R12 + B callbackasm1(SB) + MOVD $1085, R12 + B callbackasm1(SB) + MOVD $1086, R12 + B callbackasm1(SB) + MOVD $1087, R12 + B callbackasm1(SB) + MOVD $1088, R12 + B callbackasm1(SB) + MOVD $1089, R12 + B callbackasm1(SB) + MOVD $1090, R12 + B callbackasm1(SB) + MOVD $1091, R12 + B callbackasm1(SB) + MOVD $1092, R12 + B callbackasm1(SB) + MOVD $1093, R12 + B callbackasm1(SB) + MOVD $1094, R12 + B callbackasm1(SB) + MOVD $1095, R12 + B callbackasm1(SB) + MOVD $1096, R12 + B callbackasm1(SB) + MOVD $1097, R12 + B callbackasm1(SB) + MOVD $1098, R12 + B callbackasm1(SB) + MOVD $1099, R12 + B callbackasm1(SB) + MOVD $1100, R12 + B callbackasm1(SB) + MOVD $1101, R12 + B callbackasm1(SB) + MOVD $1102, R12 + B callbackasm1(SB) + MOVD $1103, R12 + B callbackasm1(SB) + MOVD $1104, R12 + B callbackasm1(SB) + MOVD $1105, R12 + B callbackasm1(SB) + MOVD $1106, R12 + B callbackasm1(SB) + MOVD $1107, R12 + B callbackasm1(SB) + MOVD $1108, R12 + B callbackasm1(SB) + MOVD $1109, R12 + B callbackasm1(SB) + MOVD $1110, R12 + B callbackasm1(SB) + MOVD $1111, R12 + B callbackasm1(SB) + MOVD $1112, R12 + B callbackasm1(SB) + MOVD $1113, R12 + B callbackasm1(SB) + MOVD $1114, R12 + B callbackasm1(SB) + MOVD $1115, R12 + B callbackasm1(SB) + MOVD $1116, R12 + B callbackasm1(SB) + MOVD $1117, R12 + B callbackasm1(SB) + MOVD $1118, R12 + B callbackasm1(SB) + MOVD $1119, R12 + B callbackasm1(SB) + MOVD $1120, R12 + B callbackasm1(SB) + MOVD $1121, R12 + B callbackasm1(SB) + MOVD $1122, R12 + B callbackasm1(SB) + MOVD $1123, R12 + B callbackasm1(SB) + MOVD $1124, R12 + B callbackasm1(SB) + MOVD $1125, R12 + B callbackasm1(SB) + MOVD $1126, R12 + B callbackasm1(SB) + MOVD $1127, R12 + B callbackasm1(SB) + MOVD $1128, R12 + B callbackasm1(SB) + MOVD $1129, R12 + B callbackasm1(SB) + MOVD $1130, R12 + B callbackasm1(SB) + MOVD $1131, R12 + B callbackasm1(SB) + MOVD $1132, R12 + B callbackasm1(SB) + MOVD $1133, R12 + B callbackasm1(SB) + MOVD $1134, R12 + B callbackasm1(SB) + MOVD $1135, R12 + B callbackasm1(SB) + MOVD $1136, R12 + B callbackasm1(SB) + MOVD $1137, R12 + B callbackasm1(SB) + MOVD $1138, R12 + B callbackasm1(SB) + MOVD $1139, R12 + B callbackasm1(SB) + MOVD $1140, R12 + B callbackasm1(SB) + MOVD $1141, R12 + B callbackasm1(SB) + MOVD $1142, R12 + B callbackasm1(SB) + MOVD $1143, R12 + B callbackasm1(SB) + MOVD $1144, R12 + B callbackasm1(SB) + MOVD $1145, R12 + B callbackasm1(SB) + MOVD $1146, R12 + B callbackasm1(SB) + MOVD $1147, R12 + B callbackasm1(SB) + MOVD $1148, R12 + B callbackasm1(SB) + MOVD $1149, R12 + B callbackasm1(SB) + MOVD $1150, R12 + B callbackasm1(SB) + MOVD $1151, R12 + B callbackasm1(SB) + MOVD $1152, R12 + B callbackasm1(SB) + MOVD $1153, R12 + B callbackasm1(SB) + MOVD $1154, R12 + B callbackasm1(SB) + MOVD $1155, R12 + B callbackasm1(SB) + MOVD $1156, R12 + B callbackasm1(SB) + MOVD $1157, R12 + B callbackasm1(SB) + MOVD $1158, R12 + B callbackasm1(SB) + MOVD $1159, R12 + B callbackasm1(SB) + MOVD $1160, R12 + B callbackasm1(SB) + MOVD $1161, R12 + B callbackasm1(SB) + MOVD $1162, R12 + B callbackasm1(SB) + MOVD $1163, R12 + B callbackasm1(SB) + MOVD $1164, R12 + B callbackasm1(SB) + MOVD $1165, R12 + B callbackasm1(SB) + MOVD $1166, R12 + B callbackasm1(SB) + MOVD $1167, R12 + B callbackasm1(SB) + MOVD $1168, R12 + B callbackasm1(SB) + MOVD $1169, R12 + B callbackasm1(SB) + MOVD $1170, R12 + B callbackasm1(SB) + MOVD $1171, R12 + B callbackasm1(SB) + MOVD $1172, R12 + B callbackasm1(SB) + MOVD $1173, R12 + B callbackasm1(SB) + MOVD $1174, R12 + B callbackasm1(SB) + MOVD $1175, R12 + B callbackasm1(SB) + MOVD $1176, R12 + B callbackasm1(SB) + MOVD $1177, R12 + B callbackasm1(SB) + MOVD $1178, R12 + B callbackasm1(SB) + MOVD $1179, R12 + B callbackasm1(SB) + MOVD $1180, R12 + B callbackasm1(SB) + MOVD $1181, R12 + B callbackasm1(SB) + MOVD $1182, R12 + B callbackasm1(SB) + MOVD $1183, R12 + B callbackasm1(SB) + MOVD $1184, R12 + B callbackasm1(SB) + MOVD $1185, R12 + B callbackasm1(SB) + MOVD $1186, R12 + B callbackasm1(SB) + MOVD $1187, R12 + B callbackasm1(SB) + MOVD $1188, R12 + B callbackasm1(SB) + MOVD $1189, R12 + B callbackasm1(SB) + MOVD $1190, R12 + B callbackasm1(SB) + MOVD $1191, R12 + B callbackasm1(SB) + MOVD $1192, R12 + B callbackasm1(SB) + MOVD $1193, R12 + B callbackasm1(SB) + MOVD $1194, R12 + B callbackasm1(SB) + MOVD $1195, R12 + B callbackasm1(SB) + MOVD $1196, R12 + B callbackasm1(SB) + MOVD $1197, R12 + B callbackasm1(SB) + MOVD $1198, R12 + B callbackasm1(SB) + MOVD $1199, R12 + B callbackasm1(SB) + MOVD $1200, R12 + B callbackasm1(SB) + MOVD $1201, R12 + B callbackasm1(SB) + MOVD $1202, R12 + B callbackasm1(SB) + MOVD $1203, R12 + B callbackasm1(SB) + MOVD $1204, R12 + B callbackasm1(SB) + MOVD $1205, R12 + B callbackasm1(SB) + MOVD $1206, R12 + B callbackasm1(SB) + MOVD $1207, R12 + B callbackasm1(SB) + MOVD $1208, R12 + B callbackasm1(SB) + MOVD $1209, R12 + B callbackasm1(SB) + MOVD $1210, R12 + B callbackasm1(SB) + MOVD $1211, R12 + B callbackasm1(SB) + MOVD $1212, R12 + B callbackasm1(SB) + MOVD $1213, R12 + B callbackasm1(SB) + MOVD $1214, R12 + B callbackasm1(SB) + MOVD $1215, R12 + B callbackasm1(SB) + MOVD $1216, R12 + B callbackasm1(SB) + MOVD $1217, R12 + B callbackasm1(SB) + MOVD $1218, R12 + B callbackasm1(SB) + MOVD $1219, R12 + B callbackasm1(SB) + MOVD $1220, R12 + B callbackasm1(SB) + MOVD $1221, R12 + B callbackasm1(SB) + MOVD $1222, R12 + B callbackasm1(SB) + MOVD $1223, R12 + B callbackasm1(SB) + MOVD $1224, R12 + B callbackasm1(SB) + MOVD $1225, R12 + B callbackasm1(SB) + MOVD $1226, R12 + B callbackasm1(SB) + MOVD $1227, R12 + B callbackasm1(SB) + MOVD $1228, R12 + B callbackasm1(SB) + MOVD $1229, R12 + B callbackasm1(SB) + MOVD $1230, R12 + B callbackasm1(SB) + MOVD $1231, R12 + B callbackasm1(SB) + MOVD $1232, R12 + B callbackasm1(SB) + MOVD $1233, R12 + B callbackasm1(SB) + MOVD $1234, R12 + B callbackasm1(SB) + MOVD $1235, R12 + B callbackasm1(SB) + MOVD $1236, R12 + B callbackasm1(SB) + MOVD $1237, R12 + B callbackasm1(SB) + MOVD $1238, R12 + B callbackasm1(SB) + MOVD $1239, R12 + B callbackasm1(SB) + MOVD $1240, R12 + B callbackasm1(SB) + MOVD $1241, R12 + B callbackasm1(SB) + MOVD $1242, R12 + B callbackasm1(SB) + MOVD $1243, R12 + B callbackasm1(SB) + MOVD $1244, R12 + B callbackasm1(SB) + MOVD $1245, R12 + B callbackasm1(SB) + MOVD $1246, R12 + B callbackasm1(SB) + MOVD $1247, R12 + B callbackasm1(SB) + MOVD $1248, R12 + B callbackasm1(SB) + MOVD $1249, R12 + B callbackasm1(SB) + MOVD $1250, R12 + B callbackasm1(SB) + MOVD $1251, R12 + B callbackasm1(SB) + MOVD $1252, R12 + B callbackasm1(SB) + MOVD $1253, R12 + B callbackasm1(SB) + MOVD $1254, R12 + B callbackasm1(SB) + MOVD $1255, R12 + B callbackasm1(SB) + MOVD $1256, R12 + B callbackasm1(SB) + MOVD $1257, R12 + B callbackasm1(SB) + MOVD $1258, R12 + B callbackasm1(SB) + MOVD $1259, R12 + B callbackasm1(SB) + MOVD $1260, R12 + B callbackasm1(SB) + MOVD $1261, R12 + B callbackasm1(SB) + MOVD $1262, R12 + B callbackasm1(SB) + MOVD $1263, R12 + B callbackasm1(SB) + MOVD $1264, R12 + B callbackasm1(SB) + MOVD $1265, R12 + B callbackasm1(SB) + MOVD $1266, R12 + B callbackasm1(SB) + MOVD $1267, R12 + B callbackasm1(SB) + MOVD $1268, R12 + B callbackasm1(SB) + MOVD $1269, R12 + B callbackasm1(SB) + MOVD $1270, R12 + B callbackasm1(SB) + MOVD $1271, R12 + B callbackasm1(SB) + MOVD $1272, R12 + B callbackasm1(SB) + MOVD $1273, R12 + B callbackasm1(SB) + MOVD $1274, R12 + B callbackasm1(SB) + MOVD $1275, R12 + B callbackasm1(SB) + MOVD $1276, R12 + B callbackasm1(SB) + MOVD $1277, R12 + B callbackasm1(SB) + MOVD $1278, R12 + B callbackasm1(SB) + MOVD $1279, R12 + B callbackasm1(SB) + MOVD $1280, R12 + B callbackasm1(SB) + MOVD $1281, R12 + B callbackasm1(SB) + MOVD $1282, R12 + B callbackasm1(SB) + MOVD $1283, R12 + B callbackasm1(SB) + MOVD $1284, R12 + B callbackasm1(SB) + MOVD $1285, R12 + B callbackasm1(SB) + MOVD $1286, R12 + B callbackasm1(SB) + MOVD $1287, R12 + B callbackasm1(SB) + MOVD $1288, R12 + B callbackasm1(SB) + MOVD $1289, R12 + B callbackasm1(SB) + MOVD $1290, R12 + B callbackasm1(SB) + MOVD $1291, R12 + B callbackasm1(SB) + MOVD $1292, R12 + B callbackasm1(SB) + MOVD $1293, R12 + B callbackasm1(SB) + MOVD $1294, R12 + B callbackasm1(SB) + MOVD $1295, R12 + B callbackasm1(SB) + MOVD $1296, R12 + B callbackasm1(SB) + MOVD $1297, R12 + B callbackasm1(SB) + MOVD $1298, R12 + B callbackasm1(SB) + MOVD $1299, R12 + B callbackasm1(SB) + MOVD $1300, R12 + B callbackasm1(SB) + MOVD $1301, R12 + B callbackasm1(SB) + MOVD $1302, R12 + B callbackasm1(SB) + MOVD $1303, R12 + B callbackasm1(SB) + MOVD $1304, R12 + B callbackasm1(SB) + MOVD $1305, R12 + B callbackasm1(SB) + MOVD $1306, R12 + B callbackasm1(SB) + MOVD $1307, R12 + B callbackasm1(SB) + MOVD $1308, R12 + B callbackasm1(SB) + MOVD $1309, R12 + B callbackasm1(SB) + MOVD $1310, R12 + B callbackasm1(SB) + MOVD $1311, R12 + B callbackasm1(SB) + MOVD $1312, R12 + B callbackasm1(SB) + MOVD $1313, R12 + B callbackasm1(SB) + MOVD $1314, R12 + B callbackasm1(SB) + MOVD $1315, R12 + B callbackasm1(SB) + MOVD $1316, R12 + B callbackasm1(SB) + MOVD $1317, R12 + B callbackasm1(SB) + MOVD $1318, R12 + B callbackasm1(SB) + MOVD $1319, R12 + B callbackasm1(SB) + MOVD $1320, R12 + B callbackasm1(SB) + MOVD $1321, R12 + B callbackasm1(SB) + MOVD $1322, R12 + B callbackasm1(SB) + MOVD $1323, R12 + B callbackasm1(SB) + MOVD $1324, R12 + B callbackasm1(SB) + MOVD $1325, R12 + B callbackasm1(SB) + MOVD $1326, R12 + B callbackasm1(SB) + MOVD $1327, R12 + B callbackasm1(SB) + MOVD $1328, R12 + B callbackasm1(SB) + MOVD $1329, R12 + B callbackasm1(SB) + MOVD $1330, R12 + B callbackasm1(SB) + MOVD $1331, R12 + B callbackasm1(SB) + MOVD $1332, R12 + B callbackasm1(SB) + MOVD $1333, R12 + B callbackasm1(SB) + MOVD $1334, R12 + B callbackasm1(SB) + MOVD $1335, R12 + B callbackasm1(SB) + MOVD $1336, R12 + B callbackasm1(SB) + MOVD $1337, R12 + B callbackasm1(SB) + MOVD $1338, R12 + B callbackasm1(SB) + MOVD $1339, R12 + B callbackasm1(SB) + MOVD $1340, R12 + B callbackasm1(SB) + MOVD $1341, R12 + B callbackasm1(SB) + MOVD $1342, R12 + B callbackasm1(SB) + MOVD $1343, R12 + B callbackasm1(SB) + MOVD $1344, R12 + B callbackasm1(SB) + MOVD $1345, R12 + B callbackasm1(SB) + MOVD $1346, R12 + B callbackasm1(SB) + MOVD $1347, R12 + B callbackasm1(SB) + MOVD $1348, R12 + B callbackasm1(SB) + MOVD $1349, R12 + B callbackasm1(SB) + MOVD $1350, R12 + B callbackasm1(SB) + MOVD $1351, R12 + B callbackasm1(SB) + MOVD $1352, R12 + B callbackasm1(SB) + MOVD $1353, R12 + B callbackasm1(SB) + MOVD $1354, R12 + B callbackasm1(SB) + MOVD $1355, R12 + B callbackasm1(SB) + MOVD $1356, R12 + B callbackasm1(SB) + MOVD $1357, R12 + B callbackasm1(SB) + MOVD $1358, R12 + B callbackasm1(SB) + MOVD $1359, R12 + B callbackasm1(SB) + MOVD $1360, R12 + B callbackasm1(SB) + MOVD $1361, R12 + B callbackasm1(SB) + MOVD $1362, R12 + B callbackasm1(SB) + MOVD $1363, R12 + B callbackasm1(SB) + MOVD $1364, R12 + B callbackasm1(SB) + MOVD $1365, R12 + B callbackasm1(SB) + MOVD $1366, R12 + B callbackasm1(SB) + MOVD $1367, R12 + B callbackasm1(SB) + MOVD $1368, R12 + B callbackasm1(SB) + MOVD $1369, R12 + B callbackasm1(SB) + MOVD $1370, R12 + B callbackasm1(SB) + MOVD $1371, R12 + B callbackasm1(SB) + MOVD $1372, R12 + B callbackasm1(SB) + MOVD $1373, R12 + B callbackasm1(SB) + MOVD $1374, R12 + B callbackasm1(SB) + MOVD $1375, R12 + B callbackasm1(SB) + MOVD $1376, R12 + B callbackasm1(SB) + MOVD $1377, R12 + B callbackasm1(SB) + MOVD $1378, R12 + B callbackasm1(SB) + MOVD $1379, R12 + B callbackasm1(SB) + MOVD $1380, R12 + B callbackasm1(SB) + MOVD $1381, R12 + B callbackasm1(SB) + MOVD $1382, R12 + B callbackasm1(SB) + MOVD $1383, R12 + B callbackasm1(SB) + MOVD $1384, R12 + B callbackasm1(SB) + MOVD $1385, R12 + B callbackasm1(SB) + MOVD $1386, R12 + B callbackasm1(SB) + MOVD $1387, R12 + B callbackasm1(SB) + MOVD $1388, R12 + B callbackasm1(SB) + MOVD $1389, R12 + B callbackasm1(SB) + MOVD $1390, R12 + B callbackasm1(SB) + MOVD $1391, R12 + B callbackasm1(SB) + MOVD $1392, R12 + B callbackasm1(SB) + MOVD $1393, R12 + B callbackasm1(SB) + MOVD $1394, R12 + B callbackasm1(SB) + MOVD $1395, R12 + B callbackasm1(SB) + MOVD $1396, R12 + B callbackasm1(SB) + MOVD $1397, R12 + B callbackasm1(SB) + MOVD $1398, R12 + B callbackasm1(SB) + MOVD $1399, R12 + B callbackasm1(SB) + MOVD $1400, R12 + B callbackasm1(SB) + MOVD $1401, R12 + B callbackasm1(SB) + MOVD $1402, R12 + B callbackasm1(SB) + MOVD $1403, R12 + B callbackasm1(SB) + MOVD $1404, R12 + B callbackasm1(SB) + MOVD $1405, R12 + B callbackasm1(SB) + MOVD $1406, R12 + B callbackasm1(SB) + MOVD $1407, R12 + B callbackasm1(SB) + MOVD $1408, R12 + B callbackasm1(SB) + MOVD $1409, R12 + B callbackasm1(SB) + MOVD $1410, R12 + B callbackasm1(SB) + MOVD $1411, R12 + B callbackasm1(SB) + MOVD $1412, R12 + B callbackasm1(SB) + MOVD $1413, R12 + B callbackasm1(SB) + MOVD $1414, R12 + B callbackasm1(SB) + MOVD $1415, R12 + B callbackasm1(SB) + MOVD $1416, R12 + B callbackasm1(SB) + MOVD $1417, R12 + B callbackasm1(SB) + MOVD $1418, R12 + B callbackasm1(SB) + MOVD $1419, R12 + B callbackasm1(SB) + MOVD $1420, R12 + B callbackasm1(SB) + MOVD $1421, R12 + B callbackasm1(SB) + MOVD $1422, R12 + B callbackasm1(SB) + MOVD $1423, R12 + B callbackasm1(SB) + MOVD $1424, R12 + B callbackasm1(SB) + MOVD $1425, R12 + B callbackasm1(SB) + MOVD $1426, R12 + B callbackasm1(SB) + MOVD $1427, R12 + B callbackasm1(SB) + MOVD $1428, R12 + B callbackasm1(SB) + MOVD $1429, R12 + B callbackasm1(SB) + MOVD $1430, R12 + B callbackasm1(SB) + MOVD $1431, R12 + B callbackasm1(SB) + MOVD $1432, R12 + B callbackasm1(SB) + MOVD $1433, R12 + B callbackasm1(SB) + MOVD $1434, R12 + B callbackasm1(SB) + MOVD $1435, R12 + B callbackasm1(SB) + MOVD $1436, R12 + B callbackasm1(SB) + MOVD $1437, R12 + B callbackasm1(SB) + MOVD $1438, R12 + B callbackasm1(SB) + MOVD $1439, R12 + B callbackasm1(SB) + MOVD $1440, R12 + B callbackasm1(SB) + MOVD $1441, R12 + B callbackasm1(SB) + MOVD $1442, R12 + B callbackasm1(SB) + MOVD $1443, R12 + B callbackasm1(SB) + MOVD $1444, R12 + B callbackasm1(SB) + MOVD $1445, R12 + B callbackasm1(SB) + MOVD $1446, R12 + B callbackasm1(SB) + MOVD $1447, R12 + B callbackasm1(SB) + MOVD $1448, R12 + B callbackasm1(SB) + MOVD $1449, R12 + B callbackasm1(SB) + MOVD $1450, R12 + B callbackasm1(SB) + MOVD $1451, R12 + B callbackasm1(SB) + MOVD $1452, R12 + B callbackasm1(SB) + MOVD $1453, R12 + B callbackasm1(SB) + MOVD $1454, R12 + B callbackasm1(SB) + MOVD $1455, R12 + B callbackasm1(SB) + MOVD $1456, R12 + B callbackasm1(SB) + MOVD $1457, R12 + B callbackasm1(SB) + MOVD $1458, R12 + B callbackasm1(SB) + MOVD $1459, R12 + B callbackasm1(SB) + MOVD $1460, R12 + B callbackasm1(SB) + MOVD $1461, R12 + B callbackasm1(SB) + MOVD $1462, R12 + B callbackasm1(SB) + MOVD $1463, R12 + B callbackasm1(SB) + MOVD $1464, R12 + B callbackasm1(SB) + MOVD $1465, R12 + B callbackasm1(SB) + MOVD $1466, R12 + B callbackasm1(SB) + MOVD $1467, R12 + B callbackasm1(SB) + MOVD $1468, R12 + B callbackasm1(SB) + MOVD $1469, R12 + B callbackasm1(SB) + MOVD $1470, R12 + B callbackasm1(SB) + MOVD $1471, R12 + B callbackasm1(SB) + MOVD $1472, R12 + B callbackasm1(SB) + MOVD $1473, R12 + B callbackasm1(SB) + MOVD $1474, R12 + B callbackasm1(SB) + MOVD $1475, R12 + B callbackasm1(SB) + MOVD $1476, R12 + B callbackasm1(SB) + MOVD $1477, R12 + B callbackasm1(SB) + MOVD $1478, R12 + B callbackasm1(SB) + MOVD $1479, R12 + B callbackasm1(SB) + MOVD $1480, R12 + B callbackasm1(SB) + MOVD $1481, R12 + B callbackasm1(SB) + MOVD $1482, R12 + B callbackasm1(SB) + MOVD $1483, R12 + B callbackasm1(SB) + MOVD $1484, R12 + B callbackasm1(SB) + MOVD $1485, R12 + B callbackasm1(SB) + MOVD $1486, R12 + B callbackasm1(SB) + MOVD $1487, R12 + B callbackasm1(SB) + MOVD $1488, R12 + B callbackasm1(SB) + MOVD $1489, R12 + B callbackasm1(SB) + MOVD $1490, R12 + B callbackasm1(SB) + MOVD $1491, R12 + B callbackasm1(SB) + MOVD $1492, R12 + B callbackasm1(SB) + MOVD $1493, R12 + B callbackasm1(SB) + MOVD $1494, R12 + B callbackasm1(SB) + MOVD $1495, R12 + B callbackasm1(SB) + MOVD $1496, R12 + B callbackasm1(SB) + MOVD $1497, R12 + B callbackasm1(SB) + MOVD $1498, R12 + B callbackasm1(SB) + MOVD $1499, R12 + B callbackasm1(SB) + MOVD $1500, R12 + B callbackasm1(SB) + MOVD $1501, R12 + B callbackasm1(SB) + MOVD $1502, R12 + B callbackasm1(SB) + MOVD $1503, R12 + B callbackasm1(SB) + MOVD $1504, R12 + B callbackasm1(SB) + MOVD $1505, R12 + B callbackasm1(SB) + MOVD $1506, R12 + B callbackasm1(SB) + MOVD $1507, R12 + B callbackasm1(SB) + MOVD $1508, R12 + B callbackasm1(SB) + MOVD $1509, R12 + B callbackasm1(SB) + MOVD $1510, R12 + B callbackasm1(SB) + MOVD $1511, R12 + B callbackasm1(SB) + MOVD $1512, R12 + B callbackasm1(SB) + MOVD $1513, R12 + B callbackasm1(SB) + MOVD $1514, R12 + B callbackasm1(SB) + MOVD $1515, R12 + B callbackasm1(SB) + MOVD $1516, R12 + B callbackasm1(SB) + MOVD $1517, R12 + B callbackasm1(SB) + MOVD $1518, R12 + B callbackasm1(SB) + MOVD $1519, R12 + B callbackasm1(SB) + MOVD $1520, R12 + B callbackasm1(SB) + MOVD $1521, R12 + B callbackasm1(SB) + MOVD $1522, R12 + B callbackasm1(SB) + MOVD $1523, R12 + B callbackasm1(SB) + MOVD $1524, R12 + B callbackasm1(SB) + MOVD $1525, R12 + B callbackasm1(SB) + MOVD $1526, R12 + B callbackasm1(SB) + MOVD $1527, R12 + B callbackasm1(SB) + MOVD $1528, R12 + B callbackasm1(SB) + MOVD $1529, R12 + B callbackasm1(SB) + MOVD $1530, R12 + B callbackasm1(SB) + MOVD $1531, R12 + B callbackasm1(SB) + MOVD $1532, R12 + B callbackasm1(SB) + MOVD $1533, R12 + B callbackasm1(SB) + MOVD $1534, R12 + B callbackasm1(SB) + MOVD $1535, R12 + B callbackasm1(SB) + MOVD $1536, R12 + B callbackasm1(SB) + MOVD $1537, R12 + B callbackasm1(SB) + MOVD $1538, R12 + B callbackasm1(SB) + MOVD $1539, R12 + B callbackasm1(SB) + MOVD $1540, R12 + B callbackasm1(SB) + MOVD $1541, R12 + B callbackasm1(SB) + MOVD $1542, R12 + B callbackasm1(SB) + MOVD $1543, R12 + B callbackasm1(SB) + MOVD $1544, R12 + B callbackasm1(SB) + MOVD $1545, R12 + B callbackasm1(SB) + MOVD $1546, R12 + B callbackasm1(SB) + MOVD $1547, R12 + B callbackasm1(SB) + MOVD $1548, R12 + B callbackasm1(SB) + MOVD $1549, R12 + B callbackasm1(SB) + MOVD $1550, R12 + B callbackasm1(SB) + MOVD $1551, R12 + B callbackasm1(SB) + MOVD $1552, R12 + B callbackasm1(SB) + MOVD $1553, R12 + B callbackasm1(SB) + MOVD $1554, R12 + B callbackasm1(SB) + MOVD $1555, R12 + B callbackasm1(SB) + MOVD $1556, R12 + B callbackasm1(SB) + MOVD $1557, R12 + B callbackasm1(SB) + MOVD $1558, R12 + B callbackasm1(SB) + MOVD $1559, R12 + B callbackasm1(SB) + MOVD $1560, R12 + B callbackasm1(SB) + MOVD $1561, R12 + B callbackasm1(SB) + MOVD $1562, R12 + B callbackasm1(SB) + MOVD $1563, R12 + B callbackasm1(SB) + MOVD $1564, R12 + B callbackasm1(SB) + MOVD $1565, R12 + B callbackasm1(SB) + MOVD $1566, R12 + B callbackasm1(SB) + MOVD $1567, R12 + B callbackasm1(SB) + MOVD $1568, R12 + B callbackasm1(SB) + MOVD $1569, R12 + B callbackasm1(SB) + MOVD $1570, R12 + B callbackasm1(SB) + MOVD $1571, R12 + B callbackasm1(SB) + MOVD $1572, R12 + B callbackasm1(SB) + MOVD $1573, R12 + B callbackasm1(SB) + MOVD $1574, R12 + B callbackasm1(SB) + MOVD $1575, R12 + B callbackasm1(SB) + MOVD $1576, R12 + B callbackasm1(SB) + MOVD $1577, R12 + B callbackasm1(SB) + MOVD $1578, R12 + B callbackasm1(SB) + MOVD $1579, R12 + B callbackasm1(SB) + MOVD $1580, R12 + B callbackasm1(SB) + MOVD $1581, R12 + B callbackasm1(SB) + MOVD $1582, R12 + B callbackasm1(SB) + MOVD $1583, R12 + B callbackasm1(SB) + MOVD $1584, R12 + B callbackasm1(SB) + MOVD $1585, R12 + B callbackasm1(SB) + MOVD $1586, R12 + B callbackasm1(SB) + MOVD $1587, R12 + B callbackasm1(SB) + MOVD $1588, R12 + B callbackasm1(SB) + MOVD $1589, R12 + B callbackasm1(SB) + MOVD $1590, R12 + B callbackasm1(SB) + MOVD $1591, R12 + B callbackasm1(SB) + MOVD $1592, R12 + B callbackasm1(SB) + MOVD $1593, R12 + B callbackasm1(SB) + MOVD $1594, R12 + B callbackasm1(SB) + MOVD $1595, R12 + B callbackasm1(SB) + MOVD $1596, R12 + B callbackasm1(SB) + MOVD $1597, R12 + B callbackasm1(SB) + MOVD $1598, R12 + B callbackasm1(SB) + MOVD $1599, R12 + B callbackasm1(SB) + MOVD $1600, R12 + B callbackasm1(SB) + MOVD $1601, R12 + B callbackasm1(SB) + MOVD $1602, R12 + B callbackasm1(SB) + MOVD $1603, R12 + B callbackasm1(SB) + MOVD $1604, R12 + B callbackasm1(SB) + MOVD $1605, R12 + B callbackasm1(SB) + MOVD $1606, R12 + B callbackasm1(SB) + MOVD $1607, R12 + B callbackasm1(SB) + MOVD $1608, R12 + B callbackasm1(SB) + MOVD $1609, R12 + B callbackasm1(SB) + MOVD $1610, R12 + B callbackasm1(SB) + MOVD $1611, R12 + B callbackasm1(SB) + MOVD $1612, R12 + B callbackasm1(SB) + MOVD $1613, R12 + B callbackasm1(SB) + MOVD $1614, R12 + B callbackasm1(SB) + MOVD $1615, R12 + B callbackasm1(SB) + MOVD $1616, R12 + B callbackasm1(SB) + MOVD $1617, R12 + B callbackasm1(SB) + MOVD $1618, R12 + B callbackasm1(SB) + MOVD $1619, R12 + B callbackasm1(SB) + MOVD $1620, R12 + B callbackasm1(SB) + MOVD $1621, R12 + B callbackasm1(SB) + MOVD $1622, R12 + B callbackasm1(SB) + MOVD $1623, R12 + B callbackasm1(SB) + MOVD $1624, R12 + B callbackasm1(SB) + MOVD $1625, R12 + B callbackasm1(SB) + MOVD $1626, R12 + B callbackasm1(SB) + MOVD $1627, R12 + B callbackasm1(SB) + MOVD $1628, R12 + B callbackasm1(SB) + MOVD $1629, R12 + B callbackasm1(SB) + MOVD $1630, R12 + B callbackasm1(SB) + MOVD $1631, R12 + B callbackasm1(SB) + MOVD $1632, R12 + B callbackasm1(SB) + MOVD $1633, R12 + B callbackasm1(SB) + MOVD $1634, R12 + B callbackasm1(SB) + MOVD $1635, R12 + B callbackasm1(SB) + MOVD $1636, R12 + B callbackasm1(SB) + MOVD $1637, R12 + B callbackasm1(SB) + MOVD $1638, R12 + B callbackasm1(SB) + MOVD $1639, R12 + B callbackasm1(SB) + MOVD $1640, R12 + B callbackasm1(SB) + MOVD $1641, R12 + B callbackasm1(SB) + MOVD $1642, R12 + B callbackasm1(SB) + MOVD $1643, R12 + B callbackasm1(SB) + MOVD $1644, R12 + B callbackasm1(SB) + MOVD $1645, R12 + B callbackasm1(SB) + MOVD $1646, R12 + B callbackasm1(SB) + MOVD $1647, R12 + B callbackasm1(SB) + MOVD $1648, R12 + B callbackasm1(SB) + MOVD $1649, R12 + B callbackasm1(SB) + MOVD $1650, R12 + B callbackasm1(SB) + MOVD $1651, R12 + B callbackasm1(SB) + MOVD $1652, R12 + B callbackasm1(SB) + MOVD $1653, R12 + B callbackasm1(SB) + MOVD $1654, R12 + B callbackasm1(SB) + MOVD $1655, R12 + B callbackasm1(SB) + MOVD $1656, R12 + B callbackasm1(SB) + MOVD $1657, R12 + B callbackasm1(SB) + MOVD $1658, R12 + B callbackasm1(SB) + MOVD $1659, R12 + B callbackasm1(SB) + MOVD $1660, R12 + B callbackasm1(SB) + MOVD $1661, R12 + B callbackasm1(SB) + MOVD $1662, R12 + B callbackasm1(SB) + MOVD $1663, R12 + B callbackasm1(SB) + MOVD $1664, R12 + B callbackasm1(SB) + MOVD $1665, R12 + B callbackasm1(SB) + MOVD $1666, R12 + B callbackasm1(SB) + MOVD $1667, R12 + B callbackasm1(SB) + MOVD $1668, R12 + B callbackasm1(SB) + MOVD $1669, R12 + B callbackasm1(SB) + MOVD $1670, R12 + B callbackasm1(SB) + MOVD $1671, R12 + B callbackasm1(SB) + MOVD $1672, R12 + B callbackasm1(SB) + MOVD $1673, R12 + B callbackasm1(SB) + MOVD $1674, R12 + B callbackasm1(SB) + MOVD $1675, R12 + B callbackasm1(SB) + MOVD $1676, R12 + B callbackasm1(SB) + MOVD $1677, R12 + B callbackasm1(SB) + MOVD $1678, R12 + B callbackasm1(SB) + MOVD $1679, R12 + B callbackasm1(SB) + MOVD $1680, R12 + B callbackasm1(SB) + MOVD $1681, R12 + B callbackasm1(SB) + MOVD $1682, R12 + B callbackasm1(SB) + MOVD $1683, R12 + B callbackasm1(SB) + MOVD $1684, R12 + B callbackasm1(SB) + MOVD $1685, R12 + B callbackasm1(SB) + MOVD $1686, R12 + B callbackasm1(SB) + MOVD $1687, R12 + B callbackasm1(SB) + MOVD $1688, R12 + B callbackasm1(SB) + MOVD $1689, R12 + B callbackasm1(SB) + MOVD $1690, R12 + B callbackasm1(SB) + MOVD $1691, R12 + B callbackasm1(SB) + MOVD $1692, R12 + B callbackasm1(SB) + MOVD $1693, R12 + B callbackasm1(SB) + MOVD $1694, R12 + B callbackasm1(SB) + MOVD $1695, R12 + B callbackasm1(SB) + MOVD $1696, R12 + B callbackasm1(SB) + MOVD $1697, R12 + B callbackasm1(SB) + MOVD $1698, R12 + B callbackasm1(SB) + MOVD $1699, R12 + B callbackasm1(SB) + MOVD $1700, R12 + B callbackasm1(SB) + MOVD $1701, R12 + B callbackasm1(SB) + MOVD $1702, R12 + B callbackasm1(SB) + MOVD $1703, R12 + B callbackasm1(SB) + MOVD $1704, R12 + B callbackasm1(SB) + MOVD $1705, R12 + B callbackasm1(SB) + MOVD $1706, R12 + B callbackasm1(SB) + MOVD $1707, R12 + B callbackasm1(SB) + MOVD $1708, R12 + B callbackasm1(SB) + MOVD $1709, R12 + B callbackasm1(SB) + MOVD $1710, R12 + B callbackasm1(SB) + MOVD $1711, R12 + B callbackasm1(SB) + MOVD $1712, R12 + B callbackasm1(SB) + MOVD $1713, R12 + B callbackasm1(SB) + MOVD $1714, R12 + B callbackasm1(SB) + MOVD $1715, R12 + B callbackasm1(SB) + MOVD $1716, R12 + B callbackasm1(SB) + MOVD $1717, R12 + B callbackasm1(SB) + MOVD $1718, R12 + B callbackasm1(SB) + MOVD $1719, R12 + B callbackasm1(SB) + MOVD $1720, R12 + B callbackasm1(SB) + MOVD $1721, R12 + B callbackasm1(SB) + MOVD $1722, R12 + B callbackasm1(SB) + MOVD $1723, R12 + B callbackasm1(SB) + MOVD $1724, R12 + B callbackasm1(SB) + MOVD $1725, R12 + B callbackasm1(SB) + MOVD $1726, R12 + B callbackasm1(SB) + MOVD $1727, R12 + B callbackasm1(SB) + MOVD $1728, R12 + B callbackasm1(SB) + MOVD $1729, R12 + B callbackasm1(SB) + MOVD $1730, R12 + B callbackasm1(SB) + MOVD $1731, R12 + B callbackasm1(SB) + MOVD $1732, R12 + B callbackasm1(SB) + MOVD $1733, R12 + B callbackasm1(SB) + MOVD $1734, R12 + B callbackasm1(SB) + MOVD $1735, R12 + B callbackasm1(SB) + MOVD $1736, R12 + B callbackasm1(SB) + MOVD $1737, R12 + B callbackasm1(SB) + MOVD $1738, R12 + B callbackasm1(SB) + MOVD $1739, R12 + B callbackasm1(SB) + MOVD $1740, R12 + B callbackasm1(SB) + MOVD $1741, R12 + B callbackasm1(SB) + MOVD $1742, R12 + B callbackasm1(SB) + MOVD $1743, R12 + B callbackasm1(SB) + MOVD $1744, R12 + B callbackasm1(SB) + MOVD $1745, R12 + B callbackasm1(SB) + MOVD $1746, R12 + B callbackasm1(SB) + MOVD $1747, R12 + B callbackasm1(SB) + MOVD $1748, R12 + B callbackasm1(SB) + MOVD $1749, R12 + B callbackasm1(SB) + MOVD $1750, R12 + B callbackasm1(SB) + MOVD $1751, R12 + B callbackasm1(SB) + MOVD $1752, R12 + B callbackasm1(SB) + MOVD $1753, R12 + B callbackasm1(SB) + MOVD $1754, R12 + B callbackasm1(SB) + MOVD $1755, R12 + B callbackasm1(SB) + MOVD $1756, R12 + B callbackasm1(SB) + MOVD $1757, R12 + B callbackasm1(SB) + MOVD $1758, R12 + B callbackasm1(SB) + MOVD $1759, R12 + B callbackasm1(SB) + MOVD $1760, R12 + B callbackasm1(SB) + MOVD $1761, R12 + B callbackasm1(SB) + MOVD $1762, R12 + B callbackasm1(SB) + MOVD $1763, R12 + B callbackasm1(SB) + MOVD $1764, R12 + B callbackasm1(SB) + MOVD $1765, R12 + B callbackasm1(SB) + MOVD $1766, R12 + B callbackasm1(SB) + MOVD $1767, R12 + B callbackasm1(SB) + MOVD $1768, R12 + B callbackasm1(SB) + MOVD $1769, R12 + B callbackasm1(SB) + MOVD $1770, R12 + B callbackasm1(SB) + MOVD $1771, R12 + B callbackasm1(SB) + MOVD $1772, R12 + B callbackasm1(SB) + MOVD $1773, R12 + B callbackasm1(SB) + MOVD $1774, R12 + B callbackasm1(SB) + MOVD $1775, R12 + B callbackasm1(SB) + MOVD $1776, R12 + B callbackasm1(SB) + MOVD $1777, R12 + B callbackasm1(SB) + MOVD $1778, R12 + B callbackasm1(SB) + MOVD $1779, R12 + B callbackasm1(SB) + MOVD $1780, R12 + B callbackasm1(SB) + MOVD $1781, R12 + B callbackasm1(SB) + MOVD $1782, R12 + B callbackasm1(SB) + MOVD $1783, R12 + B callbackasm1(SB) + MOVD $1784, R12 + B callbackasm1(SB) + MOVD $1785, R12 + B callbackasm1(SB) + MOVD $1786, R12 + B callbackasm1(SB) + MOVD $1787, R12 + B callbackasm1(SB) + MOVD $1788, R12 + B callbackasm1(SB) + MOVD $1789, R12 + B callbackasm1(SB) + MOVD $1790, R12 + B callbackasm1(SB) + MOVD $1791, R12 + B callbackasm1(SB) + MOVD $1792, R12 + B callbackasm1(SB) + MOVD $1793, R12 + B callbackasm1(SB) + MOVD $1794, R12 + B callbackasm1(SB) + MOVD $1795, R12 + B callbackasm1(SB) + MOVD $1796, R12 + B callbackasm1(SB) + MOVD $1797, R12 + B callbackasm1(SB) + MOVD $1798, R12 + B callbackasm1(SB) + MOVD $1799, R12 + B callbackasm1(SB) + MOVD $1800, R12 + B callbackasm1(SB) + MOVD $1801, R12 + B callbackasm1(SB) + MOVD $1802, R12 + B callbackasm1(SB) + MOVD $1803, R12 + B callbackasm1(SB) + MOVD $1804, R12 + B callbackasm1(SB) + MOVD $1805, R12 + B callbackasm1(SB) + MOVD $1806, R12 + B callbackasm1(SB) + MOVD $1807, R12 + B callbackasm1(SB) + MOVD $1808, R12 + B callbackasm1(SB) + MOVD $1809, R12 + B callbackasm1(SB) + MOVD $1810, R12 + B callbackasm1(SB) + MOVD $1811, R12 + B callbackasm1(SB) + MOVD $1812, R12 + B callbackasm1(SB) + MOVD $1813, R12 + B callbackasm1(SB) + MOVD $1814, R12 + B callbackasm1(SB) + MOVD $1815, R12 + B callbackasm1(SB) + MOVD $1816, R12 + B callbackasm1(SB) + MOVD $1817, R12 + B callbackasm1(SB) + MOVD $1818, R12 + B callbackasm1(SB) + MOVD $1819, R12 + B callbackasm1(SB) + MOVD $1820, R12 + B callbackasm1(SB) + MOVD $1821, R12 + B callbackasm1(SB) + MOVD $1822, R12 + B callbackasm1(SB) + MOVD $1823, R12 + B callbackasm1(SB) + MOVD $1824, R12 + B callbackasm1(SB) + MOVD $1825, R12 + B callbackasm1(SB) + MOVD $1826, R12 + B callbackasm1(SB) + MOVD $1827, R12 + B callbackasm1(SB) + MOVD $1828, R12 + B callbackasm1(SB) + MOVD $1829, R12 + B callbackasm1(SB) + MOVD $1830, R12 + B callbackasm1(SB) + MOVD $1831, R12 + B callbackasm1(SB) + MOVD $1832, R12 + B callbackasm1(SB) + MOVD $1833, R12 + B callbackasm1(SB) + MOVD $1834, R12 + B callbackasm1(SB) + MOVD $1835, R12 + B callbackasm1(SB) + MOVD $1836, R12 + B callbackasm1(SB) + MOVD $1837, R12 + B callbackasm1(SB) + MOVD $1838, R12 + B callbackasm1(SB) + MOVD $1839, R12 + B callbackasm1(SB) + MOVD $1840, R12 + B callbackasm1(SB) + MOVD $1841, R12 + B callbackasm1(SB) + MOVD $1842, R12 + B callbackasm1(SB) + MOVD $1843, R12 + B callbackasm1(SB) + MOVD $1844, R12 + B callbackasm1(SB) + MOVD $1845, R12 + B callbackasm1(SB) + MOVD $1846, R12 + B callbackasm1(SB) + MOVD $1847, R12 + B callbackasm1(SB) + MOVD $1848, R12 + B callbackasm1(SB) + MOVD $1849, R12 + B callbackasm1(SB) + MOVD $1850, R12 + B callbackasm1(SB) + MOVD $1851, R12 + B callbackasm1(SB) + MOVD $1852, R12 + B callbackasm1(SB) + MOVD $1853, R12 + B callbackasm1(SB) + MOVD $1854, R12 + B callbackasm1(SB) + MOVD $1855, R12 + B callbackasm1(SB) + MOVD $1856, R12 + B callbackasm1(SB) + MOVD $1857, R12 + B callbackasm1(SB) + MOVD $1858, R12 + B callbackasm1(SB) + MOVD $1859, R12 + B callbackasm1(SB) + MOVD $1860, R12 + B callbackasm1(SB) + MOVD $1861, R12 + B callbackasm1(SB) + MOVD $1862, R12 + B callbackasm1(SB) + MOVD $1863, R12 + B callbackasm1(SB) + MOVD $1864, R12 + B callbackasm1(SB) + MOVD $1865, R12 + B callbackasm1(SB) + MOVD $1866, R12 + B callbackasm1(SB) + MOVD $1867, R12 + B callbackasm1(SB) + MOVD $1868, R12 + B callbackasm1(SB) + MOVD $1869, R12 + B callbackasm1(SB) + MOVD $1870, R12 + B callbackasm1(SB) + MOVD $1871, R12 + B callbackasm1(SB) + MOVD $1872, R12 + B callbackasm1(SB) + MOVD $1873, R12 + B callbackasm1(SB) + MOVD $1874, R12 + B callbackasm1(SB) + MOVD $1875, R12 + B callbackasm1(SB) + MOVD $1876, R12 + B callbackasm1(SB) + MOVD $1877, R12 + B callbackasm1(SB) + MOVD $1878, R12 + B callbackasm1(SB) + MOVD $1879, R12 + B callbackasm1(SB) + MOVD $1880, R12 + B callbackasm1(SB) + MOVD $1881, R12 + B callbackasm1(SB) + MOVD $1882, R12 + B callbackasm1(SB) + MOVD $1883, R12 + B callbackasm1(SB) + MOVD $1884, R12 + B callbackasm1(SB) + MOVD $1885, R12 + B callbackasm1(SB) + MOVD $1886, R12 + B callbackasm1(SB) + MOVD $1887, R12 + B callbackasm1(SB) + MOVD $1888, R12 + B callbackasm1(SB) + MOVD $1889, R12 + B callbackasm1(SB) + MOVD $1890, R12 + B callbackasm1(SB) + MOVD $1891, R12 + B callbackasm1(SB) + MOVD $1892, R12 + B callbackasm1(SB) + MOVD $1893, R12 + B callbackasm1(SB) + MOVD $1894, R12 + B callbackasm1(SB) + MOVD $1895, R12 + B callbackasm1(SB) + MOVD $1896, R12 + B callbackasm1(SB) + MOVD $1897, R12 + B callbackasm1(SB) + MOVD $1898, R12 + B callbackasm1(SB) + MOVD $1899, R12 + B callbackasm1(SB) + MOVD $1900, R12 + B callbackasm1(SB) + MOVD $1901, R12 + B callbackasm1(SB) + MOVD $1902, R12 + B callbackasm1(SB) + MOVD $1903, R12 + B callbackasm1(SB) + MOVD $1904, R12 + B callbackasm1(SB) + MOVD $1905, R12 + B callbackasm1(SB) + MOVD $1906, R12 + B callbackasm1(SB) + MOVD $1907, R12 + B callbackasm1(SB) + MOVD $1908, R12 + B callbackasm1(SB) + MOVD $1909, R12 + B callbackasm1(SB) + MOVD $1910, R12 + B callbackasm1(SB) + MOVD $1911, R12 + B callbackasm1(SB) + MOVD $1912, R12 + B callbackasm1(SB) + MOVD $1913, R12 + B callbackasm1(SB) + MOVD $1914, R12 + B callbackasm1(SB) + MOVD $1915, R12 + B callbackasm1(SB) + MOVD $1916, R12 + B callbackasm1(SB) + MOVD $1917, R12 + B callbackasm1(SB) + MOVD $1918, R12 + B callbackasm1(SB) + MOVD $1919, R12 + B callbackasm1(SB) + MOVD $1920, R12 + B callbackasm1(SB) + MOVD $1921, R12 + B callbackasm1(SB) + MOVD $1922, R12 + B callbackasm1(SB) + MOVD $1923, R12 + B callbackasm1(SB) + MOVD $1924, R12 + B callbackasm1(SB) + MOVD $1925, R12 + B callbackasm1(SB) + MOVD $1926, R12 + B callbackasm1(SB) + MOVD $1927, R12 + B callbackasm1(SB) + MOVD $1928, R12 + B callbackasm1(SB) + MOVD $1929, R12 + B callbackasm1(SB) + MOVD $1930, R12 + B callbackasm1(SB) + MOVD $1931, R12 + B callbackasm1(SB) + MOVD $1932, R12 + B callbackasm1(SB) + MOVD $1933, R12 + B callbackasm1(SB) + MOVD $1934, R12 + B callbackasm1(SB) + MOVD $1935, R12 + B callbackasm1(SB) + MOVD $1936, R12 + B callbackasm1(SB) + MOVD $1937, R12 + B callbackasm1(SB) + MOVD $1938, R12 + B callbackasm1(SB) + MOVD $1939, R12 + B callbackasm1(SB) + MOVD $1940, R12 + B callbackasm1(SB) + MOVD $1941, R12 + B callbackasm1(SB) + MOVD $1942, R12 + B callbackasm1(SB) + MOVD $1943, R12 + B callbackasm1(SB) + MOVD $1944, R12 + B callbackasm1(SB) + MOVD $1945, R12 + B callbackasm1(SB) + MOVD $1946, R12 + B callbackasm1(SB) + MOVD $1947, R12 + B callbackasm1(SB) + MOVD $1948, R12 + B callbackasm1(SB) + MOVD $1949, R12 + B callbackasm1(SB) + MOVD $1950, R12 + B callbackasm1(SB) + MOVD $1951, R12 + B callbackasm1(SB) + MOVD $1952, R12 + B callbackasm1(SB) + MOVD $1953, R12 + B callbackasm1(SB) + MOVD $1954, R12 + B callbackasm1(SB) + MOVD $1955, R12 + B callbackasm1(SB) + MOVD $1956, R12 + B callbackasm1(SB) + MOVD $1957, R12 + B callbackasm1(SB) + MOVD $1958, R12 + B callbackasm1(SB) + MOVD $1959, R12 + B callbackasm1(SB) + MOVD $1960, R12 + B callbackasm1(SB) + MOVD $1961, R12 + B callbackasm1(SB) + MOVD $1962, R12 + B callbackasm1(SB) + MOVD $1963, R12 + B callbackasm1(SB) + MOVD $1964, R12 + B callbackasm1(SB) + MOVD $1965, R12 + B callbackasm1(SB) + MOVD $1966, R12 + B callbackasm1(SB) + MOVD $1967, R12 + B callbackasm1(SB) + MOVD $1968, R12 + B callbackasm1(SB) + MOVD $1969, R12 + B callbackasm1(SB) + MOVD $1970, R12 + B callbackasm1(SB) + MOVD $1971, R12 + B callbackasm1(SB) + MOVD $1972, R12 + B callbackasm1(SB) + MOVD $1973, R12 + B callbackasm1(SB) + MOVD $1974, R12 + B callbackasm1(SB) + MOVD $1975, R12 + B callbackasm1(SB) + MOVD $1976, R12 + B callbackasm1(SB) + MOVD $1977, R12 + B callbackasm1(SB) + MOVD $1978, R12 + B callbackasm1(SB) + MOVD $1979, R12 + B callbackasm1(SB) + MOVD $1980, R12 + B callbackasm1(SB) + MOVD $1981, R12 + B callbackasm1(SB) + MOVD $1982, R12 + B callbackasm1(SB) + MOVD $1983, R12 + B callbackasm1(SB) + MOVD $1984, R12 + B callbackasm1(SB) + MOVD $1985, R12 + B callbackasm1(SB) + MOVD $1986, R12 + B callbackasm1(SB) + MOVD $1987, R12 + B callbackasm1(SB) + MOVD $1988, R12 + B callbackasm1(SB) + MOVD $1989, R12 + B callbackasm1(SB) + MOVD $1990, R12 + B callbackasm1(SB) + MOVD $1991, R12 + B callbackasm1(SB) + MOVD $1992, R12 + B callbackasm1(SB) + MOVD $1993, R12 + B callbackasm1(SB) + MOVD $1994, R12 + B callbackasm1(SB) + MOVD $1995, R12 + B callbackasm1(SB) + MOVD $1996, R12 + B callbackasm1(SB) + MOVD $1997, R12 + B callbackasm1(SB) + MOVD $1998, R12 + B callbackasm1(SB) + MOVD $1999, R12 + B callbackasm1(SB) 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. [![Go](https://github.com/klauspost/compress/actions/workflows/go.yml/badge.svg)](https://github.com/klauspost/compress/actions/workflows/go.yml) [![Sourcegraph Badge](https://sourcegraph.com/github.com/klauspost/compress/-/badge.svg)](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/shirou/gopsutil/v3/cpu/cpu_darwin.go b/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_darwin.go deleted file mode 100644 index 41f395e5..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_darwin.go +++ /dev/null @@ -1,117 +0,0 @@ -//go:build darwin -// +build darwin - -package cpu - -import ( - "context" - "strconv" - "strings" - - "github.com/shoenig/go-m1cpu" - "github.com/tklauser/go-sysconf" - "golang.org/x/sys/unix" -) - -// sys/resource.h -const ( - CPUser = 0 - cpNice = 1 - cpSys = 2 - cpIntr = 3 - cpIdle = 4 - cpUStates = 5 -) - -// default value. from time.h -var ClocksPerSec = float64(128) - -func init() { - clkTck, err := sysconf.Sysconf(sysconf.SC_CLK_TCK) - // ignore errors - if err == nil { - ClocksPerSec = float64(clkTck) - } -} - -func Times(percpu bool) ([]TimesStat, error) { - return TimesWithContext(context.Background(), percpu) -} - -func TimesWithContext(ctx context.Context, percpu bool) ([]TimesStat, error) { - if percpu { - return perCPUTimes() - } - - return allCPUTimes() -} - -// Returns only one CPUInfoStat on FreeBSD -func Info() ([]InfoStat, error) { - return InfoWithContext(context.Background()) -} - -func InfoWithContext(ctx context.Context) ([]InfoStat, error) { - var ret []InfoStat - - c := InfoStat{} - c.ModelName, _ = unix.Sysctl("machdep.cpu.brand_string") - family, _ := unix.SysctlUint32("machdep.cpu.family") - c.Family = strconv.FormatUint(uint64(family), 10) - model, _ := unix.SysctlUint32("machdep.cpu.model") - c.Model = strconv.FormatUint(uint64(model), 10) - stepping, _ := unix.SysctlUint32("machdep.cpu.stepping") - c.Stepping = int32(stepping) - features, err := unix.Sysctl("machdep.cpu.features") - if err == nil { - for _, v := range strings.Fields(features) { - c.Flags = append(c.Flags, strings.ToLower(v)) - } - } - leaf7Features, err := unix.Sysctl("machdep.cpu.leaf7_features") - if err == nil { - for _, v := range strings.Fields(leaf7Features) { - c.Flags = append(c.Flags, strings.ToLower(v)) - } - } - extfeatures, err := unix.Sysctl("machdep.cpu.extfeatures") - if err == nil { - for _, v := range strings.Fields(extfeatures) { - c.Flags = append(c.Flags, strings.ToLower(v)) - } - } - cores, _ := unix.SysctlUint32("machdep.cpu.core_count") - c.Cores = int32(cores) - cacheSize, _ := unix.SysctlUint32("machdep.cpu.cache.size") - c.CacheSize = int32(cacheSize) - c.VendorID, _ = unix.Sysctl("machdep.cpu.vendor") - - if m1cpu.IsAppleSilicon() { - c.Mhz = float64(m1cpu.PCoreHz() / 1_000_000) - } else { - // Use the rated frequency of the CPU. This is a static value and does not - // account for low power or Turbo Boost modes. - cpuFrequency, err := unix.SysctlUint64("hw.cpufrequency") - if err == nil { - c.Mhz = float64(cpuFrequency) / 1000000.0 - } - } - - return append(ret, c), nil -} - -func CountsWithContext(ctx context.Context, logical bool) (int, error) { - var cpuArgument string - if logical { - cpuArgument = "hw.logicalcpu" - } else { - cpuArgument = "hw.physicalcpu" - } - - count, err := unix.SysctlUint32(cpuArgument) - if err != nil { - return 0, err - } - - return int(count), nil -} diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_darwin_cgo.go b/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_darwin_cgo.go deleted file mode 100644 index 1d5f0772..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_darwin_cgo.go +++ /dev/null @@ -1,111 +0,0 @@ -//go:build darwin && cgo -// +build darwin,cgo - -package cpu - -/* -#include -#include -#include -#include -#include -#include -#include -#if TARGET_OS_MAC -#include -#endif -#include -#include -*/ -import "C" - -import ( - "bytes" - "encoding/binary" - "fmt" - "unsafe" -) - -// these CPU times for darwin is borrowed from influxdb/telegraf. - -func perCPUTimes() ([]TimesStat, error) { - var ( - count C.mach_msg_type_number_t - cpuload *C.processor_cpu_load_info_data_t - ncpu C.natural_t - ) - - status := C.host_processor_info(C.host_t(C.mach_host_self()), - C.PROCESSOR_CPU_LOAD_INFO, - &ncpu, - (*C.processor_info_array_t)(unsafe.Pointer(&cpuload)), - &count) - - if status != C.KERN_SUCCESS { - return nil, fmt.Errorf("host_processor_info error=%d", status) - } - - // jump through some cgo casting hoops and ensure we properly free - // the memory that cpuload points to - target := C.vm_map_t(C.mach_task_self_) - address := C.vm_address_t(uintptr(unsafe.Pointer(cpuload))) - defer C.vm_deallocate(target, address, C.vm_size_t(ncpu)) - - // the body of struct processor_cpu_load_info - // aka processor_cpu_load_info_data_t - var cpu_ticks [C.CPU_STATE_MAX]uint32 - - // copy the cpuload array to a []byte buffer - // where we can binary.Read the data - size := int(ncpu) * binary.Size(cpu_ticks) - buf := (*[1 << 30]byte)(unsafe.Pointer(cpuload))[:size:size] - - bbuf := bytes.NewBuffer(buf) - - var ret []TimesStat - - for i := 0; i < int(ncpu); i++ { - err := binary.Read(bbuf, binary.LittleEndian, &cpu_ticks) - if err != nil { - return nil, err - } - - c := TimesStat{ - CPU: fmt.Sprintf("cpu%d", i), - User: float64(cpu_ticks[C.CPU_STATE_USER]) / ClocksPerSec, - System: float64(cpu_ticks[C.CPU_STATE_SYSTEM]) / ClocksPerSec, - Nice: float64(cpu_ticks[C.CPU_STATE_NICE]) / ClocksPerSec, - Idle: float64(cpu_ticks[C.CPU_STATE_IDLE]) / ClocksPerSec, - } - - ret = append(ret, c) - } - - return ret, nil -} - -func allCPUTimes() ([]TimesStat, error) { - var count C.mach_msg_type_number_t - var cpuload C.host_cpu_load_info_data_t - - count = C.HOST_CPU_LOAD_INFO_COUNT - - status := C.host_statistics(C.host_t(C.mach_host_self()), - C.HOST_CPU_LOAD_INFO, - C.host_info_t(unsafe.Pointer(&cpuload)), - &count) - - if status != C.KERN_SUCCESS { - return nil, fmt.Errorf("host_statistics error=%d", status) - } - - c := TimesStat{ - CPU: "cpu-total", - User: float64(cpuload.cpu_ticks[C.CPU_STATE_USER]) / ClocksPerSec, - System: float64(cpuload.cpu_ticks[C.CPU_STATE_SYSTEM]) / ClocksPerSec, - Nice: float64(cpuload.cpu_ticks[C.CPU_STATE_NICE]) / ClocksPerSec, - Idle: float64(cpuload.cpu_ticks[C.CPU_STATE_IDLE]) / ClocksPerSec, - } - - return []TimesStat{c}, nil -} diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_darwin_nocgo.go b/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_darwin_nocgo.go deleted file mode 100644 index e067e99f..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_darwin_nocgo.go +++ /dev/null @@ -1,14 +0,0 @@ -//go:build darwin && !cgo -// +build darwin,!cgo - -package cpu - -import "github.com/shirou/gopsutil/v3/internal/common" - -func perCPUTimes() ([]TimesStat, error) { - return []TimesStat{}, common.ErrNotImplementedError -} - -func allCPUTimes() ([]TimesStat, error) { - return []TimesStat{}, common.ErrNotImplementedError -} diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_darwin_cgo.go b/vendor/github.com/shirou/gopsutil/v3/host/host_darwin_cgo.go deleted file mode 100644 index ffdc7b78..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_darwin_cgo.go +++ /dev/null @@ -1,47 +0,0 @@ -//go:build darwin && cgo -// +build darwin,cgo - -package host - -// #cgo LDFLAGS: -framework IOKit -// #include "smc_darwin.h" -import "C" -import "context" - -func SensorsTemperaturesWithContext(ctx context.Context) ([]TemperatureStat, error) { - temperatureKeys := []string{ - C.AMBIENT_AIR_0, - C.AMBIENT_AIR_1, - C.CPU_0_DIODE, - C.CPU_0_HEATSINK, - C.CPU_0_PROXIMITY, - C.ENCLOSURE_BASE_0, - C.ENCLOSURE_BASE_1, - C.ENCLOSURE_BASE_2, - C.ENCLOSURE_BASE_3, - C.GPU_0_DIODE, - C.GPU_0_HEATSINK, - C.GPU_0_PROXIMITY, - C.HARD_DRIVE_BAY, - C.MEMORY_SLOT_0, - C.MEMORY_SLOTS_PROXIMITY, - C.NORTHBRIDGE, - C.NORTHBRIDGE_DIODE, - C.NORTHBRIDGE_PROXIMITY, - C.THUNDERBOLT_0, - C.THUNDERBOLT_1, - C.WIRELESS_MODULE, - } - var temperatures []TemperatureStat - - C.gopsutil_v3_open_smc() - defer C.gopsutil_v3_close_smc() - - for _, key := range temperatureKeys { - temperatures = append(temperatures, TemperatureStat{ - SensorKey: key, - Temperature: float64(C.gopsutil_v3_get_temperature(C.CString(key))), - }) - } - return temperatures, nil -} diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_darwin_nocgo.go b/vendor/github.com/shirou/gopsutil/v3/host/host_darwin_nocgo.go deleted file mode 100644 index 6285ba94..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_darwin_nocgo.go +++ /dev/null @@ -1,14 +0,0 @@ -//go:build darwin && !cgo -// +build darwin,!cgo - -package host - -import ( - "context" - - "github.com/shirou/gopsutil/v3/internal/common" -) - -func SensorsTemperaturesWithContext(ctx context.Context) ([]TemperatureStat, error) { - return []TemperatureStat{}, common.ErrNotImplementedError -} diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_fallback.go b/vendor/github.com/shirou/gopsutil/v3/host/host_fallback.go deleted file mode 100644 index 150ccf00..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_fallback.go +++ /dev/null @@ -1,50 +0,0 @@ -//go:build !darwin && !linux && !freebsd && !openbsd && !netbsd && !solaris && !windows && !aix -// +build !darwin,!linux,!freebsd,!openbsd,!netbsd,!solaris,!windows,!aix - -package host - -import ( - "context" - - "github.com/shirou/gopsutil/v3/internal/common" -) - -func HostIDWithContext(ctx context.Context) (string, error) { - return "", common.ErrNotImplementedError -} - -func numProcs(ctx context.Context) (uint64, error) { - return 0, common.ErrNotImplementedError -} - -func BootTimeWithContext(ctx context.Context) (uint64, error) { - return 0, common.ErrNotImplementedError -} - -func UptimeWithContext(ctx context.Context) (uint64, error) { - return 0, common.ErrNotImplementedError -} - -func UsersWithContext(ctx context.Context) ([]UserStat, error) { - return []UserStat{}, common.ErrNotImplementedError -} - -func VirtualizationWithContext(ctx context.Context) (string, string, error) { - return "", "", common.ErrNotImplementedError -} - -func KernelVersionWithContext(ctx context.Context) (string, error) { - return "", common.ErrNotImplementedError -} - -func PlatformInformationWithContext(ctx context.Context) (string, string, string, error) { - return "", "", "", common.ErrNotImplementedError -} - -func SensorsTemperaturesWithContext(ctx context.Context) ([]TemperatureStat, error) { - return []TemperatureStat{}, common.ErrNotImplementedError -} - -func KernelArch() (string, error) { - return "", common.ErrNotImplementedError -} diff --git a/vendor/github.com/shirou/gopsutil/v3/host/smc_darwin.c b/vendor/github.com/shirou/gopsutil/v3/host/smc_darwin.c deleted file mode 100644 index 0197d95b..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/host/smc_darwin.c +++ /dev/null @@ -1,169 +0,0 @@ -#include -#include -#include "smc_darwin.h" - -#define IOSERVICE_SMC "AppleSMC" -#define IOSERVICE_MODEL "IOPlatformExpertDevice" - -#define DATA_TYPE_SP78 "sp78" - -typedef enum { - kSMCUserClientOpen = 0, - kSMCUserClientClose = 1, - kSMCHandleYPCEvent = 2, - kSMCReadKey = 5, - kSMCWriteKey = 6, - kSMCGetKeyCount = 7, - kSMCGetKeyFromIndex = 8, - kSMCGetKeyInfo = 9, -} selector_t; - -typedef struct { - unsigned char major; - unsigned char minor; - unsigned char build; - unsigned char reserved; - unsigned short release; -} SMCVersion; - -typedef struct { - uint16_t version; - uint16_t length; - uint32_t cpuPLimit; - uint32_t gpuPLimit; - uint32_t memPLimit; -} SMCPLimitData; - -typedef struct { - IOByteCount data_size; - uint32_t data_type; - uint8_t data_attributes; -} SMCKeyInfoData; - -typedef struct { - uint32_t key; - SMCVersion vers; - SMCPLimitData p_limit_data; - SMCKeyInfoData key_info; - uint8_t result; - uint8_t status; - uint8_t data8; - uint32_t data32; - uint8_t bytes[32]; -} SMCParamStruct; - -typedef enum { - kSMCSuccess = 0, - kSMCError = 1, - kSMCKeyNotFound = 0x84, -} kSMC_t; - -typedef struct { - uint8_t data[32]; - uint32_t data_type; - uint32_t data_size; - kSMC_t kSMC; -} smc_return_t; - -static const int SMC_KEY_SIZE = 4; // number of characters in an SMC key. -static io_connect_t conn; // our connection to the SMC. - -kern_return_t gopsutil_v3_open_smc(void) { - kern_return_t result; - io_service_t service; - - service = IOServiceGetMatchingService(0, IOServiceMatching(IOSERVICE_SMC)); - if (service == 0) { - // Note: IOServiceMatching documents 0 on failure - printf("ERROR: %s NOT FOUND\n", IOSERVICE_SMC); - return kIOReturnError; - } - - result = IOServiceOpen(service, mach_task_self(), 0, &conn); - IOObjectRelease(service); - - return result; -} - -kern_return_t gopsutil_v3_close_smc(void) { return IOServiceClose(conn); } - -static uint32_t to_uint32(char *key) { - uint32_t ans = 0; - uint32_t shift = 24; - - if (strlen(key) != SMC_KEY_SIZE) { - return 0; - } - - for (int i = 0; i < SMC_KEY_SIZE; i++) { - ans += key[i] << shift; - shift -= 8; - } - - return ans; -} - -static kern_return_t call_smc(SMCParamStruct *input, SMCParamStruct *output) { - kern_return_t result; - size_t input_cnt = sizeof(SMCParamStruct); - size_t output_cnt = sizeof(SMCParamStruct); - - result = IOConnectCallStructMethod(conn, kSMCHandleYPCEvent, input, input_cnt, - output, &output_cnt); - - if (result != kIOReturnSuccess) { - result = err_get_code(result); - } - return result; -} - -static kern_return_t read_smc(char *key, smc_return_t *result_smc) { - kern_return_t result; - SMCParamStruct input; - SMCParamStruct output; - - memset(&input, 0, sizeof(SMCParamStruct)); - memset(&output, 0, sizeof(SMCParamStruct)); - memset(result_smc, 0, sizeof(smc_return_t)); - - input.key = to_uint32(key); - input.data8 = kSMCGetKeyInfo; - - result = call_smc(&input, &output); - result_smc->kSMC = output.result; - - if (result != kIOReturnSuccess || output.result != kSMCSuccess) { - return result; - } - - result_smc->data_size = output.key_info.data_size; - result_smc->data_type = output.key_info.data_type; - - input.key_info.data_size = output.key_info.data_size; - input.data8 = kSMCReadKey; - - result = call_smc(&input, &output); - result_smc->kSMC = output.result; - - if (result != kIOReturnSuccess || output.result != kSMCSuccess) { - return result; - } - - memcpy(result_smc->data, output.bytes, sizeof(output.bytes)); - - return result; -} - -double gopsutil_v3_get_temperature(char *key) { - kern_return_t result; - smc_return_t result_smc; - - result = read_smc(key, &result_smc); - - if (!(result == kIOReturnSuccess) && result_smc.data_size == 2 && - result_smc.data_type == to_uint32(DATA_TYPE_SP78)) { - return 0.0; - } - - return (double)result_smc.data[0]; -} diff --git a/vendor/github.com/shirou/gopsutil/v3/host/smc_darwin.h b/vendor/github.com/shirou/gopsutil/v3/host/smc_darwin.h deleted file mode 100644 index e3013abd..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/host/smc_darwin.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef __SMC_H__ -#define __SMC_H__ 1 - -#include - -#define AMBIENT_AIR_0 "TA0P" -#define AMBIENT_AIR_1 "TA1P" -#define CPU_0_DIODE "TC0D" -#define CPU_0_HEATSINK "TC0H" -#define CPU_0_PROXIMITY "TC0P" -#define ENCLOSURE_BASE_0 "TB0T" -#define ENCLOSURE_BASE_1 "TB1T" -#define ENCLOSURE_BASE_2 "TB2T" -#define ENCLOSURE_BASE_3 "TB3T" -#define GPU_0_DIODE "TG0D" -#define GPU_0_HEATSINK "TG0H" -#define GPU_0_PROXIMITY "TG0P" -#define HARD_DRIVE_BAY "TH0P" -#define MEMORY_SLOT_0 "TM0S" -#define MEMORY_SLOTS_PROXIMITY "TM0P" -#define NORTHBRIDGE "TN0H" -#define NORTHBRIDGE_DIODE "TN0D" -#define NORTHBRIDGE_PROXIMITY "TN0P" -#define THUNDERBOLT_0 "TI0P" -#define THUNDERBOLT_1 "TI1P" -#define WIRELESS_MODULE "TW0P" - -kern_return_t gopsutil_v3_open_smc(void); -kern_return_t gopsutil_v3_close_smc(void); -double gopsutil_v3_get_temperature(char *); - -#endif // __SMC_H__ diff --git a/vendor/github.com/shirou/gopsutil/v3/internal/common/binary.go b/vendor/github.com/shirou/gopsutil/v3/internal/common/binary.go deleted file mode 100644 index 5e8d43db..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/internal/common/binary.go +++ /dev/null @@ -1,637 +0,0 @@ -package common - -// Copyright 2009 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package binary implements simple translation between numbers and byte -// sequences and encoding and decoding of varints. -// -// Numbers are translated by reading and writing fixed-size values. -// A fixed-size value is either a fixed-size arithmetic -// type (int8, uint8, int16, float32, complex64, ...) -// or an array or struct containing only fixed-size values. -// -// The varint functions encode and decode single integer values using -// a variable-length encoding; smaller values require fewer bytes. -// For a specification, see -// http://code.google.com/apis/protocolbuffers/docs/encoding.html. -// -// This package favors simplicity over efficiency. Clients that require -// high-performance serialization, especially for large data structures, -// should look at more advanced solutions such as the encoding/gob -// package or protocol buffers. - -import ( - "errors" - "io" - "math" - "reflect" -) - -// A ByteOrder specifies how to convert byte sequences into -// 16-, 32-, or 64-bit unsigned integers. -type ByteOrder interface { - Uint16([]byte) uint16 - Uint32([]byte) uint32 - Uint64([]byte) uint64 - PutUint16([]byte, uint16) - PutUint32([]byte, uint32) - PutUint64([]byte, uint64) - String() string -} - -// LittleEndian is the little-endian implementation of ByteOrder. -var LittleEndian littleEndian - -// BigEndian is the big-endian implementation of ByteOrder. -var BigEndian bigEndian - -type littleEndian struct{} - -func (littleEndian) Uint16(b []byte) uint16 { return uint16(b[0]) | uint16(b[1])<<8 } - -func (littleEndian) PutUint16(b []byte, v uint16) { - b[0] = byte(v) - b[1] = byte(v >> 8) -} - -func (littleEndian) Uint32(b []byte) uint32 { - return uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 -} - -func (littleEndian) PutUint32(b []byte, v uint32) { - b[0] = byte(v) - b[1] = byte(v >> 8) - b[2] = byte(v >> 16) - b[3] = byte(v >> 24) -} - -func (littleEndian) Uint64(b []byte) uint64 { - return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | - uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 -} - -func (littleEndian) PutUint64(b []byte, v uint64) { - b[0] = byte(v) - b[1] = byte(v >> 8) - b[2] = byte(v >> 16) - b[3] = byte(v >> 24) - b[4] = byte(v >> 32) - b[5] = byte(v >> 40) - b[6] = byte(v >> 48) - b[7] = byte(v >> 56) -} - -func (littleEndian) String() string { return "LittleEndian" } - -func (littleEndian) GoString() string { return "binary.LittleEndian" } - -type bigEndian struct{} - -func (bigEndian) Uint16(b []byte) uint16 { return uint16(b[1]) | uint16(b[0])<<8 } - -func (bigEndian) PutUint16(b []byte, v uint16) { - b[0] = byte(v >> 8) - b[1] = byte(v) -} - -func (bigEndian) Uint32(b []byte) uint32 { - return uint32(b[3]) | uint32(b[2])<<8 | uint32(b[1])<<16 | uint32(b[0])<<24 -} - -func (bigEndian) PutUint32(b []byte, v uint32) { - b[0] = byte(v >> 24) - b[1] = byte(v >> 16) - b[2] = byte(v >> 8) - b[3] = byte(v) -} - -func (bigEndian) Uint64(b []byte) uint64 { - return uint64(b[7]) | uint64(b[6])<<8 | uint64(b[5])<<16 | uint64(b[4])<<24 | - uint64(b[3])<<32 | uint64(b[2])<<40 | uint64(b[1])<<48 | uint64(b[0])<<56 -} - -func (bigEndian) PutUint64(b []byte, v uint64) { - b[0] = byte(v >> 56) - b[1] = byte(v >> 48) - b[2] = byte(v >> 40) - b[3] = byte(v >> 32) - b[4] = byte(v >> 24) - b[5] = byte(v >> 16) - b[6] = byte(v >> 8) - b[7] = byte(v) -} - -func (bigEndian) String() string { return "BigEndian" } - -func (bigEndian) GoString() string { return "binary.BigEndian" } - -// Read reads structured binary data from r into data. -// Data must be a pointer to a fixed-size value or a slice -// of fixed-size values. -// Bytes read from r are decoded using the specified byte order -// and written to successive fields of the data. -// When reading into structs, the field data for fields with -// blank (_) field names is skipped; i.e., blank field names -// may be used for padding. -// When reading into a struct, all non-blank fields must be exported. -func Read(r io.Reader, order ByteOrder, data interface{}) error { - // Fast path for basic types and slices. - if n := intDataSize(data); n != 0 { - var b [8]byte - var bs []byte - if n > len(b) { - bs = make([]byte, n) - } else { - bs = b[:n] - } - if _, err := io.ReadFull(r, bs); err != nil { - return err - } - switch data := data.(type) { - case *int8: - *data = int8(b[0]) - case *uint8: - *data = b[0] - case *int16: - *data = int16(order.Uint16(bs)) - case *uint16: - *data = order.Uint16(bs) - case *int32: - *data = int32(order.Uint32(bs)) - case *uint32: - *data = order.Uint32(bs) - case *int64: - *data = int64(order.Uint64(bs)) - case *uint64: - *data = order.Uint64(bs) - case []int8: - for i, x := range bs { // Easier to loop over the input for 8-bit values. - data[i] = int8(x) - } - case []uint8: - copy(data, bs) - case []int16: - for i := range data { - data[i] = int16(order.Uint16(bs[2*i:])) - } - case []uint16: - for i := range data { - data[i] = order.Uint16(bs[2*i:]) - } - case []int32: - for i := range data { - data[i] = int32(order.Uint32(bs[4*i:])) - } - case []uint32: - for i := range data { - data[i] = order.Uint32(bs[4*i:]) - } - case []int64: - for i := range data { - data[i] = int64(order.Uint64(bs[8*i:])) - } - case []uint64: - for i := range data { - data[i] = order.Uint64(bs[8*i:]) - } - } - return nil - } - - // Fallback to reflect-based decoding. - v := reflect.ValueOf(data) - size := -1 - switch v.Kind() { - case reflect.Ptr: - v = v.Elem() - size = dataSize(v) - case reflect.Slice: - size = dataSize(v) - } - if size < 0 { - return errors.New("binary.Read: invalid type " + reflect.TypeOf(data).String()) - } - d := &decoder{order: order, buf: make([]byte, size)} - if _, err := io.ReadFull(r, d.buf); err != nil { - return err - } - d.value(v) - return nil -} - -// Write writes the binary representation of data into w. -// Data must be a fixed-size value or a slice of fixed-size -// values, or a pointer to such data. -// Bytes written to w are encoded using the specified byte order -// and read from successive fields of the data. -// When writing structs, zero values are written for fields -// with blank (_) field names. -func Write(w io.Writer, order ByteOrder, data interface{}) error { - // Fast path for basic types and slices. - if n := intDataSize(data); n != 0 { - var b [8]byte - var bs []byte - if n > len(b) { - bs = make([]byte, n) - } else { - bs = b[:n] - } - switch v := data.(type) { - case *int8: - bs = b[:1] - b[0] = byte(*v) - case int8: - bs = b[:1] - b[0] = byte(v) - case []int8: - for i, x := range v { - bs[i] = byte(x) - } - case *uint8: - bs = b[:1] - b[0] = *v - case uint8: - bs = b[:1] - b[0] = byte(v) - case []uint8: - bs = v - case *int16: - bs = b[:2] - order.PutUint16(bs, uint16(*v)) - case int16: - bs = b[:2] - order.PutUint16(bs, uint16(v)) - case []int16: - for i, x := range v { - order.PutUint16(bs[2*i:], uint16(x)) - } - case *uint16: - bs = b[:2] - order.PutUint16(bs, *v) - case uint16: - bs = b[:2] - order.PutUint16(bs, v) - case []uint16: - for i, x := range v { - order.PutUint16(bs[2*i:], x) - } - case *int32: - bs = b[:4] - order.PutUint32(bs, uint32(*v)) - case int32: - bs = b[:4] - order.PutUint32(bs, uint32(v)) - case []int32: - for i, x := range v { - order.PutUint32(bs[4*i:], uint32(x)) - } - case *uint32: - bs = b[:4] - order.PutUint32(bs, *v) - case uint32: - bs = b[:4] - order.PutUint32(bs, v) - case []uint32: - for i, x := range v { - order.PutUint32(bs[4*i:], x) - } - case *int64: - bs = b[:8] - order.PutUint64(bs, uint64(*v)) - case int64: - bs = b[:8] - order.PutUint64(bs, uint64(v)) - case []int64: - for i, x := range v { - order.PutUint64(bs[8*i:], uint64(x)) - } - case *uint64: - bs = b[:8] - order.PutUint64(bs, *v) - case uint64: - bs = b[:8] - order.PutUint64(bs, v) - case []uint64: - for i, x := range v { - order.PutUint64(bs[8*i:], x) - } - } - _, err := w.Write(bs) - return err - } - - // Fallback to reflect-based encoding. - v := reflect.Indirect(reflect.ValueOf(data)) - size := dataSize(v) - if size < 0 { - return errors.New("binary.Write: invalid type " + reflect.TypeOf(data).String()) - } - buf := make([]byte, size) - e := &encoder{order: order, buf: buf} - e.value(v) - _, err := w.Write(buf) - return err -} - -// Size returns how many bytes Write would generate to encode the value v, which -// must be a fixed-size value or a slice of fixed-size values, or a pointer to such data. -// If v is neither of these, Size returns -1. -func Size(v interface{}) int { - return dataSize(reflect.Indirect(reflect.ValueOf(v))) -} - -// dataSize returns the number of bytes the actual data represented by v occupies in memory. -// For compound structures, it sums the sizes of the elements. Thus, for instance, for a slice -// it returns the length of the slice times the element size and does not count the memory -// occupied by the header. If the type of v is not acceptable, dataSize returns -1. -func dataSize(v reflect.Value) int { - if v.Kind() == reflect.Slice { - if s := sizeof(v.Type().Elem()); s >= 0 { - return s * v.Len() - } - return -1 - } - return sizeof(v.Type()) -} - -// sizeof returns the size >= 0 of variables for the given type or -1 if the type is not acceptable. -func sizeof(t reflect.Type) int { - switch t.Kind() { - case reflect.Array: - if s := sizeof(t.Elem()); s >= 0 { - return s * t.Len() - } - - case reflect.Struct: - sum := 0 - for i, n := 0, t.NumField(); i < n; i++ { - s := sizeof(t.Field(i).Type) - if s < 0 { - return -1 - } - sum += s - } - return sum - - case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, - reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, - reflect.Float32, reflect.Float64, reflect.Complex64, reflect.Complex128, reflect.Ptr: - return int(t.Size()) - } - - return -1 -} - -type coder struct { - order ByteOrder - buf []byte -} - -type ( - decoder coder - encoder coder -) - -func (d *decoder) uint8() uint8 { - x := d.buf[0] - d.buf = d.buf[1:] - return x -} - -func (e *encoder) uint8(x uint8) { - e.buf[0] = x - e.buf = e.buf[1:] -} - -func (d *decoder) uint16() uint16 { - x := d.order.Uint16(d.buf[0:2]) - d.buf = d.buf[2:] - return x -} - -func (e *encoder) uint16(x uint16) { - e.order.PutUint16(e.buf[0:2], x) - e.buf = e.buf[2:] -} - -func (d *decoder) uint32() uint32 { - x := d.order.Uint32(d.buf[0:4]) - d.buf = d.buf[4:] - return x -} - -func (e *encoder) uint32(x uint32) { - e.order.PutUint32(e.buf[0:4], x) - e.buf = e.buf[4:] -} - -func (d *decoder) uint64() uint64 { - x := d.order.Uint64(d.buf[0:8]) - d.buf = d.buf[8:] - return x -} - -func (e *encoder) uint64(x uint64) { - e.order.PutUint64(e.buf[0:8], x) - e.buf = e.buf[8:] -} - -func (d *decoder) int8() int8 { return int8(d.uint8()) } - -func (e *encoder) int8(x int8) { e.uint8(uint8(x)) } - -func (d *decoder) int16() int16 { return int16(d.uint16()) } - -func (e *encoder) int16(x int16) { e.uint16(uint16(x)) } - -func (d *decoder) int32() int32 { return int32(d.uint32()) } - -func (e *encoder) int32(x int32) { e.uint32(uint32(x)) } - -func (d *decoder) int64() int64 { return int64(d.uint64()) } - -func (e *encoder) int64(x int64) { e.uint64(uint64(x)) } - -func (d *decoder) value(v reflect.Value) { - switch v.Kind() { - case reflect.Array: - l := v.Len() - for i := 0; i < l; i++ { - d.value(v.Index(i)) - } - - case reflect.Struct: - t := v.Type() - l := v.NumField() - for i := 0; i < l; i++ { - // Note: Calling v.CanSet() below is an optimization. - // It would be sufficient to check the field name, - // but creating the StructField info for each field is - // costly (run "go test -bench=ReadStruct" and compare - // results when making changes to this code). - if v := v.Field(i); v.CanSet() || t.Field(i).Name != "_" { - d.value(v) - } else { - d.skip(v) - } - } - - case reflect.Slice: - l := v.Len() - for i := 0; i < l; i++ { - d.value(v.Index(i)) - } - - case reflect.Int8: - v.SetInt(int64(d.int8())) - case reflect.Int16: - v.SetInt(int64(d.int16())) - case reflect.Int32: - v.SetInt(int64(d.int32())) - case reflect.Int64: - v.SetInt(d.int64()) - - case reflect.Uint8: - v.SetUint(uint64(d.uint8())) - case reflect.Uint16: - v.SetUint(uint64(d.uint16())) - case reflect.Uint32: - v.SetUint(uint64(d.uint32())) - case reflect.Uint64: - v.SetUint(d.uint64()) - - case reflect.Float32: - v.SetFloat(float64(math.Float32frombits(d.uint32()))) - case reflect.Float64: - v.SetFloat(math.Float64frombits(d.uint64())) - - case reflect.Complex64: - v.SetComplex(complex( - float64(math.Float32frombits(d.uint32())), - float64(math.Float32frombits(d.uint32())), - )) - case reflect.Complex128: - v.SetComplex(complex( - math.Float64frombits(d.uint64()), - math.Float64frombits(d.uint64()), - )) - } -} - -func (e *encoder) value(v reflect.Value) { - switch v.Kind() { - case reflect.Array: - l := v.Len() - for i := 0; i < l; i++ { - e.value(v.Index(i)) - } - - case reflect.Struct: - t := v.Type() - l := v.NumField() - for i := 0; i < l; i++ { - // see comment for corresponding code in decoder.value() - if v := v.Field(i); v.CanSet() || t.Field(i).Name != "_" { - e.value(v) - } else { - e.skip(v) - } - } - - case reflect.Slice: - l := v.Len() - for i := 0; i < l; i++ { - e.value(v.Index(i)) - } - - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - switch v.Type().Kind() { - case reflect.Int8: - e.int8(int8(v.Int())) - case reflect.Int16: - e.int16(int16(v.Int())) - case reflect.Int32: - e.int32(int32(v.Int())) - case reflect.Int64: - e.int64(v.Int()) - } - - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - switch v.Type().Kind() { - case reflect.Uint8: - e.uint8(uint8(v.Uint())) - case reflect.Uint16: - e.uint16(uint16(v.Uint())) - case reflect.Uint32: - e.uint32(uint32(v.Uint())) - case reflect.Uint64: - e.uint64(v.Uint()) - } - - case reflect.Float32, reflect.Float64: - switch v.Type().Kind() { - case reflect.Float32: - e.uint32(math.Float32bits(float32(v.Float()))) - case reflect.Float64: - e.uint64(math.Float64bits(v.Float())) - } - - case reflect.Complex64, reflect.Complex128: - switch v.Type().Kind() { - case reflect.Complex64: - x := v.Complex() - e.uint32(math.Float32bits(float32(real(x)))) - e.uint32(math.Float32bits(float32(imag(x)))) - case reflect.Complex128: - x := v.Complex() - e.uint64(math.Float64bits(real(x))) - e.uint64(math.Float64bits(imag(x))) - } - } -} - -func (d *decoder) skip(v reflect.Value) { - d.buf = d.buf[dataSize(v):] -} - -func (e *encoder) skip(v reflect.Value) { - n := dataSize(v) - for i := range e.buf[0:n] { - e.buf[i] = 0 - } - e.buf = e.buf[n:] -} - -// intDataSize returns the size of the data required to represent the data when encoded. -// It returns zero if the type cannot be implemented by the fast path in Read or Write. -func intDataSize(data interface{}) int { - switch data := data.(type) { - case int8, *int8, *uint8: - return 1 - case []int8: - return len(data) - case []uint8: - return len(data) - case int16, *int16, *uint16: - return 2 - case []int16: - return 2 * len(data) - case []uint16: - return 2 * len(data) - case int32, *int32, *uint32: - return 4 - case []int32: - return 4 * len(data) - case []uint32: - return 4 * len(data) - case int64, *int64, *uint64: - return 8 - case []int64: - return 8 * len(data) - case []uint64: - return 8 * len(data) - } - return 0 -} diff --git a/vendor/github.com/shirou/gopsutil/v3/internal/common/common_darwin.go b/vendor/github.com/shirou/gopsutil/v3/internal/common/common_darwin.go deleted file mode 100644 index f1a78459..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/internal/common/common_darwin.go +++ /dev/null @@ -1,66 +0,0 @@ -//go:build darwin -// +build darwin - -package common - -import ( - "context" - "os" - "os/exec" - "strings" - "unsafe" - - "golang.org/x/sys/unix" -) - -func DoSysctrlWithContext(ctx context.Context, mib string) ([]string, error) { - cmd := exec.CommandContext(ctx, "sysctl", "-n", mib) - cmd.Env = getSysctrlEnv(os.Environ()) - out, err := cmd.Output() - if err != nil { - return []string{}, err - } - v := strings.Replace(string(out), "{ ", "", 1) - v = strings.Replace(string(v), " }", "", 1) - values := strings.Fields(string(v)) - - return values, nil -} - -func CallSyscall(mib []int32) ([]byte, uint64, error) { - miblen := uint64(len(mib)) - - // get required buffer size - length := uint64(0) - _, _, err := unix.Syscall6( - 202, // unix.SYS___SYSCTL https://github.com/golang/sys/blob/76b94024e4b621e672466e8db3d7f084e7ddcad2/unix/zsysnum_darwin_amd64.go#L146 - uintptr(unsafe.Pointer(&mib[0])), - uintptr(miblen), - 0, - uintptr(unsafe.Pointer(&length)), - 0, - 0) - if err != 0 { - var b []byte - return b, length, err - } - if length == 0 { - var b []byte - return b, length, err - } - // get proc info itself - buf := make([]byte, length) - _, _, err = unix.Syscall6( - 202, // unix.SYS___SYSCTL https://github.com/golang/sys/blob/76b94024e4b621e672466e8db3d7f084e7ddcad2/unix/zsysnum_darwin_amd64.go#L146 - uintptr(unsafe.Pointer(&mib[0])), - uintptr(miblen), - uintptr(unsafe.Pointer(&buf[0])), - uintptr(unsafe.Pointer(&length)), - 0, - 0) - if err != 0 { - return buf, length, err - } - - return buf, length, nil -} diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_darwin.go b/vendor/github.com/shirou/gopsutil/v3/mem/mem_darwin.go deleted file mode 100644 index a05a0fab..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_darwin.go +++ /dev/null @@ -1,72 +0,0 @@ -//go:build darwin -// +build darwin - -package mem - -import ( - "context" - "fmt" - "unsafe" - - "golang.org/x/sys/unix" - - "github.com/shirou/gopsutil/v3/internal/common" -) - -func getHwMemsize() (uint64, error) { - total, err := unix.SysctlUint64("hw.memsize") - if err != nil { - return 0, err - } - return total, nil -} - -// xsw_usage in sys/sysctl.h -type swapUsage struct { - Total uint64 - Avail uint64 - Used uint64 - Pagesize int32 - Encrypted bool -} - -// SwapMemory returns swapinfo. -func SwapMemory() (*SwapMemoryStat, error) { - return SwapMemoryWithContext(context.Background()) -} - -func SwapMemoryWithContext(ctx context.Context) (*SwapMemoryStat, error) { - // https://github.com/yanllearnn/go-osstat/blob/ae8a279d26f52ec946a03698c7f50a26cfb427e3/memory/memory_darwin.go - var ret *SwapMemoryStat - - value, err := unix.SysctlRaw("vm.swapusage") - if err != nil { - return ret, err - } - if len(value) != 32 { - return ret, fmt.Errorf("unexpected output of sysctl vm.swapusage: %v (len: %d)", value, len(value)) - } - swap := (*swapUsage)(unsafe.Pointer(&value[0])) - - u := float64(0) - if swap.Total != 0 { - u = ((float64(swap.Total) - float64(swap.Avail)) / float64(swap.Total)) * 100.0 - } - - ret = &SwapMemoryStat{ - Total: swap.Total, - Used: swap.Used, - Free: swap.Avail, - UsedPercent: u, - } - - return ret, nil -} - -func SwapDevices() ([]*SwapDevice, error) { - return SwapDevicesWithContext(context.Background()) -} - -func SwapDevicesWithContext(ctx context.Context) ([]*SwapDevice, error) { - return nil, common.ErrNotImplementedError -} diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_darwin_cgo.go b/vendor/github.com/shirou/gopsutil/v3/mem/mem_darwin_cgo.go deleted file mode 100644 index e5da7dcd..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_darwin_cgo.go +++ /dev/null @@ -1,58 +0,0 @@ -//go:build darwin && cgo -// +build darwin,cgo - -package mem - -/* -#include -#include -*/ -import "C" - -import ( - "context" - "fmt" - "unsafe" -) - -// VirtualMemory returns VirtualmemoryStat. -func VirtualMemory() (*VirtualMemoryStat, error) { - return VirtualMemoryWithContext(context.Background()) -} - -func VirtualMemoryWithContext(ctx context.Context) (*VirtualMemoryStat, error) { - count := C.mach_msg_type_number_t(C.HOST_VM_INFO_COUNT) - var vmstat C.vm_statistics_data_t - - status := C.host_statistics(C.host_t(C.mach_host_self()), - C.HOST_VM_INFO, - C.host_info_t(unsafe.Pointer(&vmstat)), - &count) - - if status != C.KERN_SUCCESS { - return nil, fmt.Errorf("host_statistics error=%d", status) - } - - pageSize := uint64(C.vm_kernel_page_size) - total, err := getHwMemsize() - if err != nil { - return nil, err - } - totalCount := C.natural_t(total / pageSize) - - availableCount := vmstat.inactive_count + vmstat.free_count - usedPercent := 100 * float64(totalCount-availableCount) / float64(totalCount) - - usedCount := totalCount - availableCount - - return &VirtualMemoryStat{ - Total: total, - Available: pageSize * uint64(availableCount), - Used: pageSize * uint64(usedCount), - UsedPercent: usedPercent, - Free: pageSize * uint64(vmstat.free_count), - Active: pageSize * uint64(vmstat.active_count), - Inactive: pageSize * uint64(vmstat.inactive_count), - Wired: pageSize * uint64(vmstat.wire_count), - }, nil -} diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_darwin_nocgo.go b/vendor/github.com/shirou/gopsutil/v3/mem/mem_darwin_nocgo.go deleted file mode 100644 index c9393168..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_darwin_nocgo.go +++ /dev/null @@ -1,89 +0,0 @@ -//go:build darwin && !cgo -// +build darwin,!cgo - -package mem - -import ( - "context" - "strconv" - "strings" - - "golang.org/x/sys/unix" -) - -// Runs vm_stat and returns Free and inactive pages -func getVMStat(vms *VirtualMemoryStat) error { - out, err := invoke.Command("vm_stat") - if err != nil { - return err - } - return parseVMStat(string(out), vms) -} - -func parseVMStat(out string, vms *VirtualMemoryStat) error { - var err error - - lines := strings.Split(out, "\n") - pagesize := uint64(unix.Getpagesize()) - for _, line := range lines { - fields := strings.Split(line, ":") - if len(fields) < 2 { - continue - } - key := strings.TrimSpace(fields[0]) - value := strings.Trim(fields[1], " .") - switch key { - case "Pages free": - free, e := strconv.ParseUint(value, 10, 64) - if e != nil { - err = e - } - vms.Free = free * pagesize - case "Pages inactive": - inactive, e := strconv.ParseUint(value, 10, 64) - if e != nil { - err = e - } - vms.Inactive = inactive * pagesize - case "Pages active": - active, e := strconv.ParseUint(value, 10, 64) - if e != nil { - err = e - } - vms.Active = active * pagesize - case "Pages wired down": - wired, e := strconv.ParseUint(value, 10, 64) - if e != nil { - err = e - } - vms.Wired = wired * pagesize - } - } - return err -} - -// VirtualMemory returns VirtualmemoryStat. -func VirtualMemory() (*VirtualMemoryStat, error) { - return VirtualMemoryWithContext(context.Background()) -} - -func VirtualMemoryWithContext(ctx context.Context) (*VirtualMemoryStat, error) { - ret := &VirtualMemoryStat{} - - total, err := getHwMemsize() - if err != nil { - return nil, err - } - err = getVMStat(ret) - if err != nil { - return nil, err - } - - ret.Available = ret.Free + ret.Inactive - ret.Total = total - - ret.Used = ret.Total - ret.Available - ret.UsedPercent = 100 * float64(ret.Used) / float64(ret.Total) - - return ret, nil -} diff --git a/vendor/github.com/shirou/gopsutil/v3/net/net_fallback.go b/vendor/github.com/shirou/gopsutil/v3/net/net_fallback.go deleted file mode 100644 index e136be1b..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/net/net_fallback.go +++ /dev/null @@ -1,93 +0,0 @@ -//go:build !aix && !darwin && !linux && !freebsd && !openbsd && !windows && !solaris -// +build !aix,!darwin,!linux,!freebsd,!openbsd,!windows,!solaris - -package net - -import ( - "context" - - "github.com/shirou/gopsutil/v3/internal/common" -) - -func IOCounters(pernic bool) ([]IOCountersStat, error) { - return IOCountersWithContext(context.Background(), pernic) -} - -func IOCountersWithContext(ctx context.Context, pernic bool) ([]IOCountersStat, error) { - return []IOCountersStat{}, common.ErrNotImplementedError -} - -func FilterCounters() ([]FilterStat, error) { - return FilterCountersWithContext(context.Background()) -} - -func FilterCountersWithContext(ctx context.Context) ([]FilterStat, error) { - return []FilterStat{}, common.ErrNotImplementedError -} - -func ConntrackStats(percpu bool) ([]ConntrackStat, error) { - return ConntrackStatsWithContext(context.Background(), percpu) -} - -func ConntrackStatsWithContext(ctx context.Context, percpu bool) ([]ConntrackStat, error) { - return nil, common.ErrNotImplementedError -} - -func ProtoCounters(protocols []string) ([]ProtoCountersStat, error) { - return ProtoCountersWithContext(context.Background(), protocols) -} - -func ProtoCountersWithContext(ctx context.Context, protocols []string) ([]ProtoCountersStat, error) { - return []ProtoCountersStat{}, common.ErrNotImplementedError -} - -func Connections(kind string) ([]ConnectionStat, error) { - return ConnectionsWithContext(context.Background(), kind) -} - -func ConnectionsWithContext(ctx context.Context, kind string) ([]ConnectionStat, error) { - return []ConnectionStat{}, common.ErrNotImplementedError -} - -func ConnectionsMax(kind string, max int) ([]ConnectionStat, error) { - return ConnectionsMaxWithContext(context.Background(), kind, max) -} - -func ConnectionsMaxWithContext(ctx context.Context, kind string, max int) ([]ConnectionStat, error) { - return []ConnectionStat{}, common.ErrNotImplementedError -} - -// Return a list of network connections opened, omitting `Uids`. -// WithoutUids functions are reliant on implementation details. They may be altered to be an alias for Connections or be -// removed from the API in the future. -func ConnectionsWithoutUids(kind string) ([]ConnectionStat, error) { - return ConnectionsWithoutUidsWithContext(context.Background(), kind) -} - -func ConnectionsWithoutUidsWithContext(ctx context.Context, kind string) ([]ConnectionStat, error) { - return ConnectionsMaxWithoutUidsWithContext(ctx, kind, 0) -} - -func ConnectionsMaxWithoutUidsWithContext(ctx context.Context, kind string, max int) ([]ConnectionStat, error) { - return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, 0, max) -} - -func ConnectionsPidWithoutUids(kind string, pid int32) ([]ConnectionStat, error) { - return ConnectionsPidWithoutUidsWithContext(context.Background(), kind, pid) -} - -func ConnectionsPidWithoutUidsWithContext(ctx context.Context, kind string, pid int32) ([]ConnectionStat, error) { - return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, 0) -} - -func ConnectionsPidMaxWithoutUids(kind string, pid int32, max int) ([]ConnectionStat, error) { - return ConnectionsPidMaxWithoutUidsWithContext(context.Background(), kind, pid, max) -} - -func ConnectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, pid int32, max int) ([]ConnectionStat, error) { - return connectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, max) -} - -func connectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, pid int32, max int) ([]ConnectionStat, error) { - return []ConnectionStat{}, common.ErrNotImplementedError -} diff --git a/vendor/github.com/shirou/gopsutil/v3/net/net_linux_111.go b/vendor/github.com/shirou/gopsutil/v3/net/net_linux_111.go deleted file mode 100644 index bd5c9587..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/net/net_linux_111.go +++ /dev/null @@ -1,12 +0,0 @@ -//go:build !go1.16 -// +build !go1.16 - -package net - -import ( - "os" -) - -func readDir(f *os.File, max int) ([]os.FileInfo, error) { - return f.Readdir(max) -} diff --git a/vendor/github.com/shirou/gopsutil/v3/net/net_linux_116.go b/vendor/github.com/shirou/gopsutil/v3/net/net_linux_116.go deleted file mode 100644 index a45072e9..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/net/net_linux_116.go +++ /dev/null @@ -1,12 +0,0 @@ -//go:build go1.16 -// +build go1.16 - -package net - -import ( - "os" -) - -func readDir(f *os.File, max int) ([]os.DirEntry, error) { - return f.ReadDir(max) -} diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_bsd.go b/vendor/github.com/shirou/gopsutil/v3/process/process_bsd.go deleted file mode 100644 index 263829ff..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_bsd.go +++ /dev/null @@ -1,76 +0,0 @@ -//go:build darwin || freebsd || openbsd -// +build darwin freebsd openbsd - -package process - -import ( - "bytes" - "context" - "encoding/binary" - - "github.com/shirou/gopsutil/v3/cpu" - "github.com/shirou/gopsutil/v3/internal/common" -) - -type MemoryInfoExStat struct{} - -type MemoryMapsStat struct{} - -func (p *Process) TgidWithContext(ctx context.Context) (int32, error) { - return 0, common.ErrNotImplementedError -} - -func (p *Process) IOniceWithContext(ctx context.Context) (int32, error) { - return 0, common.ErrNotImplementedError -} - -func (p *Process) RlimitWithContext(ctx context.Context) ([]RlimitStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) RlimitUsageWithContext(ctx context.Context, gatherUsed bool) ([]RlimitStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) NumCtxSwitchesWithContext(ctx context.Context) (*NumCtxSwitchesStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) NumFDsWithContext(ctx context.Context) (int32, error) { - return 0, common.ErrNotImplementedError -} - -func (p *Process) CPUAffinityWithContext(ctx context.Context) ([]int32, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) MemoryInfoExWithContext(ctx context.Context) (*MemoryInfoExStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) PageFaultsWithContext(ctx context.Context) (*PageFaultsStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) OpenFilesWithContext(ctx context.Context) ([]OpenFilesStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) MemoryMapsWithContext(ctx context.Context, grouped bool) (*[]MemoryMapsStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) ThreadsWithContext(ctx context.Context) (map[int32]*cpu.TimesStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) EnvironWithContext(ctx context.Context) ([]string, error) { - return nil, common.ErrNotImplementedError -} - -func parseKinfoProc(buf []byte) (KinfoProc, error) { - var k KinfoProc - br := bytes.NewReader(buf) - err := common.Read(br, binary.LittleEndian, &k) - return k, err -} diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_darwin.go b/vendor/github.com/shirou/gopsutil/v3/process/process_darwin.go deleted file mode 100644 index 176661cb..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_darwin.go +++ /dev/null @@ -1,325 +0,0 @@ -//go:build darwin -// +build darwin - -package process - -import ( - "context" - "fmt" - "path/filepath" - "strconv" - "strings" - - "github.com/tklauser/go-sysconf" - "golang.org/x/sys/unix" - - "github.com/shirou/gopsutil/v3/internal/common" - "github.com/shirou/gopsutil/v3/net" -) - -// copied from sys/sysctl.h -const ( - CTLKern = 1 // "high kernel": proc, limits - KernProc = 14 // struct: process entries - KernProcPID = 1 // by process id - KernProcProc = 8 // only return procs - KernProcAll = 0 // everything - KernProcPathname = 12 // path to executable -) - -var clockTicks = 100 // default value - -func init() { - clkTck, err := sysconf.Sysconf(sysconf.SC_CLK_TCK) - // ignore errors - if err == nil { - clockTicks = int(clkTck) - } -} - -type _Ctype_struct___0 struct { - Pad uint64 -} - -func pidsWithContext(ctx context.Context) ([]int32, error) { - var ret []int32 - - kprocs, err := unix.SysctlKinfoProcSlice("kern.proc.all") - if err != nil { - return ret, err - } - - for _, proc := range kprocs { - ret = append(ret, int32(proc.Proc.P_pid)) - } - - return ret, nil -} - -func (p *Process) PpidWithContext(ctx context.Context) (int32, error) { - k, err := p.getKProc() - if err != nil { - return 0, err - } - - return k.Eproc.Ppid, nil -} - -func (p *Process) NameWithContext(ctx context.Context) (string, error) { - k, err := p.getKProc() - if err != nil { - return "", err - } - - name := common.ByteToString(k.Proc.P_comm[:]) - - if len(name) >= 15 { - cmdName, err := p.cmdNameWithContext(ctx) - if err != nil { - return "", err - } - if len(cmdName) > 0 { - extendedName := filepath.Base(cmdName) - if strings.HasPrefix(extendedName, p.name) { - name = extendedName - } - } - } - - return name, nil -} - -func (p *Process) createTimeWithContext(ctx context.Context) (int64, error) { - k, err := p.getKProc() - if err != nil { - return 0, err - } - - return k.Proc.P_starttime.Sec*1000 + int64(k.Proc.P_starttime.Usec)/1000, nil -} - -func (p *Process) StatusWithContext(ctx context.Context) ([]string, error) { - r, err := callPsWithContext(ctx, "state", p.Pid, false, false) - if err != nil { - return []string{""}, err - } - status := convertStatusChar(r[0][0][0:1]) - return []string{status}, err -} - -func (p *Process) ForegroundWithContext(ctx context.Context) (bool, error) { - // see https://github.com/shirou/gopsutil/issues/596#issuecomment-432707831 for implementation details - pid := p.Pid - out, err := invoke.CommandWithContext(ctx, "ps", "-o", "stat=", "-p", strconv.Itoa(int(pid))) - if err != nil { - return false, err - } - return strings.IndexByte(string(out), '+') != -1, nil -} - -func (p *Process) UidsWithContext(ctx context.Context) ([]int32, error) { - k, err := p.getKProc() - if err != nil { - return nil, err - } - - // See: http://unix.superglobalmegacorp.com/Net2/newsrc/sys/ucred.h.html - userEffectiveUID := int32(k.Eproc.Ucred.Uid) - - return []int32{userEffectiveUID}, nil -} - -func (p *Process) GidsWithContext(ctx context.Context) ([]int32, error) { - k, err := p.getKProc() - if err != nil { - return nil, err - } - - gids := make([]int32, 0, 3) - gids = append(gids, int32(k.Eproc.Pcred.P_rgid), int32(k.Eproc.Pcred.P_rgid), int32(k.Eproc.Pcred.P_svgid)) - - return gids, nil -} - -func (p *Process) GroupsWithContext(ctx context.Context) ([]int32, error) { - return nil, common.ErrNotImplementedError - // k, err := p.getKProc() - // if err != nil { - // return nil, err - // } - - // groups := make([]int32, k.Eproc.Ucred.Ngroups) - // for i := int16(0); i < k.Eproc.Ucred.Ngroups; i++ { - // groups[i] = int32(k.Eproc.Ucred.Groups[i]) - // } - - // return groups, nil -} - -func (p *Process) TerminalWithContext(ctx context.Context) (string, error) { - return "", common.ErrNotImplementedError - /* - k, err := p.getKProc() - if err != nil { - return "", err - } - - ttyNr := uint64(k.Eproc.Tdev) - termmap, err := getTerminalMap() - if err != nil { - return "", err - } - - return termmap[ttyNr], nil - */ -} - -func (p *Process) NiceWithContext(ctx context.Context) (int32, error) { - k, err := p.getKProc() - if err != nil { - return 0, err - } - return int32(k.Proc.P_nice), nil -} - -func (p *Process) IOCountersWithContext(ctx context.Context) (*IOCountersStat, error) { - return nil, common.ErrNotImplementedError -} - -func convertCPUTimes(s string) (ret float64, err error) { - var t int - var _tmp string - if strings.Contains(s, ":") { - _t := strings.Split(s, ":") - switch len(_t) { - case 3: - hour, err := strconv.Atoi(_t[0]) - if err != nil { - return ret, err - } - t += hour * 60 * 60 * clockTicks - - mins, err := strconv.Atoi(_t[1]) - if err != nil { - return ret, err - } - t += mins * 60 * clockTicks - _tmp = _t[2] - case 2: - mins, err := strconv.Atoi(_t[0]) - if err != nil { - return ret, err - } - t += mins * 60 * clockTicks - _tmp = _t[1] - case 1, 0: - _tmp = s - default: - return ret, fmt.Errorf("wrong cpu time string") - } - } else { - _tmp = s - } - - _t := strings.Split(_tmp, ".") - if err != nil { - return ret, err - } - h, err := strconv.Atoi(_t[0]) - t += h * clockTicks - h, err = strconv.Atoi(_t[1]) - t += h - return float64(t) / float64(clockTicks), nil -} - -func (p *Process) ChildrenWithContext(ctx context.Context) ([]*Process, error) { - pids, err := common.CallPgrepWithContext(ctx, invoke, p.Pid) - if err != nil { - return nil, err - } - ret := make([]*Process, 0, len(pids)) - for _, pid := range pids { - np, err := NewProcessWithContext(ctx, pid) - if err != nil { - return nil, err - } - ret = append(ret, np) - } - return ret, nil -} - -func (p *Process) ConnectionsWithContext(ctx context.Context) ([]net.ConnectionStat, error) { - return net.ConnectionsPidWithContext(ctx, "all", p.Pid) -} - -func (p *Process) ConnectionsMaxWithContext(ctx context.Context, max int) ([]net.ConnectionStat, error) { - return net.ConnectionsPidMaxWithContext(ctx, "all", p.Pid, max) -} - -func ProcessesWithContext(ctx context.Context) ([]*Process, error) { - out := []*Process{} - - pids, err := PidsWithContext(ctx) - if err != nil { - return out, err - } - - for _, pid := range pids { - p, err := NewProcessWithContext(ctx, pid) - if err != nil { - continue - } - out = append(out, p) - } - - return out, nil -} - -// Returns a proc as defined here: -// http://unix.superglobalmegacorp.com/Net2/newsrc/sys/kinfo_proc.h.html -func (p *Process) getKProc() (*unix.KinfoProc, error) { - return unix.SysctlKinfoProc("kern.proc.pid", int(p.Pid)) -} - -// call ps command. -// Return value deletes Header line(you must not input wrong arg). -// And splited by Space. Caller have responsibility to manage. -// If passed arg pid is 0, get information from all process. -func callPsWithContext(ctx context.Context, arg string, pid int32, threadOption bool, nameOption bool) ([][]string, error) { - var cmd []string - if pid == 0 { // will get from all processes. - cmd = []string{"-ax", "-o", arg} - } else if threadOption { - cmd = []string{"-x", "-o", arg, "-M", "-p", strconv.Itoa(int(pid))} - } else { - cmd = []string{"-x", "-o", arg, "-p", strconv.Itoa(int(pid))} - } - if nameOption { - cmd = append(cmd, "-c") - } - out, err := invoke.CommandWithContext(ctx, "ps", cmd...) - if err != nil { - return [][]string{}, err - } - lines := strings.Split(string(out), "\n") - - var ret [][]string - for _, l := range lines[1:] { - var lr []string - if nameOption { - lr = append(lr, l) - } else { - for _, r := range strings.Split(l, " ") { - if r == "" { - continue - } - lr = append(lr, strings.TrimSpace(r)) - } - } - if len(lr) != 0 { - ret = append(ret, lr) - } - } - - return ret, nil -} diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_darwin_cgo.go b/vendor/github.com/shirou/gopsutil/v3/process/process_darwin_cgo.go deleted file mode 100644 index 858f08e7..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_darwin_cgo.go +++ /dev/null @@ -1,222 +0,0 @@ -//go:build darwin && cgo -// +build darwin,cgo - -package process - -// #include -// #include -// #include -// #include -// #include -// #include -// #include -import "C" - -import ( - "bytes" - "context" - "fmt" - "strings" - "syscall" - "unsafe" - - "github.com/shirou/gopsutil/v3/cpu" -) - -var ( - argMax int - timescaleToNanoSeconds float64 -) - -func init() { - argMax = getArgMax() - timescaleToNanoSeconds = getTimeScaleToNanoSeconds() -} - -func getArgMax() int { - var ( - mib = [...]C.int{C.CTL_KERN, C.KERN_ARGMAX} - argmax C.int - size C.size_t = C.ulong(unsafe.Sizeof(argmax)) - ) - retval := C.sysctl(&mib[0], 2, unsafe.Pointer(&argmax), &size, C.NULL, 0) - if retval == 0 { - return int(argmax) - } - return 0 -} - -func getTimeScaleToNanoSeconds() float64 { - var timeBaseInfo C.struct_mach_timebase_info - - C.mach_timebase_info(&timeBaseInfo) - - return float64(timeBaseInfo.numer) / float64(timeBaseInfo.denom) -} - -func (p *Process) ExeWithContext(ctx context.Context) (string, error) { - var c C.char // need a var for unsafe.Sizeof need a var - const bufsize = C.PROC_PIDPATHINFO_MAXSIZE * unsafe.Sizeof(c) - buffer := (*C.char)(C.malloc(C.size_t(bufsize))) - defer C.free(unsafe.Pointer(buffer)) - - ret, err := C.proc_pidpath(C.int(p.Pid), unsafe.Pointer(buffer), C.uint32_t(bufsize)) - if err != nil { - return "", err - } - if ret <= 0 { - return "", fmt.Errorf("unknown error: proc_pidpath returned %d", ret) - } - - return C.GoString(buffer), nil -} - -// CwdWithContext retrieves the Current Working Directory for the given process. -// It uses the proc_pidinfo from libproc and will only work for processes the -// EUID can access. Otherwise "operation not permitted" will be returned as the -// error. -// Note: This might also work for other *BSD OSs. -func (p *Process) CwdWithContext(ctx context.Context) (string, error) { - const vpiSize = C.sizeof_struct_proc_vnodepathinfo - vpi := (*C.struct_proc_vnodepathinfo)(C.malloc(vpiSize)) - defer C.free(unsafe.Pointer(vpi)) - ret, err := C.proc_pidinfo(C.int(p.Pid), C.PROC_PIDVNODEPATHINFO, 0, unsafe.Pointer(vpi), vpiSize) - if err != nil { - // fmt.Printf("ret: %d %T\n", ret, err) - if err == syscall.EPERM { - return "", ErrorNotPermitted - } - return "", err - } - if ret <= 0 { - return "", fmt.Errorf("unknown error: proc_pidinfo returned %d", ret) - } - if ret != C.sizeof_struct_proc_vnodepathinfo { - return "", fmt.Errorf("too few bytes; expected %d, got %d", vpiSize, ret) - } - return C.GoString(&vpi.pvi_cdir.vip_path[0]), err -} - -func procArgs(pid int32) ([]byte, int, error) { - var ( - mib = [...]C.int{C.CTL_KERN, C.KERN_PROCARGS2, C.int(pid)} - size C.size_t = C.ulong(argMax) - nargs C.int - result []byte - ) - procargs := (*C.char)(C.malloc(C.ulong(argMax))) - defer C.free(unsafe.Pointer(procargs)) - retval, err := C.sysctl(&mib[0], 3, unsafe.Pointer(procargs), &size, C.NULL, 0) - if retval == 0 { - C.memcpy(unsafe.Pointer(&nargs), unsafe.Pointer(procargs), C.sizeof_int) - result = C.GoBytes(unsafe.Pointer(procargs), C.int(size)) - // fmt.Printf("size: %d %d\n%s\n", size, nargs, hex.Dump(result)) - return result, int(nargs), nil - } - return nil, 0, err -} - -func (p *Process) CmdlineSliceWithContext(ctx context.Context) ([]string, error) { - return p.cmdlineSliceWithContext(ctx, true) -} - -func (p *Process) cmdlineSliceWithContext(ctx context.Context, fallback bool) ([]string, error) { - pargs, nargs, err := procArgs(p.Pid) - if err != nil { - return nil, err - } - // The first bytes hold the nargs int, skip it. - args := bytes.Split((pargs)[C.sizeof_int:], []byte{0}) - var argStr string - // The first element is the actual binary/command path. - // command := args[0] - var argSlice []string - // var envSlice []string - // All other, non-zero elements are arguments. The first "nargs" elements - // are the arguments. Everything else in the slice is then the environment - // of the process. - for _, arg := range args[1:] { - argStr = string(arg[:]) - if len(argStr) > 0 { - if nargs > 0 { - argSlice = append(argSlice, argStr) - nargs-- - continue - } - break - // envSlice = append(envSlice, argStr) - } - } - return argSlice, err -} - -// cmdNameWithContext returns the command name (including spaces) without any arguments -func (p *Process) cmdNameWithContext(ctx context.Context) (string, error) { - r, err := p.cmdlineSliceWithContext(ctx, false) - if err != nil { - return "", err - } - - if len(r) == 0 { - return "", nil - } - - return r[0], err -} - -func (p *Process) CmdlineWithContext(ctx context.Context) (string, error) { - r, err := p.CmdlineSliceWithContext(ctx) - if err != nil { - return "", err - } - return strings.Join(r, " "), err -} - -func (p *Process) NumThreadsWithContext(ctx context.Context) (int32, error) { - const tiSize = C.sizeof_struct_proc_taskinfo - ti := (*C.struct_proc_taskinfo)(C.malloc(tiSize)) - defer C.free(unsafe.Pointer(ti)) - - _, err := C.proc_pidinfo(C.int(p.Pid), C.PROC_PIDTASKINFO, 0, unsafe.Pointer(ti), tiSize) - if err != nil { - return 0, err - } - - return int32(ti.pti_threadnum), nil -} - -func (p *Process) TimesWithContext(ctx context.Context) (*cpu.TimesStat, error) { - const tiSize = C.sizeof_struct_proc_taskinfo - ti := (*C.struct_proc_taskinfo)(C.malloc(tiSize)) - defer C.free(unsafe.Pointer(ti)) - - _, err := C.proc_pidinfo(C.int(p.Pid), C.PROC_PIDTASKINFO, 0, unsafe.Pointer(ti), tiSize) - if err != nil { - return nil, err - } - - ret := &cpu.TimesStat{ - CPU: "cpu", - User: float64(ti.pti_total_user) * timescaleToNanoSeconds / 1e9, - System: float64(ti.pti_total_system) * timescaleToNanoSeconds / 1e9, - } - return ret, nil -} - -func (p *Process) MemoryInfoWithContext(ctx context.Context) (*MemoryInfoStat, error) { - const tiSize = C.sizeof_struct_proc_taskinfo - ti := (*C.struct_proc_taskinfo)(C.malloc(tiSize)) - defer C.free(unsafe.Pointer(ti)) - - _, err := C.proc_pidinfo(C.int(p.Pid), C.PROC_PIDTASKINFO, 0, unsafe.Pointer(ti), tiSize) - if err != nil { - return nil, err - } - - ret := &MemoryInfoStat{ - RSS: uint64(ti.pti_resident_size), - VMS: uint64(ti.pti_virtual_size), - Swap: uint64(ti.pti_pageins), - } - return ret, nil -} diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_darwin_nocgo.go b/vendor/github.com/shirou/gopsutil/v3/process/process_darwin_nocgo.go deleted file mode 100644 index d903474f..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_darwin_nocgo.go +++ /dev/null @@ -1,134 +0,0 @@ -//go:build darwin && !cgo -// +build darwin,!cgo - -package process - -import ( - "context" - "fmt" - "strconv" - "strings" - - "github.com/shirou/gopsutil/v3/cpu" - "github.com/shirou/gopsutil/v3/internal/common" -) - -func (p *Process) CwdWithContext(ctx context.Context) (string, error) { - return "", common.ErrNotImplementedError -} - -func (p *Process) ExeWithContext(ctx context.Context) (string, error) { - out, err := invoke.CommandWithContext(ctx, "lsof", "-p", strconv.Itoa(int(p.Pid)), "-Fpfn") - if err != nil { - return "", fmt.Errorf("bad call to lsof: %s", err) - } - txtFound := 0 - lines := strings.Split(string(out), "\n") - fallback := "" - for i := 1; i < len(lines); i++ { - if lines[i] == "ftxt" { - txtFound++ - if txtFound == 1 { - fallback = lines[i-1][1:] - } - if txtFound == 2 { - return lines[i-1][1:], nil - } - } - } - if fallback != "" { - return fallback, nil - } - return "", fmt.Errorf("missing txt data returned by lsof") -} - -func (p *Process) CmdlineWithContext(ctx context.Context) (string, error) { - r, err := callPsWithContext(ctx, "command", p.Pid, false, false) - if err != nil { - return "", err - } - return strings.Join(r[0], " "), err -} - -func (p *Process) cmdNameWithContext(ctx context.Context) (string, error) { - r, err := callPsWithContext(ctx, "command", p.Pid, false, true) - if err != nil { - return "", err - } - if len(r) > 0 && len(r[0]) > 0 { - return r[0][0], err - } - - return "", err -} - -// CmdlineSliceWithContext returns the command line arguments of the process as a slice with each -// element being an argument. Because of current deficiencies in the way that the command -// line arguments are found, single arguments that have spaces in the will actually be -// reported as two separate items. In order to do something better CGO would be needed -// to use the native darwin functions. -func (p *Process) CmdlineSliceWithContext(ctx context.Context) ([]string, error) { - r, err := callPsWithContext(ctx, "command", p.Pid, false, false) - if err != nil { - return nil, err - } - return r[0], err -} - -func (p *Process) NumThreadsWithContext(ctx context.Context) (int32, error) { - r, err := callPsWithContext(ctx, "utime,stime", p.Pid, true, false) - if err != nil { - return 0, err - } - return int32(len(r)), nil -} - -func (p *Process) TimesWithContext(ctx context.Context) (*cpu.TimesStat, error) { - r, err := callPsWithContext(ctx, "utime,stime", p.Pid, false, false) - if err != nil { - return nil, err - } - - utime, err := convertCPUTimes(r[0][0]) - if err != nil { - return nil, err - } - stime, err := convertCPUTimes(r[0][1]) - if err != nil { - return nil, err - } - - ret := &cpu.TimesStat{ - CPU: "cpu", - User: utime, - System: stime, - } - return ret, nil -} - -func (p *Process) MemoryInfoWithContext(ctx context.Context) (*MemoryInfoStat, error) { - r, err := callPsWithContext(ctx, "rss,vsize,pagein", p.Pid, false, false) - if err != nil { - return nil, err - } - rss, err := strconv.Atoi(r[0][0]) - if err != nil { - return nil, err - } - vms, err := strconv.Atoi(r[0][1]) - if err != nil { - return nil, err - } - pagein, err := strconv.Atoi(r[0][2]) - if err != nil { - return nil, err - } - - ret := &MemoryInfoStat{ - RSS: uint64(rss) * 1024, - VMS: uint64(vms) * 1024, - Swap: uint64(pagein), - } - - return ret, nil -} diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_fallback.go b/vendor/github.com/shirou/gopsutil/v3/process/process_fallback.go deleted file mode 100644 index 1a5d0c4b..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_fallback.go +++ /dev/null @@ -1,203 +0,0 @@ -//go:build !darwin && !linux && !freebsd && !openbsd && !windows && !solaris && !plan9 -// +build !darwin,!linux,!freebsd,!openbsd,!windows,!solaris,!plan9 - -package process - -import ( - "context" - "syscall" - - "github.com/shirou/gopsutil/v3/cpu" - "github.com/shirou/gopsutil/v3/internal/common" - "github.com/shirou/gopsutil/v3/net" -) - -type Signal = syscall.Signal - -type MemoryMapsStat struct { - Path string `json:"path"` - Rss uint64 `json:"rss"` - Size uint64 `json:"size"` - Pss uint64 `json:"pss"` - SharedClean uint64 `json:"sharedClean"` - SharedDirty uint64 `json:"sharedDirty"` - PrivateClean uint64 `json:"privateClean"` - PrivateDirty uint64 `json:"privateDirty"` - Referenced uint64 `json:"referenced"` - Anonymous uint64 `json:"anonymous"` - Swap uint64 `json:"swap"` -} - -type MemoryInfoExStat struct{} - -func pidsWithContext(ctx context.Context) ([]int32, error) { - return nil, common.ErrNotImplementedError -} - -func ProcessesWithContext(ctx context.Context) ([]*Process, error) { - return nil, common.ErrNotImplementedError -} - -func PidExistsWithContext(ctx context.Context, pid int32) (bool, error) { - return false, common.ErrNotImplementedError -} - -func (p *Process) PpidWithContext(ctx context.Context) (int32, error) { - return 0, common.ErrNotImplementedError -} - -func (p *Process) NameWithContext(ctx context.Context) (string, error) { - return "", common.ErrNotImplementedError -} - -func (p *Process) TgidWithContext(ctx context.Context) (int32, error) { - return 0, common.ErrNotImplementedError -} - -func (p *Process) ExeWithContext(ctx context.Context) (string, error) { - return "", common.ErrNotImplementedError -} - -func (p *Process) CmdlineWithContext(ctx context.Context) (string, error) { - return "", common.ErrNotImplementedError -} - -func (p *Process) CmdlineSliceWithContext(ctx context.Context) ([]string, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) createTimeWithContext(ctx context.Context) (int64, error) { - return 0, common.ErrNotImplementedError -} - -func (p *Process) CwdWithContext(ctx context.Context) (string, error) { - return "", common.ErrNotImplementedError -} - -func (p *Process) StatusWithContext(ctx context.Context) ([]string, error) { - return []string{""}, common.ErrNotImplementedError -} - -func (p *Process) ForegroundWithContext(ctx context.Context) (bool, error) { - return false, common.ErrNotImplementedError -} - -func (p *Process) UidsWithContext(ctx context.Context) ([]int32, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) GidsWithContext(ctx context.Context) ([]int32, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) GroupsWithContext(ctx context.Context) ([]int32, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) TerminalWithContext(ctx context.Context) (string, error) { - return "", common.ErrNotImplementedError -} - -func (p *Process) NiceWithContext(ctx context.Context) (int32, error) { - return 0, common.ErrNotImplementedError -} - -func (p *Process) IOniceWithContext(ctx context.Context) (int32, error) { - return 0, common.ErrNotImplementedError -} - -func (p *Process) RlimitWithContext(ctx context.Context) ([]RlimitStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) RlimitUsageWithContext(ctx context.Context, gatherUsed bool) ([]RlimitStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) IOCountersWithContext(ctx context.Context) (*IOCountersStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) NumCtxSwitchesWithContext(ctx context.Context) (*NumCtxSwitchesStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) NumFDsWithContext(ctx context.Context) (int32, error) { - return 0, common.ErrNotImplementedError -} - -func (p *Process) NumThreadsWithContext(ctx context.Context) (int32, error) { - return 0, common.ErrNotImplementedError -} - -func (p *Process) ThreadsWithContext(ctx context.Context) (map[int32]*cpu.TimesStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) TimesWithContext(ctx context.Context) (*cpu.TimesStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) CPUAffinityWithContext(ctx context.Context) ([]int32, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) MemoryInfoWithContext(ctx context.Context) (*MemoryInfoStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) MemoryInfoExWithContext(ctx context.Context) (*MemoryInfoExStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) PageFaultsWithContext(ctx context.Context) (*PageFaultsStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) ChildrenWithContext(ctx context.Context) ([]*Process, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) OpenFilesWithContext(ctx context.Context) ([]OpenFilesStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) ConnectionsWithContext(ctx context.Context) ([]net.ConnectionStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) ConnectionsMaxWithContext(ctx context.Context, max int) ([]net.ConnectionStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) MemoryMapsWithContext(ctx context.Context, grouped bool) (*[]MemoryMapsStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) SendSignalWithContext(ctx context.Context, sig Signal) error { - return common.ErrNotImplementedError -} - -func (p *Process) SuspendWithContext(ctx context.Context) error { - return common.ErrNotImplementedError -} - -func (p *Process) ResumeWithContext(ctx context.Context) error { - return common.ErrNotImplementedError -} - -func (p *Process) TerminateWithContext(ctx context.Context) error { - return common.ErrNotImplementedError -} - -func (p *Process) KillWithContext(ctx context.Context) error { - return common.ErrNotImplementedError -} - -func (p *Process) UsernameWithContext(ctx context.Context) (string, error) { - return "", common.ErrNotImplementedError -} - -func (p *Process) EnvironWithContext(ctx context.Context) ([]string, error) { - return nil, common.ErrNotImplementedError -} diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_freebsd_amd64.go b/vendor/github.com/shirou/gopsutil/v3/process/process_freebsd_amd64.go deleted file mode 100644 index 560e627d..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_freebsd_amd64.go +++ /dev/null @@ -1,192 +0,0 @@ -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_freebsd.go - -package process - -const ( - CTLKern = 1 - KernProc = 14 - KernProcPID = 1 - KernProcProc = 8 - KernProcPathname = 12 - KernProcArgs = 7 -) - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 -) - -const ( - sizeOfKinfoVmentry = 0x488 - sizeOfKinfoProc = 0x440 -) - -const ( - SIDL = 1 - SRUN = 2 - SSLEEP = 3 - SSTOP = 4 - SZOMB = 5 - SWAIT = 6 - SLOCK = 7 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type Timespec struct { - Sec int64 - Nsec int64 -} - -type Timeval struct { - Sec int64 - Usec int64 -} - -type Rusage struct { - Utime Timeval - Stime Timeval - Maxrss int64 - Ixrss int64 - Idrss int64 - Isrss int64 - Minflt int64 - Majflt int64 - Nswap int64 - Inblock int64 - Oublock int64 - Msgsnd int64 - Msgrcv int64 - Nsignals int64 - Nvcsw int64 - Nivcsw int64 -} - -type Rlimit struct { - Cur int64 - Max int64 -} - -type KinfoProc struct { - Structsize int32 - Layout int32 - Args int64 /* pargs */ - Paddr int64 /* proc */ - Addr int64 /* user */ - Tracep int64 /* vnode */ - Textvp int64 /* vnode */ - Fd int64 /* filedesc */ - Vmspace int64 /* vmspace */ - Wchan int64 - Pid int32 - Ppid int32 - Pgid int32 - Tpgid int32 - Sid int32 - Tsid int32 - Jobc int16 - Spare_short1 int16 - Tdev uint32 - Siglist [16]byte /* sigset */ - Sigmask [16]byte /* sigset */ - Sigignore [16]byte /* sigset */ - Sigcatch [16]byte /* sigset */ - Uid uint32 - Ruid uint32 - Svuid uint32 - Rgid uint32 - Svgid uint32 - Ngroups int16 - Spare_short2 int16 - Groups [16]uint32 - Size uint64 - Rssize int64 - Swrss int64 - Tsize int64 - Dsize int64 - Ssize int64 - Xstat uint16 - Acflag uint16 - Pctcpu uint32 - Estcpu uint32 - Slptime uint32 - Swtime uint32 - Cow uint32 - Runtime uint64 - Start Timeval - Childtime Timeval - Flag int64 - Kiflag int64 - Traceflag int32 - Stat int8 - Nice int8 - Lock int8 - Rqindex int8 - Oncpu uint8 - Lastcpu uint8 - Tdname [17]int8 - Wmesg [9]int8 - Login [18]int8 - Lockname [9]int8 - Comm [20]int8 - Emul [17]int8 - Loginclass [18]int8 - Sparestrings [50]int8 - Spareints [7]int32 - Flag2 int32 - Fibnum int32 - Cr_flags uint32 - Jid int32 - Numthreads int32 - Tid int32 - Pri Priority - Rusage Rusage - Rusage_ch Rusage - Pcb int64 /* pcb */ - Kstack int64 - Udata int64 - Tdaddr int64 /* thread */ - Spareptrs [6]int64 - Sparelongs [12]int64 - Sflag int64 - Tdflags int64 -} - -type Priority struct { - Class uint8 - Level uint8 - Native uint8 - User uint8 -} - -type KinfoVmentry struct { - Structsize int32 - Type int32 - Start uint64 - End uint64 - Offset uint64 - Vn_fileid uint64 - Vn_fsid uint32 - Flags int32 - Resident int32 - Private_resident int32 - Protection int32 - Ref_count int32 - Shadow_count int32 - Vn_type int32 - Vn_size uint64 - Vn_rdev uint32 - Vn_mode uint16 - Status uint16 - X_kve_ispare [12]int32 - Path [1024]int8 -} diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_plan9.go b/vendor/github.com/shirou/gopsutil/v3/process/process_plan9.go deleted file mode 100644 index bc4bc062..00000000 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_plan9.go +++ /dev/null @@ -1,203 +0,0 @@ -//go:build plan9 -// +build plan9 - -package process - -import ( - "context" - "syscall" - - "github.com/shirou/gopsutil/v3/cpu" - "github.com/shirou/gopsutil/v3/internal/common" - "github.com/shirou/gopsutil/v3/net" -) - -type Signal = syscall.Note - -type MemoryMapsStat struct { - Path string `json:"path"` - Rss uint64 `json:"rss"` - Size uint64 `json:"size"` - Pss uint64 `json:"pss"` - SharedClean uint64 `json:"sharedClean"` - SharedDirty uint64 `json:"sharedDirty"` - PrivateClean uint64 `json:"privateClean"` - PrivateDirty uint64 `json:"privateDirty"` - Referenced uint64 `json:"referenced"` - Anonymous uint64 `json:"anonymous"` - Swap uint64 `json:"swap"` -} - -type MemoryInfoExStat struct{} - -func pidsWithContext(ctx context.Context) ([]int32, error) { - return nil, common.ErrNotImplementedError -} - -func ProcessesWithContext(ctx context.Context) ([]*Process, error) { - return nil, common.ErrNotImplementedError -} - -func PidExistsWithContext(ctx context.Context, pid int32) (bool, error) { - return false, common.ErrNotImplementedError -} - -func (p *Process) PpidWithContext(ctx context.Context) (int32, error) { - return 0, common.ErrNotImplementedError -} - -func (p *Process) NameWithContext(ctx context.Context) (string, error) { - return "", common.ErrNotImplementedError -} - -func (p *Process) TgidWithContext(ctx context.Context) (int32, error) { - return 0, common.ErrNotImplementedError -} - -func (p *Process) ExeWithContext(ctx context.Context) (string, error) { - return "", common.ErrNotImplementedError -} - -func (p *Process) CmdlineWithContext(ctx context.Context) (string, error) { - return "", common.ErrNotImplementedError -} - -func (p *Process) CmdlineSliceWithContext(ctx context.Context) ([]string, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) createTimeWithContext(ctx context.Context) (int64, error) { - return 0, common.ErrNotImplementedError -} - -func (p *Process) CwdWithContext(ctx context.Context) (string, error) { - return "", common.ErrNotImplementedError -} - -func (p *Process) StatusWithContext(ctx context.Context) ([]string, error) { - return []string{""}, common.ErrNotImplementedError -} - -func (p *Process) ForegroundWithContext(ctx context.Context) (bool, error) { - return false, common.ErrNotImplementedError -} - -func (p *Process) UidsWithContext(ctx context.Context) ([]int32, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) GidsWithContext(ctx context.Context) ([]int32, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) GroupsWithContext(ctx context.Context) ([]int32, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) TerminalWithContext(ctx context.Context) (string, error) { - return "", common.ErrNotImplementedError -} - -func (p *Process) NiceWithContext(ctx context.Context) (int32, error) { - return 0, common.ErrNotImplementedError -} - -func (p *Process) IOniceWithContext(ctx context.Context) (int32, error) { - return 0, common.ErrNotImplementedError -} - -func (p *Process) RlimitWithContext(ctx context.Context) ([]RlimitStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) RlimitUsageWithContext(ctx context.Context, gatherUsed bool) ([]RlimitStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) IOCountersWithContext(ctx context.Context) (*IOCountersStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) NumCtxSwitchesWithContext(ctx context.Context) (*NumCtxSwitchesStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) NumFDsWithContext(ctx context.Context) (int32, error) { - return 0, common.ErrNotImplementedError -} - -func (p *Process) NumThreadsWithContext(ctx context.Context) (int32, error) { - return 0, common.ErrNotImplementedError -} - -func (p *Process) ThreadsWithContext(ctx context.Context) (map[int32]*cpu.TimesStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) TimesWithContext(ctx context.Context) (*cpu.TimesStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) CPUAffinityWithContext(ctx context.Context) ([]int32, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) MemoryInfoWithContext(ctx context.Context) (*MemoryInfoStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) MemoryInfoExWithContext(ctx context.Context) (*MemoryInfoExStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) PageFaultsWithContext(ctx context.Context) (*PageFaultsStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) ChildrenWithContext(ctx context.Context) ([]*Process, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) OpenFilesWithContext(ctx context.Context) ([]OpenFilesStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) ConnectionsWithContext(ctx context.Context) ([]net.ConnectionStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) ConnectionsMaxWithContext(ctx context.Context, max int) ([]net.ConnectionStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) MemoryMapsWithContext(ctx context.Context, grouped bool) (*[]MemoryMapsStat, error) { - return nil, common.ErrNotImplementedError -} - -func (p *Process) SendSignalWithContext(ctx context.Context, sig Signal) error { - return common.ErrNotImplementedError -} - -func (p *Process) SuspendWithContext(ctx context.Context) error { - return common.ErrNotImplementedError -} - -func (p *Process) ResumeWithContext(ctx context.Context) error { - return common.ErrNotImplementedError -} - -func (p *Process) TerminateWithContext(ctx context.Context) error { - return common.ErrNotImplementedError -} - -func (p *Process) KillWithContext(ctx context.Context) error { - return common.ErrNotImplementedError -} - -func (p *Process) UsernameWithContext(ctx context.Context) (string, error) { - return "", common.ErrNotImplementedError -} - -func (p *Process) EnvironWithContext(ctx context.Context) ([]string, error) { - return nil, common.ErrNotImplementedError -} diff --git a/vendor/github.com/shirou/gopsutil/v3/LICENSE b/vendor/github.com/shirou/gopsutil/v4/LICENSE similarity index 100% rename from vendor/github.com/shirou/gopsutil/v3/LICENSE rename to vendor/github.com/shirou/gopsutil/v4/LICENSE diff --git a/vendor/github.com/shirou/gopsutil/v3/common/env.go b/vendor/github.com/shirou/gopsutil/v4/common/env.go similarity index 51% rename from vendor/github.com/shirou/gopsutil/v3/common/env.go rename to vendor/github.com/shirou/gopsutil/v4/common/env.go index 4b5f4980..47e471c4 100644 --- a/vendor/github.com/shirou/gopsutil/v3/common/env.go +++ b/vendor/github.com/shirou/gopsutil/v4/common/env.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package common type EnvKeyType string @@ -11,13 +12,14 @@ type EnvKeyType string var EnvKey = EnvKeyType("env") const ( - HostProcEnvKey EnvKeyType = "HOST_PROC" - HostSysEnvKey EnvKeyType = "HOST_SYS" - HostEtcEnvKey EnvKeyType = "HOST_ETC" - HostVarEnvKey EnvKeyType = "HOST_VAR" - HostRunEnvKey EnvKeyType = "HOST_RUN" - HostDevEnvKey EnvKeyType = "HOST_DEV" - HostRootEnvKey EnvKeyType = "HOST_ROOT" + HostProcEnvKey EnvKeyType = "HOST_PROC" + HostSysEnvKey EnvKeyType = "HOST_SYS" + HostEtcEnvKey EnvKeyType = "HOST_ETC" + HostVarEnvKey EnvKeyType = "HOST_VAR" + HostRunEnvKey EnvKeyType = "HOST_RUN" + HostDevEnvKey EnvKeyType = "HOST_DEV" + HostRootEnvKey EnvKeyType = "HOST_ROOT" + HostProcMountinfo EnvKeyType = "HOST_PROC_MOUNTINFO" ) type EnvMap map[EnvKeyType]string diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu.go similarity index 96% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu.go index 83bc23d4..9bc3dfb5 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu.go @@ -1,8 +1,10 @@ +// SPDX-License-Identifier: BSD-3-Clause package cpu import ( "context" "encoding/json" + "errors" "fmt" "math" "runtime" @@ -11,7 +13,7 @@ import ( "sync" "time" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) // TimesStat contains the amounts of time the CPU has spent performing different @@ -194,7 +196,7 @@ func percentUsedFromLastCallWithContext(ctx context.Context, percpu bool) ([]flo } if lastTimes == nil { - return nil, fmt.Errorf("error getting times for cpu percent. lastTimes was nil") + return nil, errors.New("error getting times for cpu percent. lastTimes was nil") } return calculateAllBusy(lastTimes, cpuTimes) } diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_aix.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_aix.go similarity index 85% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_aix.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_aix.go index 1439d1d7..bc766bd4 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_aix.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_aix.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build aix -// +build aix package cpu diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_aix_cgo.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_aix_cgo.go similarity index 96% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_aix_cgo.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_aix_cgo.go index 9c1e70b1..559dc5fe 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_aix_cgo.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_aix_cgo.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build aix && cgo -// +build aix,cgo package cpu diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_aix_nocgo.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_aix_nocgo.go similarity index 85% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_aix_nocgo.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_aix_nocgo.go index f3a3186a..981e32e5 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_aix_nocgo.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_aix_nocgo.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build aix && !cgo -// +build aix,!cgo package cpu @@ -8,17 +8,17 @@ import ( "strconv" "strings" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) func TimesWithContext(ctx context.Context, percpu bool) ([]TimesStat, error) { var ret []TimesStat if percpu { - per_out, err := invoke.CommandWithContext(ctx, "sar", "-u", "-P", "ALL", "10", "1") + perOut, err := invoke.CommandWithContext(ctx, "sar", "-u", "-P", "ALL", "10", "1") if err != nil { return nil, err } - lines := strings.Split(string(per_out), "\n") + lines := strings.Split(string(perOut), "\n") if len(lines) < 6 { return []TimesStat{}, common.ErrNotImplementedError } @@ -105,14 +105,15 @@ func InfoWithContext(ctx context.Context) ([]InfoStat, error) { ret := InfoStat{} for _, line := range strings.Split(string(out), "\n") { - if strings.HasPrefix(line, "Number Of Processors:") { + switch { + case strings.HasPrefix(line, "Number Of Processors:"): p := strings.Fields(line) if len(p) > 3 { if t, err := strconv.ParseUint(p[3], 10, 64); err == nil { ret.Cores = int32(t) } } - } else if strings.HasPrefix(line, "Processor Clock Speed:") { + case strings.HasPrefix(line, "Processor Clock Speed:"): p := strings.Fields(line) if len(p) > 4 { if t, err := strconv.ParseFloat(p[3], 64); err == nil { @@ -128,13 +129,12 @@ func InfoWithContext(ctx context.Context) ([]InfoStat, error) { } } } - break - } else if strings.HasPrefix(line, "System Model:") { + case strings.HasPrefix(line, "System Model:"): p := strings.Split(string(line), ":") if p != nil { ret.VendorID = strings.TrimSpace(p[1]) } - } else if strings.HasPrefix(line, "Processor Type:") { + case strings.HasPrefix(line, "Processor Type:"): p := strings.Split(string(line), ":") if p != nil { c := strings.Split(string(p[1]), "_") @@ -148,7 +148,7 @@ func InfoWithContext(ctx context.Context) ([]InfoStat, error) { return []InfoStat{ret}, nil } -func CountsWithContext(ctx context.Context, logical bool) (int, error) { +func CountsWithContext(ctx context.Context, _ bool) (int, error) { info, err := InfoWithContext(ctx) if err == nil { return int(info[0].Cores), nil diff --git a/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_darwin.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_darwin.go new file mode 100644 index 00000000..c61a470f --- /dev/null +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_darwin.go @@ -0,0 +1,203 @@ +// SPDX-License-Identifier: BSD-3-Clause +//go:build darwin + +package cpu + +import ( + "context" + "errors" + "fmt" + "strconv" + "strings" + "unsafe" + + "github.com/tklauser/go-sysconf" + "golang.org/x/sys/unix" + + "github.com/shirou/gopsutil/v4/internal/common" +) + +// sys/resource.h +const ( + CPUser = 0 + cpNice = 1 + cpSys = 2 + cpIntr = 3 + cpIdle = 4 + cpUStates = 5 +) + +// mach/machine.h +const ( + cpuStateUser = 0 + cpuStateSystem = 1 + cpuStateIdle = 2 + cpuStateNice = 3 + cpuStateMax = 4 +) + +// mach/processor_info.h +const ( + processorCpuLoadInfo = 2 //nolint:revive //FIXME +) + +type hostCpuLoadInfoData struct { //nolint:revive //FIXME + cpuTicks [cpuStateMax]uint32 +} + +// default value. from time.h +var ClocksPerSec = float64(128) + +func init() { + clkTck, err := sysconf.Sysconf(sysconf.SC_CLK_TCK) + // ignore errors + if err == nil { + ClocksPerSec = float64(clkTck) + } +} + +func Times(percpu bool) ([]TimesStat, error) { + return TimesWithContext(context.Background(), percpu) +} + +func TimesWithContext(_ context.Context, percpu bool) ([]TimesStat, error) { + lib, err := common.NewLibrary(common.System) + if err != nil { + return nil, err + } + defer lib.Close() + + if percpu { + return perCPUTimes(lib) + } + + return allCPUTimes(lib) +} + +// Returns only one CPUInfoStat on FreeBSD +func Info() ([]InfoStat, error) { + return InfoWithContext(context.Background()) +} + +func InfoWithContext(_ context.Context) ([]InfoStat, error) { + var ret []InfoStat + + c := InfoStat{} + c.ModelName, _ = unix.Sysctl("machdep.cpu.brand_string") + family, _ := unix.SysctlUint32("machdep.cpu.family") + c.Family = strconv.FormatUint(uint64(family), 10) + model, _ := unix.SysctlUint32("machdep.cpu.model") + c.Model = strconv.FormatUint(uint64(model), 10) + stepping, _ := unix.SysctlUint32("machdep.cpu.stepping") + c.Stepping = int32(stepping) + features, err := unix.Sysctl("machdep.cpu.features") + if err == nil { + for _, v := range strings.Fields(features) { + c.Flags = append(c.Flags, strings.ToLower(v)) + } + } + leaf7Features, err := unix.Sysctl("machdep.cpu.leaf7_features") + if err == nil { + for _, v := range strings.Fields(leaf7Features) { + c.Flags = append(c.Flags, strings.ToLower(v)) + } + } + extfeatures, err := unix.Sysctl("machdep.cpu.extfeatures") + if err == nil { + for _, v := range strings.Fields(extfeatures) { + c.Flags = append(c.Flags, strings.ToLower(v)) + } + } + cores, _ := unix.SysctlUint32("machdep.cpu.core_count") + c.Cores = int32(cores) + cacheSize, _ := unix.SysctlUint32("machdep.cpu.cache.size") + c.CacheSize = int32(cacheSize) + c.VendorID, _ = unix.Sysctl("machdep.cpu.vendor") + + v, err := getFrequency() + if err == nil { + c.Mhz = v + } + + return append(ret, c), nil +} + +func CountsWithContext(_ context.Context, logical bool) (int, error) { + var cpuArgument string + if logical { + cpuArgument = "hw.logicalcpu" + } else { + cpuArgument = "hw.physicalcpu" + } + + count, err := unix.SysctlUint32(cpuArgument) + if err != nil { + return 0, err + } + + return int(count), nil +} + +func perCPUTimes(machLib *common.Library) ([]TimesStat, error) { + machHostSelf := common.GetFunc[common.MachHostSelfFunc](machLib, common.MachHostSelfSym) + machTaskSelf := common.GetFunc[common.MachTaskSelfFunc](machLib, common.MachTaskSelfSym) + hostProcessorInfo := common.GetFunc[common.HostProcessorInfoFunc](machLib, common.HostProcessorInfoSym) + vmDeallocate := common.GetFunc[common.VMDeallocateFunc](machLib, common.VMDeallocateSym) + + var count, ncpu uint32 + var cpuload *hostCpuLoadInfoData + + status := hostProcessorInfo(machHostSelf(), processorCpuLoadInfo, &ncpu, uintptr(unsafe.Pointer(&cpuload)), &count) + + if status != common.KERN_SUCCESS { + return nil, fmt.Errorf("host_processor_info error=%d", status) + } + + if cpuload == nil { + return nil, errors.New("host_processor_info returned nil cpuload") + } + + defer vmDeallocate(machTaskSelf(), uintptr(unsafe.Pointer(cpuload)), uintptr(ncpu)) + + ret := []TimesStat{} + loads := unsafe.Slice(cpuload, ncpu) + + for i := 0; i < int(ncpu); i++ { + c := TimesStat{ + CPU: fmt.Sprintf("cpu%d", i), + User: float64(loads[i].cpuTicks[cpuStateUser]) / ClocksPerSec, + System: float64(loads[i].cpuTicks[cpuStateSystem]) / ClocksPerSec, + Nice: float64(loads[i].cpuTicks[cpuStateNice]) / ClocksPerSec, + Idle: float64(loads[i].cpuTicks[cpuStateIdle]) / ClocksPerSec, + } + + ret = append(ret, c) + } + + return ret, nil +} + +func allCPUTimes(machLib *common.Library) ([]TimesStat, error) { + machHostSelf := common.GetFunc[common.MachHostSelfFunc](machLib, common.MachHostSelfSym) + hostStatistics := common.GetFunc[common.HostStatisticsFunc](machLib, common.HostStatisticsSym) + + var cpuload hostCpuLoadInfoData + count := uint32(cpuStateMax) + + status := hostStatistics(machHostSelf(), common.HOST_CPU_LOAD_INFO, + uintptr(unsafe.Pointer(&cpuload)), &count) + + if status != common.KERN_SUCCESS { + return nil, fmt.Errorf("host_statistics error=%d", status) + } + + c := TimesStat{ + CPU: "cpu-total", + User: float64(cpuload.cpuTicks[cpuStateUser]) / ClocksPerSec, + System: float64(cpuload.cpuTicks[cpuStateSystem]) / ClocksPerSec, + Nice: float64(cpuload.cpuTicks[cpuStateNice]) / ClocksPerSec, + Idle: float64(cpuload.cpuTicks[cpuStateIdle]) / ClocksPerSec, + } + + return []TimesStat{c}, nil +} diff --git a/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_darwin_arm64.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_darwin_arm64.go new file mode 100644 index 00000000..8e69d7cb --- /dev/null +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_darwin_arm64.go @@ -0,0 +1,80 @@ +// SPDX-License-Identifier: BSD-3-Clause +//go:build darwin && arm64 + +package cpu + +import ( + "encoding/binary" + "fmt" + "unsafe" + + "github.com/shirou/gopsutil/v4/internal/common" +) + +// https://github.com/shoenig/go-m1cpu/blob/v0.1.6/cpu.go +func getFrequency() (float64, error) { + ioKit, err := common.NewLibrary(common.IOKit) + if err != nil { + return 0, err + } + defer ioKit.Close() + + coreFoundation, err := common.NewLibrary(common.CoreFoundation) + if err != nil { + return 0, err + } + defer coreFoundation.Close() + + ioServiceMatching := common.GetFunc[common.IOServiceMatchingFunc](ioKit, common.IOServiceMatchingSym) + ioServiceGetMatchingServices := common.GetFunc[common.IOServiceGetMatchingServicesFunc](ioKit, common.IOServiceGetMatchingServicesSym) + ioIteratorNext := common.GetFunc[common.IOIteratorNextFunc](ioKit, common.IOIteratorNextSym) + ioRegistryEntryGetName := common.GetFunc[common.IORegistryEntryGetNameFunc](ioKit, common.IORegistryEntryGetNameSym) + ioRegistryEntryCreateCFProperty := common.GetFunc[common.IORegistryEntryCreateCFPropertyFunc](ioKit, common.IORegistryEntryCreateCFPropertySym) + ioObjectRelease := common.GetFunc[common.IOObjectReleaseFunc](ioKit, common.IOObjectReleaseSym) + + cfStringCreateWithCString := common.GetFunc[common.CFStringCreateWithCStringFunc](coreFoundation, common.CFStringCreateWithCStringSym) + cfDataGetLength := common.GetFunc[common.CFDataGetLengthFunc](coreFoundation, common.CFDataGetLengthSym) + cfDataGetBytePtr := common.GetFunc[common.CFDataGetBytePtrFunc](coreFoundation, common.CFDataGetBytePtrSym) + cfRelease := common.GetFunc[common.CFReleaseFunc](coreFoundation, common.CFReleaseSym) + + matching := ioServiceMatching("AppleARMIODevice") + + var iterator uint32 + if status := ioServiceGetMatchingServices(common.KIOMainPortDefault, uintptr(matching), &iterator); status != common.KERN_SUCCESS { + return 0.0, fmt.Errorf("IOServiceGetMatchingServices error=%d", status) + } + defer ioObjectRelease(iterator) + + pCorekey := cfStringCreateWithCString(common.KCFAllocatorDefault, "voltage-states5-sram", common.KCFStringEncodingUTF8) + defer cfRelease(uintptr(pCorekey)) + + var pCoreHz uint32 + for { + service := ioIteratorNext(iterator) + if service <= 0 { + break + } + + buf := common.NewCStr(512) + ioRegistryEntryGetName(service, buf) + + if buf.GoString() == "pmgr" { + pCoreRef := ioRegistryEntryCreateCFProperty(service, uintptr(pCorekey), common.KCFAllocatorDefault, common.KNilOptions) + length := cfDataGetLength(uintptr(pCoreRef)) + data := cfDataGetBytePtr(uintptr(pCoreRef)) + + // composite uint32 from the byte array + buf := unsafe.Slice((*byte)(data), length) + + // combine the bytes into a uint32 value + b := buf[length-8 : length-4] + pCoreHz = binary.LittleEndian.Uint32(b) + ioObjectRelease(service) + break + } + + ioObjectRelease(service) + } + + return float64(pCoreHz / 1_000_000), nil +} diff --git a/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_darwin_fallback.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_darwin_fallback.go new file mode 100644 index 00000000..b9e52aba --- /dev/null +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_darwin_fallback.go @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: BSD-3-Clause +//go:build darwin && !arm64 + +package cpu + +import "golang.org/x/sys/unix" + +func getFrequency() (float64, error) { + // Use the rated frequency of the CPU. This is a static value and does not + // account for low power or Turbo Boost modes. + cpuFrequency, err := unix.SysctlUint64("hw.cpufrequency") + return float64(cpuFrequency) / 1000000.0, err +} diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_dragonfly.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_dragonfly.go similarity index 88% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_dragonfly.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_dragonfly.go index fef53e5d..48f2804d 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_dragonfly.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_dragonfly.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package cpu import ( @@ -10,9 +11,10 @@ import ( "strings" "unsafe" - "github.com/shirou/gopsutil/v3/internal/common" "github.com/tklauser/go-sysconf" "golang.org/x/sys/unix" + + "github.com/shirou/gopsutil/v4/internal/common" ) var ( @@ -49,7 +51,7 @@ func Times(percpu bool) ([]TimesStat, error) { return TimesWithContext(context.Background(), percpu) } -func TimesWithContext(ctx context.Context, percpu bool) ([]TimesStat, error) { +func TimesWithContext(_ context.Context, percpu bool) ([]TimesStat, error) { if percpu { buf, err := unix.SysctlRaw("kern.cp_times") if err != nil { @@ -90,7 +92,7 @@ func Info() ([]InfoStat, error) { return InfoWithContext(context.Background()) } -func InfoWithContext(ctx context.Context) ([]InfoStat, error) { +func InfoWithContext(_ context.Context) ([]InfoStat, error) { const dmesgBoot = "/var/run/dmesg.boot" c, err := parseDmesgBoot(dmesgBoot) @@ -126,7 +128,11 @@ func InfoWithContext(ctx context.Context) ([]InfoStat, error) { func parseDmesgBoot(fileName string) (InfoStat, error) { c := InfoStat{} - lines, _ := common.ReadLines(fileName) + lines, err := common.ReadLines(fileName) + if err != nil { + return c, fmt.Errorf("could not read %s: %w", fileName, err) + } + for _, line := range lines { if matches := cpuEnd.FindStringSubmatch(line); matches != nil { break @@ -134,7 +140,7 @@ func parseDmesgBoot(fileName string) (InfoStat, error) { c.VendorID = matches[1] t, err := strconv.ParseInt(matches[2], 10, 32) if err != nil { - return c, fmt.Errorf("unable to parse DragonflyBSD CPU stepping information from %q: %v", line, err) + return c, fmt.Errorf("unable to parse DragonflyBSD CPU stepping information from %q: %w", line, err) } c.Stepping = int32(t) } else if matches := featuresMatch.FindStringSubmatch(line); matches != nil { @@ -151,6 +157,6 @@ func parseDmesgBoot(fileName string) (InfoStat, error) { return c, nil } -func CountsWithContext(ctx context.Context, logical bool) (int, error) { +func CountsWithContext(_ context.Context, _ bool) (int, error) { return runtime.NumCPU(), nil } diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_dragonfly_amd64.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_dragonfly_amd64.go similarity index 71% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_dragonfly_amd64.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_dragonfly_amd64.go index 57e14528..25ececa6 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_dragonfly_amd64.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_dragonfly_amd64.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package cpu type cpuTimes struct { diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_fallback.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_fallback.go similarity index 83% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_fallback.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_fallback.go index 089f603c..245c1ec9 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_fallback.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_fallback.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build !darwin && !linux && !freebsd && !openbsd && !netbsd && !solaris && !windows && !dragonfly && !plan9 && !aix -// +build !darwin,!linux,!freebsd,!openbsd,!netbsd,!solaris,!windows,!dragonfly,!plan9,!aix package cpu @@ -7,7 +7,7 @@ import ( "context" "runtime" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) func Times(percpu bool) ([]TimesStat, error) { diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_freebsd.go similarity index 89% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_freebsd.go index d3f47353..3e0aeb26 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_freebsd.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package cpu import ( @@ -10,9 +11,10 @@ import ( "strings" "unsafe" - "github.com/shirou/gopsutil/v3/internal/common" "github.com/tklauser/go-sysconf" "golang.org/x/sys/unix" + + "github.com/shirou/gopsutil/v4/internal/common" ) var ( @@ -50,7 +52,7 @@ func Times(percpu bool) ([]TimesStat, error) { return TimesWithContext(context.Background(), percpu) } -func TimesWithContext(ctx context.Context, percpu bool) ([]TimesStat, error) { +func TimesWithContext(_ context.Context, percpu bool) ([]TimesStat, error) { if percpu { buf, err := unix.SysctlRaw("kern.cp_times") if err != nil { @@ -91,7 +93,7 @@ func Info() ([]InfoStat, error) { return InfoWithContext(context.Background()) } -func InfoWithContext(ctx context.Context) ([]InfoStat, error) { +func InfoWithContext(_ context.Context) ([]InfoStat, error) { const dmesgBoot = "/var/run/dmesg.boot" c, num, err := parseDmesgBoot(dmesgBoot) @@ -124,7 +126,11 @@ func InfoWithContext(ctx context.Context) ([]InfoStat, error) { func parseDmesgBoot(fileName string) (InfoStat, int, error) { c := InfoStat{} - lines, _ := common.ReadLines(fileName) + lines, err := common.ReadLines(fileName) + if err != nil { + return c, 0, fmt.Errorf("could not read %s: %w", fileName, err) + } + cpuNum := 1 // default cpu num is 1 for _, line := range lines { if matches := cpuEnd.FindStringSubmatch(line); matches != nil { @@ -135,7 +141,7 @@ func parseDmesgBoot(fileName string) (InfoStat, int, error) { c.Model = matches[4] t, err := strconv.ParseInt(matches[5], 10, 32) if err != nil { - return c, 0, fmt.Errorf("unable to parse FreeBSD CPU stepping information from %q: %v", line, err) + return c, 0, fmt.Errorf("unable to parse FreeBSD CPU stepping information from %q: %w", line, err) } c.Stepping = int32(t) } else if matches := featuresMatch.FindStringSubmatch(line); matches != nil { @@ -149,12 +155,12 @@ func parseDmesgBoot(fileName string) (InfoStat, int, error) { } else if matches := cpuCores.FindStringSubmatch(line); matches != nil { t, err := strconv.ParseInt(matches[1], 10, 32) if err != nil { - return c, 0, fmt.Errorf("unable to parse FreeBSD CPU Nums from %q: %v", line, err) + return c, 0, fmt.Errorf("unable to parse FreeBSD CPU Nums from %q: %w", line, err) } cpuNum = int(t) t2, err := strconv.ParseInt(matches[2], 10, 32) if err != nil { - return c, 0, fmt.Errorf("unable to parse FreeBSD CPU cores from %q: %v", line, err) + return c, 0, fmt.Errorf("unable to parse FreeBSD CPU cores from %q: %w", line, err) } c.Cores = int32(t2) } @@ -163,6 +169,6 @@ func parseDmesgBoot(fileName string) (InfoStat, int, error) { return c, cpuNum, nil } -func CountsWithContext(ctx context.Context, logical bool) (int, error) { +func CountsWithContext(_ context.Context, _ bool) (int, error) { return runtime.NumCPU(), nil } diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd_386.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_freebsd_386.go similarity index 71% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd_386.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_freebsd_386.go index 8b7f4c32..e4799bcf 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd_386.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_freebsd_386.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package cpu type cpuTimes struct { diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd_amd64.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_freebsd_amd64.go similarity index 71% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd_amd64.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_freebsd_amd64.go index 57e14528..25ececa6 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd_amd64.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_freebsd_amd64.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package cpu type cpuTimes struct { diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd_arm.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_freebsd_arm.go similarity index 71% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd_arm.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_freebsd_arm.go index 8b7f4c32..e4799bcf 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd_arm.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_freebsd_arm.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package cpu type cpuTimes struct { diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd_arm64.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_freebsd_arm64.go similarity index 71% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd_arm64.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_freebsd_arm64.go index 57e14528..25ececa6 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_freebsd_arm64.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_freebsd_arm64.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package cpu type cpuTimes struct { diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_linux.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_linux.go similarity index 93% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_linux.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_linux.go index da467e2d..0897dfa3 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_linux.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_linux.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build linux -// +build linux package cpu @@ -13,7 +13,7 @@ import ( "github.com/tklauser/go-sysconf" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) var ClocksPerSec = float64(100) @@ -81,6 +81,13 @@ var armModelToModelName = map[uint64]string{ 0xd4c: "Cortex-X1C", 0xd4d: "Cortex-A715", 0xd4e: "Cortex-X3", + 0xd4f: "Neoverse-V2", + 0xd81: "Cortex-A720", + 0xd82: "Cortex-X4", + 0xd84: "Neoverse-V3", + 0xd85: "Cortex-X925", + 0xd87: "Cortex-A725", + 0xd8e: "Neoverse-N3", } func init() { @@ -98,6 +105,7 @@ func Times(percpu bool) ([]TimesStat, error) { func TimesWithContext(ctx context.Context, percpu bool) ([]TimesStat, error) { filename := common.HostProcWithContext(ctx, "stat") lines := []string{} + var err error if percpu { statlines, err := common.ReadLines(filename) if err != nil || len(statlines) < 2 { @@ -110,7 +118,10 @@ func TimesWithContext(ctx context.Context, percpu bool) ([]TimesStat, error) { lines = append(lines, line) } } else { - lines, _ = common.ReadLinesOffsetN(filename, 0, 1) + lines, err = common.ReadLinesOffsetN(filename, 0, 1) + if err != nil || len(lines) == 0 { + return []TimesStat{}, nil + } } ret := make([]TimesStat, 0, len(lines)) @@ -135,7 +146,7 @@ func finishCPUInfo(ctx context.Context, c *InfoStat) { var err error var value float64 - if len(c.CoreID) == 0 { + if c.CoreID == "" { lines, err = common.ReadLines(sysCPUPath(ctx, c.CPU, "topology/core_id")) if err == nil { c.CoreID = lines[0] @@ -157,7 +168,7 @@ func finishCPUInfo(ctx context.Context, c *InfoStat) { } c.Mhz = value / 1000.0 // value is in kHz if c.Mhz > 9999 { - c.Mhz = c.Mhz / 1000.0 // value in Hz + c.Mhz /= 1000.0 // value in Hz } } @@ -174,7 +185,10 @@ func Info() ([]InfoStat, error) { func InfoWithContext(ctx context.Context) ([]InfoStat, error) { filename := common.HostProcWithContext(ctx, "cpuinfo") - lines, _ := common.ReadLines(filename) + lines, err := common.ReadLines(filename) + if err != nil { + return nil, fmt.Errorf("could not read %s: %w", filename, err) + } var ret []InfoStat var processorName string @@ -271,6 +285,10 @@ func InfoWithContext(ctx context.Context) ([]InfoStat, error) { val = strings.Split(value, ".")[0] } + if strings.EqualFold(val, "unknown") { + continue + } + t, err := strconv.ParseInt(val, 10, 64) if err != nil { return ret, err @@ -395,7 +413,7 @@ func CountsWithContext(ctx context.Context, logical bool) (int, error) { for _, line := range lines { line = strings.ToLower(line) if strings.HasPrefix(line, "processor") { - _, err = strconv.Atoi(strings.TrimSpace(line[strings.IndexByte(line, ':')+1:])) + _, err = strconv.ParseInt(strings.TrimSpace(line[strings.IndexByte(line, ':')+1:]), 10, 32) if err == nil { ret++ } @@ -464,11 +482,11 @@ func CountsWithContext(ctx context.Context, logical bool) (int, error) { } fields[0] = strings.TrimSpace(fields[0]) if fields[0] == "physical id" || fields[0] == "cpu cores" { - val, err := strconv.Atoi(strings.TrimSpace(fields[1])) + val, err := strconv.ParseInt(strings.TrimSpace(fields[1]), 10, 32) if err != nil { continue } - currentInfo[fields[0]] = val + currentInfo[fields[0]] = int(val) } } ret := 0 diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_netbsd.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_netbsd.go similarity index 84% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_netbsd.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_netbsd.go index 1f66be34..9e23edb6 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_netbsd.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_netbsd.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build netbsd -// +build netbsd package cpu @@ -9,9 +9,10 @@ import ( "runtime" "unsafe" - "github.com/shirou/gopsutil/v3/internal/common" "github.com/tklauser/go-sysconf" "golang.org/x/sys/unix" + + "github.com/shirou/gopsutil/v4/internal/common" ) const ( @@ -35,7 +36,8 @@ func Times(percpu bool) ([]TimesStat, error) { return TimesWithContext(context.Background(), percpu) } -func TimesWithContext(ctx context.Context, percpu bool) (ret []TimesStat, err error) { +func TimesWithContext(_ context.Context, percpu bool) ([]TimesStat, error) { + ret := make([]TimesStat, 0) if !percpu { mib := []int32{ctlKern, kernCpTime} buf, _, err := common.CallSyscall(mib) @@ -43,20 +45,20 @@ func TimesWithContext(ctx context.Context, percpu bool) (ret []TimesStat, err er return ret, err } times := (*cpuTimes)(unsafe.Pointer(&buf[0])) - stat := TimesStat{ + ret = append(ret, TimesStat{ CPU: "cpu-total", User: float64(times.User), Nice: float64(times.Nice), System: float64(times.Sys), Idle: float64(times.Idle), Irq: float64(times.Intr), - } - return []TimesStat{stat}, nil + }) + return ret, nil } ncpu, err := unix.SysctlUint32("hw.ncpu") if err != nil { - return + return ret, err } var i uint32 @@ -86,7 +88,7 @@ func Info() ([]InfoStat, error) { return InfoWithContext(context.Background()) } -func InfoWithContext(ctx context.Context) ([]InfoStat, error) { +func InfoWithContext(_ context.Context) ([]InfoStat, error) { var ret []InfoStat var err error @@ -114,6 +116,6 @@ func InfoWithContext(ctx context.Context) ([]InfoStat, error) { return append(ret, c), nil } -func CountsWithContext(ctx context.Context, logical bool) (int, error) { +func CountsWithContext(_ context.Context, _ bool) (int, error) { return runtime.NumCPU(), nil } diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_netbsd_amd64.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_netbsd_amd64.go similarity index 71% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_netbsd_amd64.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_netbsd_amd64.go index 57e14528..25ececa6 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_netbsd_amd64.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_netbsd_amd64.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package cpu type cpuTimes struct { diff --git a/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_netbsd_arm.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_netbsd_arm.go new file mode 100644 index 00000000..e4799bcf --- /dev/null +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_netbsd_arm.go @@ -0,0 +1,10 @@ +// SPDX-License-Identifier: BSD-3-Clause +package cpu + +type cpuTimes struct { + User uint32 + Nice uint32 + Sys uint32 + Intr uint32 + Idle uint32 +} diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_netbsd_arm64.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_netbsd_arm64.go similarity index 71% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_netbsd_arm64.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_netbsd_arm64.go index 57e14528..25ececa6 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_netbsd_arm64.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_netbsd_arm64.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package cpu type cpuTimes struct { diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd.go similarity index 86% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd.go index fe332903..9b37d296 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build openbsd -// +build openbsd package cpu @@ -9,9 +9,10 @@ import ( "runtime" "unsafe" - "github.com/shirou/gopsutil/v3/internal/common" "github.com/tklauser/go-sysconf" "golang.org/x/sys/unix" + + "github.com/shirou/gopsutil/v4/internal/common" ) const ( @@ -53,7 +54,8 @@ func Times(percpu bool) ([]TimesStat, error) { return TimesWithContext(context.Background(), percpu) } -func TimesWithContext(ctx context.Context, percpu bool) (ret []TimesStat, err error) { +func TimesWithContext(_ context.Context, percpu bool) ([]TimesStat, error) { + ret := make([]TimesStat, 0) if !percpu { mib := []int32{ctlKern, kernCpTime} buf, _, err := common.CallSyscall(mib) @@ -61,20 +63,20 @@ func TimesWithContext(ctx context.Context, percpu bool) (ret []TimesStat, err er return ret, err } times := (*cpuTimes)(unsafe.Pointer(&buf[0])) - stat := TimesStat{ + ret = append(ret, TimesStat{ CPU: "cpu-total", User: float64(times.User) / ClocksPerSec, Nice: float64(times.Nice) / ClocksPerSec, System: float64(times.Sys) / ClocksPerSec, Idle: float64(times.Idle) / ClocksPerSec, Irq: float64(times.Intr) / ClocksPerSec, - } - return []TimesStat{stat}, nil + }) + return ret, nil } ncpu, err := unix.SysctlUint32("hw.ncpu") if err != nil { - return + return ret, err } var i uint32 @@ -107,7 +109,7 @@ func Info() ([]InfoStat, error) { return InfoWithContext(context.Background()) } -func InfoWithContext(ctx context.Context) ([]InfoStat, error) { +func InfoWithContext(_ context.Context) ([]InfoStat, error) { var ret []InfoStat var err error @@ -132,6 +134,6 @@ func InfoWithContext(ctx context.Context) ([]InfoStat, error) { return append(ret, c), nil } -func CountsWithContext(ctx context.Context, logical bool) (int, error) { +func CountsWithContext(_ context.Context, _ bool) (int, error) { return runtime.NumCPU(), nil } diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_386.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd_386.go similarity index 73% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_386.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd_386.go index 5e878399..40a6f43e 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_386.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd_386.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package cpu type cpuTimes struct { diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_amd64.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd_amd64.go similarity index 73% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_amd64.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd_amd64.go index d659058c..464156d5 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_amd64.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd_amd64.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package cpu type cpuTimes struct { diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_arm.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd_arm.go similarity index 73% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_arm.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd_arm.go index 5e878399..40a6f43e 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_arm.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd_arm.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package cpu type cpuTimes struct { diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_arm64.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd_arm64.go similarity index 73% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_arm64.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd_arm64.go index d659058c..464156d5 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_arm64.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd_arm64.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package cpu type cpuTimes struct { diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_riscv64.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd_riscv64.go similarity index 73% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_riscv64.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd_riscv64.go index d659058c..464156d5 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_openbsd_riscv64.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_openbsd_riscv64.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package cpu type cpuTimes struct { diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_plan9.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_plan9.go similarity index 73% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_plan9.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_plan9.go index a2e99d8c..02ad3f74 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_plan9.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_plan9.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build plan9 -// +build plan9 package cpu @@ -9,14 +9,15 @@ import ( "runtime" stats "github.com/lufia/plan9stats" - "github.com/shirou/gopsutil/v3/internal/common" + + "github.com/shirou/gopsutil/v4/internal/common" ) func Times(percpu bool) ([]TimesStat, error) { return TimesWithContext(context.Background(), percpu) } -func TimesWithContext(ctx context.Context, percpu bool) ([]TimesStat, error) { +func TimesWithContext(ctx context.Context, _ bool) ([]TimesStat, error) { // BUG: percpu flag is not supported yet. root := os.Getenv("HOST_ROOT") c, err := stats.ReadCPUType(ctx, stats.WithRootDir(root)) @@ -41,10 +42,10 @@ func Info() ([]InfoStat, error) { return InfoWithContext(context.Background()) } -func InfoWithContext(ctx context.Context) ([]InfoStat, error) { +func InfoWithContext(_ context.Context) ([]InfoStat, error) { return []InfoStat{}, common.ErrNotImplementedError } -func CountsWithContext(ctx context.Context, logical bool) (int, error) { +func CountsWithContext(_ context.Context, _ bool) (int, error) { return runtime.NumCPU(), nil } diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_solaris.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_solaris.go similarity index 84% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_solaris.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_solaris.go index 4231ad16..9494e3c3 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_solaris.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_solaris.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package cpu import ( @@ -41,7 +42,7 @@ var kstatSplit = regexp.MustCompile(`[:\s]+`) func TimesWithContext(ctx context.Context, percpu bool) ([]TimesStat, error) { kstatSysOut, err := invoke.CommandWithContext(ctx, "kstat", "-p", "cpu_stat:*:*:/^idle$|^user$|^kernel$|^iowait$|^swap$/") if err != nil { - return nil, fmt.Errorf("cannot execute kstat: %s", err) + return nil, fmt.Errorf("cannot execute kstat: %w", err) } cpu := make(map[float64]float64) idle := make(map[float64]float64) @@ -56,31 +57,31 @@ func TimesWithContext(ctx context.Context, percpu bool) ([]TimesStat, error) { } cpuNumber, err := strconv.ParseFloat(fields[1], 64) if err != nil { - return nil, fmt.Errorf("cannot parse cpu number: %s", err) + return nil, fmt.Errorf("cannot parse cpu number: %w", err) } cpu[cpuNumber] = cpuNumber switch fields[3] { case "idle": idle[cpuNumber], err = strconv.ParseFloat(fields[4], 64) if err != nil { - return nil, fmt.Errorf("cannot parse idle: %s", err) + return nil, fmt.Errorf("cannot parse idle: %w", err) } case "user": user[cpuNumber], err = strconv.ParseFloat(fields[4], 64) if err != nil { - return nil, fmt.Errorf("cannot parse user: %s", err) + return nil, fmt.Errorf("cannot parse user: %w", err) } case "kernel": kern[cpuNumber], err = strconv.ParseFloat(fields[4], 64) if err != nil { - return nil, fmt.Errorf("cannot parse kernel: %s", err) + return nil, fmt.Errorf("cannot parse kernel: %w", err) } case "iowait": iowt[cpuNumber], err = strconv.ParseFloat(fields[4], 64) if err != nil { - return nil, fmt.Errorf("cannot parse iowait: %s", err) + return nil, fmt.Errorf("cannot parse iowait: %w", err) } - //not sure how this translates, don't report, add to kernel, something else? + // not sure how this translates, don't report, add to kernel, something else? /*case "swap": swap[cpuNumber], err = strconv.ParseFloat(fields[4], 64) if err != nil { @@ -120,27 +121,27 @@ func Info() ([]InfoStat, error) { func InfoWithContext(ctx context.Context) ([]InfoStat, error) { psrInfoOut, err := invoke.CommandWithContext(ctx, "psrinfo", "-p", "-v") if err != nil { - return nil, fmt.Errorf("cannot execute psrinfo: %s", err) + return nil, fmt.Errorf("cannot execute psrinfo: %w", err) } procs, err := parseProcessorInfo(string(psrInfoOut)) if err != nil { - return nil, fmt.Errorf("error parsing psrinfo output: %s", err) + return nil, fmt.Errorf("error parsing psrinfo output: %w", err) } isaInfoOut, err := invoke.CommandWithContext(ctx, "isainfo", "-b", "-v") if err != nil { - return nil, fmt.Errorf("cannot execute isainfo: %s", err) + return nil, fmt.Errorf("cannot execute isainfo: %w", err) } flags, err := parseISAInfo(string(isaInfoOut)) if err != nil { - return nil, fmt.Errorf("error parsing isainfo output: %s", err) + return nil, fmt.Errorf("error parsing isainfo output: %w", err) } result := make([]InfoStat, 0, len(flags)) - for _, proc := range procs { - procWithFlags := proc + for i := range procs { + procWithFlags := procs[i] procWithFlags.Flags = flags result = append(result, procWithFlags) } @@ -148,7 +149,7 @@ func InfoWithContext(ctx context.Context) ([]InfoStat, error) { return result, nil } -var flagsMatch = regexp.MustCompile(`[\w\.]+`) +var flagsMatch = regexp.MustCompile(`[\w.]+`) func parseISAInfo(cmdOutput string) ([]string, error) { words := flagsMatch.FindAllString(cmdOutput, -1) @@ -158,10 +159,7 @@ func parseISAInfo(cmdOutput string) ([]string, error) { return nil, errors.New("attempted to parse invalid isainfo output") } - flags := make([]string, len(words)-4) - for i, val := range words[4:] { - flags[i] = val - } + flags := words[4:] sort.Strings(flags) return flags, nil @@ -193,7 +191,7 @@ func parseProcessorInfo(cmdOutput string) ([]InfoStat, error) { if physicalCPU[psrStepOffset] != "" { stepParsed, err := strconv.ParseInt(physicalCPU[psrStepOffset], 10, 32) if err != nil { - return nil, fmt.Errorf("cannot parse value %q for step as 32-bit integer: %s", physicalCPU[9], err) + return nil, fmt.Errorf("cannot parse value %q for step as 32-bit integer: %w", physicalCPU[9], err) } step = int32(stepParsed) } @@ -201,7 +199,7 @@ func parseProcessorInfo(cmdOutput string) ([]InfoStat, error) { if physicalCPU[psrClockOffset] != "" { clockParsed, err := strconv.ParseInt(physicalCPU[psrClockOffset], 10, 64) if err != nil { - return nil, fmt.Errorf("cannot parse value %q for clock as 32-bit integer: %s", physicalCPU[10], err) + return nil, fmt.Errorf("cannot parse value %q for clock as 32-bit integer: %w", physicalCPU[10], err) } clock = float64(clockParsed) } @@ -213,7 +211,7 @@ func parseProcessorInfo(cmdOutput string) ([]InfoStat, error) { case physicalCPU[psrNumCoresOffset] != "": numCores, err = strconv.ParseInt(physicalCPU[psrNumCoresOffset], 10, 32) if err != nil { - return nil, fmt.Errorf("cannot parse value %q for core count as 32-bit integer: %s", physicalCPU[1], err) + return nil, fmt.Errorf("cannot parse value %q for core count as 32-bit integer: %w", physicalCPU[1], err) } for i := 0; i < int(numCores); i++ { @@ -234,12 +232,12 @@ func parseProcessorInfo(cmdOutput string) ([]InfoStat, error) { case physicalCPU[psrNumCoresHTOffset] != "": numCores, err = strconv.ParseInt(physicalCPU[psrNumCoresHTOffset], 10, 32) if err != nil { - return nil, fmt.Errorf("cannot parse value %q for core count as 32-bit integer: %s", physicalCPU[3], err) + return nil, fmt.Errorf("cannot parse value %q for core count as 32-bit integer: %w", physicalCPU[3], err) } numHT, err = strconv.ParseInt(physicalCPU[psrNumHTOffset], 10, 32) if err != nil { - return nil, fmt.Errorf("cannot parse value %q for hyperthread count as 32-bit integer: %s", physicalCPU[4], err) + return nil, fmt.Errorf("cannot parse value %q for hyperthread count as 32-bit integer: %w", physicalCPU[4], err) } for i := 0; i < int(numCores); i++ { @@ -264,6 +262,6 @@ func parseProcessorInfo(cmdOutput string) ([]InfoStat, error) { return result, nil } -func CountsWithContext(ctx context.Context, logical bool) (int, error) { +func CountsWithContext(_ context.Context, _ bool) (int, error) { return runtime.NumCPU(), nil } diff --git a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_windows.go b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_windows.go similarity index 62% rename from vendor/github.com/shirou/gopsutil/v3/cpu/cpu_windows.go rename to vendor/github.com/shirou/gopsutil/v4/cpu/cpu_windows.go index e10612fd..12bf36aa 100644 --- a/vendor/github.com/shirou/gopsutil/v3/cpu/cpu_windows.go +++ b/vendor/github.com/shirou/gopsutil/v4/cpu/cpu_windows.go @@ -1,23 +1,27 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build windows -// +build windows package cpu import ( "context" + "errors" "fmt" + "strconv" "unsafe" - "github.com/shirou/gopsutil/v3/internal/common" "github.com/yusufpapurcu/wmi" "golang.org/x/sys/windows" + + "github.com/shirou/gopsutil/v4/internal/common" ) var ( - procGetNativeSystemInfo = common.Modkernel32.NewProc("GetNativeSystemInfo") + procGetNativeSystemInfo = common.Modkernel32.NewProc("GetNativeSystemInfo") + procGetLogicalProcessorInformationEx = common.Modkernel32.NewProc("GetLogicalProcessorInformationEx") ) -type win32_Processor struct { +type win32_Processor struct { //nolint:revive //FIXME Family uint16 Manufacturer string Name string @@ -33,13 +37,13 @@ type win32_Processor struct { // https://docs.microsoft.com/en-us/windows/desktop/api/winternl/nf-winternl-ntquerysysteminformation#system_processor_performance_information // additional fields documented here // https://www.geoffchappell.com/studies/windows/km/ntoskrnl/api/ex/sysinfo/processor_performance.htm -type win32_SystemProcessorPerformanceInformation struct { - IdleTime int64 // idle time in 100ns (this is not a filetime). - KernelTime int64 // kernel time in 100ns. kernel time includes idle time. (this is not a filetime). - UserTime int64 // usertime in 100ns (this is not a filetime). - DpcTime int64 // dpc time in 100ns (this is not a filetime). - InterruptTime int64 // interrupt time in 100ns - InterruptCount uint32 +type win32_SystemProcessorPerformanceInformation struct { //nolint:revive //FIXME + IdleTime int64 // idle time in 100ns (this is not a filetime). + KernelTime int64 // kernel time in 100ns. kernel time includes idle time. (this is not a filetime). + UserTime int64 // usertime in 100ns (this is not a filetime). + DpcTime int64 // dpc time in 100ns (this is not a filetime). + InterruptTime int64 // interrupt time in 100ns + InterruptCount uint64 // ULONG needs to be uint64 } const ( @@ -47,10 +51,10 @@ const ( // systemProcessorPerformanceInformationClass information class to query with NTQuerySystemInformation // https://processhacker.sourceforge.io/doc/ntexapi_8h.html#ad5d815b48e8f4da1ef2eb7a2f18a54e0 - win32_SystemProcessorPerformanceInformationClass = 8 + win32_SystemProcessorPerformanceInformationClass = 8 //nolint:revive //FIXME // size of systemProcessorPerformanceInfoSize in memory - win32_SystemProcessorPerformanceInfoSize = uint32(unsafe.Sizeof(win32_SystemProcessorPerformanceInformation{})) + win32_SystemProcessorPerformanceInfoSize = uint32(unsafe.Sizeof(win32_SystemProcessorPerformanceInformation{})) //nolint:revive //FIXME ) // Times returns times stat per cpu and combined for all CPUs @@ -58,7 +62,7 @@ func Times(percpu bool) ([]TimesStat, error) { return TimesWithContext(context.Background(), percpu) } -func TimesWithContext(ctx context.Context, percpu bool) ([]TimesStat, error) { +func TimesWithContext(_ context.Context, percpu bool) ([]TimesStat, error) { if percpu { return perCPUTimes() } @@ -67,12 +71,14 @@ func TimesWithContext(ctx context.Context, percpu bool) ([]TimesStat, error) { var lpIdleTime common.FILETIME var lpKernelTime common.FILETIME var lpUserTime common.FILETIME - r, _, _ := common.ProcGetSystemTimes.Call( + // GetSystemTimes returns 0 for error, in which case we check err, + // see https://pkg.go.dev/golang.org/x/sys/windows#LazyProc.Call + r, _, err := common.ProcGetSystemTimes.Call( uintptr(unsafe.Pointer(&lpIdleTime)), uintptr(unsafe.Pointer(&lpKernelTime)), uintptr(unsafe.Pointer(&lpUserTime))) if r == 0 { - return ret, windows.GetLastError() + return nil, err } LOT := float64(0.0000001) @@ -112,7 +118,7 @@ func InfoWithContext(ctx context.Context) ([]InfoStat, error) { cpu := InfoStat{ CPU: int32(i), - Family: fmt.Sprintf("%d", l.Family), + Family: strconv.FormatUint(uint64(l.Family), 10), VendorID: l.Manufacturer, ModelName: l.Name, Cores: int32(l.NumberOfLogicalProcessors), @@ -200,30 +206,78 @@ type systemInfo struct { wProcessorRevision uint16 } -func CountsWithContext(ctx context.Context, logical bool) (int, error) { +type groupAffinity struct { + mask uintptr // https://learn.microsoft.com/it-it/windows-hardware/drivers/kernel/interrupt-affinity-and-priority#about-kaffinity + group uint16 + reserved [3]uint16 +} + +// https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-processor_relationship +type processorRelationship struct { + flags byte + efficientClass byte + reserved [20]byte + groupCount uint16 + groupMask [1]groupAffinity +} + +// https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-system_logical_processor_information_ex +type systemLogicalProcessorInformationEx struct { + Relationship uint32 + Size uint32 + Processor processorRelationship +} + +func getPhysicalCoreCount() (int, error) { + var length uint32 + const relationAll = 0xffff + const relationProcessorCore = 0x0 + + // First call to determine the required buffer size + _, _, err := procGetLogicalProcessorInformationEx.Call(uintptr(relationAll), 0, uintptr(unsafe.Pointer(&length))) + if err != nil && !errors.Is(err, windows.ERROR_INSUFFICIENT_BUFFER) { + return 0, fmt.Errorf("failed to get buffer size: %w", err) + } + + // Allocate the buffer + buffer := make([]byte, length) + + // Second call to retrieve the processor information + _, _, err = procGetLogicalProcessorInformationEx.Call(uintptr(relationAll), uintptr(unsafe.Pointer(&buffer[0])), uintptr(unsafe.Pointer(&length))) + if err != nil && !errors.Is(err, windows.NTE_OP_OK) { + return 0, fmt.Errorf("failed to get logical processor information: %w", err) + } + + // Iterate through the buffer to count physical cores + offset := uintptr(0) + ncpus := 0 + for offset < uintptr(length) { + info := (*systemLogicalProcessorInformationEx)(unsafe.Pointer(uintptr(unsafe.Pointer(&buffer[0])) + offset)) + if info.Relationship == relationProcessorCore { + ncpus++ + } + offset += uintptr(info.Size) + } + + return ncpus, nil +} + +func CountsWithContext(_ context.Context, logical bool) (int, error) { if logical { - // https://github.com/giampaolo/psutil/blob/d01a9eaa35a8aadf6c519839e987a49d8be2d891/psutil/_psutil_windows.c#L97 + // Get logical processor count https://github.com/giampaolo/psutil/blob/d01a9eaa35a8aadf6c519839e987a49d8be2d891/psutil/_psutil_windows.c#L97 ret := windows.GetActiveProcessorCount(windows.ALL_PROCESSOR_GROUPS) if ret != 0 { return int(ret), nil } - var systemInfo systemInfo - _, _, err := procGetNativeSystemInfo.Call(uintptr(unsafe.Pointer(&systemInfo))) - if systemInfo.dwNumberOfProcessors == 0 { + + var sInfo systemInfo + _, _, err := procGetNativeSystemInfo.Call(uintptr(unsafe.Pointer(&sInfo))) + if sInfo.dwNumberOfProcessors == 0 { return 0, err } - return int(systemInfo.dwNumberOfProcessors), nil + return int(sInfo.dwNumberOfProcessors), nil } - // physical cores https://github.com/giampaolo/psutil/blob/d01a9eaa35a8aadf6c519839e987a49d8be2d891/psutil/_psutil_windows.c#L499 - // for the time being, try with unreliable and slow WMI call… - var dst []win32_Processor - q := wmi.CreateQuery(&dst, "") - if err := common.WMIQueryWithContext(ctx, q, &dst); err != nil { - return 0, err - } - var count uint32 - for _, d := range dst { - count += d.NumberOfCores - } - return int(count), nil + + // Get physical core count https://github.com/giampaolo/psutil/blob/d01a9eaa35a8aadf6c519839e987a49d8be2d891/psutil/_psutil_windows.c#L499 + return getPhysicalCoreCount() } diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host.go b/vendor/github.com/shirou/gopsutil/v4/host/host.go similarity index 86% rename from vendor/github.com/shirou/gopsutil/v3/host/host.go rename to vendor/github.com/shirou/gopsutil/v4/host/host.go index ee948636..f85e5d7e 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host.go @@ -1,14 +1,16 @@ +// SPDX-License-Identifier: BSD-3-Clause package host import ( "context" "encoding/json" "errors" + "fmt" "os" "runtime" "time" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) type Warnings = common.Warnings @@ -40,13 +42,6 @@ type UserStat struct { Started int `json:"started"` } -type TemperatureStat struct { - SensorKey string `json:"sensorKey"` - Temperature float64 `json:"temperature"` - High float64 `json:"sensorHigh"` - Critical float64 `json:"sensorCritical"` -} - func (h InfoStat) String() string { s, _ := json.Marshal(h) return string(s) @@ -57,11 +52,6 @@ func (u UserStat) String() string { return string(s) } -func (t TemperatureStat) String() string { - s, _ := json.Marshal(t) - return string(s) -} - var enableBootTimeCache bool // EnableBootTimeCache change cache behavior of BootTime. If true, cache BootTime value. Default is false. @@ -81,47 +71,47 @@ func InfoWithContext(ctx context.Context) (*InfoStat, error) { ret.Hostname, err = os.Hostname() if err != nil && !errors.Is(err, common.ErrNotImplementedError) { - return nil, err + return nil, fmt.Errorf("getting hostname: %w", err) } ret.Platform, ret.PlatformFamily, ret.PlatformVersion, err = PlatformInformationWithContext(ctx) if err != nil && !errors.Is(err, common.ErrNotImplementedError) { - return nil, err + return nil, fmt.Errorf("getting platform information: %w", err) } ret.KernelVersion, err = KernelVersionWithContext(ctx) if err != nil && !errors.Is(err, common.ErrNotImplementedError) { - return nil, err + return nil, fmt.Errorf("getting kernel version: %w", err) } ret.KernelArch, err = KernelArch() if err != nil && !errors.Is(err, common.ErrNotImplementedError) { - return nil, err + return nil, fmt.Errorf("getting kernel architecture: %w", err) } ret.VirtualizationSystem, ret.VirtualizationRole, err = VirtualizationWithContext(ctx) if err != nil && !errors.Is(err, common.ErrNotImplementedError) { - return nil, err + return nil, fmt.Errorf("getting virtualization information: %w", err) } ret.BootTime, err = BootTimeWithContext(ctx) if err != nil && !errors.Is(err, common.ErrNotImplementedError) { - return nil, err + return nil, fmt.Errorf("getting boot time: %w", err) } ret.Uptime, err = UptimeWithContext(ctx) if err != nil && !errors.Is(err, common.ErrNotImplementedError) { - return nil, err + return nil, fmt.Errorf("getting uptime: %w", err) } ret.Procs, err = numProcs(ctx) if err != nil && !errors.Is(err, common.ErrNotImplementedError) { - return nil, err + return nil, fmt.Errorf("getting number of procs: %w", err) } ret.HostID, err = HostIDWithContext(ctx) if err != nil && !errors.Is(err, common.ErrNotImplementedError) { - return nil, err + return nil, fmt.Errorf("getting host ID: %w", err) } return ret, nil @@ -157,10 +147,6 @@ func KernelVersion() (string, error) { return KernelVersionWithContext(context.Background()) } -func SensorsTemperatures() ([]TemperatureStat, error) { - return SensorsTemperaturesWithContext(context.Background()) -} - func timeSince(ts uint64) uint64 { return uint64(time.Now().Unix()) - ts } diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_aix.go b/vendor/github.com/shirou/gopsutil/v4/host/host_aix.go similarity index 59% rename from vendor/github.com/shirou/gopsutil/v3/host/host_aix.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_aix.go index d06899ea..2e8fb553 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_aix.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_aix.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build aix -// +build aix package host @@ -9,14 +9,12 @@ import ( "strconv" "strings" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) // from https://www.ibm.com/docs/en/aix/7.2?topic=files-utmph-file const ( - user_PROCESS = 7 - - hostTemperatureScale = 1000.0 // Not part of the linked file, but kept just in case it becomes relevant + user_PROCESS = 7 //nolint:revive //FIXME ) func HostIDWithContext(ctx context.Context) (string, error) { @@ -26,10 +24,10 @@ func HostIDWithContext(ctx context.Context) (string, error) { } // The command always returns an extra newline, so we make use of Split() to get only the first line - return strings.Split(string(out[:]), "\n")[0], nil + return strings.Split(string(out), "\n")[0], nil } -func numProcs(ctx context.Context) (uint64, error) { +func numProcs(_ context.Context) (uint64, error) { return 0, common.ErrNotImplementedError } @@ -40,76 +38,86 @@ func BootTimeWithContext(ctx context.Context) (btime uint64, err error) { } if ut <= 0 { - return 0, errors.New("Uptime was not set, so cannot calculate boot time from it.") + return 0, errors.New("uptime was not set, so cannot calculate boot time from it") } - ut = ut * 60 + ut *= 60 return timeSince(ut), nil } -// This function takes multiple formats of output frmo the uptime -// command and converts the data into minutes. +// Parses result from uptime into minutes // Some examples of uptime output that this command handles: // 11:54AM up 13 mins, 1 user, load average: 2.78, 2.62, 1.79 // 12:41PM up 1 hr, 1 user, load average: 2.47, 2.85, 2.83 // 07:43PM up 5 hrs, 1 user, load average: 3.27, 2.91, 2.72 // 11:18:23 up 83 days, 18:29, 4 users, load average: 0.16, 0.03, 0.01 +// 08:47PM up 2 days, 20 hrs, 1 user, load average: 2.47, 2.17, 2.17 +// 01:16AM up 4 days, 29 mins, 1 user, load average: 2.29, 2.31, 2.21 func UptimeWithContext(ctx context.Context) (uint64, error) { out, err := invoke.CommandWithContext(ctx, "uptime") if err != nil { return 0, err } - // Convert our uptime to a series of fields we can extract - ut := strings.Fields(string(out[:])) + return parseUptime(string(out)), nil +} + +func parseUptime(uptime string) uint64 { + ut := strings.Fields(uptime) + var days, hours, mins uint64 + var err error - // Convert the second field value to integer - var days uint64 = 0 - var hours uint64 = 0 - var minutes uint64 = 0 - if ut[3] == "days," { + switch ut[3] { + case "day,", "days,": days, err = strconv.ParseUint(ut[2], 10, 64) if err != nil { - return 0, err + return 0 } - // Split field 4 into hours and minutes - hm := strings.Split(ut[4], ":") - hours, err = strconv.ParseUint(hm[0], 10, 64) - if err != nil { - return 0, err - } - minutes, err = strconv.ParseUint(strings.Replace(hm[1], ",", "", -1), 10, 64) - if err != nil { - return 0, err + // day provided along with a single hour or hours + // ie: up 2 days, 20 hrs, + if ut[5] == "hr," || ut[5] == "hrs," { + hours, err = strconv.ParseUint(ut[4], 10, 64) + if err != nil { + return 0 + } } - } else if ut[3] == "hr," || ut[3] == "hrs," { - hours, err = strconv.ParseUint(ut[2], 10, 64) - if err != nil { - return 0, err + + // mins provided along with a single min or mins + // ie: up 4 days, 29 mins, + if ut[5] == "min," || ut[5] == "mins," { + mins, err = strconv.ParseUint(ut[4], 10, 64) + if err != nil { + return 0 + } } - } else if ut[3] == "mins," { - minutes, err = strconv.ParseUint(ut[2], 10, 64) - if err != nil { - return 0, err + + // alternatively day provided with hh:mm + // ie: up 83 days, 18:29 + if strings.Contains(ut[4], ":") { + hm := strings.Split(ut[4], ":") + hours, err = strconv.ParseUint(hm[0], 10, 64) + if err != nil { + return 0 + } + mins, err = strconv.ParseUint(strings.Trim(hm[1], ","), 10, 64) + if err != nil { + return 0 + } } - } else if _, err := strconv.ParseInt(ut[3], 10, 64); err == nil && strings.Contains(ut[2], ":") { - // Split field 2 into hours and minutes - hm := strings.Split(ut[2], ":") - hours, err = strconv.ParseUint(hm[0], 10, 64) + case "hr,", "hrs,": + hours, err = strconv.ParseUint(ut[2], 10, 64) if err != nil { - return 0, err + return 0 } - minutes, err = strconv.ParseUint(strings.Replace(hm[1], ",", "", -1), 10, 64) + case "min,", "mins,": + mins, err = strconv.ParseUint(ut[2], 10, 64) if err != nil { - return 0, err + return 0 } } - // Stack them all together as minutes - total_time := (days * 24 * 60) + (hours * 60) + minutes - - return total_time, nil + return (days * 24 * 60) + (hours * 60) + mins } // This is a weak implementation due to the limitations on retrieving this data in AIX @@ -152,23 +160,23 @@ func UsersWithContext(ctx context.Context) ([]UserStat, error) { } // Much of this function could be static. However, to be future proofed, I've made it call the OS for the information in all instances. -func PlatformInformationWithContext(ctx context.Context) (platform string, family string, version string, err error) { +func PlatformInformationWithContext(ctx context.Context) (platform, family, version string, err error) { // Set the platform (which should always, and only be, "AIX") from `uname -s` out, err := invoke.CommandWithContext(ctx, "uname", "-s") if err != nil { return "", "", "", err } - platform = strings.TrimRight(string(out[:]), "\n") + platform = strings.TrimRight(string(out), "\n") // Set the family - family = strings.TrimRight(string(out[:]), "\n") + family = strings.TrimRight(string(out), "\n") // Set the version out, err = invoke.CommandWithContext(ctx, "oslevel") if err != nil { return "", "", "", err } - version = strings.TrimRight(string(out[:]), "\n") + version = strings.TrimRight(string(out), "\n") return platform, family, version, nil } @@ -178,7 +186,7 @@ func KernelVersionWithContext(ctx context.Context) (version string, err error) { if err != nil { return "", err } - version = strings.TrimRight(string(out[:]), "\n") + version = strings.TrimRight(string(out), "\n") return version, nil } @@ -188,15 +196,11 @@ func KernelArch() (arch string, err error) { if err != nil { return "", err } - arch = strings.TrimRight(string(out[:]), "\n") + arch = strings.TrimRight(string(out), "\n") return arch, nil } -func VirtualizationWithContext(ctx context.Context) (string, string, error) { +func VirtualizationWithContext(_ context.Context) (string, string, error) { return "", "", common.ErrNotImplementedError } - -func SensorsTemperaturesWithContext(ctx context.Context) ([]TemperatureStat, error) { - return nil, common.ErrNotImplementedError -} diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_aix_ppc64.go b/vendor/github.com/shirou/gopsutil/v4/host/host_aix_ppc64.go similarity index 100% rename from vendor/github.com/shirou/gopsutil/v3/host/host_aix_ppc64.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_aix_ppc64.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_bsd.go b/vendor/github.com/shirou/gopsutil/v4/host/host_bsd.go similarity index 86% rename from vendor/github.com/shirou/gopsutil/v3/host/host_bsd.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_bsd.go index f9a29614..4d27ed62 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_bsd.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_bsd.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build darwin || freebsd || openbsd || netbsd -// +build darwin freebsd openbsd netbsd package host @@ -13,7 +13,7 @@ import ( // cachedBootTime must be accessed via atomic.Load/StoreUint64 var cachedBootTime uint64 -func BootTimeWithContext(ctx context.Context) (uint64, error) { +func BootTimeWithContext(_ context.Context) (uint64, error) { if enableBootTimeCache { t := atomic.LoadUint64(&cachedBootTime) if t != 0 { diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_darwin.go b/vendor/github.com/shirou/gopsutil/v4/host/host_darwin.go similarity index 85% rename from vendor/github.com/shirou/gopsutil/v3/host/host_darwin.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_darwin.go index 873ed4ae..2764ce99 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_darwin.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_darwin.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build darwin -// +build darwin package host @@ -15,12 +15,12 @@ import ( "golang.org/x/sys/unix" - "github.com/shirou/gopsutil/v3/internal/common" - "github.com/shirou/gopsutil/v3/process" + "github.com/shirou/gopsutil/v4/internal/common" + "github.com/shirou/gopsutil/v4/process" ) // from utmpx.h -const user_PROCESS = 7 +const user_PROCESS = 7 //nolint:revive //FIXME func HostIDWithContext(ctx context.Context) (string, error) { out, err := invoke.CommandWithContext(ctx, "ioreg", "-rd1", "-c", "IOPlatformExpertDevice") @@ -49,7 +49,7 @@ func numProcs(ctx context.Context) (uint64, error) { return uint64(len(procs)), nil } -func UsersWithContext(ctx context.Context) ([]UserStat, error) { +func UsersWithContext(_ context.Context) ([]UserStat, error) { utmpfile := "/var/run/utmpx" var ret []UserStat @@ -67,8 +67,7 @@ func UsersWithContext(ctx context.Context) ([]UserStat, error) { // Skip macOS utmpx header part buf = buf[604:] - u := Utmpx{} - entrySize := int(unsafe.Sizeof(u)) + entrySize := int(unsafe.Sizeof(Utmpx{})) count := len(buf) / entrySize for i := 0; i < count; i++ { @@ -123,11 +122,11 @@ func PlatformInformationWithContext(ctx context.Context) (string, string, string return platform, family, pver, nil } -func VirtualizationWithContext(ctx context.Context) (string, string, error) { +func VirtualizationWithContext(_ context.Context) (string, string, error) { return "", "", common.ErrNotImplementedError } -func KernelVersionWithContext(ctx context.Context) (string, error) { +func KernelVersionWithContext(_ context.Context) (string, error) { version, err := unix.Sysctl("kern.osrelease") return strings.ToLower(version), err } diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_darwin_amd64.go b/vendor/github.com/shirou/gopsutil/v4/host/host_darwin_amd64.go similarity index 88% rename from vendor/github.com/shirou/gopsutil/v3/host/host_darwin_amd64.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_darwin_amd64.go index 8caeed2e..1efc353a 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_darwin_amd64.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_darwin_amd64.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause // Created by cgo -godefs - DO NOT EDIT // cgo -godefs types_darwin.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_darwin_arm64.go b/vendor/github.com/shirou/gopsutil/v4/host/host_darwin_arm64.go similarity index 89% rename from vendor/github.com/shirou/gopsutil/v3/host/host_darwin_arm64.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_darwin_arm64.go index 293bd4df..512e5697 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_darwin_arm64.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_darwin_arm64.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build darwin && arm64 -// +build darwin,arm64 // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs host/types_darwin.go diff --git a/vendor/github.com/shirou/gopsutil/v4/host/host_fallback.go b/vendor/github.com/shirou/gopsutil/v4/host/host_fallback.go new file mode 100644 index 00000000..ed2a4ceb --- /dev/null +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_fallback.go @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: BSD-3-Clause +//go:build !darwin && !linux && !freebsd && !openbsd && !netbsd && !solaris && !windows && !aix + +package host + +import ( + "context" + + "github.com/shirou/gopsutil/v4/internal/common" +) + +func HostIDWithContext(_ context.Context) (string, error) { + return "", common.ErrNotImplementedError +} + +func numProcs(_ context.Context) (uint64, error) { + return 0, common.ErrNotImplementedError +} + +func BootTimeWithContext(_ context.Context) (uint64, error) { + return 0, common.ErrNotImplementedError +} + +func UptimeWithContext(_ context.Context) (uint64, error) { + return 0, common.ErrNotImplementedError +} + +func UsersWithContext(_ context.Context) ([]UserStat, error) { + return []UserStat{}, common.ErrNotImplementedError +} + +func VirtualizationWithContext(_ context.Context) (string, string, error) { + return "", "", common.ErrNotImplementedError +} + +func KernelVersionWithContext(_ context.Context) (string, error) { + return "", common.ErrNotImplementedError +} + +func PlatformInformationWithContext(_ context.Context) (string, string, string, error) { + return "", "", "", common.ErrNotImplementedError +} + +func KernelArch() (string, error) { + return "", common.ErrNotImplementedError +} diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_freebsd.go b/vendor/github.com/shirou/gopsutil/v4/host/host_freebsd.go similarity index 81% rename from vendor/github.com/shirou/gopsutil/v3/host/host_freebsd.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_freebsd.go index 9a5382d3..882e0bcd 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_freebsd.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_freebsd.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build freebsd -// +build freebsd package host @@ -13,9 +13,10 @@ import ( "strings" "unsafe" - "github.com/shirou/gopsutil/v3/internal/common" - "github.com/shirou/gopsutil/v3/process" "golang.org/x/sys/unix" + + "github.com/shirou/gopsutil/v4/internal/common" + "github.com/shirou/gopsutil/v4/process" ) const ( @@ -24,7 +25,7 @@ const ( UTHostSize = 16 ) -func HostIDWithContext(ctx context.Context) (string, error) { +func HostIDWithContext(_ context.Context) (string, error) { uuid, err := unix.Sysctl("kern.hostuuid") if err != nil { return "", err @@ -40,7 +41,7 @@ func numProcs(ctx context.Context) (uint64, error) { return uint64(len(procs)), nil } -func UsersWithContext(ctx context.Context) ([]UserStat, error) { +func UsersWithContext(_ context.Context) ([]UserStat, error) { utmpfile := "/var/run/utx.active" if !common.PathExists(utmpfile) { utmpfile = "/var/run/utmp" // before 9.0 @@ -84,7 +85,7 @@ func UsersWithContext(ctx context.Context) ([]UserStat, error) { return ret, nil } -func PlatformInformationWithContext(ctx context.Context) (string, string, string, error) { +func PlatformInformationWithContext(_ context.Context) (string, string, string, error) { platform, err := unix.Sysctl("kern.ostype") if err != nil { return "", "", "", err @@ -98,7 +99,7 @@ func PlatformInformationWithContext(ctx context.Context) (string, string, string return strings.ToLower(platform), "", strings.ToLower(version), nil } -func VirtualizationWithContext(ctx context.Context) (string, string, error) { +func VirtualizationWithContext(_ context.Context) (string, string, error) { return "", "", common.ErrNotImplementedError } @@ -116,8 +117,7 @@ func getUsersFromUtmp(utmpfile string) ([]UserStat, error) { return ret, err } - u := Utmp{} - entrySize := int(unsafe.Sizeof(u)) + entrySize := int(unsafe.Sizeof(Utmp{})) count := len(buf) / entrySize for i := 0; i < count; i++ { @@ -141,10 +141,6 @@ func getUsersFromUtmp(utmpfile string) ([]UserStat, error) { return ret, nil } -func SensorsTemperaturesWithContext(ctx context.Context) ([]TemperatureStat, error) { - return []TemperatureStat{}, common.ErrNotImplementedError -} - func KernelVersionWithContext(ctx context.Context) (string, error) { _, _, version, err := PlatformInformationWithContext(ctx) return version, err diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_freebsd_386.go b/vendor/github.com/shirou/gopsutil/v4/host/host_freebsd_386.go similarity index 92% rename from vendor/github.com/shirou/gopsutil/v3/host/host_freebsd_386.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_freebsd_386.go index 88453d2a..0d31eb11 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_freebsd_386.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_freebsd_386.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs types_freebsd.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_freebsd_amd64.go b/vendor/github.com/shirou/gopsutil/v4/host/host_freebsd_amd64.go similarity index 92% rename from vendor/github.com/shirou/gopsutil/v3/host/host_freebsd_amd64.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_freebsd_amd64.go index 8af74b0f..603a0ba5 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_freebsd_amd64.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_freebsd_amd64.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs types_freebsd.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_freebsd_arm.go b/vendor/github.com/shirou/gopsutil/v4/host/host_freebsd_arm.go similarity index 92% rename from vendor/github.com/shirou/gopsutil/v3/host/host_freebsd_arm.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_freebsd_arm.go index f7d6ede5..5021f5e1 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_freebsd_arm.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_freebsd_arm.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs types_freebsd.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_freebsd_arm64.go b/vendor/github.com/shirou/gopsutil/v4/host/host_freebsd_arm64.go similarity index 93% rename from vendor/github.com/shirou/gopsutil/v3/host/host_freebsd_arm64.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_freebsd_arm64.go index 41bec3c1..4fe188b3 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_freebsd_arm64.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_freebsd_arm64.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build freebsd && arm64 -// +build freebsd,arm64 // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs host/types_freebsd.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_linux.go b/vendor/github.com/shirou/gopsutil/v4/host/host_linux.go similarity index 59% rename from vendor/github.com/shirou/gopsutil/v3/host/host_linux.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_linux.go index 5d4c1a90..f0fe076f 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_linux.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_linux.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build linux -// +build linux package host @@ -10,14 +10,12 @@ import ( "fmt" "io" "os" - "path/filepath" "regexp" - "strconv" "strings" "golang.org/x/sys/unix" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) type lsbStruct struct { @@ -29,9 +27,7 @@ type lsbStruct struct { // from utmp.h const ( - user_PROCESS = 7 - - hostTemperatureScale = 1000.0 + user_PROCESS = 7 //nolint:revive //FIXME ) func HostIDWithContext(ctx context.Context) (string, error) { @@ -74,7 +70,7 @@ func BootTimeWithContext(ctx context.Context) (uint64, error) { return common.BootTimeWithContext(ctx, enableBootTimeCache) } -func UptimeWithContext(ctx context.Context) (uint64, error) { +func UptimeWithContext(_ context.Context) (uint64, error) { sysinfo := &unix.Sysinfo_t{} if err := unix.Sysinfo(sysinfo); err != nil { return 0, err @@ -174,51 +170,53 @@ func getlsbStruct(ctx context.Context) (*lsbStruct, error) { return ret, nil } -func PlatformInformationWithContext(ctx context.Context) (platform string, family string, version string, err error) { +func PlatformInformationWithContext(ctx context.Context) (platform, family, version string, err error) { lsb, err := getlsbStruct(ctx) if err != nil { lsb = &lsbStruct{} } - if common.PathExistsWithContents(common.HostEtcWithContext(ctx, "oracle-release")) { + switch { + case common.PathExistsWithContents(common.HostEtcWithContext(ctx, "oracle-release")): platform = "oracle" contents, err := common.ReadLines(common.HostEtcWithContext(ctx, "oracle-release")) if err == nil { version = getRedhatishVersion(contents) } - } else if common.PathExistsWithContents(common.HostEtcWithContext(ctx, "enterprise-release")) { + case common.PathExistsWithContents(common.HostEtcWithContext(ctx, "enterprise-release")): platform = "oracle" contents, err := common.ReadLines(common.HostEtcWithContext(ctx, "enterprise-release")) if err == nil { version = getRedhatishVersion(contents) } - } else if common.PathExistsWithContents(common.HostEtcWithContext(ctx, "slackware-version")) { + case common.PathExistsWithContents(common.HostEtcWithContext(ctx, "slackware-version")): platform = "slackware" contents, err := common.ReadLines(common.HostEtcWithContext(ctx, "slackware-version")) if err == nil { version = getSlackwareVersion(contents) } - } else if common.PathExistsWithContents(common.HostEtcWithContext(ctx, "debian_version")) { - if lsb.ID == "Ubuntu" { + case common.PathExistsWithContents(common.HostEtcWithContext(ctx, "debian_version")): + switch lsb.ID { + case "Ubuntu": platform = "ubuntu" version = lsb.Release - } else if lsb.ID == "LinuxMint" { + case "LinuxMint": platform = "linuxmint" version = lsb.Release - } else if lsb.ID == "Kylin" { + case "Kylin": platform = "Kylin" version = lsb.Release - } else if lsb.ID == `"Cumulus Linux"` { + case `"Cumulus Linux"`: platform = "cumuluslinux" version = lsb.Release - } else if lsb.ID == "uos" { + case "uos": platform = "uos" version = lsb.Release - } else if lsb.ID == "Deepin" { + case "Deepin": platform = "Deepin" version = lsb.Release - } else { + default: if common.PathExistsWithContents("/usr/bin/raspi-config") { platform = "raspbian" } else { @@ -229,65 +227,65 @@ func PlatformInformationWithContext(ctx context.Context) (platform string, famil version = contents[0] } } - } else if common.PathExistsWithContents(common.HostEtcWithContext(ctx, "neokylin-release")) { + case common.PathExistsWithContents(common.HostEtcWithContext(ctx, "neokylin-release")): contents, err := common.ReadLines(common.HostEtcWithContext(ctx, "neokylin-release")) if err == nil { version = getRedhatishVersion(contents) platform = getRedhatishPlatform(contents) } - } else if common.PathExistsWithContents(common.HostEtcWithContext(ctx, "redhat-release")) { + case common.PathExistsWithContents(common.HostEtcWithContext(ctx, "redhat-release")): contents, err := common.ReadLines(common.HostEtcWithContext(ctx, "redhat-release")) if err == nil { version = getRedhatishVersion(contents) platform = getRedhatishPlatform(contents) } - } else if common.PathExistsWithContents(common.HostEtcWithContext(ctx, "system-release")) { + case common.PathExistsWithContents(common.HostEtcWithContext(ctx, "system-release")): contents, err := common.ReadLines(common.HostEtcWithContext(ctx, "system-release")) if err == nil { version = getRedhatishVersion(contents) platform = getRedhatishPlatform(contents) } - } else if common.PathExistsWithContents(common.HostEtcWithContext(ctx, "gentoo-release")) { + case common.PathExistsWithContents(common.HostEtcWithContext(ctx, "gentoo-release")): platform = "gentoo" contents, err := common.ReadLines(common.HostEtcWithContext(ctx, "gentoo-release")) if err == nil { version = getRedhatishVersion(contents) } - } else if common.PathExistsWithContents(common.HostEtcWithContext(ctx, "SuSE-release")) { + case common.PathExistsWithContents(common.HostEtcWithContext(ctx, "SuSE-release")): contents, err := common.ReadLines(common.HostEtcWithContext(ctx, "SuSE-release")) if err == nil { version = getSuseVersion(contents) platform = getSusePlatform(contents) } - // TODO: slackware detecion - } else if common.PathExistsWithContents(common.HostEtcWithContext(ctx, "arch-release")) { + // TODO: slackware detection + case common.PathExistsWithContents(common.HostEtcWithContext(ctx, "arch-release")): platform = "arch" version = lsb.Release - } else if common.PathExistsWithContents(common.HostEtcWithContext(ctx, "alpine-release")) { + case common.PathExistsWithContents(common.HostEtcWithContext(ctx, "alpine-release")): platform = "alpine" contents, err := common.ReadLines(common.HostEtcWithContext(ctx, "alpine-release")) if err == nil && len(contents) > 0 && contents[0] != "" { version = contents[0] } - } else if common.PathExistsWithContents(common.HostEtcWithContext(ctx, "os-release")) { + case common.PathExistsWithContents(common.HostEtcWithContext(ctx, "os-release")): p, v, err := common.GetOSReleaseWithContext(ctx) if err == nil { platform = p version = v } - } else if lsb.ID == "RedHat" { + case lsb.ID == "RedHat": platform = "redhat" version = lsb.Release - } else if lsb.ID == "Amazon" { + case lsb.ID == "Amazon": platform = "amazon" version = lsb.Release - } else if lsb.ID == "ScientificSL" { + case lsb.ID == "ScientificSL": platform = "scientific" version = lsb.Release - } else if lsb.ID == "XenServer" { + case lsb.ID == "XenServer": platform = "xenserver" version = lsb.Release - } else if lsb.ID != "" { + case lsb.ID != "": platform = strings.ToLower(lsb.ID) version = lsb.Release } @@ -319,12 +317,14 @@ func PlatformInformationWithContext(ctx context.Context) (platform string, famil family = "solus" case "neokylin": family = "neokylin" + case "anolis": + family = "anolis" } return platform, family, version, nil } -func KernelVersionWithContext(ctx context.Context) (version string, err error) { +func KernelVersionWithContext(_ context.Context) (version string, err error) { var utsname unix.Utsname err = unix.Uname(&utsname) if err != nil { @@ -392,147 +392,3 @@ func getSusePlatform(contents []string) string { func VirtualizationWithContext(ctx context.Context) (string, string, error) { return common.VirtualizationWithContext(ctx) } - -func SensorsTemperaturesWithContext(ctx context.Context) ([]TemperatureStat, error) { - var err error - - var files []string - - temperatures := make([]TemperatureStat, 0) - - // Only the temp*_input file provides current temperature - // value in millidegree Celsius as reported by the temperature to the device: - // https://www.kernel.org/doc/Documentation/hwmon/sysfs-interface - if files, err = filepath.Glob(common.HostSysWithContext(ctx, "/class/hwmon/hwmon*/temp*_input")); err != nil { - return temperatures, err - } - - if len(files) == 0 { - // CentOS has an intermediate /device directory: - // https://github.com/giampaolo/psutil/issues/971 - if files, err = filepath.Glob(common.HostSysWithContext(ctx, "/class/hwmon/hwmon*/device/temp*_input")); err != nil { - return temperatures, err - } - } - - var warns Warnings - - if len(files) == 0 { // handle distributions without hwmon, like raspbian #391, parse legacy thermal_zone files - files, err = filepath.Glob(common.HostSysWithContext(ctx, "/class/thermal/thermal_zone*/")) - if err != nil { - return temperatures, err - } - for _, file := range files { - // Get the name of the temperature you are reading - name, err := os.ReadFile(filepath.Join(file, "type")) - if err != nil { - warns.Add(err) - continue - } - // Get the temperature reading - current, err := os.ReadFile(filepath.Join(file, "temp")) - if err != nil { - warns.Add(err) - continue - } - temperature, err := strconv.ParseInt(strings.TrimSpace(string(current)), 10, 64) - if err != nil { - warns.Add(err) - continue - } - - temperatures = append(temperatures, TemperatureStat{ - SensorKey: strings.TrimSpace(string(name)), - Temperature: float64(temperature) / 1000.0, - }) - } - return temperatures, warns.Reference() - } - - temperatures = make([]TemperatureStat, 0, len(files)) - - // example directory - // device/ temp1_crit_alarm temp2_crit_alarm temp3_crit_alarm temp4_crit_alarm temp5_crit_alarm temp6_crit_alarm temp7_crit_alarm - // name temp1_input temp2_input temp3_input temp4_input temp5_input temp6_input temp7_input - // power/ temp1_label temp2_label temp3_label temp4_label temp5_label temp6_label temp7_label - // subsystem/ temp1_max temp2_max temp3_max temp4_max temp5_max temp6_max temp7_max - // temp1_crit temp2_crit temp3_crit temp4_crit temp5_crit temp6_crit temp7_crit uevent - for _, file := range files { - var raw []byte - - var temperature float64 - - // Get the base directory location - directory := filepath.Dir(file) - - // Get the base filename prefix like temp1 - basename := strings.Split(filepath.Base(file), "_")[0] - - // Get the base path like /temp1 - basepath := filepath.Join(directory, basename) - - // Get the label of the temperature you are reading - label := "" - - if raw, _ = os.ReadFile(basepath + "_label"); len(raw) != 0 { - // Format the label from "Core 0" to "core_0" - label = strings.Join(strings.Split(strings.TrimSpace(strings.ToLower(string(raw))), " "), "_") - } - - // Get the name of the temperature you are reading - if raw, err = os.ReadFile(filepath.Join(directory, "name")); err != nil { - warns.Add(err) - continue - } - - name := strings.TrimSpace(string(raw)) - - if label != "" { - name = name + "_" + label - } - - // Get the temperature reading - if raw, err = os.ReadFile(file); err != nil { - warns.Add(err) - continue - } - - if temperature, err = strconv.ParseFloat(strings.TrimSpace(string(raw)), 64); err != nil { - warns.Add(err) - continue - } - - // Add discovered temperature sensor to the list - temperatures = append(temperatures, TemperatureStat{ - SensorKey: name, - Temperature: temperature / hostTemperatureScale, - High: optionalValueReadFromFile(basepath+"_max") / hostTemperatureScale, - Critical: optionalValueReadFromFile(basepath+"_crit") / hostTemperatureScale, - }) - } - - return temperatures, warns.Reference() -} - -func optionalValueReadFromFile(filename string) float64 { - var raw []byte - - var err error - - var value float64 - - // Check if file exists - if _, err := os.Stat(filename); os.IsNotExist(err) { - return 0 - } - - if raw, err = os.ReadFile(filename); err != nil { - return 0 - } - - if value, err = strconv.ParseFloat(strings.TrimSpace(string(raw)), 64); err != nil { - return 0 - } - - return value -} diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_386.go b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_386.go similarity index 60% rename from vendor/github.com/shirou/gopsutil/v3/host/host_linux_386.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_linux_386.go index 46e0c5d5..b7e9301f 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_386.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_386.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause // ATTENTION - FILE MANUAL FIXED AFTER CGO. // Fixed line: Tv _Ctype_struct_timeval -> Tv UtTv // Created by cgo -godefs, MANUAL FIXED @@ -15,15 +16,15 @@ const ( ) type ( - _C_short int16 - _C_int int32 - _C_long int32 - _C_long_long int64 + _C_short int16 //nolint:revive //FIXME + _C_int int32 //nolint:revive //FIXME + _C_long int32 //nolint:revive //FIXME + _C_long_long int64 //nolint:revive //FIXME ) type utmp struct { Type int16 - Pad_cgo_0 [2]byte + Pad_cgo_0 [2]byte //nolint:revive //FIXME Pid int32 Line [32]int8 ID [4]int8 @@ -32,11 +33,11 @@ type utmp struct { Exit exit_status Session int32 Tv UtTv - Addr_v6 [4]int32 - X__unused [20]int8 + Addr_v6 [4]int32 //nolint:revive //FIXME + X__unused [20]int8 //nolint:revive //FIXME } -type exit_status struct { +type exit_status struct { //nolint:revive //FIXME Termination int16 Exit int16 } diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_amd64.go b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_amd64.go similarity index 95% rename from vendor/github.com/shirou/gopsutil/v3/host/host_linux_amd64.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_linux_amd64.go index 1e574482..480e72d3 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_amd64.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_amd64.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause // Created by cgo -godefs - DO NOT EDIT // cgo -godefs types_linux.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_arm.go b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_arm.go similarity index 95% rename from vendor/github.com/shirou/gopsutil/v3/host/host_linux_arm.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_linux_arm.go index 7abbbb8a..1b7ee978 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_arm.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_arm.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause // Created by cgo -godefs - DO NOT EDIT // cgo -godefs types_linux.go | sed "s/uint8/int8/g" diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_arm64.go b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_arm64.go similarity index 95% rename from vendor/github.com/shirou/gopsutil/v3/host/host_linux_arm64.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_linux_arm64.go index cd0b4ddc..0e6fc8b7 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_arm64.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_arm64.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs types_linux.go package host diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_loong64.go b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_loong64.go similarity index 95% rename from vendor/github.com/shirou/gopsutil/v3/host/host_linux_loong64.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_linux_loong64.go index edf1be59..c4c8390f 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_loong64.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_loong64.go @@ -1,8 +1,8 @@ +// SPDX-License-Identifier: BSD-3-Clause // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs host/types_linux.go //go:build linux && loong64 -// +build linux,loong64 package host diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_mips.go b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_mips.go similarity index 94% rename from vendor/github.com/shirou/gopsutil/v3/host/host_linux_mips.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_linux_mips.go index 50207e5b..8aa049ca 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_mips.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_mips.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause // Created by cgo -godefs - DO NOT EDIT // cgo -godefs types_linux.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_mips64.go b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_mips64.go similarity index 94% rename from vendor/github.com/shirou/gopsutil/v3/host/host_linux_mips64.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_linux_mips64.go index 50207e5b..8aa049ca 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_mips64.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_mips64.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause // Created by cgo -godefs - DO NOT EDIT // cgo -godefs types_linux.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_mips64le.go b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_mips64le.go similarity index 94% rename from vendor/github.com/shirou/gopsutil/v3/host/host_linux_mips64le.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_linux_mips64le.go index 50207e5b..8aa049ca 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_mips64le.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_mips64le.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause // Created by cgo -godefs - DO NOT EDIT // cgo -godefs types_linux.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_mipsle.go b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_mipsle.go similarity index 94% rename from vendor/github.com/shirou/gopsutil/v3/host/host_linux_mipsle.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_linux_mipsle.go index 50207e5b..8aa049ca 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_mipsle.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_mipsle.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause // Created by cgo -godefs - DO NOT EDIT // cgo -godefs types_linux.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_ppc64.go b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_ppc64.go similarity index 95% rename from vendor/github.com/shirou/gopsutil/v3/host/host_linux_ppc64.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_linux_ppc64.go index 5b324eff..23f5cb9d 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_ppc64.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_ppc64.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build linux && ppc64 -// +build linux,ppc64 // Created by cgo -godefs - DO NOT EDIT // cgo -godefs types_linux.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_ppc64le.go b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_ppc64le.go similarity index 95% rename from vendor/github.com/shirou/gopsutil/v3/host/host_linux_ppc64le.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_linux_ppc64le.go index 51f5bee1..e81f1239 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_ppc64le.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_ppc64le.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build linux && ppc64le -// +build linux,ppc64le // Created by cgo -godefs - DO NOT EDIT // cgo -godefs types_linux.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_riscv64.go b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_riscv64.go similarity index 95% rename from vendor/github.com/shirou/gopsutil/v3/host/host_linux_riscv64.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_linux_riscv64.go index bb03a0b3..080fdb8d 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_riscv64.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_riscv64.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause // Created by cgo -godefs - DO NOT EDIT // cgo -godefs types_linux.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_s390x.go b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_s390x.go similarity index 95% rename from vendor/github.com/shirou/gopsutil/v3/host/host_linux_s390x.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_linux_s390x.go index 6ea432a6..738af601 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_linux_s390x.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_linux_s390x.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build linux && s390x -// +build linux,s390x // Created by cgo -godefs - DO NOT EDIT // cgo -godefs types_linux.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_netbsd.go b/vendor/github.com/shirou/gopsutil/v4/host/host_netbsd.go similarity index 56% rename from vendor/github.com/shirou/gopsutil/v3/host/host_netbsd.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_netbsd.go index 488f1dfc..942f6871 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_netbsd.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_netbsd.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build netbsd -// +build netbsd package host @@ -7,19 +7,20 @@ import ( "context" "strings" - "github.com/shirou/gopsutil/v3/internal/common" "golang.org/x/sys/unix" + + "github.com/shirou/gopsutil/v4/internal/common" ) -func HostIDWithContext(ctx context.Context) (string, error) { +func HostIDWithContext(_ context.Context) (string, error) { return "", common.ErrNotImplementedError } -func numProcs(ctx context.Context) (uint64, error) { +func numProcs(_ context.Context) (uint64, error) { return 0, common.ErrNotImplementedError } -func PlatformInformationWithContext(ctx context.Context) (string, string, string, error) { +func PlatformInformationWithContext(_ context.Context) (string, string, string, error) { platform := "" family := "" version := "" @@ -36,19 +37,15 @@ func PlatformInformationWithContext(ctx context.Context) (string, string, string return platform, family, version, nil } -func VirtualizationWithContext(ctx context.Context) (string, string, error) { +func VirtualizationWithContext(_ context.Context) (string, string, error) { return "", "", common.ErrNotImplementedError } -func UsersWithContext(ctx context.Context) ([]UserStat, error) { +func UsersWithContext(_ context.Context) ([]UserStat, error) { var ret []UserStat return ret, common.ErrNotImplementedError } -func SensorsTemperaturesWithContext(ctx context.Context) ([]TemperatureStat, error) { - return []TemperatureStat{}, common.ErrNotImplementedError -} - func KernelVersionWithContext(ctx context.Context) (string, error) { _, _, version, err := PlatformInformationWithContext(ctx) return version, err diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_openbsd.go b/vendor/github.com/shirou/gopsutil/v4/host/host_openbsd.go similarity index 73% rename from vendor/github.com/shirou/gopsutil/v3/host/host_openbsd.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_openbsd.go index 325015c2..f80236b5 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_openbsd.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_openbsd.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build openbsd -// +build openbsd package host @@ -12,9 +12,10 @@ import ( "strings" "unsafe" - "github.com/shirou/gopsutil/v3/internal/common" - "github.com/shirou/gopsutil/v3/process" "golang.org/x/sys/unix" + + "github.com/shirou/gopsutil/v4/internal/common" + "github.com/shirou/gopsutil/v4/process" ) const ( @@ -23,7 +24,7 @@ const ( UTHostSize = 16 ) -func HostIDWithContext(ctx context.Context) (string, error) { +func HostIDWithContext(_ context.Context) (string, error) { return "", common.ErrNotImplementedError } @@ -35,7 +36,7 @@ func numProcs(ctx context.Context) (uint64, error) { return uint64(len(procs)), nil } -func PlatformInformationWithContext(ctx context.Context) (string, string, string, error) { +func PlatformInformationWithContext(_ context.Context) (string, string, string, error) { platform := "" family := "" version := "" @@ -52,11 +53,11 @@ func PlatformInformationWithContext(ctx context.Context) (string, string, string return platform, family, version, nil } -func VirtualizationWithContext(ctx context.Context) (string, string, error) { +func VirtualizationWithContext(_ context.Context) (string, string, error) { return "", "", common.ErrNotImplementedError } -func UsersWithContext(ctx context.Context) ([]UserStat, error) { +func UsersWithContext(_ context.Context) ([]UserStat, error) { var ret []UserStat utmpfile := "/var/run/utmp" file, err := os.Open(utmpfile) @@ -70,8 +71,7 @@ func UsersWithContext(ctx context.Context) ([]UserStat, error) { return ret, err } - u := Utmp{} - entrySize := int(unsafe.Sizeof(u)) + entrySize := int(unsafe.Sizeof(Utmp{})) count := len(buf) / entrySize for i := 0; i < count; i++ { @@ -95,10 +95,6 @@ func UsersWithContext(ctx context.Context) ([]UserStat, error) { return ret, nil } -func SensorsTemperaturesWithContext(ctx context.Context) ([]TemperatureStat, error) { - return []TemperatureStat{}, common.ErrNotImplementedError -} - func KernelVersionWithContext(ctx context.Context) (string, error) { _, _, version, err := PlatformInformationWithContext(ctx) return version, err diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_openbsd_386.go b/vendor/github.com/shirou/gopsutil/v4/host/host_openbsd_386.go similarity index 92% rename from vendor/github.com/shirou/gopsutil/v3/host/host_openbsd_386.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_openbsd_386.go index b299d7ae..df820a4a 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_openbsd_386.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_openbsd_386.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build openbsd && 386 -// +build openbsd,386 // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs host/types_openbsd.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_openbsd_amd64.go b/vendor/github.com/shirou/gopsutil/v4/host/host_openbsd_amd64.go similarity index 91% rename from vendor/github.com/shirou/gopsutil/v3/host/host_openbsd_amd64.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_openbsd_amd64.go index 2d23b9b7..b1d674e8 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_openbsd_amd64.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_openbsd_amd64.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause // Created by cgo -godefs - DO NOT EDIT // cgo -godefs types_openbsd.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_openbsd_arm.go b/vendor/github.com/shirou/gopsutil/v4/host/host_openbsd_arm.go similarity index 92% rename from vendor/github.com/shirou/gopsutil/v3/host/host_openbsd_arm.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_openbsd_arm.go index f0ac57d0..e5f1590f 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_openbsd_arm.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_openbsd_arm.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build openbsd && arm -// +build openbsd,arm // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs host/types_openbsd.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_openbsd_arm64.go b/vendor/github.com/shirou/gopsutil/v4/host/host_openbsd_arm64.go similarity index 92% rename from vendor/github.com/shirou/gopsutil/v3/host/host_openbsd_arm64.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_openbsd_arm64.go index 20fb42dd..d8c1061f 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_openbsd_arm64.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_openbsd_arm64.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build openbsd && arm64 -// +build openbsd,arm64 // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs host/types_openbsd.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_openbsd_riscv64.go b/vendor/github.com/shirou/gopsutil/v4/host/host_openbsd_riscv64.go similarity index 92% rename from vendor/github.com/shirou/gopsutil/v3/host/host_openbsd_riscv64.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_openbsd_riscv64.go index 7a123b64..584004b2 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_openbsd_riscv64.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_openbsd_riscv64.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build openbsd && riscv64 -// +build openbsd,riscv64 // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs host/types_openbsd.go diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_posix.go b/vendor/github.com/shirou/gopsutil/v4/host/host_posix.go similarity index 84% rename from vendor/github.com/shirou/gopsutil/v3/host/host_posix.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_posix.go index e7e0d837..91ab6aee 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_posix.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_posix.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build linux || freebsd || openbsd || netbsd || darwin || solaris -// +build linux freebsd openbsd netbsd darwin solaris package host diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_solaris.go b/vendor/github.com/shirou/gopsutil/v4/host/host_solaris.go similarity index 70% rename from vendor/github.com/shirou/gopsutil/v3/host/host_solaris.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_solaris.go index fef67f83..77cd1ab1 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_solaris.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_solaris.go @@ -1,18 +1,20 @@ +// SPDX-License-Identifier: BSD-3-Clause +//go:build solaris + package host import ( "bufio" "bytes" "context" - "encoding/csv" + "errors" "fmt" - "io" "os" "regexp" "strconv" "strings" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) func HostIDWithContext(ctx context.Context) (string, error) { @@ -30,14 +32,13 @@ func HostIDWithContext(ctx context.Context) (string, error) { line := sc.Text() // If we're in the global zone, rely on the hostname. - if line == "global" { - hostname, err := os.Hostname() - if err == nil { - return hostname, nil - } - } else { + if line != "global" { return strings.TrimSpace(line), nil } + hostname, err := os.Hostname() + if err == nil { + return hostname, nil + } } } } @@ -58,7 +59,7 @@ func HostIDWithContext(ctx context.Context) (string, error) { } // Count number of processes based on the number of entries in /proc -func numProcs(ctx context.Context) (uint64, error) { +func numProcs(_ context.Context) (uint64, error) { dirs, err := os.ReadDir("/proc") if err != nil { return 0, err @@ -66,7 +67,7 @@ func numProcs(ctx context.Context) (uint64, error) { return uint64(len(dirs)), nil } -var kstatMatch = regexp.MustCompile(`([^\s]+)[\s]+([^\s]*)`) +var kstatMatch = regexp.MustCompile(`(\S+)\s+(\S*)`) func BootTimeWithContext(ctx context.Context) (uint64, error) { out, err := invoke.CommandWithContext(ctx, "kstat", "-p", "unix:0:system_misc:boot_time") @@ -83,55 +84,18 @@ func BootTimeWithContext(ctx context.Context) (uint64, error) { } func UptimeWithContext(ctx context.Context) (uint64, error) { - bootTime, err := BootTime() + bootTime, err := BootTimeWithContext(ctx) if err != nil { return 0, err } return timeSince(bootTime), nil } -func UsersWithContext(ctx context.Context) ([]UserStat, error) { +func UsersWithContext(_ context.Context) ([]UserStat, error) { return []UserStat{}, common.ErrNotImplementedError } -func SensorsTemperaturesWithContext(ctx context.Context) ([]TemperatureStat, error) { - var ret []TemperatureStat - - out, err := invoke.CommandWithContext(ctx, "ipmitool", "-c", "sdr", "list") - if err != nil { - return ret, err - } - - r := csv.NewReader(strings.NewReader(string(out))) - // Output may contain errors, e.g. "bmc_send_cmd: Permission denied", don't expect a consistent number of records - r.FieldsPerRecord = -1 - for { - record, err := r.Read() - if err == io.EOF { - break - } - if err != nil { - return ret, err - } - // CPU1 Temp,40,degrees C,ok - if len(record) < 3 || record[1] == "" || record[2] != "degrees C" { - continue - } - v, err := strconv.ParseFloat(record[1], 64) - if err != nil { - return ret, err - } - ts := TemperatureStat{ - SensorKey: strings.TrimSuffix(record[0], " Temp"), - Temperature: v, - } - ret = append(ret, ts) - } - - return ret, nil -} - -func VirtualizationWithContext(ctx context.Context) (string, string, error) { +func VirtualizationWithContext(_ context.Context) (string, string, error) { return "", "", common.ErrNotImplementedError } @@ -175,7 +139,7 @@ func parseUnameOutput(ctx context.Context) (string, string, string, error) { fields := strings.Fields(string(out)) if len(fields) < 3 { - return "", "", "", fmt.Errorf("malformed `uname` output") + return "", "", "", errors.New("malformed `uname` output") } return fields[0], fields[1], fields[2], nil diff --git a/vendor/github.com/shirou/gopsutil/v3/host/host_windows.go b/vendor/github.com/shirou/gopsutil/v4/host/host_windows.go similarity index 76% rename from vendor/github.com/shirou/gopsutil/v3/host/host_windows.go rename to vendor/github.com/shirou/gopsutil/v4/host/host_windows.go index b83ad6db..99eed3fd 100644 --- a/vendor/github.com/shirou/gopsutil/v3/host/host_windows.go +++ b/vendor/github.com/shirou/gopsutil/v4/host/host_windows.go @@ -1,12 +1,11 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build windows -// +build windows package host import ( "context" "fmt" - "math" "strconv" "strings" "sync/atomic" @@ -14,10 +13,10 @@ import ( "time" "unsafe" - "github.com/shirou/gopsutil/v3/internal/common" - "github.com/shirou/gopsutil/v3/process" - "github.com/yusufpapurcu/wmi" "golang.org/x/sys/windows" + + "github.com/shirou/gopsutil/v4/internal/common" + "github.com/shirou/gopsutil/v4/process" ) var ( @@ -57,14 +56,7 @@ type systemInfo struct { wProcessorRevision uint16 } -type msAcpi_ThermalZoneTemperature struct { - Active bool - CriticalTripPoint uint32 - CurrentTemperature uint32 - InstanceName string -} - -func HostIDWithContext(ctx context.Context) (string, error) { +func HostIDWithContext(_ context.Context) (string, error) { // there has been reports of issues on 32bit using golang.org/x/sys/windows/registry, see https://github.com/shirou/gopsutil/pull/312#issuecomment-277422612 // for rationale of using windows.RegOpenKeyEx/RegQueryValueEx instead of registry.OpenKey/GetStringValue var h windows.Handle @@ -88,7 +80,7 @@ func HostIDWithContext(ctx context.Context) (string, error) { hostID := windows.UTF16ToString(regBuf[:]) hostIDLen := len(hostID) if hostIDLen != uuidLen { - return "", fmt.Errorf("HostID incorrect: %q\n", hostID) + return "", fmt.Errorf("HostID incorrect: %q", hostID) } return strings.ToLower(hostID), nil @@ -102,7 +94,7 @@ func numProcs(ctx context.Context) (uint64, error) { return uint64(len(procs)), nil } -func UptimeWithContext(ctx context.Context) (uint64, error) { +func UptimeWithContext(_ context.Context) (uint64, error) { up, err := uptimeMillis() if err != nil { return 0, err @@ -126,7 +118,7 @@ func uptimeMillis() (uint64, error) { // cachedBootTime must be accessed via atomic.Load/StoreUint64 var cachedBootTime uint64 -func BootTimeWithContext(ctx context.Context) (uint64, error) { +func BootTimeWithContext(_ context.Context) (uint64, error) { if enableBootTimeCache { t := atomic.LoadUint64(&cachedBootTime) if t != 0 { @@ -144,7 +136,15 @@ func BootTimeWithContext(ctx context.Context) (uint64, error) { return t, nil } -func PlatformInformationWithContext(ctx context.Context) (platform string, family string, version string, err error) { +func PlatformInformationWithContext(_ context.Context) (platform, family, version string, err error) { + platform, family, _, displayVersion, err := platformInformation() + if err != nil { + return "", "", "", err + } + return platform, family, displayVersion, nil +} + +func platformInformation() (platform, family, version, displayVersion string, err error) { // GetVersionEx lies on Windows 8.1 and returns as Windows 8 if we don't declare compatibility in manifest // RtlGetVersion bypasses this lying layer and returns the true Windows version // https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/content/wdm/nf-wdm-rtlgetversion @@ -153,36 +153,36 @@ func PlatformInformationWithContext(ctx context.Context) (platform string, famil osInfo.dwOSVersionInfoSize = uint32(unsafe.Sizeof(osInfo)) ret, _, err := procRtlGetVersion.Call(uintptr(unsafe.Pointer(&osInfo))) if ret != 0 { - return + return platform, family, version, displayVersion, err } // Platform var h windows.Handle // like HostIDWithContext(), we query the registry using the raw windows.RegOpenKeyEx/RegQueryValueEx err = windows.RegOpenKeyEx(windows.HKEY_LOCAL_MACHINE, windows.StringToUTF16Ptr(`SOFTWARE\Microsoft\Windows NT\CurrentVersion`), 0, windows.KEY_READ|windows.KEY_WOW64_64KEY, &h) if err != nil { - return + return platform, family, version, displayVersion, err } defer windows.RegCloseKey(h) var bufLen uint32 var valType uint32 err = windows.RegQueryValueEx(h, windows.StringToUTF16Ptr(`ProductName`), nil, &valType, nil, &bufLen) if err != nil { - return + return platform, family, version, displayVersion, err } regBuf := make([]uint16, bufLen/2+1) err = windows.RegQueryValueEx(h, windows.StringToUTF16Ptr(`ProductName`), nil, &valType, (*byte)(unsafe.Pointer(®Buf[0])), &bufLen) if err != nil { - return + return platform, family, version, displayVersion, err } - platform = windows.UTF16ToString(regBuf[:]) + platform = windows.UTF16ToString(regBuf) if strings.Contains(platform, "Windows 10") { // check build number to determine whether it's actually Windows 11 err = windows.RegQueryValueEx(h, windows.StringToUTF16Ptr(`CurrentBuildNumber`), nil, &valType, nil, &bufLen) if err == nil { regBuf = make([]uint16, bufLen/2+1) err = windows.RegQueryValueEx(h, windows.StringToUTF16Ptr(`CurrentBuildNumber`), nil, &valType, (*byte)(unsafe.Pointer(®Buf[0])), &bufLen) if err == nil { - buildNumberStr := windows.UTF16ToString(regBuf[:]) - if buildNumber, err := strconv.Atoi(buildNumberStr); err == nil && buildNumber >= 22000 { + buildNumberStr := windows.UTF16ToString(regBuf) + if buildNumber, err := strconv.ParseInt(buildNumberStr, 10, 32); err == nil && buildNumber >= 22000 { platform = strings.Replace(platform, "Windows 10", "Windows 11", 1) } } @@ -196,7 +196,7 @@ func PlatformInformationWithContext(ctx context.Context) (platform string, famil regBuf = make([]uint16, bufLen/2+1) err = windows.RegQueryValueEx(h, windows.StringToUTF16Ptr(`CSDVersion`), nil, &valType, (*byte)(unsafe.Pointer(®Buf[0])), &bufLen) if err == nil { - platform += " " + windows.UTF16ToString(regBuf[:]) + platform += " " + windows.UTF16ToString(regBuf) } } @@ -208,6 +208,14 @@ func PlatformInformationWithContext(ctx context.Context) (platform string, famil copy((*[4]byte)(unsafe.Pointer(&UBR))[:], regBuf) } + // Get DisplayVersion(ex: 23H2) as platformVersion + err = windows.RegQueryValueEx(h, windows.StringToUTF16Ptr(`DisplayVersion`), nil, &valType, nil, &bufLen) + if err == nil { + regBuf := make([]uint16, bufLen/2+1) + err = windows.RegQueryValueEx(h, windows.StringToUTF16Ptr(`DisplayVersion`), nil, &valType, (*byte)(unsafe.Pointer(®Buf[0])), &bufLen) + displayVersion = windows.UTF16ToString(regBuf) + } + // PlatformFamily switch osInfo.wProductType { case 1: @@ -223,54 +231,27 @@ func PlatformInformationWithContext(ctx context.Context) (platform string, famil osInfo.dwMajorVersion, osInfo.dwMinorVersion, osInfo.dwBuildNumber, UBR, osInfo.dwBuildNumber, UBR) - return platform, family, version, nil + return platform, family, version, displayVersion, nil } -func UsersWithContext(ctx context.Context) ([]UserStat, error) { +func UsersWithContext(_ context.Context) ([]UserStat, error) { var ret []UserStat return ret, common.ErrNotImplementedError } -func SensorsTemperaturesWithContext(ctx context.Context) ([]TemperatureStat, error) { - var ret []TemperatureStat - var dst []msAcpi_ThermalZoneTemperature - q := wmi.CreateQuery(&dst, "") - if err := common.WMIQueryWithContext(ctx, q, &dst, nil, "root/wmi"); err != nil { - return ret, err - } - - for _, v := range dst { - ts := TemperatureStat{ - SensorKey: v.InstanceName, - Temperature: kelvinToCelsius(v.CurrentTemperature, 2), - } - ret = append(ret, ts) - } - - return ret, nil -} - -func kelvinToCelsius(temp uint32, n int) float64 { - // wmi return temperature Kelvin * 10, so need to divide the result by 10, - // and then minus 273.15 to get °Celsius. - t := float64(temp/10) - 273.15 - n10 := math.Pow10(n) - return math.Trunc((t+0.5/n10)*n10) / n10 -} - -func VirtualizationWithContext(ctx context.Context) (string, string, error) { +func VirtualizationWithContext(_ context.Context) (string, string, error) { return "", "", common.ErrNotImplementedError } -func KernelVersionWithContext(ctx context.Context) (string, error) { - _, _, version, err := PlatformInformationWithContext(ctx) +func KernelVersionWithContext(_ context.Context) (string, error) { + _, _, version, _, err := platformInformation() return version, err } func KernelArch() (string, error) { - var systemInfo systemInfo - procGetNativeSystemInfo.Call(uintptr(unsafe.Pointer(&systemInfo))) + var sInfo systemInfo + procGetNativeSystemInfo.Call(uintptr(unsafe.Pointer(&sInfo))) const ( PROCESSOR_ARCHITECTURE_INTEL = 0 @@ -279,15 +260,15 @@ func KernelArch() (string, error) { PROCESSOR_ARCHITECTURE_IA64 = 6 PROCESSOR_ARCHITECTURE_AMD64 = 9 ) - switch systemInfo.wProcessorArchitecture { + switch sInfo.wProcessorArchitecture { case PROCESSOR_ARCHITECTURE_INTEL: - if systemInfo.wProcessorLevel < 3 { + if sInfo.wProcessorLevel < 3 { return "i386", nil } - if systemInfo.wProcessorLevel > 6 { + if sInfo.wProcessorLevel > 6 { return "i686", nil } - return fmt.Sprintf("i%d86", systemInfo.wProcessorLevel), nil + return fmt.Sprintf("i%d86", sInfo.wProcessorLevel), nil case PROCESSOR_ARCHITECTURE_ARM: return "arm", nil case PROCESSOR_ARCHITECTURE_ARM64: diff --git a/vendor/github.com/shirou/gopsutil/v3/internal/common/common.go b/vendor/github.com/shirou/gopsutil/v4/internal/common/common.go similarity index 89% rename from vendor/github.com/shirou/gopsutil/v3/internal/common/common.go rename to vendor/github.com/shirou/gopsutil/v4/internal/common/common.go index 5e25e507..0e766b7b 100644 --- a/vendor/github.com/shirou/gopsutil/v3/internal/common/common.go +++ b/vendor/github.com/shirou/gopsutil/v4/internal/common/common.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package common // @@ -14,6 +15,7 @@ import ( "errors" "fmt" "io" + "math" "net/url" "os" "os/exec" @@ -25,12 +27,13 @@ import ( "strings" "time" - "github.com/shirou/gopsutil/v3/common" + "github.com/shirou/gopsutil/v4/common" ) var ( - Timeout = 3 * time.Second - ErrTimeout = errors.New("command timed out") + Timeout = 3 * time.Second + ErrNotImplementedError = errors.New("not implemented yet") + ErrTimeout = errors.New("command timed out") ) type Invoker interface { @@ -46,7 +49,7 @@ func (i Invoke) Command(name string, arg ...string) ([]byte, error) { return i.CommandWithContext(ctx, name, arg...) } -func (i Invoke) CommandWithContext(ctx context.Context, name string, arg ...string) ([]byte, error) { +func (Invoke) CommandWithContext(ctx context.Context, name string, arg ...string) ([]byte, error) { cmd := exec.CommandContext(ctx, name, arg...) var buf bytes.Buffer @@ -91,12 +94,10 @@ func (i FakeInvoke) Command(name string, arg ...string) ([]byte, error) { return []byte{}, fmt.Errorf("could not find testdata: %s", fpath) } -func (i FakeInvoke) CommandWithContext(ctx context.Context, name string, arg ...string) ([]byte, error) { +func (i FakeInvoke) CommandWithContext(_ context.Context, name string, arg ...string) ([]byte, error) { return i.Command(name, arg...) } -var ErrNotImplementedError = errors.New("not implemented yet") - // ReadFile reads contents from a file func ReadFile(filename string) (string, error) { content, err := os.ReadFile(filename) @@ -114,7 +115,7 @@ func ReadLines(filename string) ([]string, error) { } // ReadLine reads a file and returns the first occurrence of a line that is prefixed with prefix. -func ReadLine(filename string, prefix string) (string, error) { +func ReadLine(filename, prefix string) (string, error) { f, err := os.Open(filename) if err != nil { return "", err @@ -152,15 +153,15 @@ func ReadLinesOffsetN(filename string, offset uint, n int) ([]string, error) { var ret []string r := bufio.NewReader(f) - for i := 0; i < n+int(offset) || n < 0; i++ { + for i := uint(0); i < uint(n)+offset || n < 0; i++ { line, err := r.ReadString('\n') if err != nil { - if err == io.EOF && len(line) > 0 { + if err == io.EOF && line != "" { ret = append(ret, strings.Trim(line, "\n")) } break } - if i < int(offset) { + if i < offset { continue } ret = append(ret, strings.Trim(line, "\n")) @@ -309,7 +310,7 @@ func IntContains(target []int, src int) bool { // get struct attributes. // This method is used only for debugging platform dependent code. -func attributes(m interface{}) map[string]reflect.Type { +func attributes(m any) map[string]reflect.Type { typ := reflect.TypeOf(m) if typ.Kind() == reflect.Ptr { typ = typ.Elem() @@ -348,7 +349,7 @@ func PathExistsWithContents(filename string) bool { // GetEnvWithContext retrieves the environment variable key. If it does not exist it returns the default. // The context may optionally contain a map superseding os.EnvKey. -func GetEnvWithContext(ctx context.Context, key string, dfault string, combineWith ...string) string { +func GetEnvWithContext(ctx context.Context, key, dfault string, combineWith ...string) string { var value string if env, ok := ctx.Value(common.EnvKey).(common.EnvMap); ok { value = env[common.EnvKeyType(key)] @@ -364,7 +365,7 @@ func GetEnvWithContext(ctx context.Context, key string, dfault string, combineWi } // GetEnv retrieves the environment variable key. If it does not exist it returns the default. -func GetEnv(key string, dfault string, combineWith ...string) string { +func GetEnv(key, dfault string, combineWith ...string) string { value := os.Getenv(key) if value == "" { value = dfault @@ -462,3 +463,11 @@ func getSysctrlEnv(env []string) []string { } return env } + +// Round places rounds the number 'val' to 'n' decimal places +func Round(val float64, n int) float64 { + // Calculate the power of 10 to the n + pow10 := math.Pow(10, float64(n)) + // Multiply the value by pow10, round it, then divide it by pow10 + return math.Round(val*pow10) / pow10 +} diff --git a/vendor/github.com/shirou/gopsutil/v4/internal/common/common_darwin.go b/vendor/github.com/shirou/gopsutil/v4/internal/common/common_darwin.go new file mode 100644 index 00000000..c9d61054 --- /dev/null +++ b/vendor/github.com/shirou/gopsutil/v4/internal/common/common_darwin.go @@ -0,0 +1,400 @@ +// SPDX-License-Identifier: BSD-3-Clause +//go:build darwin + +package common + +import ( + "context" + "errors" + "fmt" + "os" + "os/exec" + "strings" + "unsafe" + + "github.com/ebitengine/purego" + "golang.org/x/sys/unix" +) + +func DoSysctrlWithContext(ctx context.Context, mib string) ([]string, error) { + cmd := exec.CommandContext(ctx, "sysctl", "-n", mib) + cmd.Env = getSysctrlEnv(os.Environ()) + out, err := cmd.Output() + if err != nil { + return []string{}, err + } + v := strings.Replace(string(out), "{ ", "", 1) + v = strings.Replace(string(v), " }", "", 1) + values := strings.Fields(string(v)) + + return values, nil +} + +func CallSyscall(mib []int32) ([]byte, uint64, error) { + miblen := uint64(len(mib)) + + // get required buffer size + length := uint64(0) + _, _, err := unix.Syscall6( + 202, // unix.SYS___SYSCTL https://github.com/golang/sys/blob/76b94024e4b621e672466e8db3d7f084e7ddcad2/unix/zsysnum_darwin_amd64.go#L146 + uintptr(unsafe.Pointer(&mib[0])), + uintptr(miblen), + 0, + uintptr(unsafe.Pointer(&length)), + 0, + 0) + if err != 0 { + var b []byte + return b, length, err + } + if length == 0 { + var b []byte + return b, length, err + } + // get proc info itself + buf := make([]byte, length) + _, _, err = unix.Syscall6( + 202, // unix.SYS___SYSCTL https://github.com/golang/sys/blob/76b94024e4b621e672466e8db3d7f084e7ddcad2/unix/zsysnum_darwin_amd64.go#L146 + uintptr(unsafe.Pointer(&mib[0])), + uintptr(miblen), + uintptr(unsafe.Pointer(&buf[0])), + uintptr(unsafe.Pointer(&length)), + 0, + 0) + if err != 0 { + return buf, length, err + } + + return buf, length, nil +} + +// Library represents a dynamic library loaded by purego. +type Library struct { + addr uintptr + path string + close func() +} + +// library paths +const ( + IOKit = "/System/Library/Frameworks/IOKit.framework/IOKit" + CoreFoundation = "/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation" + System = "/usr/lib/libSystem.B.dylib" +) + +func NewLibrary(path string) (*Library, error) { + lib, err := purego.Dlopen(path, purego.RTLD_LAZY|purego.RTLD_GLOBAL) + if err != nil { + return nil, err + } + + closeFunc := func() { + purego.Dlclose(lib) + } + + return &Library{ + addr: lib, + path: path, + close: closeFunc, + }, nil +} + +func (lib *Library) Dlsym(symbol string) (uintptr, error) { + return purego.Dlsym(lib.addr, symbol) +} + +func GetFunc[T any](lib *Library, symbol string) T { + var fptr T + purego.RegisterLibFunc(&fptr, lib.addr, symbol) + return fptr +} + +func (lib *Library) Close() { + lib.close() +} + +// status codes +const ( + KERN_SUCCESS = 0 +) + +// IOKit functions and symbols. +type ( + IOServiceGetMatchingServiceFunc func(mainPort uint32, matching uintptr) uint32 + IOServiceGetMatchingServicesFunc func(mainPort uint32, matching uintptr, existing *uint32) int + IOServiceMatchingFunc func(name string) unsafe.Pointer + IOServiceOpenFunc func(service, owningTask, connType uint32, connect *uint32) int + IOServiceCloseFunc func(connect uint32) int + IOIteratorNextFunc func(iterator uint32) uint32 + IORegistryEntryGetNameFunc func(entry uint32, name CStr) int + IORegistryEntryGetParentEntryFunc func(entry uint32, plane string, parent *uint32) int + IORegistryEntryCreateCFPropertyFunc func(entry uint32, key, allocator uintptr, options uint32) unsafe.Pointer + IORegistryEntryCreateCFPropertiesFunc func(entry uint32, properties unsafe.Pointer, allocator uintptr, options uint32) int + IOObjectConformsToFunc func(object uint32, className string) bool + IOObjectReleaseFunc func(object uint32) int + IOConnectCallStructMethodFunc func(connection, selector uint32, inputStruct, inputStructCnt, outputStruct uintptr, outputStructCnt *uintptr) int + + IOHIDEventSystemClientCreateFunc func(allocator uintptr) unsafe.Pointer + IOHIDEventSystemClientSetMatchingFunc func(client, match uintptr) int + IOHIDServiceClientCopyEventFunc func(service uintptr, eventType int64, + options int32, timeout int64) unsafe.Pointer + IOHIDServiceClientCopyPropertyFunc func(service, property uintptr) unsafe.Pointer + IOHIDEventGetFloatValueFunc func(event uintptr, field int32) float64 + IOHIDEventSystemClientCopyServicesFunc func(client uintptr) unsafe.Pointer +) + +const ( + IOServiceGetMatchingServiceSym = "IOServiceGetMatchingService" + IOServiceGetMatchingServicesSym = "IOServiceGetMatchingServices" + IOServiceMatchingSym = "IOServiceMatching" + IOServiceOpenSym = "IOServiceOpen" + IOServiceCloseSym = "IOServiceClose" + IOIteratorNextSym = "IOIteratorNext" + IORegistryEntryGetNameSym = "IORegistryEntryGetName" + IORegistryEntryGetParentEntrySym = "IORegistryEntryGetParentEntry" + IORegistryEntryCreateCFPropertySym = "IORegistryEntryCreateCFProperty" + IORegistryEntryCreateCFPropertiesSym = "IORegistryEntryCreateCFProperties" + IOObjectConformsToSym = "IOObjectConformsTo" + IOObjectReleaseSym = "IOObjectRelease" + IOConnectCallStructMethodSym = "IOConnectCallStructMethod" + + IOHIDEventSystemClientCreateSym = "IOHIDEventSystemClientCreate" + IOHIDEventSystemClientSetMatchingSym = "IOHIDEventSystemClientSetMatching" + IOHIDServiceClientCopyEventSym = "IOHIDServiceClientCopyEvent" + IOHIDServiceClientCopyPropertySym = "IOHIDServiceClientCopyProperty" + IOHIDEventGetFloatValueSym = "IOHIDEventGetFloatValue" + IOHIDEventSystemClientCopyServicesSym = "IOHIDEventSystemClientCopyServices" +) + +const ( + KIOMainPortDefault = 0 + + KIOHIDEventTypeTemperature = 15 + + KNilOptions = 0 +) + +const ( + KIOMediaWholeKey = "Media" + KIOServicePlane = "IOService" +) + +// CoreFoundation functions and symbols. +type ( + CFGetTypeIDFunc func(cf uintptr) int32 + CFNumberCreateFunc func(allocator uintptr, theType int32, valuePtr uintptr) unsafe.Pointer + CFNumberGetValueFunc func(num uintptr, theType int32, valuePtr uintptr) bool + CFDictionaryCreateFunc func(allocator uintptr, keys, values *unsafe.Pointer, numValues int32, + keyCallBacks, valueCallBacks uintptr) unsafe.Pointer + CFDictionaryAddValueFunc func(theDict, key, value uintptr) + CFDictionaryGetValueFunc func(theDict, key uintptr) unsafe.Pointer + CFArrayGetCountFunc func(theArray uintptr) int32 + CFArrayGetValueAtIndexFunc func(theArray uintptr, index int32) unsafe.Pointer + CFStringCreateMutableFunc func(alloc uintptr, maxLength int32) unsafe.Pointer + CFStringGetLengthFunc func(theString uintptr) int32 + CFStringGetCStringFunc func(theString uintptr, buffer CStr, bufferSize int32, encoding uint32) + CFStringCreateWithCStringFunc func(alloc uintptr, cStr string, encoding uint32) unsafe.Pointer + CFDataGetLengthFunc func(theData uintptr) int32 + CFDataGetBytePtrFunc func(theData uintptr) unsafe.Pointer + CFReleaseFunc func(cf uintptr) +) + +const ( + CFGetTypeIDSym = "CFGetTypeID" + CFNumberCreateSym = "CFNumberCreate" + CFNumberGetValueSym = "CFNumberGetValue" + CFDictionaryCreateSym = "CFDictionaryCreate" + CFDictionaryAddValueSym = "CFDictionaryAddValue" + CFDictionaryGetValueSym = "CFDictionaryGetValue" + CFArrayGetCountSym = "CFArrayGetCount" + CFArrayGetValueAtIndexSym = "CFArrayGetValueAtIndex" + CFStringCreateMutableSym = "CFStringCreateMutable" + CFStringGetLengthSym = "CFStringGetLength" + CFStringGetCStringSym = "CFStringGetCString" + CFStringCreateWithCStringSym = "CFStringCreateWithCString" + CFDataGetLengthSym = "CFDataGetLength" + CFDataGetBytePtrSym = "CFDataGetBytePtr" + CFReleaseSym = "CFRelease" +) + +const ( + KCFStringEncodingUTF8 = 0x08000100 + KCFNumberSInt64Type = 4 + KCFNumberIntType = 9 + KCFAllocatorDefault = 0 +) + +// Kernel functions and symbols. +type MachTimeBaseInfo struct { + Numer uint32 + Denom uint32 +} + +type ( + HostProcessorInfoFunc func(host uint32, flavor int32, outProcessorCount *uint32, outProcessorInfo uintptr, + outProcessorInfoCnt *uint32) int + HostStatisticsFunc func(host uint32, flavor int32, hostInfoOut uintptr, hostInfoOutCnt *uint32) int + MachHostSelfFunc func() uint32 + MachTaskSelfFunc func() uint32 + MachTimeBaseInfoFunc func(info uintptr) int + VMDeallocateFunc func(targetTask uint32, vmAddress, vmSize uintptr) int +) + +const ( + HostProcessorInfoSym = "host_processor_info" + HostStatisticsSym = "host_statistics" + MachHostSelfSym = "mach_host_self" + MachTaskSelfSym = "mach_task_self" + MachTimeBaseInfoSym = "mach_timebase_info" + VMDeallocateSym = "vm_deallocate" +) + +const ( + CTL_KERN = 1 + KERN_ARGMAX = 8 + KERN_PROCARGS2 = 49 + + HOST_VM_INFO = 2 + HOST_CPU_LOAD_INFO = 3 + + HOST_VM_INFO_COUNT = 0xf +) + +// System functions and symbols. +type ( + ProcPidPathFunc func(pid int32, buffer uintptr, bufferSize uint32) int32 + ProcPidInfoFunc func(pid, flavor int32, arg uint64, buffer uintptr, bufferSize int32) int32 +) + +const ( + SysctlSym = "sysctl" + ProcPidPathSym = "proc_pidpath" + ProcPidInfoSym = "proc_pidinfo" +) + +const ( + MAXPATHLEN = 1024 + PROC_PIDPATHINFO_MAXSIZE = 4 * MAXPATHLEN + PROC_PIDTASKINFO = 4 + PROC_PIDVNODEPATHINFO = 9 +) + +// SMC represents a SMC instance. +type SMC struct { + lib *Library + conn uint32 + callStruct IOConnectCallStructMethodFunc +} + +const ioServiceSMC = "AppleSMC" + +const ( + KSMCUserClientOpen = 0 + KSMCUserClientClose = 1 + KSMCHandleYPCEvent = 2 + KSMCReadKey = 5 + KSMCWriteKey = 6 + KSMCGetKeyCount = 7 + KSMCGetKeyFromIndex = 8 + KSMCGetKeyInfo = 9 +) + +const ( + KSMCSuccess = 0 + KSMCError = 1 + KSMCKeyNotFound = 132 +) + +func NewSMC(ioKit *Library) (*SMC, error) { + if ioKit.path != IOKit { + return nil, errors.New("library is not IOKit") + } + + ioServiceGetMatchingService := GetFunc[IOServiceGetMatchingServiceFunc](ioKit, IOServiceGetMatchingServiceSym) + ioServiceMatching := GetFunc[IOServiceMatchingFunc](ioKit, IOServiceMatchingSym) + ioServiceOpen := GetFunc[IOServiceOpenFunc](ioKit, IOServiceOpenSym) + ioObjectRelease := GetFunc[IOObjectReleaseFunc](ioKit, IOObjectReleaseSym) + machTaskSelf := GetFunc[MachTaskSelfFunc](ioKit, MachTaskSelfSym) + + ioConnectCallStructMethod := GetFunc[IOConnectCallStructMethodFunc](ioKit, IOConnectCallStructMethodSym) + + service := ioServiceGetMatchingService(0, uintptr(ioServiceMatching(ioServiceSMC))) + if service == 0 { + return nil, fmt.Errorf("ERROR: %s NOT FOUND", ioServiceSMC) + } + + var conn uint32 + if result := ioServiceOpen(service, machTaskSelf(), 0, &conn); result != 0 { + return nil, errors.New("ERROR: IOServiceOpen failed") + } + + ioObjectRelease(service) + return &SMC{ + lib: ioKit, + conn: conn, + callStruct: ioConnectCallStructMethod, + }, nil +} + +func (s *SMC) CallStruct(selector uint32, inputStruct, inputStructCnt, outputStruct uintptr, outputStructCnt *uintptr) int { + return s.callStruct(s.conn, selector, inputStruct, inputStructCnt, outputStruct, outputStructCnt) +} + +func (s *SMC) Close() error { + ioServiceClose := GetFunc[IOServiceCloseFunc](s.lib, IOServiceCloseSym) + + if result := ioServiceClose(s.conn); result != 0 { + return errors.New("ERROR: IOServiceClose failed") + } + return nil +} + +type CStr []byte + +func NewCStr(length int32) CStr { + return make(CStr, length) +} + +func (s CStr) Length() int32 { + // Include null terminator to make CFStringGetCString properly functions + return int32(len(s)) + 1 +} + +func (s CStr) Ptr() *byte { + if len(s) < 1 { + return nil + } + + return &s[0] +} + +func (s CStr) Addr() uintptr { + return uintptr(unsafe.Pointer(s.Ptr())) +} + +func (s CStr) GoString() string { + if s == nil { + return "" + } + + var length int + for _, char := range s { + if char == '\x00' { + break + } + length++ + } + return string(s[:length]) +} + +// https://github.com/ebitengine/purego/blob/main/internal/strings/strings.go#L26 +func GoString(cStr *byte) string { + if cStr == nil { + return "" + } + var length int + for *(*byte)(unsafe.Add(unsafe.Pointer(cStr), uintptr(length))) != '\x00' { + length++ + } + return string(unsafe.Slice(cStr, length)) +} diff --git a/vendor/github.com/shirou/gopsutil/v3/internal/common/common_freebsd.go b/vendor/github.com/shirou/gopsutil/v4/internal/common/common_freebsd.go similarity index 97% rename from vendor/github.com/shirou/gopsutil/v3/internal/common/common_freebsd.go rename to vendor/github.com/shirou/gopsutil/v4/internal/common/common_freebsd.go index f590e2e6..53cdceeb 100644 --- a/vendor/github.com/shirou/gopsutil/v3/internal/common/common_freebsd.go +++ b/vendor/github.com/shirou/gopsutil/v4/internal/common/common_freebsd.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build freebsd || openbsd -// +build freebsd openbsd package common diff --git a/vendor/github.com/shirou/gopsutil/v3/internal/common/common_linux.go b/vendor/github.com/shirou/gopsutil/v4/internal/common/common_linux.go similarity index 87% rename from vendor/github.com/shirou/gopsutil/v3/internal/common/common_linux.go rename to vendor/github.com/shirou/gopsutil/v4/internal/common/common_linux.go index a429e16a..1ec22315 100644 --- a/vendor/github.com/shirou/gopsutil/v3/internal/common/common_linux.go +++ b/vendor/github.com/shirou/gopsutil/v4/internal/common/common_linux.go @@ -1,11 +1,11 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build linux -// +build linux package common import ( "context" - "fmt" + "errors" "os" "os/exec" "path/filepath" @@ -90,6 +90,8 @@ func BootTimeWithContext(ctx context.Context, enableCache bool) (uint64, error) if enableCache { atomic.StoreUint64(&cachedBootTime, t) } + + return t, nil } filename := HostProcWithContext(ctx, "uptime") @@ -97,15 +99,16 @@ func BootTimeWithContext(ctx context.Context, enableCache bool) (uint64, error) if err != nil { return handleBootTimeFileReadErr(err) } + currentTime := float64(time.Now().UnixNano()) / float64(time.Second) + if len(lines) != 1 { - return 0, fmt.Errorf("wrong uptime format") + return 0, errors.New("wrong uptime format") } f := strings.Fields(lines[0]) b, err := strconv.ParseFloat(f[0], 64) if err != nil { return 0, err } - currentTime := float64(time.Now().UnixNano()) / float64(time.Second) t := currentTime - b if enableCache { @@ -116,18 +119,18 @@ func BootTimeWithContext(ctx context.Context, enableCache bool) (uint64, error) } func handleBootTimeFileReadErr(err error) (uint64, error) { - if os.IsPermission(err) { - var info syscall.Sysinfo_t - err := syscall.Sysinfo(&info) - if err != nil { - return 0, err - } - - currentTime := time.Now().UnixNano() / int64(time.Second) - t := currentTime - int64(info.Uptime) - return uint64(t), nil + if !os.IsPermission(err) { + return 0, err } - return 0, err + var info syscall.Sysinfo_t + err = syscall.Sysinfo(&info) + if err != nil { + return 0, err + } + + currentTime := time.Now().UnixNano() / int64(time.Second) + t := currentTime - int64(info.Uptime) + return uint64(t), nil } func readBootTimeStat(ctx context.Context) (uint64, error) { @@ -139,7 +142,7 @@ func readBootTimeStat(ctx context.Context) (uint64, error) { if strings.HasPrefix(line, "btime") { f := strings.Fields(line) if len(f) != 2 { - return 0, fmt.Errorf("wrong btime format") + return 0, errors.New("wrong btime format") } b, err := strconv.ParseInt(f[1], 10, 64) if err != nil { @@ -148,7 +151,7 @@ func readBootTimeStat(ctx context.Context) (uint64, error) { t := uint64(b) return t, nil } - return 0, fmt.Errorf("could not find btime") + return 0, errors.New("could not find btime") } func Virtualization() (string, string, error) { @@ -193,19 +196,20 @@ func VirtualizationWithContext(ctx context.Context) (string, string, error) { if PathExists(filename) { contents, err := ReadLines(filename) if err == nil { - if StringsContains(contents, "kvm") { + switch { + case StringsContains(contents, "kvm"): system = "kvm" role = "host" - } else if StringsContains(contents, "hv_util") { + case StringsContains(contents, "hv_util"): system = "hyperv" role = "guest" - } else if StringsContains(contents, "vboxdrv") { + case StringsContains(contents, "vboxdrv"): system = "vbox" role = "host" - } else if StringsContains(contents, "vboxguest") { + case StringsContains(contents, "vboxguest"): system = "vbox" role = "guest" - } else if StringsContains(contents, "vmware") { + case StringsContains(contents, "vmware"): system = "vmware" role = "guest" } @@ -270,16 +274,17 @@ func VirtualizationWithContext(ctx context.Context) (string, string, error) { if PathExists(filepath.Join(filename, "self", "cgroup")) { contents, err := ReadLines(filepath.Join(filename, "self", "cgroup")) if err == nil { - if StringsContains(contents, "lxc") { + switch { + case StringsContains(contents, "lxc"): system = "lxc" role = "guest" - } else if StringsContains(contents, "docker") { + case StringsContains(contents, "docker"): system = "docker" role = "guest" - } else if StringsContains(contents, "machine-rkt") { + case StringsContains(contents, "machine-rkt"): system = "rkt" role = "guest" - } else if PathExists("/usr/bin/lxc-version") { + case PathExists("/usr/bin/lxc-version"): system = "lxc" role = "host" } @@ -312,11 +317,11 @@ func VirtualizationWithContext(ctx context.Context) (string, string, error) { return system, role, nil } -func GetOSRelease() (platform string, version string, err error) { +func GetOSRelease() (platform, version string, err error) { return GetOSReleaseWithContext(context.Background()) } -func GetOSReleaseWithContext(ctx context.Context) (platform string, version string, err error) { +func GetOSReleaseWithContext(ctx context.Context) (platform, version string, err error) { contents, err := ReadLines(HostEtcWithContext(ctx, "os-release")) if err != nil { return "", "", nil // return empty diff --git a/vendor/github.com/shirou/gopsutil/v3/internal/common/common_netbsd.go b/vendor/github.com/shirou/gopsutil/v4/internal/common/common_netbsd.go similarity index 96% rename from vendor/github.com/shirou/gopsutil/v3/internal/common/common_netbsd.go rename to vendor/github.com/shirou/gopsutil/v4/internal/common/common_netbsd.go index efbc710a..20653212 100644 --- a/vendor/github.com/shirou/gopsutil/v3/internal/common/common_netbsd.go +++ b/vendor/github.com/shirou/gopsutil/v4/internal/common/common_netbsd.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build netbsd -// +build netbsd package common diff --git a/vendor/github.com/shirou/gopsutil/v3/internal/common/common_openbsd.go b/vendor/github.com/shirou/gopsutil/v4/internal/common/common_openbsd.go similarity index 96% rename from vendor/github.com/shirou/gopsutil/v3/internal/common/common_openbsd.go rename to vendor/github.com/shirou/gopsutil/v4/internal/common/common_openbsd.go index 58d76f33..00fa19a2 100644 --- a/vendor/github.com/shirou/gopsutil/v3/internal/common/common_openbsd.go +++ b/vendor/github.com/shirou/gopsutil/v4/internal/common/common_openbsd.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build openbsd -// +build openbsd package common diff --git a/vendor/github.com/shirou/gopsutil/v3/internal/common/common_unix.go b/vendor/github.com/shirou/gopsutil/v4/internal/common/common_unix.go similarity index 61% rename from vendor/github.com/shirou/gopsutil/v3/internal/common/common_unix.go rename to vendor/github.com/shirou/gopsutil/v4/internal/common/common_unix.go index 4af7e5c2..2ccb3760 100644 --- a/vendor/github.com/shirou/gopsutil/v3/internal/common/common_unix.go +++ b/vendor/github.com/shirou/gopsutil/v4/internal/common/common_unix.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build linux || freebsd || darwin || openbsd -// +build linux freebsd darwin openbsd package common @@ -33,30 +33,10 @@ func CallLsofWithContext(ctx context.Context, invoke Invoker, pid int32, args .. var ret []string for _, l := range lines[1:] { - if len(l) == 0 { + if l == "" { continue } ret = append(ret, l) } return ret, nil } - -func CallPgrepWithContext(ctx context.Context, invoke Invoker, pid int32) ([]int32, error) { - out, err := invoke.CommandWithContext(ctx, "pgrep", "-P", strconv.Itoa(int(pid))) - if err != nil { - return []int32{}, err - } - lines := strings.Split(string(out), "\n") - ret := make([]int32, 0, len(lines)) - for _, l := range lines { - if len(l) == 0 { - continue - } - i, err := strconv.ParseInt(l, 10, 32) - if err != nil { - continue - } - ret = append(ret, int32(i)) - } - return ret, nil -} diff --git a/vendor/github.com/shirou/gopsutil/v3/internal/common/common_windows.go b/vendor/github.com/shirou/gopsutil/v4/internal/common/common_windows.go similarity index 93% rename from vendor/github.com/shirou/gopsutil/v3/internal/common/common_windows.go rename to vendor/github.com/shirou/gopsutil/v4/internal/common/common_windows.go index 301b2315..f3ec5a98 100644 --- a/vendor/github.com/shirou/gopsutil/v3/internal/common/common_windows.go +++ b/vendor/github.com/shirou/gopsutil/v4/internal/common/common_windows.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build windows -// +build windows package common @@ -17,19 +17,19 @@ import ( ) // for double values -type PDH_FMT_COUNTERVALUE_DOUBLE struct { +type PDH_FMT_COUNTERVALUE_DOUBLE struct { //nolint:revive //FIXME CStatus uint32 DoubleValue float64 } // for 64 bit integer values -type PDH_FMT_COUNTERVALUE_LARGE struct { +type PDH_FMT_COUNTERVALUE_LARGE struct { //nolint:revive //FIXME CStatus uint32 LargeValue int64 } // for long values -type PDH_FMT_COUNTERVALUE_LONG struct { +type PDH_FMT_COUNTERVALUE_LONG struct { //nolint:revive //FIXME CStatus uint32 LongValue int32 padding [4]byte @@ -197,7 +197,7 @@ func ProcessorQueueLengthCounter() (*Win32PerformanceCounter, error) { } // WMIQueryWithContext - wraps wmi.Query with a timed-out context to avoid hanging -func WMIQueryWithContext(ctx context.Context, query string, dst interface{}, connectServerArgs ...interface{}) error { +func WMIQueryWithContext(ctx context.Context, query string, dst any, connectServerArgs ...any) error { if _, ok := ctx.Deadline(); !ok { ctxTimeout, cancel := context.WithTimeout(ctx, Timeout) defer cancel() @@ -233,7 +233,7 @@ func ConvertDOSPath(p string) string { ret, _, _ := procQueryDosDeviceW.Call(uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(szDeviceName))), uintptr(unsafe.Pointer(&szTarget[0])), uintptr(len(szTarget))) - if ret != 0 && windows.UTF16ToString(szTarget[:]) == rawDrive { + if ret != 0 && windows.UTF16ToString(szTarget) == rawDrive { return filepath.Join(szDeviceName, p[len(rawDrive):]) } } @@ -273,19 +273,19 @@ type SystemExtendedHandleInformation struct { // CallWithExpandingBuffer https://github.com/hillu/go-ntdll func CallWithExpandingBuffer(fn func() NtStatus, buf *[]byte, resultLength *uint32) NtStatus { for { - if st := fn(); st == STATUS_BUFFER_OVERFLOW || st == STATUS_BUFFER_TOO_SMALL || st == STATUS_INFO_LENGTH_MISMATCH { + st := fn() + if st == STATUS_BUFFER_OVERFLOW || st == STATUS_BUFFER_TOO_SMALL || st == STATUS_INFO_LENGTH_MISMATCH { if int(*resultLength) <= cap(*buf) { (*reflect.SliceHeader)(unsafe.Pointer(buf)).Len = int(*resultLength) } else { *buf = make([]byte, int(*resultLength)) } continue - } else { - if !st.IsError() { - *buf = (*buf)[:int(*resultLength)] - } - return st } + if !st.IsError() { + *buf = (*buf)[:int(*resultLength)] + } + return st } } diff --git a/vendor/github.com/shirou/gopsutil/v3/internal/common/endian.go b/vendor/github.com/shirou/gopsutil/v4/internal/common/endian.go similarity index 88% rename from vendor/github.com/shirou/gopsutil/v3/internal/common/endian.go rename to vendor/github.com/shirou/gopsutil/v4/internal/common/endian.go index 147cfdc4..113ff2e9 100644 --- a/vendor/github.com/shirou/gopsutil/v3/internal/common/endian.go +++ b/vendor/github.com/shirou/gopsutil/v4/internal/common/endian.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package common import "unsafe" diff --git a/vendor/github.com/shirou/gopsutil/v4/internal/common/readlink_linux.go b/vendor/github.com/shirou/gopsutil/v4/internal/common/readlink_linux.go new file mode 100644 index 00000000..ea2d4677 --- /dev/null +++ b/vendor/github.com/shirou/gopsutil/v4/internal/common/readlink_linux.go @@ -0,0 +1,53 @@ +package common + +import ( + "errors" + "os" + "sync" + "syscall" +) + +var bufferPool = sync.Pool{ + New: func() any { + b := make([]byte, syscall.PathMax) + return &b + }, +} + +// The following three functions are copied from stdlib. + +// ignoringEINTR2 is ignoringEINTR, but returning an additional value. +func ignoringEINTR2[T any](fn func() (T, error)) (T, error) { + for { + v, err := fn() + if !errors.Is(err, syscall.EINTR) { + return v, err + } + } +} + +// Many functions in package syscall return a count of -1 instead of 0. +// Using fixCount(call()) instead of call() corrects the count. +func fixCount(n int, err error) (int, error) { + if n < 0 { + n = 0 + } + return n, err +} + +// Readlink behaves like os.Readlink but caches the buffer passed to syscall.Readlink. +func Readlink(name string) (string, error) { + b := bufferPool.Get().(*[]byte) + + n, err := ignoringEINTR2(func() (int, error) { + return fixCount(syscall.Readlink(name, *b)) + }) + if err != nil { + bufferPool.Put(b) + return "", &os.PathError{Op: "readlink", Path: name, Err: err} + } + + result := string((*b)[:n]) + bufferPool.Put(b) + return result, nil +} diff --git a/vendor/github.com/shirou/gopsutil/v3/internal/common/sleep.go b/vendor/github.com/shirou/gopsutil/v4/internal/common/sleep.go similarity index 89% rename from vendor/github.com/shirou/gopsutil/v3/internal/common/sleep.go rename to vendor/github.com/shirou/gopsutil/v4/internal/common/sleep.go index 94cedfd3..504f13ff 100644 --- a/vendor/github.com/shirou/gopsutil/v3/internal/common/sleep.go +++ b/vendor/github.com/shirou/gopsutil/v4/internal/common/sleep.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package common import ( diff --git a/vendor/github.com/shirou/gopsutil/v3/internal/common/warnings.go b/vendor/github.com/shirou/gopsutil/v4/internal/common/warnings.go similarity index 92% rename from vendor/github.com/shirou/gopsutil/v3/internal/common/warnings.go rename to vendor/github.com/shirou/gopsutil/v4/internal/common/warnings.go index a4aaadaf..888cc57f 100644 --- a/vendor/github.com/shirou/gopsutil/v3/internal/common/warnings.go +++ b/vendor/github.com/shirou/gopsutil/v4/internal/common/warnings.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package common import "fmt" diff --git a/vendor/github.com/shirou/gopsutil/v4/mem/ex_linux.go b/vendor/github.com/shirou/gopsutil/v4/mem/ex_linux.go new file mode 100644 index 00000000..659b6557 --- /dev/null +++ b/vendor/github.com/shirou/gopsutil/v4/mem/ex_linux.go @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: BSD-3-Clause +//go:build linux + +package mem + +import ( + "context" + "encoding/json" +) + +type ExVirtualMemory struct { + ActiveFile uint64 `json:"activefile"` + InactiveFile uint64 `json:"inactivefile"` + ActiveAnon uint64 `json:"activeanon"` + InactiveAnon uint64 `json:"inactiveanon"` + Unevictable uint64 `json:"unevictable"` +} + +func (v ExVirtualMemory) String() string { + s, _ := json.Marshal(v) + return string(s) +} + +type ExLinux struct{} + +func NewExLinux() *ExLinux { + return &ExLinux{} +} + +func (ex *ExLinux) VirtualMemory() (*ExVirtualMemory, error) { + return ex.VirtualMemoryWithContext(context.Background()) +} + +func (*ExLinux) VirtualMemoryWithContext(ctx context.Context) (*ExVirtualMemory, error) { + _, vmEx, err := fillFromMeminfoWithContext(ctx) + if err != nil { + return nil, err + } + return vmEx, nil +} diff --git a/vendor/github.com/shirou/gopsutil/v4/mem/ex_windows.go b/vendor/github.com/shirou/gopsutil/v4/mem/ex_windows.go new file mode 100644 index 00000000..907143d3 --- /dev/null +++ b/vendor/github.com/shirou/gopsutil/v4/mem/ex_windows.go @@ -0,0 +1,62 @@ +// SPDX-License-Identifier: BSD-3-Clause +//go:build windows + +package mem + +import ( + "unsafe" +) + +// ExVirtualMemory represents Windows specific information +// https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/ns-sysinfoapi-memorystatusex +// https://learn.microsoft.com/en-us/windows/win32/api/psapi/ns-psapi-performance_information +type ExVirtualMemory struct { + CommitLimit uint64 `json:"commitLimit"` + CommitTotal uint64 `json:"commitTotal"` + VirtualTotal uint64 `json:"virtualTotal"` + VirtualAvail uint64 `json:"virtualAvail"` + PhysTotal uint64 `json:"physTotal"` + PhysAvail uint64 `json:"physAvail"` + PageFileTotal uint64 `json:"pageFileTotal"` + PageFileAvail uint64 `json:"pageFileAvail"` +} + +type ExWindows struct{} + +func NewExWindows() *ExWindows { + return &ExWindows{} +} + +func (*ExWindows) VirtualMemory() (*ExVirtualMemory, error) { + var memInfo memoryStatusEx + memInfo.cbSize = uint32(unsafe.Sizeof(memInfo)) + // If mem == 0 since this is an error according to GlobalMemoryStatusEx documentation + // In that case, use err which is constructed from GetLastError(), + // see https://pkg.go.dev/golang.org/x/sys/windows#LazyProc.Call + mem, _, err := procGlobalMemoryStatusEx.Call(uintptr(unsafe.Pointer(&memInfo))) + if mem == 0 { + return nil, err + } + + var perfInfo performanceInformation + perfInfo.cb = uint32(unsafe.Sizeof(perfInfo)) + // Analogous to above: perf == 0 is an error according to the GetPerformanceInfo documentation, + // use err in that case + perf, _, err := procGetPerformanceInfo.Call(uintptr(unsafe.Pointer(&perfInfo)), uintptr(perfInfo.cb)) + if perf == 0 { + return nil, err + } + + ret := &ExVirtualMemory{ + CommitLimit: perfInfo.commitLimit * perfInfo.pageSize, + CommitTotal: perfInfo.commitTotal * perfInfo.pageSize, + VirtualTotal: memInfo.ullTotalVirtual, + VirtualAvail: memInfo.ullAvailVirtual, + PhysTotal: memInfo.ullTotalPhys, + PhysAvail: memInfo.ullAvailPhys, + PageFileTotal: memInfo.ullTotalPageFile, + PageFileAvail: memInfo.ullAvailPageFile, + } + + return ret, nil +} diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem.go similarity index 94% rename from vendor/github.com/shirou/gopsutil/v3/mem/mem.go rename to vendor/github.com/shirou/gopsutil/v4/mem/mem.go index edaf268b..01932ddf 100644 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem.go +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem.go @@ -1,9 +1,10 @@ +// SPDX-License-Identifier: BSD-3-Clause package mem import ( "encoding/json" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) var invoke common.Invoker = common.Invoke{} @@ -47,7 +48,7 @@ type VirtualMemoryStat struct { Laundry uint64 `json:"laundry"` // Linux specific numbers - // https://www.centos.org/docs/5/html/5.1/Deployment_Guide/s2-proc-meminfo.html + // https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/6/html/deployment_guide/s2-proc-meminfo // https://www.kernel.org/doc/Documentation/filesystems/proc.txt // https://www.kernel.org/doc/Documentation/vm/overcommit-accounting // https://www.kernel.org/doc/Documentation/vm/transhuge.txt diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_aix.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem_aix.go similarity index 58% rename from vendor/github.com/shirou/gopsutil/v3/mem/mem_aix.go rename to vendor/github.com/shirou/gopsutil/v4/mem/mem_aix.go index 22a6a4e9..ac2c39dd 100644 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_aix.go +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem_aix.go @@ -1,10 +1,12 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build aix -// +build aix package mem import ( "context" + + "github.com/shirou/gopsutil/v4/internal/common" ) func VirtualMemory() (*VirtualMemoryStat, error) { @@ -14,3 +16,7 @@ func VirtualMemory() (*VirtualMemoryStat, error) { func SwapMemory() (*SwapMemoryStat, error) { return SwapMemoryWithContext(context.Background()) } + +func SwapDevices() ([]*SwapDevice, error) { + return nil, common.ErrNotImplementedError +} diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_aix_cgo.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem_aix_cgo.go similarity index 97% rename from vendor/github.com/shirou/gopsutil/v3/mem/mem_aix_cgo.go rename to vendor/github.com/shirou/gopsutil/v4/mem/mem_aix_cgo.go index 67e11dff..2d03dd0c 100644 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_aix_cgo.go +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem_aix_cgo.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build aix && cgo -// +build aix,cgo package mem diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_aix_nocgo.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem_aix_nocgo.go similarity index 95% rename from vendor/github.com/shirou/gopsutil/v3/mem/mem_aix_nocgo.go rename to vendor/github.com/shirou/gopsutil/v4/mem/mem_aix_nocgo.go index 027879d9..bc3c0ed3 100644 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_aix_nocgo.go +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem_aix_nocgo.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build aix && !cgo -// +build aix,!cgo package mem @@ -8,7 +8,7 @@ import ( "strconv" "strings" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) func VirtualMemoryWithContext(ctx context.Context) (*VirtualMemoryStat, error) { diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_bsd.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem_bsd.go similarity index 98% rename from vendor/github.com/shirou/gopsutil/v3/mem/mem_bsd.go rename to vendor/github.com/shirou/gopsutil/v4/mem/mem_bsd.go index ef867d74..4f3e57c0 100644 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_bsd.go +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem_bsd.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build freebsd || openbsd || netbsd -// +build freebsd openbsd netbsd package mem diff --git a/vendor/github.com/shirou/gopsutil/v4/mem/mem_darwin.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem_darwin.go new file mode 100644 index 00000000..7d96a3bb --- /dev/null +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem_darwin.go @@ -0,0 +1,130 @@ +// SPDX-License-Identifier: BSD-3-Clause +//go:build darwin + +package mem + +import ( + "context" + "fmt" + "unsafe" + + "golang.org/x/sys/unix" + + "github.com/shirou/gopsutil/v4/internal/common" +) + +func getHwMemsize() (uint64, error) { + total, err := unix.SysctlUint64("hw.memsize") + if err != nil { + return 0, err + } + return total, nil +} + +// xsw_usage in sys/sysctl.h +type swapUsage struct { + Total uint64 + Avail uint64 + Used uint64 + Pagesize int32 + Encrypted bool +} + +// SwapMemory returns swapinfo. +func SwapMemory() (*SwapMemoryStat, error) { + return SwapMemoryWithContext(context.Background()) +} + +func SwapMemoryWithContext(_ context.Context) (*SwapMemoryStat, error) { + // https://github.com/yanllearnn/go-osstat/blob/ae8a279d26f52ec946a03698c7f50a26cfb427e3/memory/memory_darwin.go + var ret *SwapMemoryStat + + value, err := unix.SysctlRaw("vm.swapusage") + if err != nil { + return ret, err + } + if len(value) != 32 { + return ret, fmt.Errorf("unexpected output of sysctl vm.swapusage: %v (len: %d)", value, len(value)) + } + swap := (*swapUsage)(unsafe.Pointer(&value[0])) + + u := float64(0) + if swap.Total != 0 { + u = ((float64(swap.Total) - float64(swap.Avail)) / float64(swap.Total)) * 100.0 + } + + ret = &SwapMemoryStat{ + Total: swap.Total, + Used: swap.Used, + Free: swap.Avail, + UsedPercent: u, + } + + return ret, nil +} + +func SwapDevices() ([]*SwapDevice, error) { + return SwapDevicesWithContext(context.Background()) +} + +func SwapDevicesWithContext(_ context.Context) ([]*SwapDevice, error) { + return nil, common.ErrNotImplementedError +} + +type vmStatisticsData struct { + freeCount uint32 + activeCount uint32 + inactiveCount uint32 + wireCount uint32 + _ [44]byte // Not used here +} + +// VirtualMemory returns VirtualmemoryStat. +func VirtualMemory() (*VirtualMemoryStat, error) { + return VirtualMemoryWithContext(context.Background()) +} + +func VirtualMemoryWithContext(_ context.Context) (*VirtualMemoryStat, error) { + machLib, err := common.NewLibrary(common.System) + if err != nil { + return nil, err + } + defer machLib.Close() + + hostStatistics := common.GetFunc[common.HostStatisticsFunc](machLib, common.HostStatisticsSym) + machHostSelf := common.GetFunc[common.MachHostSelfFunc](machLib, common.MachHostSelfSym) + + count := uint32(common.HOST_VM_INFO_COUNT) + var vmstat vmStatisticsData + + status := hostStatistics(machHostSelf(), common.HOST_VM_INFO, + uintptr(unsafe.Pointer(&vmstat)), &count) + + if status != common.KERN_SUCCESS { + return nil, fmt.Errorf("host_statistics error=%d", status) + } + + pageSizeAddr, _ := machLib.Dlsym("vm_kernel_page_size") + pageSize := **(**uint64)(unsafe.Pointer(&pageSizeAddr)) + total, err := getHwMemsize() + if err != nil { + return nil, err + } + totalCount := uint32(total / pageSize) + + availableCount := vmstat.inactiveCount + vmstat.freeCount + usedPercent := 100 * float64(totalCount-availableCount) / float64(totalCount) + + usedCount := totalCount - availableCount + + return &VirtualMemoryStat{ + Total: total, + Available: pageSize * uint64(availableCount), + Used: pageSize * uint64(usedCount), + UsedPercent: usedPercent, + Free: pageSize * uint64(vmstat.freeCount), + Active: pageSize * uint64(vmstat.activeCount), + Inactive: pageSize * uint64(vmstat.inactiveCount), + Wired: pageSize * uint64(vmstat.wireCount), + }, nil +} diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_fallback.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem_fallback.go similarity index 62% rename from vendor/github.com/shirou/gopsutil/v3/mem/mem_fallback.go rename to vendor/github.com/shirou/gopsutil/v4/mem/mem_fallback.go index 697fd870..74283a2b 100644 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_fallback.go +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem_fallback.go @@ -1,19 +1,19 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build !darwin && !linux && !freebsd && !openbsd && !solaris && !windows && !plan9 && !aix && !netbsd -// +build !darwin,!linux,!freebsd,!openbsd,!solaris,!windows,!plan9,!aix,!netbsd package mem import ( "context" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) func VirtualMemory() (*VirtualMemoryStat, error) { return VirtualMemoryWithContext(context.Background()) } -func VirtualMemoryWithContext(ctx context.Context) (*VirtualMemoryStat, error) { +func VirtualMemoryWithContext(_ context.Context) (*VirtualMemoryStat, error) { return nil, common.ErrNotImplementedError } @@ -21,7 +21,7 @@ func SwapMemory() (*SwapMemoryStat, error) { return SwapMemoryWithContext(context.Background()) } -func SwapMemoryWithContext(ctx context.Context) (*SwapMemoryStat, error) { +func SwapMemoryWithContext(_ context.Context) (*SwapMemoryStat, error) { return nil, common.ErrNotImplementedError } @@ -29,6 +29,6 @@ func SwapDevices() ([]*SwapDevice, error) { return SwapDevicesWithContext(context.Background()) } -func SwapDevicesWithContext(ctx context.Context) ([]*SwapDevice, error) { +func SwapDevicesWithContext(_ context.Context) ([]*SwapDevice, error) { return nil, common.ErrNotImplementedError } diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_freebsd.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem_freebsd.go similarity index 91% rename from vendor/github.com/shirou/gopsutil/v3/mem/mem_freebsd.go rename to vendor/github.com/shirou/gopsutil/v4/mem/mem_freebsd.go index 9a56785b..dbe6d919 100644 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_freebsd.go +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem_freebsd.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build freebsd -// +build freebsd package mem @@ -8,15 +8,16 @@ import ( "errors" "unsafe" - "github.com/shirou/gopsutil/v3/internal/common" "golang.org/x/sys/unix" + + "github.com/shirou/gopsutil/v4/internal/common" ) func VirtualMemory() (*VirtualMemoryStat, error) { return VirtualMemoryWithContext(context.Background()) } -func VirtualMemoryWithContext(ctx context.Context) (*VirtualMemoryStat, error) { +func VirtualMemoryWithContext(_ context.Context) (*VirtualMemoryStat, error) { pageSize, err := common.SysctlUint("vm.stats.vm.v_page_size") if err != nil { return nil, err @@ -85,7 +86,6 @@ func SwapMemory() (*SwapMemoryStat, error) { } // Constants from vm/vm_param.h -// nolint: golint const ( XSWDEV_VERSION11 = 1 XSWDEV_VERSION = 2 @@ -110,7 +110,7 @@ type xswdev11 struct { Used int32 // Used is the number of blocks used } -func SwapMemoryWithContext(ctx context.Context) (*SwapMemoryStat, error) { +func SwapMemoryWithContext(_ context.Context) (*SwapMemoryStat, error) { // FreeBSD can have multiple swap devices so we total them up i, err := common.SysctlUint("vm.nswapdev") if err != nil { @@ -139,7 +139,8 @@ func SwapMemoryWithContext(ctx context.Context) (*SwapMemoryStat, error) { // first, try to parse with version 2 xsw := (*xswdev)(unsafe.Pointer(&buf[0])) - if xsw.Version == XSWDEV_VERSION11 { + switch { + case xsw.Version == XSWDEV_VERSION11: // this is version 1, so try to parse again xsw := (*xswdev11)(unsafe.Pointer(&buf[0])) if xsw.Version != XSWDEV_VERSION11 { @@ -147,9 +148,9 @@ func SwapMemoryWithContext(ctx context.Context) (*SwapMemoryStat, error) { } s.Total += uint64(xsw.NBlks) s.Used += uint64(xsw.Used) - } else if xsw.Version != XSWDEV_VERSION { + case xsw.Version != XSWDEV_VERSION: return nil, errors.New("xswdev version mismatch") - } else { + default: s.Total += uint64(xsw.NBlks) s.Used += uint64(xsw.Used) } diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_linux.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem_linux.go similarity index 89% rename from vendor/github.com/shirou/gopsutil/v3/mem/mem_linux.go rename to vendor/github.com/shirou/gopsutil/v4/mem/mem_linux.go index 214a91e4..4b53b4a0 100644 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_linux.go +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem_linux.go @@ -1,12 +1,11 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build linux -// +build linux package mem import ( "bufio" "context" - "encoding/json" "fmt" "io" "math" @@ -16,21 +15,15 @@ import ( "golang.org/x/sys/unix" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) -type VirtualMemoryExStat struct { - ActiveFile uint64 `json:"activefile"` - InactiveFile uint64 `json:"inactivefile"` - ActiveAnon uint64 `json:"activeanon"` - InactiveAnon uint64 `json:"inactiveanon"` - Unevictable uint64 `json:"unevictable"` -} - -func (v VirtualMemoryExStat) String() string { - s, _ := json.Marshal(v) - return string(s) -} +// WillBeDeletedOptOutMemAvailableCalc is a context key to opt out of calculating Mem.Used. +// This is not documented, and will be removed in Mar. 2026. This constant will be removed +// in the future, but it is currently public. The reason is that making it public allows +// developers to notice its removal when their build fails. +// See https://github.com/shirou/gopsutil/issues/1873 +const WillBeDeletedOptOutMemAvailableCalc = "optOutMemAvailableCalc" func VirtualMemory() (*VirtualMemoryStat, error) { return VirtualMemoryWithContext(context.Background()) @@ -44,21 +37,12 @@ func VirtualMemoryWithContext(ctx context.Context) (*VirtualMemoryStat, error) { return vm, nil } -func VirtualMemoryEx() (*VirtualMemoryExStat, error) { - return VirtualMemoryExWithContext(context.Background()) -} - -func VirtualMemoryExWithContext(ctx context.Context) (*VirtualMemoryExStat, error) { - _, vmEx, err := fillFromMeminfoWithContext(ctx) +func fillFromMeminfoWithContext(ctx context.Context) (*VirtualMemoryStat, *ExVirtualMemory, error) { + filename := common.HostProcWithContext(ctx, "meminfo") + lines, err := common.ReadLines(filename) if err != nil { - return nil, err + return nil, nil, fmt.Errorf("couldn't read %s: %w", filename, err) } - return vmEx, nil -} - -func fillFromMeminfoWithContext(ctx context.Context) (*VirtualMemoryStat, *VirtualMemoryExStat, error) { - filename := common.HostProcWithContext(ctx, "meminfo") - lines, _ := common.ReadLines(filename) // flag if MemAvailable is in /proc/meminfo (kernel 3.14+) memavail := false @@ -67,7 +51,7 @@ func fillFromMeminfoWithContext(ctx context.Context) (*VirtualMemoryStat, *Virtu sReclaimable := false // "Sreclaimable:" not available: 2.6.19 / Nov 2006 ret := &VirtualMemoryStat{} - retEx := &VirtualMemoryExStat{} + retEx := &ExVirtualMemory{} for _, line := range lines { fields := strings.Split(line, ":") @@ -76,7 +60,7 @@ func fillFromMeminfoWithContext(ctx context.Context) (*VirtualMemoryStat, *Virtu } key := strings.TrimSpace(fields[0]) value := strings.TrimSpace(fields[1]) - value = strings.Replace(value, " kB", "", -1) + value = strings.ReplaceAll(value, " kB", "") switch key { case "MemTotal": @@ -329,8 +313,17 @@ func fillFromMeminfoWithContext(ctx context.Context) (*VirtualMemoryStat, *Virtu ret.Available = ret.Cached + ret.Free } } + // Opt-Out of calculating Mem.Used if the context has the context key set to true. + // This is used for backward compatibility with applications that expect the old calculation method. + // However, we plan to standardize on using MemAvailable in the future. + // Therefore, please avoid using this opt-out unless it is absolutely necessary. + // see https://github.com/shirou/gopsutil/issues/1873 + if val, ok := ctx.Value(WillBeDeletedOptOutMemAvailableCalc).(bool); ok && val { + ret.Used = ret.Total - ret.Free - ret.Buffers - ret.Cached + } else { + ret.Used = ret.Total - ret.Available + } - ret.Used = ret.Total - ret.Free - ret.Buffers - ret.Cached ret.UsedPercent = float64(ret.Used) / float64(ret.Total) * 100.0 return ret, retEx, nil @@ -358,7 +351,10 @@ func SwapMemoryWithContext(ctx context.Context) (*SwapMemoryStat, error) { ret.UsedPercent = 0 } filename := common.HostProcWithContext(ctx, "vmstat") - lines, _ := common.ReadLines(filename) + lines, err := common.ReadLines(filename) + if err != nil { + return nil, fmt.Errorf("couldn't read %s: %w", filename, err) + } for _, l := range lines { fields := strings.Fields(l) if len(fields) < 2 { @@ -409,7 +405,7 @@ func SwapMemoryWithContext(ctx context.Context) (*SwapMemoryStat, error) { // calculateAvailVmem is a fallback under kernel 3.14 where /proc/meminfo does not provide // "MemAvailable:" column. It reimplements an algorithm from the link below // https://github.com/giampaolo/psutil/pull/890 -func calculateAvailVmem(ctx context.Context, ret *VirtualMemoryStat, retEx *VirtualMemoryExStat) uint64 { +func calculateAvailVmem(ctx context.Context, ret *VirtualMemoryStat, retEx *ExVirtualMemory) uint64 { var watermarkLow uint64 fn := common.HostProcWithContext(ctx, "zoneinfo") diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_netbsd.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem_netbsd.go similarity index 90% rename from vendor/github.com/shirou/gopsutil/v3/mem/mem_netbsd.go rename to vendor/github.com/shirou/gopsutil/v4/mem/mem_netbsd.go index d1f54eca..8ef539ca 100644 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_netbsd.go +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem_netbsd.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build netbsd -// +build netbsd package mem @@ -15,7 +15,7 @@ func GetPageSize() (uint64, error) { return GetPageSizeWithContext(context.Background()) } -func GetPageSizeWithContext(ctx context.Context) (uint64, error) { +func GetPageSizeWithContext(_ context.Context) (uint64, error) { uvmexp, err := unix.SysctlUvmexp("vm.uvmexp2") if err != nil { return 0, err @@ -27,7 +27,7 @@ func VirtualMemory() (*VirtualMemoryStat, error) { return VirtualMemoryWithContext(context.Background()) } -func VirtualMemoryWithContext(ctx context.Context) (*VirtualMemoryStat, error) { +func VirtualMemoryWithContext(_ context.Context) (*VirtualMemoryStat, error) { uvmexp, err := unix.SysctlUvmexp("vm.uvmexp2") if err != nil { return nil, err diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem_openbsd.go similarity index 87% rename from vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd.go rename to vendor/github.com/shirou/gopsutil/v4/mem/mem_openbsd.go index e37d5abe..1cb785f0 100644 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd.go +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem_openbsd.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build openbsd -// +build openbsd package mem @@ -10,15 +10,16 @@ import ( "errors" "fmt" - "github.com/shirou/gopsutil/v3/internal/common" "golang.org/x/sys/unix" + + "github.com/shirou/gopsutil/v4/internal/common" ) func GetPageSize() (uint64, error) { return GetPageSizeWithContext(context.Background()) } -func GetPageSizeWithContext(ctx context.Context) (uint64, error) { +func GetPageSizeWithContext(_ context.Context) (uint64, error) { uvmexp, err := unix.SysctlUvmexp("vm.uvmexp") if err != nil { return 0, err @@ -30,7 +31,7 @@ func VirtualMemory() (*VirtualMemoryStat, error) { return VirtualMemoryWithContext(context.Background()) } -func VirtualMemoryWithContext(ctx context.Context) (*VirtualMemoryStat, error) { +func VirtualMemoryWithContext(_ context.Context) (*VirtualMemoryStat, error) { uvmexp, err := unix.SysctlUvmexp("vm.uvmexp") if err != nil { return nil, err @@ -60,8 +61,7 @@ func VirtualMemoryWithContext(ctx context.Context) (*VirtualMemoryStat, error) { } var bcs Bcachestats br := bytes.NewReader(buf) - err = common.Read(br, binary.LittleEndian, &bcs) - if err != nil { + if err := binary.Read(br, binary.LittleEndian, &bcs); err != nil { return nil, err } ret.Buffers = uint64(bcs.Numbufpages) * p diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_386.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem_openbsd_386.go similarity index 93% rename from vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_386.go rename to vendor/github.com/shirou/gopsutil/v4/mem/mem_openbsd_386.go index de2b26ca..552e93f4 100644 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_386.go +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem_openbsd_386.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build openbsd && 386 -// +build openbsd,386 // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs mem/types_openbsd.go diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_amd64.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem_openbsd_amd64.go similarity index 92% rename from vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_amd64.go rename to vendor/github.com/shirou/gopsutil/v4/mem/mem_openbsd_amd64.go index d187abf0..73e5b72a 100644 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_amd64.go +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem_openbsd_amd64.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause // Created by cgo -godefs - DO NOT EDIT // cgo -godefs types_openbsd.go diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_arm.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem_openbsd_arm.go similarity index 93% rename from vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_arm.go rename to vendor/github.com/shirou/gopsutil/v4/mem/mem_openbsd_arm.go index 2488f185..57b5861d 100644 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_arm.go +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem_openbsd_arm.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build openbsd && arm -// +build openbsd,arm // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs mem/types_openbsd.go diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_arm64.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem_openbsd_arm64.go similarity index 93% rename from vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_arm64.go rename to vendor/github.com/shirou/gopsutil/v4/mem/mem_openbsd_arm64.go index 3661b16f..f39a6456 100644 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_arm64.go +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem_openbsd_arm64.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build openbsd && arm64 -// +build openbsd,arm64 // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs mem/types_openbsd.go diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_riscv64.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem_openbsd_riscv64.go similarity index 94% rename from vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_riscv64.go rename to vendor/github.com/shirou/gopsutil/v4/mem/mem_openbsd_riscv64.go index 7a7b4803..f9f838f5 100644 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_openbsd_riscv64.go +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem_openbsd_riscv64.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build openbsd && riscv64 -// +build openbsd,riscv64 // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs mem/types_openbsd.go diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_plan9.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem_plan9.go similarity index 91% rename from vendor/github.com/shirou/gopsutil/v3/mem/mem_plan9.go rename to vendor/github.com/shirou/gopsutil/v4/mem/mem_plan9.go index b5259f84..0df0745c 100644 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_plan9.go +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem_plan9.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build plan9 -// +build plan9 package mem @@ -8,7 +8,8 @@ import ( "os" stats "github.com/lufia/plan9stats" - "github.com/shirou/gopsutil/v3/internal/common" + + "github.com/shirou/gopsutil/v4/internal/common" ) func SwapMemory() (*SwapMemoryStat, error) { @@ -63,6 +64,6 @@ func SwapDevices() ([]*SwapDevice, error) { return SwapDevicesWithContext(context.Background()) } -func SwapDevicesWithContext(ctx context.Context) ([]*SwapDevice, error) { +func SwapDevicesWithContext(_ context.Context) ([]*SwapDevice, error) { return nil, common.ErrNotImplementedError } diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_solaris.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem_solaris.go similarity index 90% rename from vendor/github.com/shirou/gopsutil/v3/mem/mem_solaris.go rename to vendor/github.com/shirou/gopsutil/v4/mem/mem_solaris.go index c911267e..1a391dc4 100644 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_solaris.go +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem_solaris.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build solaris -// +build solaris package mem @@ -11,8 +11,9 @@ import ( "strconv" "strings" - "github.com/shirou/gopsutil/v3/internal/common" "github.com/tklauser/go-sysconf" + + "github.com/shirou/gopsutil/v4/internal/common" ) // VirtualMemory for Solaris is a minimal implementation which only returns @@ -24,17 +25,17 @@ func VirtualMemory() (*VirtualMemoryStat, error) { func VirtualMemoryWithContext(ctx context.Context) (*VirtualMemoryStat, error) { result := &VirtualMemoryStat{} - zoneName, err := zoneName() + zoneName, err := zoneName(ctx) if err != nil { return nil, err } if zoneName == "global" { - cap, err := globalZoneMemoryCapacity() + capacity, err := globalZoneMemoryCapacity(ctx) if err != nil { return nil, err } - result.Total = cap + result.Total = capacity freemem, err := globalZoneFreeMemory(ctx) if err != nil { return nil, err @@ -43,11 +44,11 @@ func VirtualMemoryWithContext(ctx context.Context) (*VirtualMemoryStat, error) { result.Free = freemem result.Used = result.Total - result.Free } else { - cap, err := nonGlobalZoneMemoryCapacity() + capacity, err := nonGlobalZoneMemoryCapacity(ctx) if err != nil { return nil, err } - result.Total = cap + result.Total = capacity } return result, nil @@ -57,12 +58,11 @@ func SwapMemory() (*SwapMemoryStat, error) { return SwapMemoryWithContext(context.Background()) } -func SwapMemoryWithContext(ctx context.Context) (*SwapMemoryStat, error) { +func SwapMemoryWithContext(_ context.Context) (*SwapMemoryStat, error) { return nil, common.ErrNotImplementedError } -func zoneName() (string, error) { - ctx := context.Background() +func zoneName(ctx context.Context) (string, error) { out, err := invoke.CommandWithContext(ctx, "zonename") if err != nil { return "", err @@ -73,8 +73,7 @@ func zoneName() (string, error) { var globalZoneMemoryCapacityMatch = regexp.MustCompile(`[Mm]emory size: (\d+) Megabytes`) -func globalZoneMemoryCapacity() (uint64, error) { - ctx := context.Background() +func globalZoneMemoryCapacity(ctx context.Context) (uint64, error) { out, err := invoke.CommandWithContext(ctx, "prtconf") if err != nil { return 0, err @@ -114,8 +113,7 @@ func globalZoneFreeMemory(ctx context.Context) (uint64, error) { var kstatMatch = regexp.MustCompile(`(\S+)\s+(\S*)`) -func nonGlobalZoneMemoryCapacity() (uint64, error) { - ctx := context.Background() +func nonGlobalZoneMemoryCapacity(ctx context.Context) (uint64, error) { out, err := invoke.CommandWithContext(ctx, "kstat", "-p", "-c", "zone_memory_cap", "memory_cap:*:*:physcap") if err != nil { return 0, err diff --git a/vendor/github.com/shirou/gopsutil/v3/mem/mem_windows.go b/vendor/github.com/shirou/gopsutil/v4/mem/mem_windows.go similarity index 67% rename from vendor/github.com/shirou/gopsutil/v3/mem/mem_windows.go rename to vendor/github.com/shirou/gopsutil/v4/mem/mem_windows.go index 8c7fb1a1..f7421f64 100644 --- a/vendor/github.com/shirou/gopsutil/v3/mem/mem_windows.go +++ b/vendor/github.com/shirou/gopsutil/v4/mem/mem_windows.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build windows -// +build windows package mem @@ -9,8 +9,9 @@ import ( "syscall" "unsafe" - "github.com/shirou/gopsutil/v3/internal/common" "golang.org/x/sys/windows" + + "github.com/shirou/gopsutil/v4/internal/common" ) var ( @@ -36,12 +37,14 @@ func VirtualMemory() (*VirtualMemoryStat, error) { return VirtualMemoryWithContext(context.Background()) } -func VirtualMemoryWithContext(ctx context.Context) (*VirtualMemoryStat, error) { +func VirtualMemoryWithContext(_ context.Context) (*VirtualMemoryStat, error) { var memInfo memoryStatusEx memInfo.cbSize = uint32(unsafe.Sizeof(memInfo)) - mem, _, _ := procGlobalMemoryStatusEx.Call(uintptr(unsafe.Pointer(&memInfo))) + // GlobalMemoryStatusEx returns 0 for error, in which case we check err, + // see https://pkg.go.dev/golang.org/x/sys/windows#LazyProc.Call + mem, _, err := procGlobalMemoryStatusEx.Call(uintptr(unsafe.Pointer(&memInfo))) if mem == 0 { - return nil, windows.GetLastError() + return nil, err } ret := &VirtualMemoryStat{ @@ -76,27 +79,45 @@ func SwapMemory() (*SwapMemoryStat, error) { return SwapMemoryWithContext(context.Background()) } -func SwapMemoryWithContext(ctx context.Context) (*SwapMemoryStat, error) { +func SwapMemoryWithContext(_ context.Context) (*SwapMemoryStat, error) { + // Use the performance counter to get the swap usage percentage + counter, err := common.NewWin32PerformanceCounter("swap_percentage", `\Paging File(_Total)\% Usage`) + if err != nil { + return nil, err + } + defer common.PdhCloseQuery.Call(uintptr(counter.Query)) + + usedPercent, err := counter.GetValue() + if err != nil { + return nil, err + } + + // Get total memory from performance information var perfInfo performanceInformation perfInfo.cb = uint32(unsafe.Sizeof(perfInfo)) - mem, _, _ := procGetPerformanceInfo.Call(uintptr(unsafe.Pointer(&perfInfo)), uintptr(perfInfo.cb)) + // GetPerformanceInfo returns 0 for error, in which case we check err, + // see https://pkg.go.dev/golang.org/x/sys/windows#LazyProc.Call + mem, _, err := procGetPerformanceInfo.Call(uintptr(unsafe.Pointer(&perfInfo)), uintptr(perfInfo.cb)) if mem == 0 { - return nil, windows.GetLastError() + return nil, err } - tot := perfInfo.commitLimit * perfInfo.pageSize - used := perfInfo.commitTotal * perfInfo.pageSize - free := tot - used - var usedPercent float64 - if tot == 0 { - usedPercent = 0 + totalPhys := perfInfo.physicalTotal * perfInfo.pageSize + totalSys := perfInfo.commitLimit * perfInfo.pageSize + total := totalSys - totalPhys + + var used uint64 + if total > 0 { + used = uint64(0.01 * usedPercent * float64(total)) } else { - usedPercent = float64(used) / float64(tot) * 100 + usedPercent = 0.0 + used = 0 } + ret := &SwapMemoryStat{ - Total: tot, + Total: total, Used: used, - Free: free, - UsedPercent: usedPercent, + Free: total - used, + UsedPercent: common.Round(usedPercent, 1), } return ret, nil @@ -134,7 +155,7 @@ func SwapDevices() ([]*SwapDevice, error) { return SwapDevicesWithContext(context.Background()) } -func SwapDevicesWithContext(ctx context.Context) ([]*SwapDevice, error) { +func SwapDevicesWithContext(_ context.Context) ([]*SwapDevice, error) { pageSizeOnce.Do(func() { var sysInfo systemInfo procGetNativeSystemInfo.Call(uintptr(unsafe.Pointer(&sysInfo))) @@ -144,9 +165,11 @@ func SwapDevicesWithContext(ctx context.Context) ([]*SwapDevice, error) { // the following system call invokes the supplied callback function once for each page file before returning // see https://docs.microsoft.com/en-us/windows/win32/api/psapi/nf-psapi-enumpagefilesw var swapDevices []*SwapDevice - result, _, _ := procEnumPageFilesW.Call(windows.NewCallback(pEnumPageFileCallbackW), uintptr(unsafe.Pointer(&swapDevices))) + // EnumPageFilesW returns 0 for error, in which case we check err, + // see https://pkg.go.dev/golang.org/x/sys/windows#LazyProc.Call + result, _, err := procEnumPageFilesW.Call(windows.NewCallback(pEnumPageFileCallbackW), uintptr(unsafe.Pointer(&swapDevices))) if result == 0 { - return nil, windows.GetLastError() + return nil, err } return swapDevices, nil diff --git a/vendor/github.com/shirou/gopsutil/v3/net/net.go b/vendor/github.com/shirou/gopsutil/v4/net/net.go similarity index 67% rename from vendor/github.com/shirou/gopsutil/v3/net/net.go rename to vendor/github.com/shirou/gopsutil/v4/net/net.go index 0f3a62f3..1d1f9f08 100644 --- a/vendor/github.com/shirou/gopsutil/v3/net/net.go +++ b/vendor/github.com/shirou/gopsutil/v4/net/net.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package net import ( @@ -5,7 +6,7 @@ import ( "encoding/json" "net" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) var invoke common.Invoker = common.Invoke{} @@ -93,7 +94,7 @@ type ConntrackStat struct { SearchRestart uint32 `json:"searchRestart"` // Conntrack table lookups restarted due to hashtable resizes } -func NewConntrackStat(e uint32, s uint32, f uint32, n uint32, inv uint32, ign uint32, del uint32, dlst uint32, ins uint32, insfail uint32, drop uint32, edrop uint32, ie uint32, en uint32, ec uint32, ed uint32, sr uint32) *ConntrackStat { +func NewConntrackStat(e, s, f, n, inv, ign, del, dlst, ins, insfail, drop, edrop, ie, en, ec, ed, sr uint32) *ConntrackStat { return &ConntrackStat{ Entries: e, Searched: s, @@ -206,7 +207,7 @@ func Interfaces() (InterfaceStatList, error) { return InterfacesWithContext(context.Background()) } -func InterfacesWithContext(ctx context.Context) (InterfaceStatList, error) { +func InterfacesWithContext(_ context.Context) (InterfaceStatList, error) { is, err := net.Interfaces() if err != nil { return nil, err @@ -254,7 +255,7 @@ func InterfacesWithContext(ctx context.Context) (InterfaceStatList, error) { return ret, nil } -func getIOCountersAll(n []IOCountersStat) ([]IOCountersStat, error) { +func getIOCountersAll(n []IOCountersStat) []IOCountersStat { r := IOCountersStat{ Name: "all", } @@ -269,5 +270,87 @@ func getIOCountersAll(n []IOCountersStat) ([]IOCountersStat, error) { r.Dropout += nic.Dropout } - return []IOCountersStat{r}, nil + return []IOCountersStat{r} +} + +// IOCounters returns network I/O statistics for every network +// interface installed on the system. If pernic argument is false, +// return only sum of all information (which name is 'all'). If true, +// every network interface installed on the system is returned +// separately. +func IOCounters(pernic bool) ([]IOCountersStat, error) { + return IOCountersWithContext(context.Background(), pernic) +} + +func IOCountersByFile(pernic bool, filename string) ([]IOCountersStat, error) { + return IOCountersByFileWithContext(context.Background(), pernic, filename) +} + +// ProtoCounters returns network statistics for the entire system +// If protocols is empty then all protocols are returned, otherwise +// just the protocols in the list are returned. +// Available protocols: +// [ip,icmp,icmpmsg,tcp,udp,udplite] +// Not Implemented for FreeBSD, Windows, OpenBSD, Darwin +func ProtoCounters(protocols []string) ([]ProtoCountersStat, error) { + return ProtoCountersWithContext(context.Background(), protocols) +} + +// FilterCounters returns iptables conntrack statistics +// the currently in use conntrack count and the max. +// If the file does not exist or is invalid it will return nil. +func FilterCounters() ([]FilterStat, error) { + return FilterCountersWithContext(context.Background()) +} + +// ConntrackStats returns more detailed info about the conntrack table +func ConntrackStats(percpu bool) ([]ConntrackStat, error) { + return ConntrackStatsWithContext(context.Background(), percpu) +} + +// Return a list of network connections opened. +func Connections(kind string) ([]ConnectionStat, error) { + return ConnectionsWithContext(context.Background(), kind) +} + +// Return a list of network connections opened returning at most `max` +// connections for each running process. +func ConnectionsMax(kind string, maxConn int) ([]ConnectionStat, error) { + return ConnectionsMaxWithContext(context.Background(), kind, maxConn) +} + +// Return a list of network connections opened, omitting `Uids`. +// WithoutUids functions are reliant on implementation details. They may be altered to be an alias for Connections or be +// removed from the API in the future. +func ConnectionsWithoutUids(kind string) ([]ConnectionStat, error) { + return ConnectionsWithoutUidsWithContext(context.Background(), kind) +} + +// Return a list of network connections opened by a process. +func ConnectionsPid(kind string, pid int32) ([]ConnectionStat, error) { + return ConnectionsPidWithContext(context.Background(), kind, pid) +} + +// Return a list of network connections opened, omitting `Uids`. +// WithoutUids functions are reliant on implementation details. They may be altered to be an alias for Connections or be +// removed from the API in the future. +func ConnectionsPidWithoutUids(kind string, pid int32) ([]ConnectionStat, error) { + return ConnectionsPidWithoutUidsWithContext(context.Background(), kind, pid) +} + +func ConnectionsPidMaxWithoutUids(kind string, pid int32, maxConn int) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithoutUidsWithContext(context.Background(), kind, pid, maxConn) +} + +// Return up to `max` network connections opened by a process. +func ConnectionsPidMax(kind string, pid int32, maxConn int) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithContext(context.Background(), kind, pid, maxConn) +} + +// Pids retunres all pids. +// Note: this is a copy of process_linux.Pids() +// FIXME: Import process occurs import cycle. +// move to common made other platform breaking. Need consider. +func Pids() ([]int32, error) { + return PidsWithContext(context.Background()) } diff --git a/vendor/github.com/shirou/gopsutil/v3/net/net_aix.go b/vendor/github.com/shirou/gopsutil/v4/net/net_aix.go similarity index 61% rename from vendor/github.com/shirou/gopsutil/v3/net/net_aix.go rename to vendor/github.com/shirou/gopsutil/v4/net/net_aix.go index 81feaa8d..4531dd44 100644 --- a/vendor/github.com/shirou/gopsutil/v3/net/net_aix.go +++ b/vendor/github.com/shirou/gopsutil/v4/net/net_aix.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build aix -// +build aix package net @@ -11,43 +11,27 @@ import ( "strings" "syscall" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) -func IOCounters(pernic bool) ([]IOCountersStat, error) { - return IOCountersWithContext(context.Background(), pernic) -} - -// IOCountersByFile exists just for compatibility with Linux. -func IOCountersByFile(pernic bool, filename string) ([]IOCountersStat, error) { - return IOCountersByFileWithContext(context.Background(), pernic, filename) -} - -func IOCountersByFileWithContext(ctx context.Context, pernic bool, filename string) ([]IOCountersStat, error) { - return IOCounters(pernic) -} - -func FilterCounters() ([]FilterStat, error) { - return FilterCountersWithContext(context.Background()) -} - -func FilterCountersWithContext(ctx context.Context) ([]FilterStat, error) { +// Deprecated: use process.PidsWithContext instead +func PidsWithContext(_ context.Context) ([]int32, error) { return nil, common.ErrNotImplementedError } -func ConntrackStats(percpu bool) ([]ConntrackStat, error) { - return ConntrackStatsWithContext(context.Background(), percpu) +func IOCountersByFileWithContext(ctx context.Context, pernic bool, _ string) ([]IOCountersStat, error) { + return IOCountersWithContext(ctx, pernic) } -func ConntrackStatsWithContext(ctx context.Context, percpu bool) ([]ConntrackStat, error) { +func FilterCountersWithContext(_ context.Context) ([]FilterStat, error) { return nil, common.ErrNotImplementedError } -func ProtoCounters(protocols []string) ([]ProtoCountersStat, error) { - return ProtoCountersWithContext(context.Background(), protocols) +func ConntrackStatsWithContext(_ context.Context, _ bool) ([]ConntrackStat, error) { + return nil, common.ErrNotImplementedError } -func ProtoCountersWithContext(ctx context.Context, protocols []string) ([]ProtoCountersStat, error) { +func ProtoCountersWithContext(_ context.Context, _ []string) ([]ProtoCountersStat, error) { return nil, common.ErrNotImplementedError } @@ -97,36 +81,36 @@ func parseNetstatNetLine(line string) (ConnectionStat, error) { var portMatch = regexp.MustCompile(`(.*)\.(\d+)$`) -// This function only works for netstat returning addresses with a "." -// before the port (0.0.0.0.22 instead of 0.0.0.0:22). -func parseNetstatAddr(local string, remote string, family uint32) (laddr Addr, raddr Addr, err error) { - parse := func(l string) (Addr, error) { - matches := portMatch.FindStringSubmatch(l) - if matches == nil { - return Addr{}, fmt.Errorf("wrong addr, %s", l) - } - host := matches[1] - port := matches[2] - if host == "*" { - switch family { - case syscall.AF_INET: - host = "0.0.0.0" - case syscall.AF_INET6: - host = "::" - default: - return Addr{}, fmt.Errorf("unknown family, %d", family) - } - } - lport, err := strconv.Atoi(port) - if err != nil { - return Addr{}, err +func parseAddr(l string, family uint32) (Addr, error) { + matches := portMatch.FindStringSubmatch(l) + if matches == nil { + return Addr{}, fmt.Errorf("wrong addr, %s", l) + } + host := matches[1] + port := matches[2] + if host == "*" { + switch family { + case syscall.AF_INET: + host = "0.0.0.0" + case syscall.AF_INET6: + host = "::" + default: + return Addr{}, fmt.Errorf("unknown family, %d", family) } - return Addr{IP: host, Port: uint32(lport)}, nil } + lport, err := strconv.ParseInt(port, 10, 32) + if err != nil { + return Addr{}, err + } + return Addr{IP: host, Port: uint32(lport)}, nil +} - laddr, err = parse(local) +// This function only works for netstat returning addresses with a "." +// before the port (0.0.0.0.22 instead of 0.0.0.0:22). +func parseNetstatAddr(local, remote string, family uint32) (laddr, raddr Addr, err error) { + laddr, err = parseAddr(local, family) if remote != "*.*" { // remote addr exists - raddr, err = parse(remote) + raddr, err = parseAddr(remote, family) if err != nil { return laddr, raddr, err } @@ -199,7 +183,7 @@ func hasCorrectInetProto(kind, proto string) bool { return false } -func parseNetstatA(output string, kind string) ([]ConnectionStat, error) { +func parseNetstatA(output, kind string) ([]ConnectionStat, error) { var ret []ConnectionStat lines := strings.Split(string(output), "\n") @@ -209,7 +193,8 @@ func parseNetstatA(output string, kind string) ([]ConnectionStat, error) { continue } - if strings.HasPrefix(fields[0], "f1") { + switch { + case strings.HasPrefix(fields[0], "f1"): // Unix lines if len(fields) < 2 { // every unix connections have two lines @@ -218,12 +203,12 @@ func parseNetstatA(output string, kind string) ([]ConnectionStat, error) { c, err := parseNetstatUnixLine(fields) if err != nil { - return nil, fmt.Errorf("failed to parse Unix Address (%s): %s", line, err) + return nil, fmt.Errorf("failed to parse Unix Address (%s): %w", line, err) } ret = append(ret, c) - } else if strings.HasPrefix(fields[0], "tcp") || strings.HasPrefix(fields[0], "udp") { + case strings.HasPrefix(fields[0], "tcp") || strings.HasPrefix(fields[0], "udp"): // Inet lines if !hasCorrectInetProto(kind, fields[0]) { continue @@ -237,11 +222,11 @@ func parseNetstatA(output string, kind string) ([]ConnectionStat, error) { c, err := parseNetstatNetLine(line) if err != nil { - return nil, fmt.Errorf("failed to parse Inet Address (%s): %s", line, err) + return nil, fmt.Errorf("failed to parse Inet Address (%s): %w", line, err) } ret = append(ret, c) - } else { + default: // Header lines continue } @@ -250,10 +235,6 @@ func parseNetstatA(output string, kind string) ([]ConnectionStat, error) { return ret, nil } -func Connections(kind string) ([]ConnectionStat, error) { - return ConnectionsWithContext(context.Background(), kind) -} - func ConnectionsWithContext(ctx context.Context, kind string) ([]ConnectionStat, error) { args := []string{"-na"} switch strings.ToLower(kind) { @@ -286,45 +267,34 @@ func ConnectionsWithContext(ctx context.Context, kind string) ([]ConnectionStat, return ret, nil } -func ConnectionsMax(kind string, max int) ([]ConnectionStat, error) { - return ConnectionsMaxWithContext(context.Background(), kind, max) -} - -func ConnectionsMaxWithContext(ctx context.Context, kind string, max int) ([]ConnectionStat, error) { - return []ConnectionStat{}, common.ErrNotImplementedError -} - -// Return a list of network connections opened, omitting `Uids`. -// WithoutUids functions are reliant on implementation details. They may be altered to be an alias for Connections or be -// removed from the API in the future. -func ConnectionsWithoutUids(kind string) ([]ConnectionStat, error) { - return ConnectionsWithoutUidsWithContext(context.Background(), kind) +func ConnectionsMaxWithContext(ctx context.Context, kind string, maxConn int) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithContext(ctx, kind, 0, maxConn) } func ConnectionsWithoutUidsWithContext(ctx context.Context, kind string) ([]ConnectionStat, error) { return ConnectionsMaxWithoutUidsWithContext(ctx, kind, 0) } -func ConnectionsMaxWithoutUidsWithContext(ctx context.Context, kind string, max int) ([]ConnectionStat, error) { - return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, 0, max) +func ConnectionsMaxWithoutUidsWithContext(ctx context.Context, kind string, maxConn int) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, 0, maxConn) } -func ConnectionsPidWithoutUids(kind string, pid int32) ([]ConnectionStat, error) { - return ConnectionsPidWithoutUidsWithContext(context.Background(), kind, pid) +func ConnectionsPidWithContext(ctx context.Context, kind string, pid int32) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithContext(ctx, kind, pid, 0) } func ConnectionsPidWithoutUidsWithContext(ctx context.Context, kind string, pid int32) ([]ConnectionStat, error) { return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, 0) } -func ConnectionsPidMaxWithoutUids(kind string, pid int32, max int) ([]ConnectionStat, error) { - return ConnectionsPidMaxWithoutUidsWithContext(context.Background(), kind, pid, max) +func ConnectionsPidMaxWithContext(ctx context.Context, kind string, pid int32, maxConn int) ([]ConnectionStat, error) { + return connectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, maxConn, false) } -func ConnectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, pid int32, max int) ([]ConnectionStat, error) { - return connectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, max) +func ConnectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, pid int32, maxConn int) ([]ConnectionStat, error) { + return connectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, maxConn, true) } -func connectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, pid int32, max int) ([]ConnectionStat, error) { +func connectionsPidMaxWithoutUidsWithContext(_ context.Context, _ string, _ int32, _ int, _ bool) ([]ConnectionStat, error) { return []ConnectionStat{}, common.ErrNotImplementedError } diff --git a/vendor/github.com/shirou/gopsutil/v3/net/net_aix_cgo.go b/vendor/github.com/shirou/gopsutil/v4/net/net_aix_cgo.go similarity index 88% rename from vendor/github.com/shirou/gopsutil/v3/net/net_aix_cgo.go rename to vendor/github.com/shirou/gopsutil/v4/net/net_aix_cgo.go index 8c34f881..f7da4ce1 100644 --- a/vendor/github.com/shirou/gopsutil/v3/net/net_aix_cgo.go +++ b/vendor/github.com/shirou/gopsutil/v4/net/net_aix_cgo.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build aix && cgo -// +build aix,cgo package net @@ -29,8 +29,8 @@ func IOCountersWithContext(ctx context.Context, pernic bool) ([]IOCountersStat, } iocounters = append(iocounters, n) } - if pernic == false { - return getIOCountersAll(iocounters) + if !pernic { + return getIOCountersAll(iocounters), nil } return iocounters, nil } diff --git a/vendor/github.com/shirou/gopsutil/v3/net/net_aix_nocgo.go b/vendor/github.com/shirou/gopsutil/v4/net/net_aix_nocgo.go similarity index 89% rename from vendor/github.com/shirou/gopsutil/v3/net/net_aix_nocgo.go rename to vendor/github.com/shirou/gopsutil/v4/net/net_aix_nocgo.go index e3fce902..834534d3 100644 --- a/vendor/github.com/shirou/gopsutil/v3/net/net_aix_nocgo.go +++ b/vendor/github.com/shirou/gopsutil/v4/net/net_aix_nocgo.go @@ -1,15 +1,15 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build aix && !cgo -// +build aix,!cgo package net import ( "context" - "fmt" + "errors" "strconv" "strings" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) func parseNetstatI(output string) ([]IOCountersStat, error) { @@ -19,7 +19,7 @@ func parseNetstatI(output string) ([]IOCountersStat, error) { // Check first line is header if len(lines) > 0 && strings.Fields(lines[0])[0] != "Name" { - return nil, fmt.Errorf("not a 'netstat -i' output") + return nil, errors.New("not a 'netstat -i' output") } for _, line := range lines[1:] { @@ -88,8 +88,8 @@ func IOCountersWithContext(ctx context.Context, pernic bool) ([]IOCountersStat, if err != nil { return nil, err } - if pernic == false { - return getIOCountersAll(iocounters) + if !pernic { + return getIOCountersAll(iocounters), nil } return iocounters, nil } diff --git a/vendor/github.com/shirou/gopsutil/v3/net/net_darwin.go b/vendor/github.com/shirou/gopsutil/v4/net/net_darwin.go similarity index 77% rename from vendor/github.com/shirou/gopsutil/v3/net/net_darwin.go rename to vendor/github.com/shirou/gopsutil/v4/net/net_darwin.go index 8a7b6374..c47e0c37 100644 --- a/vendor/github.com/shirou/gopsutil/v3/net/net_darwin.go +++ b/vendor/github.com/shirou/gopsutil/v4/net/net_darwin.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build darwin -// +build darwin package net @@ -12,11 +12,11 @@ import ( "strconv" "strings" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) var ( - errNetstatHeader = errors.New("Can't parse header of netstat output") + errNetstatHeader = errors.New("can't parse header of netstat output") netstatLinkRegexp = regexp.MustCompile(`^$`) ) @@ -29,15 +29,14 @@ func parseNetstatLine(line string) (stat *IOCountersStat, linkID *uint, err erro ) if columns[0] == "Name" { - err = errNetstatHeader - return + return nil, nil, errNetstatHeader } // try to extract the numeric value from if subMatch := netstatLinkRegexp.FindStringSubmatch(columns[2]); len(subMatch) == 2 { numericValue, err = strconv.ParseUint(subMatch[1], 10, 64) if err != nil { - return + return nil, nil, err } linkIDUint := uint(numericValue) linkID = &linkIDUint @@ -50,8 +49,7 @@ func parseNetstatLine(line string) (stat *IOCountersStat, linkID *uint, err erro base = 0 } if numberColumns < 11 || numberColumns > 13 { - err = fmt.Errorf("Line %q do have an invalid number of columns %d", line, numberColumns) - return + return nil, nil, fmt.Errorf("line %q do have an invalid number of columns %d", line, numberColumns) } parsed := make([]uint64, 0, 7) @@ -74,7 +72,7 @@ func parseNetstatLine(line string) (stat *IOCountersStat, linkID *uint, err erro } if numericValue, err = strconv.ParseUint(target, 10, 64); err != nil { - return + return nil, nil, err } parsed = append(parsed, numericValue) } @@ -91,7 +89,7 @@ func parseNetstatLine(line string) (stat *IOCountersStat, linkID *uint, err erro if len(parsed) == 7 { stat.Dropout = parsed[6] } - return + return stat, linkID, nil } type netstatInterface struct { @@ -143,8 +141,8 @@ func newMapInterfaceNameUsage(ifaces []netstatInterface) mapInterfaceNameUsage { return output } -func (min mapInterfaceNameUsage) isTruncated() bool { - for _, usage := range min { +func (mapi mapInterfaceNameUsage) isTruncated() bool { + for _, usage := range mapi { if usage > 1 { return true } @@ -152,9 +150,9 @@ func (min mapInterfaceNameUsage) isTruncated() bool { return false } -func (min mapInterfaceNameUsage) notTruncated() []string { +func (mapi mapInterfaceNameUsage) notTruncated() []string { output := make([]string, 0) - for ifaceName, usage := range min { + for ifaceName, usage := range mapi { if usage == 1 { output = append(output, ifaceName) } @@ -162,15 +160,16 @@ func (min mapInterfaceNameUsage) notTruncated() []string { return output } +// Deprecated: use process.PidsWithContext instead +func PidsWithContext(_ context.Context) ([]int32, error) { + return nil, common.ErrNotImplementedError +} + // example of `netstat -ibdnW` output on yosemite // Name Mtu Network Address Ipkts Ierrs Ibytes Opkts Oerrs Obytes Coll Drop // lo0 16384 869107 0 169411755 869107 0 169411755 0 0 // lo0 16384 ::1/128 ::1 869107 - 169411755 869107 - 169411755 - - // lo0 16384 127 127.0.0.1 869107 - 169411755 869107 - 169411755 - - -func IOCounters(pernic bool) ([]IOCountersStat, error) { - return IOCountersWithContext(context.Background(), pernic) -} - func IOCountersWithContext(ctx context.Context, pernic bool) ([]IOCountersStat, error) { var ( ret []IOCountersStat @@ -247,45 +246,24 @@ func IOCountersWithContext(ctx context.Context, pernic bool) ([]IOCountersStat, } } - if pernic == false { - return getIOCountersAll(ret) + if !pernic { + return getIOCountersAll(ret), nil } return ret, nil } -// IOCountersByFile exists just for compatibility with Linux. -func IOCountersByFile(pernic bool, filename string) ([]IOCountersStat, error) { - return IOCountersByFileWithContext(context.Background(), pernic, filename) -} - -func IOCountersByFileWithContext(ctx context.Context, pernic bool, filename string) ([]IOCountersStat, error) { +func IOCountersByFileWithContext(ctx context.Context, pernic bool, _ string) ([]IOCountersStat, error) { return IOCountersWithContext(ctx, pernic) } -func FilterCounters() ([]FilterStat, error) { - return FilterCountersWithContext(context.Background()) -} - -func FilterCountersWithContext(ctx context.Context) ([]FilterStat, error) { +func FilterCountersWithContext(_ context.Context) ([]FilterStat, error) { return nil, common.ErrNotImplementedError } -func ConntrackStats(percpu bool) ([]ConntrackStat, error) { - return ConntrackStatsWithContext(context.Background(), percpu) -} - -func ConntrackStatsWithContext(ctx context.Context, percpu bool) ([]ConntrackStat, error) { +func ConntrackStatsWithContext(_ context.Context, _ bool) ([]ConntrackStat, error) { return nil, common.ErrNotImplementedError } -// ProtoCounters returns network statistics for the entire system -// If protocols is empty then all protocols are returned, otherwise -// just the protocols in the list are returned. -// Not Implemented for Darwin -func ProtoCounters(protocols []string) ([]ProtoCountersStat, error) { - return ProtoCountersWithContext(context.Background(), protocols) -} - -func ProtoCountersWithContext(ctx context.Context, protocols []string) ([]ProtoCountersStat, error) { +func ProtoCountersWithContext(_ context.Context, _ []string) ([]ProtoCountersStat, error) { return nil, common.ErrNotImplementedError } diff --git a/vendor/github.com/shirou/gopsutil/v4/net/net_fallback.go b/vendor/github.com/shirou/gopsutil/v4/net/net_fallback.go new file mode 100644 index 00000000..29c2a148 --- /dev/null +++ b/vendor/github.com/shirou/gopsutil/v4/net/net_fallback.go @@ -0,0 +1,71 @@ +// SPDX-License-Identifier: BSD-3-Clause +//go:build !aix && !darwin && !linux && !freebsd && !openbsd && !windows && !solaris + +package net + +import ( + "context" + + "github.com/shirou/gopsutil/v4/internal/common" +) + +func IOCountersWithContext(_ context.Context, _ bool) ([]IOCountersStat, error) { + return []IOCountersStat{}, common.ErrNotImplementedError +} + +func IOCountersByFileWithContext(ctx context.Context, pernic bool, _ string) ([]IOCountersStat, error) { + return IOCountersWithContext(ctx, pernic) +} + +func FilterCountersWithContext(_ context.Context) ([]FilterStat, error) { + return nil, common.ErrNotImplementedError +} + +func ConntrackStatsWithContext(_ context.Context, _ bool) ([]ConntrackStat, error) { + return nil, common.ErrNotImplementedError +} + +func ProtoCountersWithContext(_ context.Context, _ []string) ([]ProtoCountersStat, error) { + return nil, common.ErrNotImplementedError +} + +// Deprecated: use process.PidsWithContext instead +func PidsWithContext(_ context.Context) ([]int32, error) { + return nil, common.ErrNotImplementedError +} + +func ConnectionsWithContext(_ context.Context, _ string) ([]ConnectionStat, error) { + return []ConnectionStat{}, common.ErrNotImplementedError +} + +func ConnectionsMaxWithContext(ctx context.Context, kind string, maxConn int) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithContext(ctx, kind, 0, maxConn) +} + +func ConnectionsWithoutUidsWithContext(ctx context.Context, kind string) ([]ConnectionStat, error) { + return ConnectionsMaxWithoutUidsWithContext(ctx, kind, 0) +} + +func ConnectionsMaxWithoutUidsWithContext(ctx context.Context, kind string, maxConn int) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, 0, maxConn) +} + +func ConnectionsPidWithoutUidsWithContext(ctx context.Context, kind string, pid int32) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, 0) +} + +func ConnectionsPidWithContext(ctx context.Context, kind string, pid int32) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithContext(ctx, kind, pid, 0) +} + +func ConnectionsPidMaxWithContext(ctx context.Context, kind string, pid int32, maxConn int) ([]ConnectionStat, error) { + return connectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, maxConn, false) +} + +func ConnectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, pid int32, maxConn int) ([]ConnectionStat, error) { + return connectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, maxConn, true) +} + +func connectionsPidMaxWithoutUidsWithContext(_ context.Context, _ string, _ int32, _ int, _ bool) ([]ConnectionStat, error) { + return []ConnectionStat{}, common.ErrNotImplementedError +} diff --git a/vendor/github.com/shirou/gopsutil/v3/net/net_freebsd.go b/vendor/github.com/shirou/gopsutil/v4/net/net_freebsd.go similarity index 57% rename from vendor/github.com/shirou/gopsutil/v3/net/net_freebsd.go rename to vendor/github.com/shirou/gopsutil/v4/net/net_freebsd.go index bf8baf09..a72aa00a 100644 --- a/vendor/github.com/shirou/gopsutil/v3/net/net_freebsd.go +++ b/vendor/github.com/shirou/gopsutil/v4/net/net_freebsd.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build freebsd -// +build freebsd package net @@ -8,11 +8,12 @@ import ( "strconv" "strings" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) -func IOCounters(pernic bool) ([]IOCountersStat, error) { - return IOCountersWithContext(context.Background(), pernic) +// Deprecated: use process.PidsWithContext instead +func PidsWithContext(_ context.Context) ([]int32, error) { + return nil, common.ErrNotImplementedError } func IOCountersWithContext(ctx context.Context, pernic bool) ([]IOCountersStat, error) { @@ -83,46 +84,25 @@ func IOCountersWithContext(ctx context.Context, pernic bool) ([]IOCountersStat, ret = append(ret, n) } - if pernic == false { - return getIOCountersAll(ret) + if !pernic { + return getIOCountersAll(ret), nil } return ret, nil } -// IOCountersByFile exists just for compatibility with Linux. -func IOCountersByFile(pernic bool, filename string) ([]IOCountersStat, error) { - return IOCountersByFileWithContext(context.Background(), pernic, filename) -} - -func IOCountersByFileWithContext(ctx context.Context, pernic bool, filename string) ([]IOCountersStat, error) { - return IOCounters(pernic) -} - -func FilterCounters() ([]FilterStat, error) { - return FilterCountersWithContext(context.Background()) +func IOCountersByFileWithContext(ctx context.Context, pernic bool, _ string) ([]IOCountersStat, error) { + return IOCountersWithContext(ctx, pernic) } -func FilterCountersWithContext(ctx context.Context) ([]FilterStat, error) { +func FilterCountersWithContext(_ context.Context) ([]FilterStat, error) { return nil, common.ErrNotImplementedError } -func ConntrackStats(percpu bool) ([]ConntrackStat, error) { - return ConntrackStatsWithContext(context.Background(), percpu) -} - -func ConntrackStatsWithContext(ctx context.Context, percpu bool) ([]ConntrackStat, error) { +func ConntrackStatsWithContext(_ context.Context, _ bool) ([]ConntrackStat, error) { return nil, common.ErrNotImplementedError } -// ProtoCounters returns network statistics for the entire system -// If protocols is empty then all protocols are returned, otherwise -// just the protocols in the list are returned. -// Not Implemented for FreeBSD -func ProtoCounters(protocols []string) ([]ProtoCountersStat, error) { - return ProtoCountersWithContext(context.Background(), protocols) -} - -func ProtoCountersWithContext(ctx context.Context, protocols []string) ([]ProtoCountersStat, error) { +func ProtoCountersWithContext(_ context.Context, _ []string) ([]ProtoCountersStat, error) { return nil, common.ErrNotImplementedError } diff --git a/vendor/github.com/shirou/gopsutil/v3/net/net_linux.go b/vendor/github.com/shirou/gopsutil/v4/net/net_linux.go similarity index 74% rename from vendor/github.com/shirou/gopsutil/v3/net/net_linux.go rename to vendor/github.com/shirou/gopsutil/v4/net/net_linux.go index 20ca5470..f01b04b5 100644 --- a/vendor/github.com/shirou/gopsutil/v3/net/net_linux.go +++ b/vendor/github.com/shirou/gopsutil/v4/net/net_linux.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build linux -// +build linux package net @@ -16,7 +16,7 @@ import ( "strings" "syscall" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) const ( // Conntrack Column numbers @@ -27,37 +27,24 @@ const ( // Conntrack Column numbers ctINVALID ctIGNORE ctDELETE - ctDELETE_LIST + ctDELETE_LIST //nolint:revive //FIXME ctINSERT - ctINSERT_FAILED + ctINSERT_FAILED //nolint:revive //FIXME ctDROP - ctEARLY_DROP - ctICMP_ERROR - CT_EXPEctNEW - ctEXPECT_CREATE - CT_EXPEctDELETE - ctSEARCH_RESTART + ctEARLY_DROP //nolint:revive //FIXME + ctICMP_ERROR //nolint:revive //FIXME + CT_EXPEctNEW //nolint:revive //FIXME + ctEXPECT_CREATE //nolint:revive //FIXME + CT_EXPEctDELETE //nolint:revive //FIXME + ctSEARCH_RESTART //nolint:revive //FIXME ) -// NetIOCounters returns network I/O statistics for every network -// interface installed on the system. If pernic argument is false, -// return only sum of all information (which name is 'all'). If true, -// every network interface installed on the system is returned -// separately. -func IOCounters(pernic bool) ([]IOCountersStat, error) { - return IOCountersWithContext(context.Background(), pernic) -} - func IOCountersWithContext(ctx context.Context, pernic bool) ([]IOCountersStat, error) { filename := common.HostProcWithContext(ctx, "net/dev") return IOCountersByFileWithContext(ctx, pernic, filename) } -func IOCountersByFile(pernic bool, filename string) ([]IOCountersStat, error) { - return IOCountersByFileWithContext(context.Background(), pernic, filename) -} - -func IOCountersByFileWithContext(ctx context.Context, pernic bool, filename string) ([]IOCountersStat, error) { +func IOCountersByFileWithContext(_ context.Context, pernic bool, filename string) ([]IOCountersStat, error) { lines, err := common.ReadLines(filename) if err != nil { return nil, err @@ -141,7 +128,7 @@ func IOCountersByFileWithContext(ctx context.Context, pernic bool, filename stri } if !pernic { - return getIOCountersAll(ret) + return getIOCountersAll(ret), nil } return ret, nil @@ -156,15 +143,6 @@ var netProtocols = []string{ "udplite", } -// ProtoCounters returns network statistics for the entire system -// If protocols is empty then all protocols are returned, otherwise -// just the protocols in the list are returned. -// Available protocols: -// [ip,icmp,icmpmsg,tcp,udp,udplite] -func ProtoCounters(protocols []string) ([]ProtoCountersStat, error) { - return ProtoCountersWithContext(context.Background(), protocols) -} - func ProtoCountersWithContext(ctx context.Context, protocols []string) ([]ProtoCountersStat, error) { if len(protocols) == 0 { protocols = netProtocols @@ -221,13 +199,6 @@ func ProtoCountersWithContext(ctx context.Context, protocols []string) ([]ProtoC return stats, nil } -// NetFilterCounters returns iptables conntrack statistics -// the currently in use conntrack count and the max. -// If the file does not exist or is invalid it will return nil. -func FilterCounters() ([]FilterStat, error) { - return FilterCountersWithContext(context.Background()) -} - func FilterCountersWithContext(ctx context.Context) ([]FilterStat, error) { countfile := common.HostProcWithContext(ctx, "sys/net/netfilter/nf_conntrack_count") maxfile := common.HostProcWithContext(ctx, "sys/net/netfilter/nf_conntrack_max") @@ -238,25 +209,20 @@ func FilterCountersWithContext(ctx context.Context) ([]FilterStat, error) { } stats := make([]FilterStat, 0, 1) - max, err := common.ReadInts(maxfile) + maxConn, err := common.ReadInts(maxfile) if err != nil { return nil, err } payload := FilterStat{ ConnTrackCount: count[0], - ConnTrackMax: max[0], + ConnTrackMax: maxConn[0], } stats = append(stats, payload) return stats, nil } -// ConntrackStats returns more detailed info about the conntrack table -func ConntrackStats(percpu bool) ([]ConntrackStat, error) { - return ConntrackStatsWithContext(context.Background(), percpu) -} - // ConntrackStatsWithContext returns more detailed info about the conntrack table func ConntrackStatsWithContext(ctx context.Context, percpu bool) ([]ConntrackStat, error) { return conntrackStatsFromFile(common.HostProcWithContext(ctx, "net/stat/nf_conntrack"), percpu) @@ -385,47 +351,20 @@ type connTmp struct { path string } -// Return a list of network connections opened. -func Connections(kind string) ([]ConnectionStat, error) { - return ConnectionsWithContext(context.Background(), kind) -} - func ConnectionsWithContext(ctx context.Context, kind string) ([]ConnectionStat, error) { return ConnectionsPidWithContext(ctx, kind, 0) } -// Return a list of network connections opened returning at most `max` -// connections for each running process. -func ConnectionsMax(kind string, max int) ([]ConnectionStat, error) { - return ConnectionsMaxWithContext(context.Background(), kind, max) -} - -func ConnectionsMaxWithContext(ctx context.Context, kind string, max int) ([]ConnectionStat, error) { - return ConnectionsPidMaxWithContext(ctx, kind, 0, max) -} - -// Return a list of network connections opened, omitting `Uids`. -// WithoutUids functions are reliant on implementation details. They may be altered to be an alias for Connections or be -// removed from the API in the future. -func ConnectionsWithoutUids(kind string) ([]ConnectionStat, error) { - return ConnectionsWithoutUidsWithContext(context.Background(), kind) +func ConnectionsMaxWithContext(ctx context.Context, kind string, maxConn int) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithContext(ctx, kind, 0, maxConn) } func ConnectionsWithoutUidsWithContext(ctx context.Context, kind string) ([]ConnectionStat, error) { return ConnectionsMaxWithoutUidsWithContext(ctx, kind, 0) } -func ConnectionsMaxWithoutUidsWithContext(ctx context.Context, kind string, max int) ([]ConnectionStat, error) { - return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, 0, max) -} - -// Return a list of network connections opened by a process. -func ConnectionsPid(kind string, pid int32) ([]ConnectionStat, error) { - return ConnectionsPidWithContext(context.Background(), kind, pid) -} - -func ConnectionsPidWithoutUids(kind string, pid int32) ([]ConnectionStat, error) { - return ConnectionsPidWithoutUidsWithContext(context.Background(), kind, pid) +func ConnectionsMaxWithoutUidsWithContext(ctx context.Context, kind string, maxConn int) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, 0, maxConn) } func ConnectionsPidWithContext(ctx context.Context, kind string, pid int32) ([]ConnectionStat, error) { @@ -436,24 +375,15 @@ func ConnectionsPidWithoutUidsWithContext(ctx context.Context, kind string, pid return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, 0) } -// Return up to `max` network connections opened by a process. -func ConnectionsPidMax(kind string, pid int32, max int) ([]ConnectionStat, error) { - return ConnectionsPidMaxWithContext(context.Background(), kind, pid, max) -} - -func ConnectionsPidMaxWithoutUids(kind string, pid int32, max int) ([]ConnectionStat, error) { - return ConnectionsPidMaxWithoutUidsWithContext(context.Background(), kind, pid, max) -} - -func ConnectionsPidMaxWithContext(ctx context.Context, kind string, pid int32, max int) ([]ConnectionStat, error) { - return connectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, max, false) +func ConnectionsPidMaxWithContext(ctx context.Context, kind string, pid int32, maxConn int) ([]ConnectionStat, error) { + return connectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, maxConn, false) } -func ConnectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, pid int32, max int) ([]ConnectionStat, error) { - return connectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, max, true) +func ConnectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, pid int32, maxConn int) ([]ConnectionStat, error) { + return connectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, maxConn, true) } -func connectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, pid int32, max int, skipUids bool) ([]ConnectionStat, error) { +func connectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, pid int32, maxConn int, skipUids bool) ([]ConnectionStat, error) { tmap, ok := netConnectionKindMap[kind] if !ok { return nil, fmt.Errorf("invalid kind, %s", kind) @@ -462,9 +392,9 @@ func connectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, p var err error var inodes map[string][]inodeMap if pid == 0 { - inodes, err = getProcInodesAllWithContext(ctx, root, max) + inodes, err = getProcInodesAllWithContext(ctx, root, maxConn) } else { - inodes, err = getProcInodes(root, pid, max) + inodes, err = getProcInodes(root, pid, maxConn) if len(inodes) == 0 { // no connection for the pid return []ConnectionStat{}, nil @@ -476,10 +406,6 @@ func connectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, p return statsFromInodesWithContext(ctx, root, pid, tmap, inodes, skipUids) } -func statsFromInodes(root string, pid int32, tmap []netConnectionKindType, inodes map[string][]inodeMap, skipUids bool) ([]ConnectionStat, error) { - return statsFromInodesWithContext(context.Background(), root, pid, tmap, inodes, skipUids) -} - func statsFromInodesWithContext(ctx context.Context, root string, pid int32, tmap []netConnectionKindType, inodes map[string][]inodeMap, skipUids bool) ([]ConnectionStat, error) { dupCheckMap := make(map[string]struct{}) var ret []ConnectionStat @@ -496,7 +422,7 @@ func statsFromInodesWithContext(ctx context.Context, root string, pid int32, tma } switch t.family { case syscall.AF_INET, syscall.AF_INET6: - ls, err = processInetWithContext(ctx, path, t, inodes, pid) + ls, err = processInet(path, t, inodes, pid) case syscall.AF_UNIX: ls, err = processUnix(path, t, inodes, pid) } @@ -543,7 +469,7 @@ func statsFromInodesWithContext(ctx context.Context, root string, pid int32, tma } // getProcInodes returns fd of the pid. -func getProcInodes(root string, pid int32, max int) (map[string][]inodeMap, error) { +func getProcInodes(root string, pid int32, maxConn int) (map[string][]inodeMap, error) { ret := make(map[string][]inodeMap) dir := fmt.Sprintf("%s/%d/fd", root, pid) @@ -552,7 +478,7 @@ func getProcInodes(root string, pid int32, max int) (map[string][]inodeMap, erro return ret, err } defer f.Close() - dirEntries, err := readDir(f, max) + dirEntries, err := f.ReadDir(maxConn) if err != nil { return ret, err } @@ -573,7 +499,7 @@ func getProcInodes(root string, pid int32, max int) (map[string][]inodeMap, erro if !ok { ret[inode] = make([]inodeMap, 0) } - fd, err := strconv.Atoi(dirEntry.Name()) + fd, err := strconv.ParseInt(dirEntry.Name(), 10, 32) if err != nil { continue } @@ -587,14 +513,6 @@ func getProcInodes(root string, pid int32, max int) (map[string][]inodeMap, erro return ret, nil } -// Pids retunres all pids. -// Note: this is a copy of process_linux.Pids() -// FIXME: Import process occures import cycle. -// move to common made other platform breaking. Need consider. -func Pids() ([]int32, error) { - return PidsWithContext(context.Background()) -} - func PidsWithContext(ctx context.Context) ([]int32, error) { var ret []int32 @@ -622,7 +540,7 @@ func PidsWithContext(ctx context.Context) ([]int32, error) { // Note: the following is based off process_linux structs and methods // we need these to fetch the owner of a process ID -// FIXME: Import process occures import cycle. +// FIXME: Import process occurs import cycle. // see remarks on pids() type process struct { Pid int32 `json:"pid"` @@ -653,8 +571,7 @@ func (p *process) fillFromStatus(ctx context.Context) error { continue } value := tabParts[1] - switch strings.TrimRight(tabParts[0], ":") { - case "Uid": + if strings.TrimRight(tabParts[0], ":") == "Uid" { p.uids = make([]int32, 0, 4) for _, i := range strings.Split(value, "\t") { v, err := strconv.ParseInt(i, 10, 32) @@ -668,11 +585,7 @@ func (p *process) fillFromStatus(ctx context.Context) error { return nil } -func getProcInodesAll(root string, max int) (map[string][]inodeMap, error) { - return getProcInodesAllWithContext(context.Background(), root, max) -} - -func getProcInodesAllWithContext(ctx context.Context, root string, max int) (map[string][]inodeMap, error) { +func getProcInodesAllWithContext(ctx context.Context, root string, maxConn int) (map[string][]inodeMap, error) { pids, err := PidsWithContext(ctx) if err != nil { return nil, err @@ -680,7 +593,7 @@ func getProcInodesAllWithContext(ctx context.Context, root string, max int) (map ret := make(map[string][]inodeMap) for _, pid := range pids { - t, err := getProcInodes(root, pid, max) + t, err := getProcInodes(root, pid, maxConn) if err != nil { // skip if permission error or no longer exists if os.IsPermission(err) || os.IsNotExist(err) || errors.Is(err, io.EOF) { @@ -702,10 +615,6 @@ func getProcInodesAllWithContext(ctx context.Context, root string, max int) (map // "0500000A:0016" -> "10.0.0.5", 22 // "0085002452100113070057A13F025401:0035" -> "2400:8500:1301:1052:a157:7:154:23f", 53 func decodeAddress(family uint32, src string) (Addr, error) { - return decodeAddressWithContext(context.Background(), family, src) -} - -func decodeAddressWithContext(ctx context.Context, family uint32, src string) (Addr, error) { t := strings.Split(src, ":") if len(t) != 2 { return Addr{}, fmt.Errorf("does not contain port, %s", src) @@ -723,12 +632,12 @@ func decodeAddressWithContext(ctx context.Context, family uint32, src string) (A if family == syscall.AF_INET { if common.IsLittleEndian() { - ip = net.IP(ReverseWithContext(ctx, decoded)) + ip = net.IP(Reverse(decoded)) } else { ip = net.IP(decoded) } } else { // IPv6 - ip, err = parseIPv6HexStringWithContext(ctx, decoded) + ip, err = parseIPv6HexString(decoded) if err != nil { return Addr{}, err } @@ -739,12 +648,7 @@ func decodeAddressWithContext(ctx context.Context, family uint32, src string) (A }, nil } -// Reverse reverses array of bytes. func Reverse(s []byte) []byte { - return ReverseWithContext(context.Background(), s) -} - -func ReverseWithContext(ctx context.Context, s []byte) []byte { for i, j := 0, len(s)-1; i < j; i, j = i+1, j-1 { s[i], s[j] = s[j], s[i] } @@ -753,27 +657,19 @@ func ReverseWithContext(ctx context.Context, s []byte) []byte { // parseIPv6HexString parse array of bytes to IPv6 string func parseIPv6HexString(src []byte) (net.IP, error) { - return parseIPv6HexStringWithContext(context.Background(), src) -} - -func parseIPv6HexStringWithContext(ctx context.Context, src []byte) (net.IP, error) { if len(src) != 16 { - return nil, fmt.Errorf("invalid IPv6 string") + return nil, errors.New("invalid IPv6 string") } buf := make([]byte, 0, 16) for i := 0; i < len(src); i += 4 { - r := ReverseWithContext(ctx, src[i:i+4]) + r := Reverse(src[i : i+4]) buf = append(buf, r...) } return net.IP(buf), nil } func processInet(file string, kind netConnectionKindType, inodes map[string][]inodeMap, filterPid int32) ([]connTmp, error) { - return processInetWithContext(context.Background(), file, kind, inodes, filterPid) -} - -func processInetWithContext(ctx context.Context, file string, kind netConnectionKindType, inodes map[string][]inodeMap, filterPid int32) ([]connTmp, error) { if strings.HasSuffix(file, "6") && !common.PathExists(file) { // IPv6 not supported, return empty. return []connTmp{}, nil @@ -816,11 +712,11 @@ func processInetWithContext(ctx context.Context, file string, kind netConnection } else { status = "NONE" } - la, err := decodeAddressWithContext(ctx, kind.family, laddr) + la, err := decodeAddress(kind.family, laddr) if err != nil { continue } - ra, err := decodeAddressWithContext(ctx, kind.family, raddr) + ra, err := decodeAddress(kind.family, raddr) if err != nil { continue } @@ -858,7 +754,7 @@ func processUnix(file string, kind netConnectionKindType, inodes map[string][]in if len(tokens) < 6 { continue } - st, err := strconv.Atoi(tokens[4]) + st, err := strconv.ParseInt(tokens[4], 10, 32) if err != nil { return nil, err } @@ -897,7 +793,7 @@ func processUnix(file string, kind netConnectionKindType, inodes map[string][]in return ret, nil } -func updateMap(src map[string][]inodeMap, add map[string][]inodeMap) map[string][]inodeMap { +func updateMap(src, add map[string][]inodeMap) map[string][]inodeMap { for key, value := range add { a, exists := src[key] if !exists { diff --git a/vendor/github.com/shirou/gopsutil/v3/net/net_openbsd.go b/vendor/github.com/shirou/gopsutil/v4/net/net_openbsd.go similarity index 64% rename from vendor/github.com/shirou/gopsutil/v3/net/net_openbsd.go rename to vendor/github.com/shirou/gopsutil/v4/net/net_openbsd.go index 25bbe49c..ec4cfb95 100644 --- a/vendor/github.com/shirou/gopsutil/v3/net/net_openbsd.go +++ b/vendor/github.com/shirou/gopsutil/v4/net/net_openbsd.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build openbsd -// +build openbsd package net @@ -12,13 +12,14 @@ import ( "strings" "syscall" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) var portMatch = regexp.MustCompile(`(.*)\.(\d+)$`) func ParseNetstat(output string, mode string, - iocs map[string]IOCountersStat) error { + iocs map[string]IOCountersStat, +) error { lines := strings.Split(output, "\n") exists := make([]string, 0, len(lines)-1) @@ -96,7 +97,7 @@ func ParseNetstat(output string, mode string, n.PacketsSent = parsed[2] n.Dropout = parsed[3] case "ine": - n.Errin = parsed[0] + n.Errin = parsed[0] n.Errout = parsed[1] } @@ -105,8 +106,9 @@ func ParseNetstat(output string, mode string, return nil } -func IOCounters(pernic bool) ([]IOCountersStat, error) { - return IOCountersWithContext(context.Background(), pernic) +// Deprecated: use process.PidsWithContext instead +func PidsWithContext(_ context.Context) ([]int32, error) { + return nil, common.ErrNotImplementedError } func IOCountersWithContext(ctx context.Context, pernic bool) ([]IOCountersStat, error) { @@ -148,47 +150,26 @@ func IOCountersWithContext(ctx context.Context, pernic bool) ([]IOCountersStat, ret = append(ret, ioc) } - if pernic == false { - return getIOCountersAll(ret) + if !pernic { + return getIOCountersAll(ret), nil } return ret, nil } -// IOCountersByFile exists just for compatibility with Linux. -func IOCountersByFile(pernic bool, filename string) ([]IOCountersStat, error) { - return IOCountersByFileWithContext(context.Background(), pernic, filename) -} - -func IOCountersByFileWithContext(ctx context.Context, pernic bool, filename string) ([]IOCountersStat, error) { - return IOCounters(pernic) +func IOCountersByFileWithContext(ctx context.Context, pernic bool, _ string) ([]IOCountersStat, error) { + return IOCountersWithContext(ctx, pernic) } -func FilterCounters() ([]FilterStat, error) { - return FilterCountersWithContext(context.Background()) -} - -func FilterCountersWithContext(ctx context.Context) ([]FilterStat, error) { +func FilterCountersWithContext(_ context.Context) ([]FilterStat, error) { return nil, common.ErrNotImplementedError } -func ConntrackStats(percpu bool) ([]ConntrackStat, error) { - return ConntrackStatsWithContext(context.Background(), percpu) -} - -func ConntrackStatsWithContext(ctx context.Context, percpu bool) ([]ConntrackStat, error) { +func ConntrackStatsWithContext(_ context.Context, _ bool) ([]ConntrackStat, error) { return nil, common.ErrNotImplementedError } -// ProtoCounters returns network statistics for the entire system -// If protocols is empty then all protocols are returned, otherwise -// just the protocols in the list are returned. -// Not Implemented for OpenBSD -func ProtoCounters(protocols []string) ([]ProtoCountersStat, error) { - return ProtoCountersWithContext(context.Background(), protocols) -} - -func ProtoCountersWithContext(ctx context.Context, protocols []string) ([]ProtoCountersStat, error) { +func ProtoCountersWithContext(_ context.Context, _ []string) ([]ProtoCountersStat, error) { return nil, common.ErrNotImplementedError } @@ -236,34 +217,34 @@ func parseNetstatLine(line string) (ConnectionStat, error) { return n, nil } -func parseNetstatAddr(local string, remote string, family uint32) (laddr Addr, raddr Addr, err error) { - parse := func(l string) (Addr, error) { - matches := portMatch.FindStringSubmatch(l) - if matches == nil { - return Addr{}, fmt.Errorf("wrong addr, %s", l) - } - host := matches[1] - port := matches[2] - if host == "*" { - switch family { - case syscall.AF_INET: - host = "0.0.0.0" - case syscall.AF_INET6: - host = "::" - default: - return Addr{}, fmt.Errorf("unknown family, %d", family) - } - } - lport, err := strconv.Atoi(port) - if err != nil { - return Addr{}, err +func parseAddr(l string, family uint32) (Addr, error) { + matches := portMatch.FindStringSubmatch(l) + if matches == nil { + return Addr{}, fmt.Errorf("wrong addr, %s", l) + } + host := matches[1] + port := matches[2] + if host == "*" { + switch family { + case syscall.AF_INET: + host = "0.0.0.0" + case syscall.AF_INET6: + host = "::" + default: + return Addr{}, fmt.Errorf("unknown family, %d", family) } - return Addr{IP: host, Port: uint32(lport)}, nil } + lport, err := strconv.ParseInt(port, 10, 32) + if err != nil { + return Addr{}, err + } + return Addr{IP: host, Port: uint32(lport)}, nil +} - laddr, err = parse(local) +func parseNetstatAddr(local, remote string, family uint32) (laddr, raddr Addr, err error) { + laddr, err = parseAddr(local, family) if remote != "*.*" { // remote addr exists - raddr, err = parse(remote) + raddr, err = parseAddr(remote, family) if err != nil { return laddr, raddr, err } @@ -272,11 +253,6 @@ func parseNetstatAddr(local string, remote string, family uint32) (laddr Addr, r return laddr, raddr, err } -// Return a list of network connections opened. -func Connections(kind string) ([]ConnectionStat, error) { - return ConnectionsWithContext(context.Background(), kind) -} - func ConnectionsWithContext(ctx context.Context, kind string) ([]ConnectionStat, error) { var ret []ConnectionStat @@ -284,11 +260,7 @@ func ConnectionsWithContext(ctx context.Context, kind string) ([]ConnectionStat, switch strings.ToLower(kind) { default: fallthrough - case "": - fallthrough - case "all": - fallthrough - case "inet": + case "", "all", "inet": // nothing to add case "inet4": args = append(args, "-finet") @@ -320,7 +292,7 @@ func ConnectionsWithContext(ctx context.Context, kind string) ([]ConnectionStat, } lines := strings.Split(string(out), "\n") for _, line := range lines { - if !(strings.HasPrefix(line, "tcp") || strings.HasPrefix(line, "udp")) { + if !strings.HasPrefix(line, "tcp") && !strings.HasPrefix(line, "udp") { continue } n, err := parseNetstatLine(line) @@ -333,3 +305,35 @@ func ConnectionsWithContext(ctx context.Context, kind string) ([]ConnectionStat, return ret, nil } + +func ConnectionsPidWithContext(_ context.Context, _ string, _ int32) ([]ConnectionStat, error) { + return nil, common.ErrNotImplementedError +} + +func ConnectionsMaxWithContext(_ context.Context, _ string, _ int) ([]ConnectionStat, error) { + return nil, common.ErrNotImplementedError +} + +func ConnectionsPidMaxWithContext(_ context.Context, _ string, _ int32, _ int) ([]ConnectionStat, error) { + return nil, common.ErrNotImplementedError +} + +func ConnectionsWithoutUidsWithContext(ctx context.Context, kind string) ([]ConnectionStat, error) { + return ConnectionsMaxWithoutUidsWithContext(ctx, kind, 0) +} + +func ConnectionsMaxWithoutUidsWithContext(ctx context.Context, kind string, maxConn int) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, 0, maxConn) +} + +func ConnectionsPidWithoutUidsWithContext(ctx context.Context, kind string, pid int32) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, 0) +} + +func ConnectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, pid int32, maxConn int) ([]ConnectionStat, error) { + return connectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, maxConn) +} + +func connectionsPidMaxWithoutUidsWithContext(_ context.Context, _ string, _ int32, _ int) ([]ConnectionStat, error) { + return nil, common.ErrNotImplementedError +} diff --git a/vendor/github.com/shirou/gopsutil/v3/net/net_solaris.go b/vendor/github.com/shirou/gopsutil/v4/net/net_solaris.go similarity index 58% rename from vendor/github.com/shirou/gopsutil/v3/net/net_solaris.go rename to vendor/github.com/shirou/gopsutil/v4/net/net_solaris.go index 79d8ac30..df067806 100644 --- a/vendor/github.com/shirou/gopsutil/v3/net/net_solaris.go +++ b/vendor/github.com/shirou/gopsutil/v4/net/net_solaris.go @@ -1,28 +1,20 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build solaris -// +build solaris package net import ( "context" + "errors" "fmt" "regexp" "runtime" "strconv" "strings" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) -// NetIOCounters returnes network I/O statistics for every network -// interface installed on the system. If pernic argument is false, -// return only sum of all information (which name is 'all'). If true, -// every network interface installed on the system is returned -// separately. -func IOCounters(pernic bool) ([]IOCountersStat, error) { - return IOCountersWithContext(context.Background(), pernic) -} - var kstatSplit = regexp.MustCompile(`[:\s]+`) func IOCountersWithContext(ctx context.Context, pernic bool) ([]IOCountersStat, error) { @@ -38,7 +30,7 @@ func IOCountersWithContext(ctx context.Context, pernic bool) ([]IOCountersStat, lines := strings.Split(strings.TrimSpace(string(kstatSysOut)), "\n") if len(lines) == 0 { - return nil, fmt.Errorf("no interface found") + return nil, errors.New("no interface found") } rbytes64arr := make(map[string]uint64) ipackets64arr := make(map[string]uint64) @@ -113,32 +105,65 @@ func IOCountersWithContext(ctx context.Context, pernic bool) ([]IOCountersStat, } if !pernic { - return getIOCountersAll(ret) + return getIOCountersAll(ret), nil } return ret, nil } -func Connections(kind string) ([]ConnectionStat, error) { - return ConnectionsWithContext(context.Background(), kind) +func IOCountersByFileWithContext(ctx context.Context, pernic bool, _ string) ([]IOCountersStat, error) { + return IOCountersWithContext(ctx, pernic) +} + +func FilterCountersWithContext(_ context.Context) ([]FilterStat, error) { + return nil, common.ErrNotImplementedError +} + +func ConntrackStatsWithContext(_ context.Context, _ bool) ([]ConntrackStat, error) { + return nil, common.ErrNotImplementedError +} + +func ProtoCountersWithContext(_ context.Context, _ []string) ([]ProtoCountersStat, error) { + return nil, common.ErrNotImplementedError +} + +// Deprecated: use process.PidsWithContext instead +func PidsWithContext(_ context.Context) ([]int32, error) { + return nil, common.ErrNotImplementedError } -func ConnectionsWithContext(ctx context.Context, kind string) ([]ConnectionStat, error) { +func ConnectionsWithContext(_ context.Context, _ string) ([]ConnectionStat, error) { return []ConnectionStat{}, common.ErrNotImplementedError } -func FilterCounters() ([]FilterStat, error) { - return FilterCountersWithContext(context.Background()) +func ConnectionsMaxWithContext(ctx context.Context, kind string, maxConn int) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithContext(ctx, kind, 0, maxConn) } -func FilterCountersWithContext(ctx context.Context) ([]FilterStat, error) { - return []FilterStat{}, common.ErrNotImplementedError +func ConnectionsWithoutUidsWithContext(ctx context.Context, kind string) ([]ConnectionStat, error) { + return ConnectionsMaxWithoutUidsWithContext(ctx, kind, 0) } -func ProtoCounters(protocols []string) ([]ProtoCountersStat, error) { - return ProtoCountersWithContext(context.Background(), protocols) +func ConnectionsMaxWithoutUidsWithContext(ctx context.Context, kind string, maxConn int) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, 0, maxConn) } -func ProtoCountersWithContext(ctx context.Context, protocols []string) ([]ProtoCountersStat, error) { - return []ProtoCountersStat{}, common.ErrNotImplementedError +func ConnectionsPidWithoutUidsWithContext(ctx context.Context, kind string, pid int32) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, 0) +} + +func ConnectionsPidWithContext(ctx context.Context, kind string, pid int32) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithContext(ctx, kind, pid, 0) +} + +func ConnectionsPidMaxWithContext(ctx context.Context, kind string, pid int32, maxConn int) ([]ConnectionStat, error) { + return connectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, maxConn, false) +} + +func ConnectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, pid int32, maxConn int) ([]ConnectionStat, error) { + return connectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, maxConn, true) +} + +func connectionsPidMaxWithoutUidsWithContext(_ context.Context, _ string, _ int32, _ int, _ bool) ([]ConnectionStat, error) { + return []ConnectionStat{}, common.ErrNotImplementedError } diff --git a/vendor/github.com/shirou/gopsutil/v3/net/net_unix.go b/vendor/github.com/shirou/gopsutil/v4/net/net_unix.go similarity index 56% rename from vendor/github.com/shirou/gopsutil/v3/net/net_unix.go rename to vendor/github.com/shirou/gopsutil/v4/net/net_unix.go index cb846e28..c491a291 100644 --- a/vendor/github.com/shirou/gopsutil/v3/net/net_unix.go +++ b/vendor/github.com/shirou/gopsutil/v4/net/net_unix.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build freebsd || darwin -// +build freebsd darwin package net @@ -11,33 +11,17 @@ import ( "strings" "syscall" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) -// Return a list of network connections opened. -func Connections(kind string) ([]ConnectionStat, error) { - return ConnectionsWithContext(context.Background(), kind) -} - func ConnectionsWithContext(ctx context.Context, kind string) ([]ConnectionStat, error) { return ConnectionsPidWithContext(ctx, kind, 0) } -// Return a list of network connections opened returning at most `max` -// connections for each running process. -func ConnectionsMax(kind string, max int) ([]ConnectionStat, error) { - return ConnectionsMaxWithContext(context.Background(), kind, max) -} - -func ConnectionsMaxWithContext(ctx context.Context, kind string, max int) ([]ConnectionStat, error) { +func ConnectionsMaxWithContext(_ context.Context, _ string, _ int) ([]ConnectionStat, error) { return []ConnectionStat{}, common.ErrNotImplementedError } -// Return a list of network connections opened by a process. -func ConnectionsPid(kind string, pid int32) ([]ConnectionStat, error) { - return ConnectionsPidWithContext(context.Background(), kind, pid) -} - func ConnectionsPidWithContext(ctx context.Context, kind string, pid int32) ([]ConnectionStat, error) { var ret []ConnectionStat @@ -45,11 +29,7 @@ func ConnectionsPidWithContext(ctx context.Context, kind string, pid int32) ([]C switch strings.ToLower(kind) { default: fallthrough - case "": - fallthrough - case "all": - fallthrough - case "inet": + case "", "all", "inet": args = append(args, "tcp", "-i", "udp") case "inet4": args = append(args, "4") @@ -109,11 +89,11 @@ func parseNetLine(line string) (ConnectionStat, error) { f[7] = "unix" } - pid, err := strconv.Atoi(f[1]) + pid, err := strconv.ParseInt(f[1], 10, 32) if err != nil { return ConnectionStat{}, err } - fd, err := strconv.Atoi(strings.Trim(f[3], "u")) + fd, err := strconv.ParseInt(strings.Trim(f[3], "u"), 10, 32) if err != nil { return ConnectionStat{}, fmt.Errorf("unknown fd, %s", f[3]) } @@ -151,26 +131,26 @@ func parseNetLine(line string) (ConnectionStat, error) { return n, nil } -func parseNetAddr(line string) (laddr Addr, raddr Addr, err error) { - parse := func(l string) (Addr, error) { - host, port, err := net.SplitHostPort(l) - if err != nil { - return Addr{}, fmt.Errorf("wrong addr, %s", l) - } - lport, err := strconv.Atoi(port) - if err != nil { - return Addr{}, err - } - return Addr{IP: host, Port: uint32(lport)}, nil +func parseAddr(l string) (Addr, error) { + host, port, err := net.SplitHostPort(l) + if err != nil { + return Addr{}, fmt.Errorf("wrong addr, %s", l) + } + lport, err := strconv.ParseInt(port, 10, 32) + if err != nil { + return Addr{}, err } + return Addr{IP: host, Port: uint32(lport)}, nil +} +func parseNetAddr(line string) (laddr, raddr Addr, err error) { addrs := strings.Split(line, "->") if len(addrs) == 0 { return laddr, raddr, fmt.Errorf("wrong netaddr, %s", line) } - laddr, err = parse(addrs[0]) + laddr, err = parseAddr(addrs[0]) if len(addrs) == 2 { // remote addr exists - raddr, err = parse(addrs[1]) + raddr, err = parseAddr(addrs[1]) if err != nil { return laddr, raddr, err } @@ -179,46 +159,26 @@ func parseNetAddr(line string) (laddr Addr, raddr Addr, err error) { return laddr, raddr, err } -// Return up to `max` network connections opened by a process. -func ConnectionsPidMax(kind string, pid int32, max int) ([]ConnectionStat, error) { - return ConnectionsPidMaxWithContext(context.Background(), kind, pid, max) -} - -func ConnectionsPidMaxWithContext(ctx context.Context, kind string, pid int32, max int) ([]ConnectionStat, error) { +func ConnectionsPidMaxWithContext(_ context.Context, _ string, _ int32, _ int) ([]ConnectionStat, error) { return []ConnectionStat{}, common.ErrNotImplementedError } -// Return a list of network connections opened, omitting `Uids`. -// WithoutUids functions are reliant on implementation details. They may be altered to be an alias for Connections or be -// removed from the API in the future. -func ConnectionsWithoutUids(kind string) ([]ConnectionStat, error) { - return ConnectionsWithoutUidsWithContext(context.Background(), kind) -} - func ConnectionsWithoutUidsWithContext(ctx context.Context, kind string) ([]ConnectionStat, error) { return ConnectionsMaxWithoutUidsWithContext(ctx, kind, 0) } -func ConnectionsMaxWithoutUidsWithContext(ctx context.Context, kind string, max int) ([]ConnectionStat, error) { - return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, 0, max) -} - -func ConnectionsPidWithoutUids(kind string, pid int32) ([]ConnectionStat, error) { - return ConnectionsPidWithoutUidsWithContext(context.Background(), kind, pid) +func ConnectionsMaxWithoutUidsWithContext(ctx context.Context, kind string, maxConn int) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, 0, maxConn) } func ConnectionsPidWithoutUidsWithContext(ctx context.Context, kind string, pid int32) ([]ConnectionStat, error) { return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, 0) } -func ConnectionsPidMaxWithoutUids(kind string, pid int32, max int) ([]ConnectionStat, error) { - return ConnectionsPidMaxWithoutUidsWithContext(context.Background(), kind, pid, max) -} - -func ConnectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, pid int32, max int) ([]ConnectionStat, error) { - return connectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, max) +func ConnectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, pid int32, maxConn int) ([]ConnectionStat, error) { + return connectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, maxConn) } -func connectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, pid int32, max int) ([]ConnectionStat, error) { +func connectionsPidMaxWithoutUidsWithContext(_ context.Context, _ string, _ int32, _ int) ([]ConnectionStat, error) { return []ConnectionStat{}, common.ErrNotImplementedError } diff --git a/vendor/github.com/shirou/gopsutil/v3/net/net_windows.go b/vendor/github.com/shirou/gopsutil/v4/net/net_windows.go similarity index 80% rename from vendor/github.com/shirou/gopsutil/v3/net/net_windows.go rename to vendor/github.com/shirou/gopsutil/v4/net/net_windows.go index 5d384342..96228969 100644 --- a/vendor/github.com/shirou/gopsutil/v3/net/net_windows.go +++ b/vendor/github.com/shirou/gopsutil/v4/net/net_windows.go @@ -1,18 +1,20 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build windows -// +build windows package net import ( "context" + "errors" "fmt" "net" "os" "syscall" "unsafe" - "github.com/shirou/gopsutil/v3/internal/common" "golang.org/x/sys/windows" + + "github.com/shirou/gopsutil/v4/internal/common" ) var ( @@ -94,7 +96,7 @@ const ( type mibIfRow2 struct { InterfaceLuid uint64 InterfaceIndex uint32 - InterfaceGuid guid + InterfaceGuid guid //nolint:revive //FIXME Alias [maxStringSize + 1]uint16 Description [maxStringSize + 1]uint16 PhysicalAddressLength uint32 @@ -111,7 +113,7 @@ type mibIfRow2 struct { OperStatus uint32 AdminStatus uint32 MediaConnectState uint32 - NetworkGuid guid + NetworkGuid guid //nolint:revive //FIXME ConnectionType uint32 padding1 [pad0for64_4for32]byte TransmitLinkSpeed uint64 @@ -136,11 +138,7 @@ type mibIfRow2 struct { OutQLen uint64 } -func IOCounters(pernic bool) ([]IOCountersStat, error) { - return IOCountersWithContext(context.Background(), pernic) -} - -func IOCountersWithContext(ctx context.Context, pernic bool) ([]IOCountersStat, error) { +func IOCountersWithContext(_ context.Context, pernic bool) ([]IOCountersStat, error) { ifs, err := net.Interfaces() if err != nil { return nil, err @@ -195,38 +193,20 @@ func IOCountersWithContext(ctx context.Context, pernic bool) ([]IOCountersStat, } if !pernic { - return getIOCountersAll(counters) + return getIOCountersAll(counters), nil } return counters, nil } -// IOCountersByFile exists just for compatibility with Linux. -func IOCountersByFile(pernic bool, filename string) ([]IOCountersStat, error) { - return IOCountersByFileWithContext(context.Background(), pernic, filename) -} - -func IOCountersByFileWithContext(ctx context.Context, pernic bool, filename string) ([]IOCountersStat, error) { - return IOCounters(pernic) -} - -// Return a list of network connections -// Available kind: -// -// reference to netConnectionKindMap -func Connections(kind string) ([]ConnectionStat, error) { - return ConnectionsWithContext(context.Background(), kind) +func IOCountersByFileWithContext(ctx context.Context, pernic bool, _ string) ([]IOCountersStat, error) { + return IOCountersWithContext(ctx, pernic) } func ConnectionsWithContext(ctx context.Context, kind string) ([]ConnectionStat, error) { return ConnectionsPidWithContext(ctx, kind, 0) } -// ConnectionsPid Return a list of network connections opened by a process -func ConnectionsPid(kind string, pid int32) ([]ConnectionStat, error) { - return ConnectionsPidWithContext(context.Background(), kind, pid) -} - -func ConnectionsPidWithContext(ctx context.Context, kind string, pid int32) ([]ConnectionStat, error) { +func ConnectionsPidWithContext(_ context.Context, kind string, pid int32) ([]ConnectionStat, error) { tmap, ok := netConnectionKindMap[kind] if !ok { return nil, fmt.Errorf("invalid kind, %s", kind) @@ -260,7 +240,7 @@ func getProcInet(kinds []netConnectionKindType, pid int32) ([]ConnectionStat, er func getNetStatWithKind(kindType netConnectionKindType) ([]ConnectionStat, error) { if kindType.filename == "" { - return nil, fmt.Errorf("kind filename must be required") + return nil, errors.New("kind filename must be required") } switch kindType.filename { @@ -277,76 +257,48 @@ func getNetStatWithKind(kindType netConnectionKindType) ([]ConnectionStat, error return nil, fmt.Errorf("invalid kind filename, %s", kindType.filename) } -// Return a list of network connections opened returning at most `max` -// connections for each running process. -func ConnectionsMax(kind string, max int) ([]ConnectionStat, error) { - return ConnectionsMaxWithContext(context.Background(), kind, max) -} - -func ConnectionsMaxWithContext(ctx context.Context, kind string, max int) ([]ConnectionStat, error) { - return []ConnectionStat{}, common.ErrNotImplementedError +// Deprecated: use process.PidsWithContext instead +func PidsWithContext(_ context.Context) ([]int32, error) { + return nil, common.ErrNotImplementedError } -// Return a list of network connections opened, omitting `Uids`. -// WithoutUids functions are reliant on implementation details. They may be altered to be an alias for Connections or be -// removed from the API in the future. -func ConnectionsWithoutUids(kind string) ([]ConnectionStat, error) { - return ConnectionsWithoutUidsWithContext(context.Background(), kind) +func ConnectionsMaxWithContext(ctx context.Context, kind string, maxConn int) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithContext(ctx, kind, 0, maxConn) } func ConnectionsWithoutUidsWithContext(ctx context.Context, kind string) ([]ConnectionStat, error) { return ConnectionsMaxWithoutUidsWithContext(ctx, kind, 0) } -func ConnectionsMaxWithoutUidsWithContext(ctx context.Context, kind string, max int) ([]ConnectionStat, error) { - return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, 0, max) -} - -func ConnectionsPidWithoutUids(kind string, pid int32) ([]ConnectionStat, error) { - return ConnectionsPidWithoutUidsWithContext(context.Background(), kind, pid) +func ConnectionsMaxWithoutUidsWithContext(ctx context.Context, kind string, maxConn int) ([]ConnectionStat, error) { + return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, 0, maxConn) } func ConnectionsPidWithoutUidsWithContext(ctx context.Context, kind string, pid int32) ([]ConnectionStat, error) { return ConnectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, 0) } -func ConnectionsPidMaxWithoutUids(kind string, pid int32, max int) ([]ConnectionStat, error) { - return ConnectionsPidMaxWithoutUidsWithContext(context.Background(), kind, pid, max) +func ConnectionsPidMaxWithContext(ctx context.Context, kind string, pid int32, maxConn int) ([]ConnectionStat, error) { + return connectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, maxConn, false) } -func ConnectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, pid int32, max int) ([]ConnectionStat, error) { - return connectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, max) +func ConnectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, pid int32, maxConn int) ([]ConnectionStat, error) { + return connectionsPidMaxWithoutUidsWithContext(ctx, kind, pid, maxConn, true) } -func connectionsPidMaxWithoutUidsWithContext(ctx context.Context, kind string, pid int32, max int) ([]ConnectionStat, error) { +func connectionsPidMaxWithoutUidsWithContext(_ context.Context, _ string, _ int32, _ int, _ bool) ([]ConnectionStat, error) { return []ConnectionStat{}, common.ErrNotImplementedError } -func FilterCounters() ([]FilterStat, error) { - return FilterCountersWithContext(context.Background()) -} - -func FilterCountersWithContext(ctx context.Context) ([]FilterStat, error) { +func FilterCountersWithContext(_ context.Context) ([]FilterStat, error) { return nil, common.ErrNotImplementedError } -func ConntrackStats(percpu bool) ([]ConntrackStat, error) { - return ConntrackStatsWithContext(context.Background(), percpu) -} - -func ConntrackStatsWithContext(ctx context.Context, percpu bool) ([]ConntrackStat, error) { +func ConntrackStatsWithContext(_ context.Context, _ bool) ([]ConntrackStat, error) { return nil, common.ErrNotImplementedError } -// ProtoCounters returns network statistics for the entire system -// If protocols is empty then all protocols are returned, otherwise -// just the protocols in the list are returned. -// Not Implemented for Windows -func ProtoCounters(protocols []string) ([]ProtoCountersStat, error) { - return ProtoCountersWithContext(context.Background(), protocols) -} - -func ProtoCountersWithContext(ctx context.Context, protocols []string) ([]ProtoCountersStat, error) { +func ProtoCountersWithContext(_ context.Context, _ []string) ([]ProtoCountersStat, error) { return nil, common.ErrNotImplementedError } @@ -376,7 +328,7 @@ func getTableUintptr(family uint32, buf []byte) uintptr { return p } -func getTableInfo(filename string, table interface{}) (index, step, length int) { +func getTableInfo(filename string, table any) (index, step, length int) { switch filename { case kindTCP4.filename: index = int(unsafe.Sizeof(table.(pmibTCPTableOwnerPidAll).DwNumEntries)) @@ -410,7 +362,7 @@ func getTCPConnections(family uint32) ([]ConnectionStat, error) { ) if family == 0 { - return nil, fmt.Errorf("faimly must be required") + return nil, errors.New("faimly must be required") } for { @@ -431,7 +383,7 @@ func getTCPConnections(family uint32) ([]ConnectionStat, error) { } } - err := getExtendedTcpTable(p, + err := getExtendedTCPTable(p, &size, true, family, @@ -440,7 +392,7 @@ func getTCPConnections(family uint32) ([]ConnectionStat, error) { if err == nil { break } - if err != windows.ERROR_INSUFFICIENT_BUFFER { + if !errors.Is(err, windows.ERROR_INSUFFICIENT_BUFFER) { return nil, err } buf = make([]byte, size) @@ -491,7 +443,7 @@ func getUDPConnections(family uint32) ([]ConnectionStat, error) { ) if family == 0 { - return nil, fmt.Errorf("faimly must be required") + return nil, errors.New("faimly must be required") } for { @@ -512,7 +464,7 @@ func getUDPConnections(family uint32) ([]ConnectionStat, error) { } } - err := getExtendedUdpTable( + err := getExtendedUDPTable( p, &size, true, @@ -523,7 +475,7 @@ func getUDPConnections(family uint32) ([]ConnectionStat, error) { if err == nil { break } - if err != windows.ERROR_INSUFFICIENT_BUFFER { + if !errors.Is(err, windows.ERROR_INSUFFICIENT_BUFFER) { return nil, err } buf = make([]byte, size) @@ -576,16 +528,16 @@ var tcpStatuses = map[mibTCPState]string{ 12: "DELETE", } -func getExtendedTcpTable(pTcpTable uintptr, pdwSize *uint32, bOrder bool, ulAf uint32, tableClass tcpTableClass, reserved uint32) (errcode error) { - r1, _, _ := syscall.Syscall6(procGetExtendedTCPTable.Addr(), 6, pTcpTable, uintptr(unsafe.Pointer(pdwSize)), getUintptrFromBool(bOrder), uintptr(ulAf), uintptr(tableClass), uintptr(reserved)) +func getExtendedTCPTable(pTCPTable uintptr, pdwSize *uint32, bOrder bool, ulAf uint32, tableClass tcpTableClass, reserved uint32) (errcode error) { + r1, _, _ := syscall.Syscall6(procGetExtendedTCPTable.Addr(), 6, pTCPTable, uintptr(unsafe.Pointer(pdwSize)), getUintptrFromBool(bOrder), uintptr(ulAf), uintptr(tableClass), uintptr(reserved)) if r1 != 0 { errcode = syscall.Errno(r1) } return } -func getExtendedUdpTable(pUdpTable uintptr, pdwSize *uint32, bOrder bool, ulAf uint32, tableClass udpTableClass, reserved uint32) (errcode error) { - r1, _, _ := syscall.Syscall6(procGetExtendedUDPTable.Addr(), 6, pUdpTable, uintptr(unsafe.Pointer(pdwSize)), getUintptrFromBool(bOrder), uintptr(ulAf), uintptr(tableClass), uintptr(reserved)) +func getExtendedUDPTable(pUDPTable uintptr, pdwSize *uint32, bOrder bool, ulAf uint32, tableClass udpTableClass, reserved uint32) (errcode error) { + r1, _, _ := syscall.Syscall6(procGetExtendedUDPTable.Addr(), 6, pUDPTable, uintptr(unsafe.Pointer(pdwSize)), getUintptrFromBool(bOrder), uintptr(ulAf), uintptr(tableClass), uintptr(reserved)) if r1 != 0 { errcode = syscall.Errno(r1) } diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process.go b/vendor/github.com/shirou/gopsutil/v4/process/process.go similarity index 88% rename from vendor/github.com/shirou/gopsutil/v3/process/process.go rename to vendor/github.com/shirou/gopsutil/v4/process/process.go index 1bb27abf..0bd4d9e1 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package process import ( @@ -9,15 +10,15 @@ import ( "sync" "time" - "github.com/shirou/gopsutil/v3/cpu" - "github.com/shirou/gopsutil/v3/internal/common" - "github.com/shirou/gopsutil/v3/mem" - "github.com/shirou/gopsutil/v3/net" + "github.com/shirou/gopsutil/v4/cpu" + "github.com/shirou/gopsutil/v4/internal/common" + "github.com/shirou/gopsutil/v4/mem" + "github.com/shirou/gopsutil/v4/net" ) var ( invoke common.Invoker = common.Invoke{} - ErrorNoChildren = errors.New("process does not have children") + ErrorNoChildren = errors.New("process does not have children") // Deprecated: ErrorNoChildren is never returned by process.Children(), check its returned []*Process slice length instead ErrorProcessNotRunning = errors.New("process does not exist") ErrorNotPermitted = errors.New("operation not permitted") ) @@ -29,9 +30,9 @@ type Process struct { parent int32 parentMutex sync.RWMutex // for windows ppid cache numCtxSwitches *NumCtxSwitchesStat - uids []int32 - gids []int32 - groups []int32 + uids []uint32 + gids []uint32 + groups []uint32 numThreads int32 memInfo *MemoryInfoStat sigInfo *SignalInfoStat @@ -102,10 +103,18 @@ type RlimitStat struct { } type IOCountersStat struct { - ReadCount uint64 `json:"readCount"` + // ReadCount is a number of read I/O operations such as syscalls. + ReadCount uint64 `json:"readCount"` + // WriteCount is a number of read I/O operations such as syscalls. WriteCount uint64 `json:"writeCount"` - ReadBytes uint64 `json:"readBytes"` + // ReadBytes is a number of all I/O read in bytes. This includes disk I/O on Linux and Windows. + ReadBytes uint64 `json:"readBytes"` + // WriteBytes is a number of all I/O write in bytes. This includes disk I/O on Linux and Windows. WriteBytes uint64 `json:"writeBytes"` + // DiskReadBytes is a number of disk I/O write in bytes. Currently only Linux has this value. + DiskReadBytes uint64 `json:"diskReadBytes"` + // DiskWriteBytes is a number of disk I/O read in bytes. Currently only Linux has this value. + DiskWriteBytes uint64 `json:"diskWriteBytes"` } type NumCtxSwitchesStat struct { @@ -260,13 +269,11 @@ func (p *Process) PercentWithContext(ctx context.Context, interval time.Duration if err != nil { return 0, err } - } else { - if p.lastCPUTimes == nil { - // invoked first time - p.lastCPUTimes = cpuTimes - p.lastCPUTime = now - return 0, nil - } + } else if p.lastCPUTimes == nil { + // invoked first time + p.lastCPUTimes = cpuTimes + p.lastCPUTime = now + return 0, nil } numcpu := runtime.NumCPU() @@ -316,9 +323,13 @@ func calculatePercent(t1, t2 *cpu.TimesStat, delta float64, numcpu int) float64 if delta == 0 { return 0 } - delta_proc := t2.Total() - t1.Total() - overall_percent := ((delta_proc / delta) * 100) * float64(numcpu) - return overall_percent + // https://github.com/giampaolo/psutil/blob/c034e6692cf736b5e87d14418a8153bb03f6cf42/psutil/__init__.py#L1064 + deltaProc := (t2.User - t1.User) + (t2.System - t1.System) + if deltaProc <= 0 { + return 0 + } + overallPercent := ((deltaProc / delta) * 100) * float64(numcpu) + return overallPercent } // MemoryPercent returns how many percent of the total RAM this process uses @@ -348,7 +359,7 @@ func (p *Process) CPUPercent() (float64, error) { } func (p *Process) CPUPercentWithContext(ctx context.Context) (float64, error) { - crt_time, err := p.createTimeWithContext(ctx) + createTime, err := p.createTimeWithContext(ctx) if err != nil { return 0, err } @@ -358,7 +369,7 @@ func (p *Process) CPUPercentWithContext(ctx context.Context) (float64, error) { return 0, err } - created := time.Unix(0, crt_time*int64(time.Millisecond)) + created := time.Unix(0, createTime*int64(time.Millisecond)) totalTime := time.Since(created).Seconds() if totalTime <= 0 { return 0, nil @@ -368,7 +379,7 @@ func (p *Process) CPUPercentWithContext(ctx context.Context) (float64, error) { } // Groups returns all group IDs(include supplementary groups) of the process as a slice of the int -func (p *Process) Groups() ([]int32, error) { +func (p *Process) Groups() ([]uint32, error) { return p.GroupsWithContext(context.Background()) } @@ -395,6 +406,11 @@ func (p *Process) Cmdline() (string, error) { // CmdlineSlice returns the command line arguments of the process as a slice with each // element being an argument. +// +// On Windows, this assumes the command line is encoded according to the convention accepted by +// [golang.org/x/sys/windows.CmdlineToArgv] (the most common convention). If this is not suitable, +// you should instead use [Process.Cmdline] and parse the command line according to your specific +// requirements. func (p *Process) CmdlineSlice() ([]string, error) { return p.CmdlineSliceWithContext(context.Background()) } @@ -433,12 +449,12 @@ func (p *Process) Foreground() (bool, error) { } // Uids returns user ids of the process as a slice of the int -func (p *Process) Uids() ([]int32, error) { +func (p *Process) Uids() ([]uint32, error) { return p.UidsWithContext(context.Background()) } // Gids returns group ids of the process as a slice of the int -func (p *Process) Gids() ([]int32, error) { +func (p *Process) Gids() ([]uint32, error) { return p.GidsWithContext(context.Background()) } @@ -538,8 +554,8 @@ func (p *Process) Connections() ([]net.ConnectionStat, error) { } // ConnectionsMax returns a slice of net.ConnectionStat used by the process at most `max`. -func (p *Process) ConnectionsMax(max int) ([]net.ConnectionStat, error) { - return p.ConnectionsMaxWithContext(context.Background(), max) +func (p *Process) ConnectionsMax(maxConn int) ([]net.ConnectionStat, error) { + return p.ConnectionsMaxWithContext(context.Background(), maxConn) } // MemoryMaps get memory maps from /proc/(pid)/smaps diff --git a/vendor/github.com/shirou/gopsutil/v4/process/process_bsd.go b/vendor/github.com/shirou/gopsutil/v4/process/process_bsd.go new file mode 100644 index 00000000..e591e2d1 --- /dev/null +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_bsd.go @@ -0,0 +1,76 @@ +// SPDX-License-Identifier: BSD-3-Clause +//go:build darwin || freebsd || openbsd + +package process + +import ( + "bytes" + "context" + "encoding/binary" + + "github.com/shirou/gopsutil/v4/cpu" + "github.com/shirou/gopsutil/v4/internal/common" +) + +type MemoryInfoExStat struct{} + +type MemoryMapsStat struct{} + +func (*Process) TgidWithContext(_ context.Context) (int32, error) { + return 0, common.ErrNotImplementedError +} + +func (*Process) IOniceWithContext(_ context.Context) (int32, error) { + return 0, common.ErrNotImplementedError +} + +func (*Process) RlimitWithContext(_ context.Context) ([]RlimitStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) RlimitUsageWithContext(_ context.Context, _ bool) ([]RlimitStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) NumCtxSwitchesWithContext(_ context.Context) (*NumCtxSwitchesStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) NumFDsWithContext(_ context.Context) (int32, error) { + return 0, common.ErrNotImplementedError +} + +func (*Process) CPUAffinityWithContext(_ context.Context) ([]int32, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) MemoryInfoExWithContext(_ context.Context) (*MemoryInfoExStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) PageFaultsWithContext(_ context.Context) (*PageFaultsStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) OpenFilesWithContext(_ context.Context) ([]OpenFilesStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) MemoryMapsWithContext(_ context.Context, _ bool) (*[]MemoryMapsStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) ThreadsWithContext(_ context.Context) (map[int32]*cpu.TimesStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) EnvironWithContext(_ context.Context) ([]string, error) { + return nil, common.ErrNotImplementedError +} + +func parseKinfoProc(buf []byte) (KinfoProc, error) { + var k KinfoProc + br := bytes.NewReader(buf) + err := binary.Read(br, binary.LittleEndian, &k) + return k, err +} diff --git a/vendor/github.com/shirou/gopsutil/v4/process/process_darwin.go b/vendor/github.com/shirou/gopsutil/v4/process/process_darwin.go new file mode 100644 index 00000000..6fd57f3d --- /dev/null +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_darwin.go @@ -0,0 +1,490 @@ +// SPDX-License-Identifier: BSD-3-Clause +//go:build darwin + +package process + +import ( + "bytes" + "context" + "encoding/binary" + "errors" + "fmt" + "path/filepath" + "runtime" + "sort" + "strconv" + "strings" + "unsafe" + + "golang.org/x/sys/unix" + + "github.com/shirou/gopsutil/v4/cpu" + "github.com/shirou/gopsutil/v4/internal/common" + "github.com/shirou/gopsutil/v4/net" +) + +// copied from sys/sysctl.h +const ( + CTLKern = 1 // "high kernel": proc, limits + KernProc = 14 // struct: process entries + KernProcPID = 1 // by process id + KernProcProc = 8 // only return procs + KernProcAll = 0 // everything + KernProcPathname = 12 // path to executable +) + +type _Ctype_struct___0 struct { //nolint:revive //FIXME + Pad uint64 +} + +func pidsWithContext(_ context.Context) ([]int32, error) { + var ret []int32 + + kprocs, err := unix.SysctlKinfoProcSlice("kern.proc.all") + if err != nil { + return ret, err + } + + for i := range kprocs { + proc := &kprocs[i] + ret = append(ret, int32(proc.Proc.P_pid)) + } + + return ret, nil +} + +func (p *Process) PpidWithContext(_ context.Context) (int32, error) { + k, err := p.getKProc() + if err != nil { + return 0, err + } + + return k.Eproc.Ppid, nil +} + +func (p *Process) NameWithContext(ctx context.Context) (string, error) { + k, err := p.getKProc() + if err != nil { + return "", err + } + + name := common.ByteToString(k.Proc.P_comm[:]) + + if len(name) >= 15 { + cmdName, err := p.cmdNameWithContext(ctx) + if err != nil { + return "", err + } + if cmdName != "" { + extendedName := filepath.Base(cmdName) + if strings.HasPrefix(extendedName, p.name) { + name = extendedName + } + } + } + + return name, nil +} + +func (p *Process) createTimeWithContext(_ context.Context) (int64, error) { + k, err := p.getKProc() + if err != nil { + return 0, err + } + + return k.Proc.P_starttime.Sec*1000 + int64(k.Proc.P_starttime.Usec)/1000, nil +} + +func (p *Process) StatusWithContext(ctx context.Context) ([]string, error) { + r, err := callPsWithContext(ctx, "state", p.Pid, false, false) + if err != nil { + return []string{""}, err + } + status := convertStatusChar(r[0][0][0:1]) + return []string{status}, err +} + +func (p *Process) ForegroundWithContext(ctx context.Context) (bool, error) { + // see https://github.com/shirou/gopsutil/issues/596#issuecomment-432707831 for implementation details + pid := p.Pid + out, err := invoke.CommandWithContext(ctx, "ps", "-o", "stat=", "-p", strconv.Itoa(int(pid))) + if err != nil { + return false, err + } + return strings.IndexByte(string(out), '+') != -1, nil +} + +func (p *Process) UidsWithContext(_ context.Context) ([]uint32, error) { + k, err := p.getKProc() + if err != nil { + return nil, err + } + + // See: http://unix.superglobalmegacorp.com/Net2/newsrc/sys/ucred.h.html + userEffectiveUID := uint32(k.Eproc.Ucred.Uid) + + return []uint32{userEffectiveUID}, nil +} + +func (p *Process) GidsWithContext(_ context.Context) ([]uint32, error) { + k, err := p.getKProc() + if err != nil { + return nil, err + } + + gids := make([]uint32, 0, 3) + gids = append(gids, uint32(k.Eproc.Pcred.P_rgid), uint32(k.Eproc.Pcred.P_rgid), uint32(k.Eproc.Pcred.P_svgid)) + + return gids, nil +} + +func (*Process) GroupsWithContext(_ context.Context) ([]uint32, error) { + return nil, common.ErrNotImplementedError + // k, err := p.getKProc() + // if err != nil { + // return nil, err + // } + + // groups := make([]int32, k.Eproc.Ucred.Ngroups) + // for i := int16(0); i < k.Eproc.Ucred.Ngroups; i++ { + // groups[i] = int32(k.Eproc.Ucred.Groups[i]) + // } + + // return groups, nil +} + +func (*Process) TerminalWithContext(_ context.Context) (string, error) { + return "", common.ErrNotImplementedError + /* + k, err := p.getKProc() + if err != nil { + return "", err + } + + ttyNr := uint64(k.Eproc.Tdev) + termmap, err := getTerminalMap() + if err != nil { + return "", err + } + + return termmap[ttyNr], nil + */ +} + +func (p *Process) NiceWithContext(_ context.Context) (int32, error) { + k, err := p.getKProc() + if err != nil { + return 0, err + } + return int32(k.Proc.P_nice), nil +} + +func (*Process) IOCountersWithContext(_ context.Context) (*IOCountersStat, error) { + return nil, common.ErrNotImplementedError +} + +func (p *Process) ChildrenWithContext(ctx context.Context) ([]*Process, error) { + procs, err := ProcessesWithContext(ctx) + if err != nil { + return nil, nil + } + ret := make([]*Process, 0, len(procs)) + for _, proc := range procs { + ppid, err := proc.PpidWithContext(ctx) + if err != nil { + continue + } + if ppid == p.Pid { + ret = append(ret, proc) + } + } + sort.Slice(ret, func(i, j int) bool { return ret[i].Pid < ret[j].Pid }) + return ret, nil +} + +func (p *Process) ConnectionsWithContext(ctx context.Context) ([]net.ConnectionStat, error) { + return net.ConnectionsPidWithContext(ctx, "all", p.Pid) +} + +func (p *Process) ConnectionsMaxWithContext(ctx context.Context, maxConn int) ([]net.ConnectionStat, error) { + return net.ConnectionsPidMaxWithContext(ctx, "all", p.Pid, maxConn) +} + +func ProcessesWithContext(ctx context.Context) ([]*Process, error) { + out := []*Process{} + + pids, err := PidsWithContext(ctx) + if err != nil { + return out, err + } + + for _, pid := range pids { + p, err := NewProcessWithContext(ctx, pid) + if err != nil { + continue + } + out = append(out, p) + } + + return out, nil +} + +// Returns a proc as defined here: +// http://unix.superglobalmegacorp.com/Net2/newsrc/sys/kinfo_proc.h.html +func (p *Process) getKProc() (*unix.KinfoProc, error) { + return unix.SysctlKinfoProc("kern.proc.pid", int(p.Pid)) +} + +// call ps command. +// Return value deletes Header line(you must not input wrong arg). +// And splited by Space. Caller have responsibility to manage. +// If passed arg pid is 0, get information from all process. +func callPsWithContext(ctx context.Context, arg string, pid int32, threadOption, nameOption bool) ([][]string, error) { + var cmd []string + switch { + case pid == 0: // will get from all processes. + cmd = []string{"-ax", "-o", arg} + case threadOption: + cmd = []string{"-x", "-o", arg, "-M", "-p", strconv.Itoa(int(pid))} + default: + cmd = []string{"-x", "-o", arg, "-p", strconv.Itoa(int(pid))} + } + if nameOption { + cmd = append(cmd, "-c") + } + out, err := invoke.CommandWithContext(ctx, "ps", cmd...) + if err != nil { + return [][]string{}, err + } + lines := strings.Split(string(out), "\n") + + var ret [][]string + for _, l := range lines[1:] { + var lr []string + if nameOption { + lr = append(lr, l) + } else { + for _, r := range strings.Split(l, " ") { + if r == "" { + continue + } + lr = append(lr, strings.TrimSpace(r)) + } + } + if len(lr) != 0 { + ret = append(ret, lr) + } + } + + return ret, nil +} + +type dlFuncs struct { + lib *common.Library + + procPidPath common.ProcPidPathFunc + procPidInfo common.ProcPidInfoFunc + machTimeBaseInfo common.MachTimeBaseInfoFunc +} + +func loadProcFuncs() (*dlFuncs, error) { + lib, err := common.NewLibrary(common.System) + if err != nil { + return nil, err + } + + return &dlFuncs{ + lib: lib, + procPidPath: common.GetFunc[common.ProcPidPathFunc](lib, common.ProcPidPathSym), + procPidInfo: common.GetFunc[common.ProcPidInfoFunc](lib, common.ProcPidInfoSym), + machTimeBaseInfo: common.GetFunc[common.MachTimeBaseInfoFunc](lib, common.MachTimeBaseInfoSym), + }, nil +} + +func (f *dlFuncs) getTimeScaleToNanoSeconds() float64 { + var timeBaseInfo common.MachTimeBaseInfo + + f.machTimeBaseInfo(uintptr(unsafe.Pointer(&timeBaseInfo))) + + return float64(timeBaseInfo.Numer) / float64(timeBaseInfo.Denom) +} + +func (f *dlFuncs) Close() { + f.lib.Close() +} + +func (p *Process) ExeWithContext(_ context.Context) (string, error) { + funcs, err := loadProcFuncs() + if err != nil { + return "", err + } + defer funcs.Close() + + buf := common.NewCStr(common.PROC_PIDPATHINFO_MAXSIZE) + ret := funcs.procPidPath(p.Pid, buf.Addr(), common.PROC_PIDPATHINFO_MAXSIZE) + + if ret <= 0 { + return "", fmt.Errorf("unknown error: proc_pidpath returned %d", ret) + } + + return buf.GoString(), nil +} + +// sys/proc_info.h +type vnodePathInfo struct { + _ [152]byte + vipPath [common.MAXPATHLEN]byte + _ [1176]byte +} + +// CwdWithContext retrieves the Current Working Directory for the given process. +// It uses the proc_pidinfo from libproc and will only work for processes the +// EUID can access. Otherwise "operation not permitted" will be returned as the +// error. +// Note: This might also work for other *BSD OSs. +func (p *Process) CwdWithContext(_ context.Context) (string, error) { + funcs, err := loadProcFuncs() + if err != nil { + return "", err + } + defer funcs.Close() + + // Lock OS thread to ensure the errno does not change + runtime.LockOSThread() + defer runtime.UnlockOSThread() + + var vpi vnodePathInfo + const vpiSize = int32(unsafe.Sizeof(vpi)) + ret := funcs.procPidInfo(p.Pid, common.PROC_PIDVNODEPATHINFO, 0, uintptr(unsafe.Pointer(&vpi)), vpiSize) + errno, _ := funcs.lib.Dlsym("errno") + err = *(**unix.Errno)(unsafe.Pointer(&errno)) + if errors.Is(err, unix.EPERM) { + return "", ErrorNotPermitted + } + + if ret <= 0 { + return "", fmt.Errorf("unknown error: proc_pidinfo returned %d", ret) + } + + if ret != vpiSize { + return "", fmt.Errorf("too few bytes; expected %d, got %d", vpiSize, ret) + } + return common.GoString(&vpi.vipPath[0]), nil +} + +func procArgs(pid int32) ([]byte, int, error) { + procargs, _, err := common.CallSyscall([]int32{common.CTL_KERN, common.KERN_PROCARGS2, pid}) + if err != nil { + return nil, 0, err + } + + // The first 4 bytes indicate the number of arguments. + nargs := procargs[:4] + return procargs, int(binary.LittleEndian.Uint32(nargs)), nil +} + +func (p *Process) CmdlineSliceWithContext(_ context.Context) ([]string, error) { + return p.cmdlineSlice() +} + +func (p *Process) cmdlineSlice() ([]string, error) { + pargs, nargs, err := procArgs(p.Pid) + if err != nil { + return nil, err + } + // The first bytes hold the nargs int, skip it. + args := bytes.Split((pargs)[unsafe.Sizeof(int(0)):], []byte{0}) + var argStr string + // The first element is the actual binary/command path. + // command := args[0] + var argSlice []string + // var envSlice []string + // All other, non-zero elements are arguments. The first "nargs" elements + // are the arguments. Everything else in the slice is then the environment + // of the process. + for _, arg := range args[1:] { + argStr = string(arg) + if argStr != "" { + if nargs > 0 { + argSlice = append(argSlice, argStr) + nargs-- + continue + } + break + // envSlice = append(envSlice, argStr) + } + } + return argSlice, err +} + +// cmdNameWithContext returns the command name (including spaces) without any arguments +func (p *Process) cmdNameWithContext(_ context.Context) (string, error) { + r, err := p.cmdlineSlice() + if err != nil { + return "", err + } + + if len(r) == 0 { + return "", nil + } + + return r[0], err +} + +func (p *Process) CmdlineWithContext(ctx context.Context) (string, error) { + r, err := p.CmdlineSliceWithContext(ctx) + if err != nil { + return "", err + } + return strings.Join(r, " "), err +} + +func (p *Process) NumThreadsWithContext(_ context.Context) (int32, error) { + funcs, err := loadProcFuncs() + if err != nil { + return 0, err + } + defer funcs.Close() + + var ti ProcTaskInfo + funcs.procPidInfo(p.Pid, common.PROC_PIDTASKINFO, 0, uintptr(unsafe.Pointer(&ti)), int32(unsafe.Sizeof(ti))) + + return int32(ti.Threadnum), nil +} + +func (p *Process) TimesWithContext(_ context.Context) (*cpu.TimesStat, error) { + funcs, err := loadProcFuncs() + if err != nil { + return nil, err + } + defer funcs.Close() + + var ti ProcTaskInfo + funcs.procPidInfo(p.Pid, common.PROC_PIDTASKINFO, 0, uintptr(unsafe.Pointer(&ti)), int32(unsafe.Sizeof(ti))) + + timescaleToNanoSeconds := funcs.getTimeScaleToNanoSeconds() + ret := &cpu.TimesStat{ + CPU: "cpu", + User: float64(ti.Total_user) * timescaleToNanoSeconds / 1e9, + System: float64(ti.Total_system) * timescaleToNanoSeconds / 1e9, + } + return ret, nil +} + +func (p *Process) MemoryInfoWithContext(_ context.Context) (*MemoryInfoStat, error) { + funcs, err := loadProcFuncs() + if err != nil { + return nil, err + } + defer funcs.Close() + + var ti ProcTaskInfo + funcs.procPidInfo(p.Pid, common.PROC_PIDTASKINFO, 0, uintptr(unsafe.Pointer(&ti)), int32(unsafe.Sizeof(ti))) + + ret := &MemoryInfoStat{ + RSS: uint64(ti.Resident_size), + VMS: uint64(ti.Virtual_size), + Swap: uint64(ti.Pageins), + } + return ret, nil +} diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_darwin_amd64.go b/vendor/github.com/shirou/gopsutil/v4/process/process_darwin_amd64.go similarity index 87% rename from vendor/github.com/shirou/gopsutil/v3/process/process_darwin_amd64.go rename to vendor/github.com/shirou/gopsutil/v4/process/process_darwin_amd64.go index b353e5ea..890a5d53 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_darwin_amd64.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_darwin_amd64.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause // Created by cgo -godefs - DO NOT EDIT // cgo -godefs types_darwin.go @@ -211,6 +212,27 @@ type Posix_cred struct { type Label struct{} +type ProcTaskInfo struct { + Virtual_size uint64 + Resident_size uint64 + Total_user uint64 + Total_system uint64 + Threads_user uint64 + Threads_system uint64 + Policy int32 + Faults int32 + Pageins int32 + Cow_faults int32 + Messages_sent int32 + Messages_received int32 + Syscalls_mach int32 + Syscalls_unix int32 + Csw int32 + Threadnum int32 + Numrunning int32 + Priority int32 +} + type AuditinfoAddr struct { Auid uint32 Mask AuMask diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_darwin_arm64.go b/vendor/github.com/shirou/gopsutil/v4/process/process_darwin_arm64.go similarity index 85% rename from vendor/github.com/shirou/gopsutil/v3/process/process_darwin_arm64.go rename to vendor/github.com/shirou/gopsutil/v4/process/process_darwin_arm64.go index cbd6bdc7..8075cf22 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_darwin_arm64.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_darwin_arm64.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build darwin && arm64 -// +build darwin,arm64 // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs process/types_darwin.go @@ -190,6 +190,27 @@ type Posix_cred struct{} type Label struct{} +type ProcTaskInfo struct { + Virtual_size uint64 + Resident_size uint64 + Total_user uint64 + Total_system uint64 + Threads_user uint64 + Threads_system uint64 + Policy int32 + Faults int32 + Pageins int32 + Cow_faults int32 + Messages_sent int32 + Messages_received int32 + Syscalls_mach int32 + Syscalls_unix int32 + Csw int32 + Threadnum int32 + Numrunning int32 + Priority int32 +} + type AuditinfoAddr struct { Auid uint32 Mask AuMask diff --git a/vendor/github.com/shirou/gopsutil/v4/process/process_fallback.go b/vendor/github.com/shirou/gopsutil/v4/process/process_fallback.go new file mode 100644 index 00000000..699311a9 --- /dev/null +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_fallback.go @@ -0,0 +1,203 @@ +// SPDX-License-Identifier: BSD-3-Clause +//go:build !darwin && !linux && !freebsd && !openbsd && !windows && !solaris && !plan9 + +package process + +import ( + "context" + "syscall" + + "github.com/shirou/gopsutil/v4/cpu" + "github.com/shirou/gopsutil/v4/internal/common" + "github.com/shirou/gopsutil/v4/net" +) + +type Signal = syscall.Signal + +type MemoryMapsStat struct { + Path string `json:"path"` + Rss uint64 `json:"rss"` + Size uint64 `json:"size"` + Pss uint64 `json:"pss"` + SharedClean uint64 `json:"sharedClean"` + SharedDirty uint64 `json:"sharedDirty"` + PrivateClean uint64 `json:"privateClean"` + PrivateDirty uint64 `json:"privateDirty"` + Referenced uint64 `json:"referenced"` + Anonymous uint64 `json:"anonymous"` + Swap uint64 `json:"swap"` +} + +type MemoryInfoExStat struct{} + +func pidsWithContext(_ context.Context) ([]int32, error) { + return nil, common.ErrNotImplementedError +} + +func ProcessesWithContext(_ context.Context) ([]*Process, error) { + return nil, common.ErrNotImplementedError +} + +func PidExistsWithContext(_ context.Context, _ int32) (bool, error) { + return false, common.ErrNotImplementedError +} + +func (*Process) PpidWithContext(_ context.Context) (int32, error) { + return 0, common.ErrNotImplementedError +} + +func (*Process) NameWithContext(_ context.Context) (string, error) { + return "", common.ErrNotImplementedError +} + +func (*Process) TgidWithContext(_ context.Context) (int32, error) { + return 0, common.ErrNotImplementedError +} + +func (*Process) ExeWithContext(_ context.Context) (string, error) { + return "", common.ErrNotImplementedError +} + +func (*Process) CmdlineWithContext(_ context.Context) (string, error) { + return "", common.ErrNotImplementedError +} + +func (*Process) CmdlineSliceWithContext(_ context.Context) ([]string, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) createTimeWithContext(_ context.Context) (int64, error) { + return 0, common.ErrNotImplementedError +} + +func (*Process) CwdWithContext(_ context.Context) (string, error) { + return "", common.ErrNotImplementedError +} + +func (*Process) StatusWithContext(_ context.Context) ([]string, error) { + return []string{""}, common.ErrNotImplementedError +} + +func (*Process) ForegroundWithContext(_ context.Context) (bool, error) { + return false, common.ErrNotImplementedError +} + +func (*Process) UidsWithContext(_ context.Context) ([]uint32, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) GidsWithContext(_ context.Context) ([]uint32, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) GroupsWithContext(_ context.Context) ([]uint32, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) TerminalWithContext(_ context.Context) (string, error) { + return "", common.ErrNotImplementedError +} + +func (*Process) NiceWithContext(_ context.Context) (int32, error) { + return 0, common.ErrNotImplementedError +} + +func (*Process) IOniceWithContext(_ context.Context) (int32, error) { + return 0, common.ErrNotImplementedError +} + +func (*Process) RlimitWithContext(_ context.Context) ([]RlimitStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) RlimitUsageWithContext(_ context.Context, _ bool) ([]RlimitStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) IOCountersWithContext(_ context.Context) (*IOCountersStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) NumCtxSwitchesWithContext(_ context.Context) (*NumCtxSwitchesStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) NumFDsWithContext(_ context.Context) (int32, error) { + return 0, common.ErrNotImplementedError +} + +func (*Process) NumThreadsWithContext(_ context.Context) (int32, error) { + return 0, common.ErrNotImplementedError +} + +func (*Process) ThreadsWithContext(_ context.Context) (map[int32]*cpu.TimesStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) TimesWithContext(_ context.Context) (*cpu.TimesStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) CPUAffinityWithContext(_ context.Context) ([]int32, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) MemoryInfoWithContext(_ context.Context) (*MemoryInfoStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) MemoryInfoExWithContext(_ context.Context) (*MemoryInfoExStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) PageFaultsWithContext(_ context.Context) (*PageFaultsStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) ChildrenWithContext(_ context.Context) ([]*Process, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) OpenFilesWithContext(_ context.Context) ([]OpenFilesStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) ConnectionsWithContext(_ context.Context) ([]net.ConnectionStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) ConnectionsMaxWithContext(_ context.Context, _ int) ([]net.ConnectionStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) MemoryMapsWithContext(_ context.Context, _ bool) (*[]MemoryMapsStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) SendSignalWithContext(_ context.Context, _ Signal) error { + return common.ErrNotImplementedError +} + +func (*Process) SuspendWithContext(_ context.Context) error { + return common.ErrNotImplementedError +} + +func (*Process) ResumeWithContext(_ context.Context) error { + return common.ErrNotImplementedError +} + +func (*Process) TerminateWithContext(_ context.Context) error { + return common.ErrNotImplementedError +} + +func (*Process) KillWithContext(_ context.Context) error { + return common.ErrNotImplementedError +} + +func (*Process) UsernameWithContext(_ context.Context) (string, error) { + return "", common.ErrNotImplementedError +} + +func (*Process) EnvironWithContext(_ context.Context) ([]string, error) { + return nil, common.ErrNotImplementedError +} diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_freebsd.go b/vendor/github.com/shirou/gopsutil/v4/process/process_freebsd.go similarity index 66% rename from vendor/github.com/shirou/gopsutil/v3/process/process_freebsd.go rename to vendor/github.com/shirou/gopsutil/v4/process/process_freebsd.go index 40b10e14..ae173ff1 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_freebsd.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_freebsd.go @@ -1,19 +1,23 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build freebsd -// +build freebsd package process import ( "bytes" "context" + "encoding/binary" + "errors" "path/filepath" + "sort" "strconv" "strings" - cpu "github.com/shirou/gopsutil/v3/cpu" - "github.com/shirou/gopsutil/v3/internal/common" - net "github.com/shirou/gopsutil/v3/net" "golang.org/x/sys/unix" + + "github.com/shirou/gopsutil/v4/cpu" + "github.com/shirou/gopsutil/v4/internal/common" + "github.com/shirou/gopsutil/v4/net" ) func pidsWithContext(ctx context.Context) ([]int32, error) { @@ -30,7 +34,7 @@ func pidsWithContext(ctx context.Context) ([]int32, error) { return ret, nil } -func (p *Process) PpidWithContext(ctx context.Context) (int32, error) { +func (p *Process) PpidWithContext(_ context.Context) (int32, error) { k, err := p.getKProc() if err != nil { return 0, err @@ -62,11 +66,28 @@ func (p *Process) NameWithContext(ctx context.Context) (string, error) { return name, nil } -func (p *Process) CwdWithContext(ctx context.Context) (string, error) { - return "", common.ErrNotImplementedError +func (p *Process) CwdWithContext(_ context.Context) (string, error) { + mib := []int32{CTLKern, KernProc, KernProcCwd, p.Pid} + buf, length, err := common.CallSyscall(mib) + if err != nil { + return "", err + } + + if length != sizeOfKinfoFile { + return "", errors.New("unexpected size of KinfoFile") + } + + var k kinfoFile + br := bytes.NewReader(buf) + if err := binary.Read(br, binary.LittleEndian, &k); err != nil { + return "", err + } + cwd := common.IntToString(k.Path[:]) + + return cwd, nil } -func (p *Process) ExeWithContext(ctx context.Context) (string, error) { +func (p *Process) ExeWithContext(_ context.Context) (string, error) { mib := []int32{CTLKern, KernProc, KernProcPathname, p.Pid} buf, _, err := common.CallSyscall(mib) if err != nil { @@ -76,23 +97,20 @@ func (p *Process) ExeWithContext(ctx context.Context) (string, error) { return strings.Trim(string(buf), "\x00"), nil } -func (p *Process) CmdlineWithContext(ctx context.Context) (string, error) { +func (p *Process) CmdlineWithContext(_ context.Context) (string, error) { mib := []int32{CTLKern, KernProc, KernProcArgs, p.Pid} buf, _, err := common.CallSyscall(mib) if err != nil { return "", err } ret := strings.FieldsFunc(string(buf), func(r rune) bool { - if r == '\u0000' { - return true - } - return false + return r == '\u0000' }) return strings.Join(ret, " "), nil } -func (p *Process) CmdlineSliceWithContext(ctx context.Context) ([]string, error) { +func (p *Process) CmdlineSliceWithContext(_ context.Context) ([]string, error) { mib := []int32{CTLKern, KernProc, KernProcArgs, p.Pid} buf, _, err := common.CallSyscall(mib) if err != nil { @@ -113,7 +131,7 @@ func (p *Process) CmdlineSliceWithContext(ctx context.Context) ([]string, error) return strParts, nil } -func (p *Process) createTimeWithContext(ctx context.Context) (int64, error) { +func (p *Process) createTimeWithContext(_ context.Context) (int64, error) { k, err := p.getKProc() if err != nil { return 0, err @@ -121,7 +139,7 @@ func (p *Process) createTimeWithContext(ctx context.Context) (int64, error) { return int64(k.Start.Sec)*1000 + int64(k.Start.Usec)/1000, nil } -func (p *Process) StatusWithContext(ctx context.Context) ([]string, error) { +func (p *Process) StatusWithContext(_ context.Context) ([]string, error) { k, err := p.getKProc() if err != nil { return []string{""}, err @@ -157,46 +175,46 @@ func (p *Process) ForegroundWithContext(ctx context.Context) (bool, error) { return strings.IndexByte(string(out), '+') != -1, nil } -func (p *Process) UidsWithContext(ctx context.Context) ([]int32, error) { +func (p *Process) UidsWithContext(_ context.Context) ([]uint32, error) { k, err := p.getKProc() if err != nil { return nil, err } - uids := make([]int32, 0, 3) + uids := make([]uint32, 0, 3) - uids = append(uids, int32(k.Ruid), int32(k.Uid), int32(k.Svuid)) + uids = append(uids, uint32(k.Ruid), uint32(k.Uid), uint32(k.Svuid)) return uids, nil } -func (p *Process) GidsWithContext(ctx context.Context) ([]int32, error) { +func (p *Process) GidsWithContext(_ context.Context) ([]uint32, error) { k, err := p.getKProc() if err != nil { return nil, err } - gids := make([]int32, 0, 3) - gids = append(gids, int32(k.Rgid), int32(k.Ngroups), int32(k.Svgid)) + gids := make([]uint32, 0, 3) + gids = append(gids, uint32(k.Rgid), uint32(k.Ngroups), uint32(k.Svgid)) return gids, nil } -func (p *Process) GroupsWithContext(ctx context.Context) ([]int32, error) { +func (p *Process) GroupsWithContext(_ context.Context) ([]uint32, error) { k, err := p.getKProc() if err != nil { return nil, err } - groups := make([]int32, k.Ngroups) + groups := make([]uint32, k.Ngroups) for i := int16(0); i < k.Ngroups; i++ { - groups[i] = int32(k.Groups[i]) + groups[i] = uint32(k.Groups[i]) } return groups, nil } -func (p *Process) TerminalWithContext(ctx context.Context) (string, error) { +func (p *Process) TerminalWithContext(_ context.Context) (string, error) { k, err := p.getKProc() if err != nil { return "", err @@ -212,7 +230,7 @@ func (p *Process) TerminalWithContext(ctx context.Context) (string, error) { return termmap[ttyNr], nil } -func (p *Process) NiceWithContext(ctx context.Context) (int32, error) { +func (p *Process) NiceWithContext(_ context.Context) (int32, error) { k, err := p.getKProc() if err != nil { return 0, err @@ -220,7 +238,7 @@ func (p *Process) NiceWithContext(ctx context.Context) (int32, error) { return int32(k.Nice), nil } -func (p *Process) IOCountersWithContext(ctx context.Context) (*IOCountersStat, error) { +func (p *Process) IOCountersWithContext(_ context.Context) (*IOCountersStat, error) { k, err := p.getKProc() if err != nil { return nil, err @@ -231,7 +249,7 @@ func (p *Process) IOCountersWithContext(ctx context.Context) (*IOCountersStat, e }, nil } -func (p *Process) NumThreadsWithContext(ctx context.Context) (int32, error) { +func (p *Process) NumThreadsWithContext(_ context.Context) (int32, error) { k, err := p.getKProc() if err != nil { return 0, err @@ -240,7 +258,7 @@ func (p *Process) NumThreadsWithContext(ctx context.Context) (int32, error) { return k.Numthreads, nil } -func (p *Process) TimesWithContext(ctx context.Context) (*cpu.TimesStat, error) { +func (p *Process) TimesWithContext(_ context.Context) (*cpu.TimesStat, error) { k, err := p.getKProc() if err != nil { return nil, err @@ -252,7 +270,7 @@ func (p *Process) TimesWithContext(ctx context.Context) (*cpu.TimesStat, error) }, nil } -func (p *Process) MemoryInfoWithContext(ctx context.Context) (*MemoryInfoStat, error) { +func (p *Process) MemoryInfoWithContext(_ context.Context) (*MemoryInfoStat, error) { k, err := p.getKProc() if err != nil { return nil, err @@ -261,7 +279,7 @@ func (p *Process) MemoryInfoWithContext(ctx context.Context) (*MemoryInfoStat, e if err != nil { return nil, err } - pageSize := common.LittleEndian.Uint16([]byte(v)) + pageSize := binary.LittleEndian.Uint16([]byte(v)) return &MemoryInfoStat{ RSS: uint64(k.Rssize) * uint64(pageSize), @@ -270,18 +288,21 @@ func (p *Process) MemoryInfoWithContext(ctx context.Context) (*MemoryInfoStat, e } func (p *Process) ChildrenWithContext(ctx context.Context) ([]*Process, error) { - pids, err := common.CallPgrepWithContext(ctx, invoke, p.Pid) + procs, err := ProcessesWithContext(ctx) if err != nil { - return nil, err + return nil, nil } - ret := make([]*Process, 0, len(pids)) - for _, pid := range pids { - np, err := NewProcessWithContext(ctx, pid) + ret := make([]*Process, 0, len(procs)) + for _, proc := range procs { + ppid, err := proc.PpidWithContext(ctx) if err != nil { - return nil, err + continue + } + if ppid == p.Pid { + ret = append(ret, proc) } - ret = append(ret, np) } + sort.Slice(ret, func(i, j int) bool { return ret[i].Pid < ret[j].Pid }) return ret, nil } @@ -289,8 +310,8 @@ func (p *Process) ConnectionsWithContext(ctx context.Context) ([]net.ConnectionS return net.ConnectionsPidWithContext(ctx, "all", p.Pid) } -func (p *Process) ConnectionsMaxWithContext(ctx context.Context, max int) ([]net.ConnectionStat, error) { - return net.ConnectionsPidMaxWithContext(ctx, "all", p.Pid, max) +func (p *Process) ConnectionsMaxWithContext(ctx context.Context, maxConn int) ([]net.ConnectionStat, error) { + return net.ConnectionsPidMaxWithContext(ctx, "all", p.Pid, maxConn) } func ProcessesWithContext(ctx context.Context) ([]*Process, error) { @@ -331,7 +352,7 @@ func (p *Process) getKProc() (*KinfoProc, error) { return nil, err } if length != sizeOfKinfoProc { - return nil, err + return nil, errors.New("unexpected size of KinfoProc") } k, err := parseKinfoProc(buf) diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_freebsd_386.go b/vendor/github.com/shirou/gopsutil/v4/process/process_freebsd_386.go similarity index 83% rename from vendor/github.com/shirou/gopsutil/v3/process/process_freebsd_386.go rename to vendor/github.com/shirou/gopsutil/v4/process/process_freebsd_386.go index 08ab333b..0193ba25 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_freebsd_386.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_freebsd_386.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause // Created by cgo -godefs - DO NOT EDIT // cgo -godefs types_freebsd.go @@ -10,6 +11,7 @@ const ( KernProcProc = 8 KernProcPathname = 12 KernProcArgs = 7 + KernProcCwd = 42 ) const ( @@ -23,6 +25,7 @@ const ( const ( sizeOfKinfoVmentry = 0x488 sizeOfKinfoProc = 0x300 + sizeOfKinfoFile = 0x570 // TODO: should be changed by running on the target machine ) const ( @@ -190,3 +193,26 @@ type KinfoVmentry struct { X_kve_ispare [12]int32 Path [1024]int8 } + +// TODO: should be changed by running on the target machine +type kinfoFile struct { + Structsize int32 + Type int32 + Fd int32 + Ref_count int32 + Flags int32 + Pad0 int32 + Offset int64 + Anon0 [304]byte + Status uint16 + Pad1 uint16 + X_kf_ispare0 int32 + Cap_rights capRights + X_kf_cap_spare uint64 + Path [1024]int8 // changed from uint8 by hand +} + +// TODO: should be changed by running on the target machine +type capRights struct { + Rights [2]uint64 +} diff --git a/vendor/github.com/shirou/gopsutil/v4/process/process_freebsd_amd64.go b/vendor/github.com/shirou/gopsutil/v4/process/process_freebsd_amd64.go new file mode 100644 index 00000000..67970f64 --- /dev/null +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_freebsd_amd64.go @@ -0,0 +1,224 @@ +// SPDX-License-Identifier: BSD-3-Clause +// Code generated by cmd/cgo -godefs; DO NOT EDIT. +// cgo -godefs types_freebsd.go + +package process + +const ( + CTLKern = 1 + KernProc = 14 + KernProcPID = 1 + KernProcProc = 8 + KernProcPathname = 12 + KernProcArgs = 7 + KernProcCwd = 42 +) + +const ( + sizeofPtr = 0x8 + sizeofShort = 0x2 + sizeofInt = 0x4 + sizeofLong = 0x8 + sizeofLongLong = 0x8 +) + +const ( + sizeOfKinfoVmentry = 0x488 + sizeOfKinfoProc = 0x440 + sizeOfKinfoFile = 0x570 +) + +const ( + SIDL = 1 + SRUN = 2 + SSLEEP = 3 + SSTOP = 4 + SZOMB = 5 + SWAIT = 6 + SLOCK = 7 +) + +type ( + _C_short int16 + _C_int int32 + _C_long int64 + _C_long_long int64 +) + +type Timespec struct { + Sec int64 + Nsec int64 +} + +type Timeval struct { + Sec int64 + Usec int64 +} + +type Rusage struct { + Utime Timeval + Stime Timeval + Maxrss int64 + Ixrss int64 + Idrss int64 + Isrss int64 + Minflt int64 + Majflt int64 + Nswap int64 + Inblock int64 + Oublock int64 + Msgsnd int64 + Msgrcv int64 + Nsignals int64 + Nvcsw int64 + Nivcsw int64 +} + +type Rlimit struct { + Cur int64 + Max int64 +} + +type KinfoProc struct { + Structsize int32 + Layout int32 + Args int64 /* pargs */ + Paddr int64 /* proc */ + Addr int64 /* user */ + Tracep int64 /* vnode */ + Textvp int64 /* vnode */ + Fd int64 /* filedesc */ + Vmspace int64 /* vmspace */ + Wchan int64 + Pid int32 + Ppid int32 + Pgid int32 + Tpgid int32 + Sid int32 + Tsid int32 + Jobc int16 + Spare_short1 int16 + Tdev_freebsd11 uint32 + Siglist [16]byte /* sigset */ + Sigmask [16]byte /* sigset */ + Sigignore [16]byte /* sigset */ + Sigcatch [16]byte /* sigset */ + Uid uint32 + Ruid uint32 + Svuid uint32 + Rgid uint32 + Svgid uint32 + Ngroups int16 + Spare_short2 int16 + Groups [16]uint32 + Size uint64 + Rssize int64 + Swrss int64 + Tsize int64 + Dsize int64 + Ssize int64 + Xstat uint16 + Acflag uint16 + Pctcpu uint32 + Estcpu uint32 + Slptime uint32 + Swtime uint32 + Cow uint32 + Runtime uint64 + Start Timeval + Childtime Timeval + Flag int64 + Kiflag int64 + Traceflag int32 + Stat int8 + Nice int8 + Lock int8 + Rqindex int8 + Oncpu_old uint8 + Lastcpu_old uint8 + Tdname [17]int8 + Wmesg [9]int8 + Login [18]int8 + Lockname [9]int8 + Comm [20]int8 + Emul [17]int8 + Loginclass [18]int8 + Moretdname [4]int8 + Sparestrings [46]int8 + Spareints [2]int32 + Tdev uint64 + Oncpu int32 + Lastcpu int32 + Tracer int32 + Flag2 int32 + Fibnum int32 + Cr_flags uint32 + Jid int32 + Numthreads int32 + Tid int32 + Pri Priority + Rusage Rusage + Rusage_ch Rusage + Pcb int64 /* pcb */ + Kstack int64 + Udata int64 + Tdaddr int64 /* thread */ + Pd int64 /* pwddesc, not accurate */ + Spareptrs [5]int64 + Sparelongs [12]int64 + Sflag int64 + Tdflags int64 +} + +type Priority struct { + Class uint8 + Level uint8 + Native uint8 + User uint8 +} + +type KinfoVmentry struct { + Structsize int32 + Type int32 + Start uint64 + End uint64 + Offset uint64 + Vn_fileid uint64 + Vn_fsid_freebsd11 uint32 + Flags int32 + Resident int32 + Private_resident int32 + Protection int32 + Ref_count int32 + Shadow_count int32 + Vn_type int32 + Vn_size uint64 + Vn_rdev_freebsd11 uint32 + Vn_mode uint16 + Status uint16 + Type_spec [8]byte + Vn_rdev uint64 + X_kve_ispare [8]int32 + Path [1024]int8 +} + +type kinfoFile struct { + Structsize int32 + Type int32 + Fd int32 + Ref_count int32 + Flags int32 + Pad0 int32 + Offset int64 + Anon0 [304]byte + Status uint16 + Pad1 uint16 + X_kf_ispare0 int32 + Cap_rights capRights + X_kf_cap_spare uint64 + Path [1024]int8 +} + +type capRights struct { + Rights [2]uint64 +} diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_freebsd_arm.go b/vendor/github.com/shirou/gopsutil/v4/process/process_freebsd_arm.go similarity index 83% rename from vendor/github.com/shirou/gopsutil/v3/process/process_freebsd_arm.go rename to vendor/github.com/shirou/gopsutil/v4/process/process_freebsd_arm.go index 81ae0b9a..6c4fbf69 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_freebsd_arm.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_freebsd_arm.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause // Created by cgo -godefs - DO NOT EDIT // cgo -godefs types_freebsd.go @@ -10,6 +11,7 @@ const ( KernProcProc = 8 KernProcPathname = 12 KernProcArgs = 7 + KernProcCwd = 42 ) const ( @@ -23,6 +25,7 @@ const ( const ( sizeOfKinfoVmentry = 0x488 sizeOfKinfoProc = 0x440 + sizeOfKinfoFile = 0x570 // TODO: should be changed by running on the target machine ) const ( @@ -190,3 +193,26 @@ type KinfoVmentry struct { X_kve_ispare [12]int32 Path [1024]int8 } + +// TODO: should be changed by running on the target machine +type kinfoFile struct { + Structsize int32 + Type int32 + Fd int32 + Ref_count int32 + Flags int32 + Pad0 int32 + Offset int64 + Anon0 [304]byte + Status uint16 + Pad1 uint16 + X_kf_ispare0 int32 + Cap_rights capRights + X_kf_cap_spare uint64 + Path [1024]int8 // changed from uint8 by hand +} + +// TODO: should be changed by running on the target machine +type capRights struct { + Rights [2]uint64 +} diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_freebsd_arm64.go b/vendor/github.com/shirou/gopsutil/v4/process/process_freebsd_arm64.go similarity index 88% rename from vendor/github.com/shirou/gopsutil/v3/process/process_freebsd_arm64.go rename to vendor/github.com/shirou/gopsutil/v4/process/process_freebsd_arm64.go index 73ac0820..dabdc3e3 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_freebsd_arm64.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_freebsd_arm64.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build freebsd && arm64 // Code generated by cmd/cgo -godefs; DO NOT EDIT. @@ -12,6 +13,7 @@ const ( KernProcProc = 8 KernProcPathname = 12 KernProcArgs = 7 + KernProcCwd = 42 ) const ( @@ -25,6 +27,7 @@ const ( const ( sizeOfKinfoVmentry = 0x488 sizeOfKinfoProc = 0x440 + sizeOfKinfoFile = 0x570 ) const ( @@ -200,3 +203,24 @@ type KinfoVmentry struct { X_kve_ispare [8]int32 Path [1024]uint8 } + +type kinfoFile struct { + Structsize int32 + Type int32 + Fd int32 + Ref_count int32 + Flags int32 + Pad0 int32 + Offset int64 + Anon0 [304]byte + Status uint16 + Pad1 uint16 + X_kf_ispare0 int32 + Cap_rights capRights + X_kf_cap_spare uint64 + Path [1024]int8 // changed from uint8 by hand +} + +type capRights struct { + Rights [2]uint64 +} diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_linux.go b/vendor/github.com/shirou/gopsutil/v4/process/process_linux.go similarity index 91% rename from vendor/github.com/shirou/gopsutil/v3/process/process_linux.go rename to vendor/github.com/shirou/gopsutil/v4/process/process_linux.go index 557435b3..a6279d12 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_linux.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_linux.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build linux -// +build linux package process @@ -12,15 +12,16 @@ import ( "math" "os" "path/filepath" + "sort" "strconv" "strings" "github.com/tklauser/go-sysconf" "golang.org/x/sys/unix" - "github.com/shirou/gopsutil/v3/cpu" - "github.com/shirou/gopsutil/v3/internal/common" - "github.com/shirou/gopsutil/v3/net" + "github.com/shirou/gopsutil/v4/cpu" + "github.com/shirou/gopsutil/v4/internal/common" + "github.com/shirou/gopsutil/v4/net" ) var pageSize = uint64(os.Getpagesize()) @@ -148,26 +149,26 @@ func (p *Process) ForegroundWithContext(ctx context.Context) (bool, error) { return pgid == tpgid, nil } -func (p *Process) UidsWithContext(ctx context.Context) ([]int32, error) { +func (p *Process) UidsWithContext(ctx context.Context) ([]uint32, error) { err := p.fillFromStatusWithContext(ctx) if err != nil { - return []int32{}, err + return []uint32{}, err } return p.uids, nil } -func (p *Process) GidsWithContext(ctx context.Context) ([]int32, error) { +func (p *Process) GidsWithContext(ctx context.Context) ([]uint32, error) { err := p.fillFromStatusWithContext(ctx) if err != nil { - return []int32{}, err + return []uint32{}, err } return p.gids, nil } -func (p *Process) GroupsWithContext(ctx context.Context) ([]int32, error) { +func (p *Process) GroupsWithContext(ctx context.Context) ([]uint32, error) { err := p.fillFromStatusWithContext(ctx) if err != nil { - return []int32{}, err + return []uint32{}, err } return p.groups, nil } @@ -193,7 +194,7 @@ func (p *Process) NiceWithContext(ctx context.Context) (int32, error) { return nice, nil } -func (p *Process) IOniceWithContext(ctx context.Context) (int32, error) { +func (*Process) IOniceWithContext(_ context.Context) (int32, error) { return 0, common.ErrNotImplementedError } @@ -309,7 +310,7 @@ func (p *Process) TimesWithContext(ctx context.Context) (*cpu.TimesStat, error) return cpuTimes, nil } -func (p *Process) CPUAffinityWithContext(ctx context.Context) ([]int32, error) { +func (*Process) CPUAffinityWithContext(_ context.Context) ([]int32, error) { return nil, common.ErrNotImplementedError } @@ -338,43 +339,48 @@ func (p *Process) PageFaultsWithContext(ctx context.Context) (*PageFaultsStat, e } func (p *Process) ChildrenWithContext(ctx context.Context) ([]*Process, error) { - pids, err := common.CallPgrepWithContext(ctx, invoke, p.Pid) + statFiles, err := filepath.Glob(common.HostProcWithContext(ctx, "[0-9]*/stat")) if err != nil { return nil, err } - if len(pids) == 0 { - return nil, ErrorNoChildren - } - ret := make([]*Process, 0, len(pids)) - for _, pid := range pids { - np, err := NewProcessWithContext(ctx, pid) + ret := make([]*Process, 0, len(statFiles)) + for _, statFile := range statFiles { + statContents, err := os.ReadFile(statFile) if err != nil { - return nil, err + continue + } + fields := splitProcStat(statContents) + pid, err := strconv.ParseInt(fields[1], 10, 32) + if err != nil { + continue + } + ppid, err := strconv.ParseInt(fields[4], 10, 32) + if err != nil { + continue + } + if ppid == int64(p.Pid) { + np, err := NewProcessWithContext(ctx, int32(pid)) + if err != nil { + continue + } + ret = append(ret, np) } - ret = append(ret, np) } + sort.Slice(ret, func(i, j int) bool { return ret[i].Pid < ret[j].Pid }) return ret, nil } func (p *Process) OpenFilesWithContext(ctx context.Context) ([]OpenFilesStat, error) { _, ofs, err := p.fillFromfdWithContext(ctx) - if err != nil { - return nil, err - } - ret := make([]OpenFilesStat, len(ofs)) - for i, o := range ofs { - ret[i] = *o - } - - return ret, nil + return ofs, err } func (p *Process) ConnectionsWithContext(ctx context.Context) ([]net.ConnectionStat, error) { return net.ConnectionsPidWithContext(ctx, "all", p.Pid) } -func (p *Process) ConnectionsMaxWithContext(ctx context.Context, max int) ([]net.ConnectionStat, error) { - return net.ConnectionsPidMaxWithContext(ctx, "all", p.Pid, max) +func (p *Process) ConnectionsMaxWithContext(ctx context.Context, maxConn int) ([]net.ConnectionStat, error) { + return net.ConnectionsPidMaxWithContext(ctx, "all", p.Pid, maxConn) } func (p *Process) MemoryMapsWithContext(ctx context.Context, grouped bool) (*[]MemoryMapsStat, error) { @@ -399,7 +405,9 @@ func (p *Process) MemoryMapsWithContext(ctx context.Context, grouped bool) (*[]M // function of parsing a block getBlock := func(firstLine []string, block []string) (MemoryMapsStat, error) { m := MemoryMapsStat{} - m.Path = firstLine[len(firstLine)-1] + if len(firstLine) >= 6 { + m.Path = strings.Join(firstLine[5:], " ") + } for _, line := range block { if strings.Contains(line, "VmFlags") { @@ -613,17 +621,17 @@ func (p *Process) fillFromfdListWithContext(ctx context.Context) (string, []stri } // Get num_fds from /proc/(pid)/fd -func (p *Process) fillFromfdWithContext(ctx context.Context) (int32, []*OpenFilesStat, error) { +func (p *Process) fillFromfdWithContext(ctx context.Context) (int32, []OpenFilesStat, error) { statPath, fnames, err := p.fillFromfdListWithContext(ctx) if err != nil { return 0, nil, err } numFDs := int32(len(fnames)) - var openfiles []*OpenFilesStat + openfiles := make([]OpenFilesStat, 0, numFDs) for _, fd := range fnames { fpath := filepath.Join(statPath, fd) - filepath, err := os.Readlink(fpath) + path, err := common.Readlink(fpath) if err != nil { continue } @@ -631,8 +639,8 @@ func (p *Process) fillFromfdWithContext(ctx context.Context) (int32, []*OpenFile if err != nil { return numFDs, openfiles, err } - o := &OpenFilesStat{ - Path: filepath, + o := OpenFilesStat{ + Path: path, Fd: t, } openfiles = append(openfiles, o) @@ -727,8 +735,12 @@ func (p *Process) fillFromIOWithContext(ctx context.Context) (*IOCountersStat, e case "syscw": ret.WriteCount = t case "read_bytes": - ret.ReadBytes = t + ret.DiskReadBytes = t case "write_bytes": + ret.DiskWriteBytes = t + case "rchar": + ret.ReadBytes = t + case "wchar": ret.WriteBytes = t } } @@ -866,32 +878,32 @@ func (p *Process) fillFromStatusWithContext(ctx context.Context) error { } p.tgid = int32(pval) case "Uid": - p.uids = make([]int32, 0, 4) + p.uids = make([]uint32, 0, 4) for _, i := range strings.Split(value, "\t") { - v, err := strconv.ParseInt(i, 10, 32) + v, err := strconv.ParseUint(i, 10, 32) if err != nil { return err } - p.uids = append(p.uids, int32(v)) + p.uids = append(p.uids, uint32(v)) } case "Gid": - p.gids = make([]int32, 0, 4) + p.gids = make([]uint32, 0, 4) for _, i := range strings.Split(value, "\t") { - v, err := strconv.ParseInt(i, 10, 32) + v, err := strconv.ParseUint(i, 10, 32) if err != nil { return err } - p.gids = append(p.gids, int32(v)) + p.gids = append(p.gids, uint32(v)) } case "Groups": groups := strings.Fields(value) - p.groups = make([]int32, 0, len(groups)) + p.groups = make([]uint32, 0, len(groups)) for _, i := range groups { - v, err := strconv.ParseInt(i, 10, 32) + v, err := strconv.ParseUint(i, 10, 32) if err != nil { return err } - p.groups = append(p.groups, int32(v)) + p.groups = append(p.groups, uint32(v)) } case "Threads": v, err := strconv.ParseInt(value, 10, 32) @@ -912,49 +924,49 @@ func (p *Process) fillFromStatusWithContext(ctx context.Context) error { } p.numCtxSwitches.Involuntary = v case "VmRSS": - value := strings.Trim(value, " kB") // remove last "kB" + value = strings.Trim(value, " kB") // remove last "kB" v, err := strconv.ParseUint(value, 10, 64) if err != nil { return err } p.memInfo.RSS = v * 1024 case "VmSize": - value := strings.Trim(value, " kB") // remove last "kB" + value = strings.Trim(value, " kB") // remove last "kB" v, err := strconv.ParseUint(value, 10, 64) if err != nil { return err } p.memInfo.VMS = v * 1024 case "VmSwap": - value := strings.Trim(value, " kB") // remove last "kB" + value = strings.Trim(value, " kB") // remove last "kB" v, err := strconv.ParseUint(value, 10, 64) if err != nil { return err } p.memInfo.Swap = v * 1024 case "VmHWM": - value := strings.Trim(value, " kB") // remove last "kB" + value = strings.Trim(value, " kB") // remove last "kB" v, err := strconv.ParseUint(value, 10, 64) if err != nil { return err } p.memInfo.HWM = v * 1024 case "VmData": - value := strings.Trim(value, " kB") // remove last "kB" + value = strings.Trim(value, " kB") // remove last "kB" v, err := strconv.ParseUint(value, 10, 64) if err != nil { return err } p.memInfo.Data = v * 1024 case "VmStk": - value := strings.Trim(value, " kB") // remove last "kB" + value = strings.Trim(value, " kB") // remove last "kB" v, err := strconv.ParseUint(value, 10, 64) if err != nil { return err } p.memInfo.Stack = v * 1024 case "VmLck": - value := strings.Trim(value, " kB") // remove last "kB" + value = strings.Trim(value, " kB") // remove last "kB" v, err := strconv.ParseUint(value, 10, 64) if err != nil { return err @@ -1076,8 +1088,7 @@ func (p *Process) fillFromTIDStatWithContext(ctx context.Context, tid int32) (ui if err != nil { return 0, 0, nil, 0, 0, 0, nil, err } - ctime := (t / uint64(clockTicks)) + uint64(bootTime) - createTime := int64(ctime * 1000) + createTime := int64((t * 1000 / uint64(clockTicks)) + uint64(bootTime*1000)) rtpriority, err := strconv.ParseInt(fields[18], 10, 32) if err != nil { diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_openbsd.go b/vendor/github.com/shirou/gopsutil/v4/process/process_openbsd.go similarity index 75% rename from vendor/github.com/shirou/gopsutil/v3/process/process_openbsd.go rename to vendor/github.com/shirou/gopsutil/v4/process/process_openbsd.go index 35869406..11bc5c18 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_openbsd.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_openbsd.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build openbsd -// +build openbsd package process @@ -7,18 +7,20 @@ import ( "bytes" "context" "encoding/binary" - "fmt" + "errors" "io" "path/filepath" + "sort" "strconv" "strings" "unsafe" - cpu "github.com/shirou/gopsutil/v3/cpu" - "github.com/shirou/gopsutil/v3/internal/common" - mem "github.com/shirou/gopsutil/v3/mem" - net "github.com/shirou/gopsutil/v3/net" "golang.org/x/sys/unix" + + "github.com/shirou/gopsutil/v4/cpu" + "github.com/shirou/gopsutil/v4/internal/common" + "github.com/shirou/gopsutil/v4/mem" + "github.com/shirou/gopsutil/v4/net" ) func pidsWithContext(ctx context.Context) ([]int32, error) { @@ -35,7 +37,7 @@ func pidsWithContext(ctx context.Context) ([]int32, error) { return ret, nil } -func (p *Process) PpidWithContext(ctx context.Context) (int32, error) { +func (p *Process) PpidWithContext(_ context.Context) (int32, error) { k, err := p.getKProc() if err != nil { return 0, err @@ -67,7 +69,7 @@ func (p *Process) NameWithContext(ctx context.Context) (string, error) { return name, nil } -func (p *Process) CwdWithContext(ctx context.Context) (string, error) { +func (p *Process) CwdWithContext(_ context.Context) (string, error) { mib := []int32{CTLKern, KernProcCwd, p.Pid} buf, _, err := common.CallSyscall(mib) if err != nil { @@ -76,11 +78,11 @@ func (p *Process) CwdWithContext(ctx context.Context) (string, error) { return common.ByteToString(buf), nil } -func (p *Process) ExeWithContext(ctx context.Context) (string, error) { +func (*Process) ExeWithContext(_ context.Context) (string, error) { return "", common.ErrNotImplementedError } -func (p *Process) CmdlineSliceWithContext(ctx context.Context) ([]string, error) { +func (p *Process) CmdlineSliceWithContext(_ context.Context) ([]string, error) { mib := []int32{CTLKern, KernProcArgs, p.Pid, KernProcArgv} buf, _, err := common.CallSyscall(mib) if err != nil { @@ -128,7 +130,7 @@ func readPtr(r io.Reader) (uintptr, error) { } return uintptr(p), nil default: - return 0, fmt.Errorf("unsupported pointer size") + return 0, errors.New("unsupported pointer size") } } @@ -140,11 +142,11 @@ func (p *Process) CmdlineWithContext(ctx context.Context) (string, error) { return strings.Join(argv, " "), nil } -func (p *Process) createTimeWithContext(ctx context.Context) (int64, error) { +func (*Process) createTimeWithContext(_ context.Context) (int64, error) { return 0, common.ErrNotImplementedError } -func (p *Process) StatusWithContext(ctx context.Context) ([]string, error) { +func (p *Process) StatusWithContext(_ context.Context) ([]string, error) { k, err := p.getKProc() if err != nil { return []string{""}, err @@ -176,46 +178,46 @@ func (p *Process) ForegroundWithContext(ctx context.Context) (bool, error) { return strings.IndexByte(string(out), '+') != -1, nil } -func (p *Process) UidsWithContext(ctx context.Context) ([]int32, error) { +func (p *Process) UidsWithContext(_ context.Context) ([]uint32, error) { k, err := p.getKProc() if err != nil { return nil, err } - uids := make([]int32, 0, 3) + uids := make([]uint32, 0, 3) - uids = append(uids, int32(k.Ruid), int32(k.Uid), int32(k.Svuid)) + uids = append(uids, uint32(k.Ruid), uint32(k.Uid), uint32(k.Svuid)) return uids, nil } -func (p *Process) GidsWithContext(ctx context.Context) ([]int32, error) { +func (p *Process) GidsWithContext(_ context.Context) ([]uint32, error) { k, err := p.getKProc() if err != nil { return nil, err } - gids := make([]int32, 0, 3) - gids = append(gids, int32(k.Rgid), int32(k.Ngroups), int32(k.Svgid)) + gids := make([]uint32, 0, 3) + gids = append(gids, uint32(k.Rgid), uint32(k.Ngroups), uint32(k.Svgid)) return gids, nil } -func (p *Process) GroupsWithContext(ctx context.Context) ([]int32, error) { +func (p *Process) GroupsWithContext(_ context.Context) ([]uint32, error) { k, err := p.getKProc() if err != nil { return nil, err } - groups := make([]int32, k.Ngroups) + groups := make([]uint32, k.Ngroups) for i := int16(0); i < k.Ngroups; i++ { - groups[i] = int32(k.Groups[i]) + groups[i] = uint32(k.Groups[i]) } return groups, nil } -func (p *Process) TerminalWithContext(ctx context.Context) (string, error) { +func (p *Process) TerminalWithContext(_ context.Context) (string, error) { k, err := p.getKProc() if err != nil { return "", err @@ -231,7 +233,7 @@ func (p *Process) TerminalWithContext(ctx context.Context) (string, error) { return termmap[ttyNr], nil } -func (p *Process) NiceWithContext(ctx context.Context) (int32, error) { +func (p *Process) NiceWithContext(_ context.Context) (int32, error) { k, err := p.getKProc() if err != nil { return 0, err @@ -239,7 +241,7 @@ func (p *Process) NiceWithContext(ctx context.Context) (int32, error) { return int32(k.Nice), nil } -func (p *Process) IOCountersWithContext(ctx context.Context) (*IOCountersStat, error) { +func (p *Process) IOCountersWithContext(_ context.Context) (*IOCountersStat, error) { k, err := p.getKProc() if err != nil { return nil, err @@ -250,12 +252,12 @@ func (p *Process) IOCountersWithContext(ctx context.Context) (*IOCountersStat, e }, nil } -func (p *Process) NumThreadsWithContext(ctx context.Context) (int32, error) { +func (*Process) NumThreadsWithContext(_ context.Context) (int32, error) { /* not supported, just return 1 */ return 1, nil } -func (p *Process) TimesWithContext(ctx context.Context) (*cpu.TimesStat, error) { +func (p *Process) TimesWithContext(_ context.Context) (*cpu.TimesStat, error) { k, err := p.getKProc() if err != nil { return nil, err @@ -285,26 +287,29 @@ func (p *Process) MemoryInfoWithContext(ctx context.Context) (*MemoryInfoStat, e } func (p *Process) ChildrenWithContext(ctx context.Context) ([]*Process, error) { - pids, err := common.CallPgrepWithContext(ctx, invoke, p.Pid) + procs, err := ProcessesWithContext(ctx) if err != nil { - return nil, err + return nil, nil } - ret := make([]*Process, 0, len(pids)) - for _, pid := range pids { - np, err := NewProcessWithContext(ctx, pid) + ret := make([]*Process, 0, len(procs)) + for _, proc := range procs { + ppid, err := proc.PpidWithContext(ctx) if err != nil { - return nil, err + continue + } + if ppid == p.Pid { + ret = append(ret, proc) } - ret = append(ret, np) } + sort.Slice(ret, func(i, j int) bool { return ret[i].Pid < ret[j].Pid }) return ret, nil } -func (p *Process) ConnectionsWithContext(ctx context.Context) ([]net.ConnectionStat, error) { +func (*Process) ConnectionsWithContext(_ context.Context) ([]net.ConnectionStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) ConnectionsMaxWithContext(ctx context.Context, max int) ([]net.ConnectionStat, error) { +func (*Process) ConnectionsMaxWithContext(_ context.Context, _ int) ([]net.ConnectionStat, error) { return nil, common.ErrNotImplementedError } @@ -343,7 +348,7 @@ func (p *Process) getKProc() (*KinfoProc, error) { return nil, err } if length != sizeOfKinfoProc { - return nil, err + return nil, errors.New("unexpected size of KinfoProc") } k, err := parseKinfoProc(buf) @@ -353,7 +358,7 @@ func (p *Process) getKProc() (*KinfoProc, error) { return &k, nil } -func callKernProcSyscall(op int32, arg int32) ([]byte, uint64, error) { +func callKernProcSyscall(op, arg int32) ([]byte, uint64, error) { mib := []int32{CTLKern, KernProc, op, arg, sizeOfKinfoProc, 0} mibptr := unsafe.Pointer(&mib[0]) miblen := uint64(len(mib)) diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_386.go b/vendor/github.com/shirou/gopsutil/v4/process/process_openbsd_386.go similarity index 98% rename from vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_386.go rename to vendor/github.com/shirou/gopsutil/v4/process/process_openbsd_386.go index 6e9edc20..5b84706a 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_386.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_openbsd_386.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build openbsd && 386 -// +build openbsd,386 // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs process/types_openbsd.go diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_amd64.go b/vendor/github.com/shirou/gopsutil/v4/process/process_openbsd_amd64.go similarity index 98% rename from vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_amd64.go rename to vendor/github.com/shirou/gopsutil/v4/process/process_openbsd_amd64.go index a46d28af..3229bb32 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_amd64.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_openbsd_amd64.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause // Created by cgo -godefs - DO NOT EDIT // cgo -godefs types_openbsd.go diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_arm.go b/vendor/github.com/shirou/gopsutil/v4/process/process_openbsd_arm.go similarity index 98% rename from vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_arm.go rename to vendor/github.com/shirou/gopsutil/v4/process/process_openbsd_arm.go index 68ea3c8f..6f74ce75 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_arm.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_openbsd_arm.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build openbsd && arm -// +build openbsd,arm // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs process/types_openbsd.go diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_arm64.go b/vendor/github.com/shirou/gopsutil/v4/process/process_openbsd_arm64.go similarity index 98% rename from vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_arm64.go rename to vendor/github.com/shirou/gopsutil/v4/process/process_openbsd_arm64.go index fa620ff6..91045456 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_arm64.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_openbsd_arm64.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build openbsd && arm64 -// +build openbsd,arm64 // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs process/types_openbsd.go diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_riscv64.go b/vendor/github.com/shirou/gopsutil/v4/process/process_openbsd_riscv64.go similarity index 98% rename from vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_riscv64.go rename to vendor/github.com/shirou/gopsutil/v4/process/process_openbsd_riscv64.go index b677e70a..e3e0d36a 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_openbsd_riscv64.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_openbsd_riscv64.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build openbsd && riscv64 -// +build openbsd,riscv64 // Code generated by cmd/cgo -godefs; DO NOT EDIT. // cgo -godefs process/types_openbsd.go diff --git a/vendor/github.com/shirou/gopsutil/v4/process/process_plan9.go b/vendor/github.com/shirou/gopsutil/v4/process/process_plan9.go new file mode 100644 index 00000000..bdb07ff2 --- /dev/null +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_plan9.go @@ -0,0 +1,203 @@ +// SPDX-License-Identifier: BSD-3-Clause +//go:build plan9 + +package process + +import ( + "context" + "syscall" + + "github.com/shirou/gopsutil/v4/cpu" + "github.com/shirou/gopsutil/v4/internal/common" + "github.com/shirou/gopsutil/v4/net" +) + +type Signal = syscall.Note + +type MemoryMapsStat struct { + Path string `json:"path"` + Rss uint64 `json:"rss"` + Size uint64 `json:"size"` + Pss uint64 `json:"pss"` + SharedClean uint64 `json:"sharedClean"` + SharedDirty uint64 `json:"sharedDirty"` + PrivateClean uint64 `json:"privateClean"` + PrivateDirty uint64 `json:"privateDirty"` + Referenced uint64 `json:"referenced"` + Anonymous uint64 `json:"anonymous"` + Swap uint64 `json:"swap"` +} + +type MemoryInfoExStat struct{} + +func pidsWithContext(_ context.Context) ([]int32, error) { + return nil, common.ErrNotImplementedError +} + +func ProcessesWithContext(_ context.Context) ([]*Process, error) { + return nil, common.ErrNotImplementedError +} + +func PidExistsWithContext(_ context.Context, _ int32) (bool, error) { + return false, common.ErrNotImplementedError +} + +func (*Process) PpidWithContext(_ context.Context) (int32, error) { + return 0, common.ErrNotImplementedError +} + +func (*Process) NameWithContext(_ context.Context) (string, error) { + return "", common.ErrNotImplementedError +} + +func (*Process) TgidWithContext(_ context.Context) (int32, error) { + return 0, common.ErrNotImplementedError +} + +func (*Process) ExeWithContext(_ context.Context) (string, error) { + return "", common.ErrNotImplementedError +} + +func (*Process) CmdlineWithContext(_ context.Context) (string, error) { + return "", common.ErrNotImplementedError +} + +func (*Process) CmdlineSliceWithContext(_ context.Context) ([]string, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) createTimeWithContext(_ context.Context) (int64, error) { + return 0, common.ErrNotImplementedError +} + +func (*Process) CwdWithContext(_ context.Context) (string, error) { + return "", common.ErrNotImplementedError +} + +func (*Process) StatusWithContext(_ context.Context) ([]string, error) { + return []string{""}, common.ErrNotImplementedError +} + +func (*Process) ForegroundWithContext(_ context.Context) (bool, error) { + return false, common.ErrNotImplementedError +} + +func (*Process) UidsWithContext(_ context.Context) ([]uint32, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) GidsWithContext(_ context.Context) ([]uint32, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) GroupsWithContext(_ context.Context) ([]uint32, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) TerminalWithContext(_ context.Context) (string, error) { + return "", common.ErrNotImplementedError +} + +func (*Process) NiceWithContext(_ context.Context) (int32, error) { + return 0, common.ErrNotImplementedError +} + +func (*Process) IOniceWithContext(_ context.Context) (int32, error) { + return 0, common.ErrNotImplementedError +} + +func (*Process) RlimitWithContext(_ context.Context) ([]RlimitStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) RlimitUsageWithContext(_ context.Context, _ bool) ([]RlimitStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) IOCountersWithContext(_ context.Context) (*IOCountersStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) NumCtxSwitchesWithContext(_ context.Context) (*NumCtxSwitchesStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) NumFDsWithContext(_ context.Context) (int32, error) { + return 0, common.ErrNotImplementedError +} + +func (*Process) NumThreadsWithContext(_ context.Context) (int32, error) { + return 0, common.ErrNotImplementedError +} + +func (*Process) ThreadsWithContext(_ context.Context) (map[int32]*cpu.TimesStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) TimesWithContext(_ context.Context) (*cpu.TimesStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) CPUAffinityWithContext(_ context.Context) ([]int32, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) MemoryInfoWithContext(_ context.Context) (*MemoryInfoStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) MemoryInfoExWithContext(_ context.Context) (*MemoryInfoExStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) PageFaultsWithContext(_ context.Context) (*PageFaultsStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) ChildrenWithContext(_ context.Context) ([]*Process, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) OpenFilesWithContext(_ context.Context) ([]OpenFilesStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) ConnectionsWithContext(_ context.Context) ([]net.ConnectionStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) ConnectionsMaxWithContext(_ context.Context, _ int) ([]net.ConnectionStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) MemoryMapsWithContext(_ context.Context, _ bool) (*[]MemoryMapsStat, error) { + return nil, common.ErrNotImplementedError +} + +func (*Process) SendSignalWithContext(_ context.Context, _ Signal) error { + return common.ErrNotImplementedError +} + +func (*Process) SuspendWithContext(_ context.Context) error { + return common.ErrNotImplementedError +} + +func (*Process) ResumeWithContext(_ context.Context) error { + return common.ErrNotImplementedError +} + +func (*Process) TerminateWithContext(_ context.Context) error { + return common.ErrNotImplementedError +} + +func (*Process) KillWithContext(_ context.Context) error { + return common.ErrNotImplementedError +} + +func (*Process) UsernameWithContext(_ context.Context) (string, error) { + return "", common.ErrNotImplementedError +} + +func (*Process) EnvironWithContext(_ context.Context) ([]string, error) { + return nil, common.ErrNotImplementedError +} diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_posix.go b/vendor/github.com/shirou/gopsutil/v4/process/process_posix.go similarity index 92% rename from vendor/github.com/shirou/gopsutil/v3/process/process_posix.go rename to vendor/github.com/shirou/gopsutil/v4/process/process_posix.go index a01f9ecf..9fe55b49 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_posix.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_posix.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build linux || freebsd || openbsd || darwin || solaris -// +build linux freebsd openbsd darwin solaris package process @@ -16,7 +16,7 @@ import ( "golang.org/x/sys/unix" - "github.com/shirou/gopsutil/v3/internal/common" + "github.com/shirou/gopsutil/v4/internal/common" ) type Signal = syscall.Signal @@ -67,11 +67,12 @@ func getTerminalMap() (map[uint64]string, error) { for _, name := range termfiles { stat := unix.Stat_t{} - if err = unix.Stat(name, &stat); err != nil { + err = unix.Stat(name, &stat) + if err != nil { return nil, err } rdev := uint64(stat.Rdev) - ret[rdev] = strings.Replace(name, "/dev", "", -1) + ret[rdev] = strings.ReplaceAll(name, "/dev", "") } return ret, nil } @@ -108,6 +109,7 @@ func PidExistsWithContext(ctx context.Context, pid int32) (bool, error) { if err != nil { return false, err } + defer proc.Release() if isMount(common.HostProcWithContext(ctx)) { // if //proc exists and is mounted, check if //proc/ folder exists _, err := os.Stat(common.HostProcWithContext(ctx, strconv.Itoa(int(pid)))) @@ -139,11 +141,12 @@ func PidExistsWithContext(ctx context.Context, pid int32) (bool, error) { return false, err } -func (p *Process) SendSignalWithContext(ctx context.Context, sig syscall.Signal) error { +func (p *Process) SendSignalWithContext(_ context.Context, sig syscall.Signal) error { process, err := os.FindProcess(int(p.Pid)) if err != nil { return err } + defer process.Release() err = process.Signal(sig) if err != nil { diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_solaris.go b/vendor/github.com/shirou/gopsutil/v4/process/process_solaris.go similarity index 68% rename from vendor/github.com/shirou/gopsutil/v3/process/process_solaris.go rename to vendor/github.com/shirou/gopsutil/v4/process/process_solaris.go index dd4bd476..685a3cc3 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_solaris.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_solaris.go @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: BSD-3-Clause package process import ( @@ -7,9 +8,9 @@ import ( "strconv" "strings" - "github.com/shirou/gopsutil/v3/cpu" - "github.com/shirou/gopsutil/v3/internal/common" - "github.com/shirou/gopsutil/v3/net" + "github.com/shirou/gopsutil/v4/cpu" + "github.com/shirou/gopsutil/v4/internal/common" + "github.com/shirou/gopsutil/v4/net" ) type MemoryMapsStat struct { @@ -51,15 +52,15 @@ func ProcessesWithContext(ctx context.Context) ([]*Process, error) { return out, nil } -func (p *Process) PpidWithContext(ctx context.Context) (int32, error) { +func (*Process) PpidWithContext(_ context.Context) (int32, error) { return 0, common.ErrNotImplementedError } -func (p *Process) NameWithContext(ctx context.Context) (string, error) { +func (*Process) NameWithContext(_ context.Context) (string, error) { return "", common.ErrNotImplementedError } -func (p *Process) TgidWithContext(ctx context.Context) (int32, error) { +func (*Process) TgidWithContext(_ context.Context) (int32, error) { return 0, common.ErrNotImplementedError } @@ -79,7 +80,7 @@ func (p *Process) CmdlineSliceWithContext(ctx context.Context) ([]string, error) return p.fillSliceFromCmdlineWithContext(ctx) } -func (p *Process) createTimeWithContext(ctx context.Context) (int64, error) { +func (*Process) createTimeWithContext(_ context.Context) (int64, error) { return 0, common.ErrNotImplementedError } @@ -87,51 +88,51 @@ func (p *Process) CwdWithContext(ctx context.Context) (string, error) { return p.fillFromPathCwdWithContext(ctx) } -func (p *Process) StatusWithContext(ctx context.Context) ([]string, error) { +func (*Process) StatusWithContext(_ context.Context) ([]string, error) { return []string{""}, common.ErrNotImplementedError } -func (p *Process) ForegroundWithContext(ctx context.Context) (bool, error) { +func (*Process) ForegroundWithContext(_ context.Context) (bool, error) { return false, common.ErrNotImplementedError } -func (p *Process) UidsWithContext(ctx context.Context) ([]int32, error) { +func (*Process) UidsWithContext(_ context.Context) ([]uint32, error) { return nil, common.ErrNotImplementedError } -func (p *Process) GidsWithContext(ctx context.Context) ([]int32, error) { +func (*Process) GidsWithContext(_ context.Context) ([]uint32, error) { return nil, common.ErrNotImplementedError } -func (p *Process) GroupsWithContext(ctx context.Context) ([]int32, error) { +func (*Process) GroupsWithContext(_ context.Context) ([]uint32, error) { return nil, common.ErrNotImplementedError } -func (p *Process) TerminalWithContext(ctx context.Context) (string, error) { +func (*Process) TerminalWithContext(_ context.Context) (string, error) { return "", common.ErrNotImplementedError } -func (p *Process) NiceWithContext(ctx context.Context) (int32, error) { +func (*Process) NiceWithContext(_ context.Context) (int32, error) { return 0, common.ErrNotImplementedError } -func (p *Process) IOniceWithContext(ctx context.Context) (int32, error) { +func (*Process) IOniceWithContext(_ context.Context) (int32, error) { return 0, common.ErrNotImplementedError } -func (p *Process) RlimitWithContext(ctx context.Context) ([]RlimitStat, error) { +func (*Process) RlimitWithContext(_ context.Context) ([]RlimitStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) RlimitUsageWithContext(ctx context.Context, gatherUsed bool) ([]RlimitStat, error) { +func (*Process) RlimitUsageWithContext(_ context.Context, _ bool) ([]RlimitStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) IOCountersWithContext(ctx context.Context) (*IOCountersStat, error) { +func (*Process) IOCountersWithContext(_ context.Context) (*IOCountersStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) NumCtxSwitchesWithContext(ctx context.Context) (*NumCtxSwitchesStat, error) { +func (*Process) NumCtxSwitchesWithContext(_ context.Context) (*NumCtxSwitchesStat, error) { return nil, common.ErrNotImplementedError } @@ -140,55 +141,55 @@ func (p *Process) NumFDsWithContext(ctx context.Context) (int32, error) { return int32(len(fnames)), err } -func (p *Process) NumThreadsWithContext(ctx context.Context) (int32, error) { +func (*Process) NumThreadsWithContext(_ context.Context) (int32, error) { return 0, common.ErrNotImplementedError } -func (p *Process) ThreadsWithContext(ctx context.Context) (map[int32]*cpu.TimesStat, error) { +func (*Process) ThreadsWithContext(_ context.Context) (map[int32]*cpu.TimesStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) TimesWithContext(ctx context.Context) (*cpu.TimesStat, error) { +func (*Process) TimesWithContext(_ context.Context) (*cpu.TimesStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) CPUAffinityWithContext(ctx context.Context) ([]int32, error) { +func (*Process) CPUAffinityWithContext(_ context.Context) ([]int32, error) { return nil, common.ErrNotImplementedError } -func (p *Process) MemoryInfoWithContext(ctx context.Context) (*MemoryInfoStat, error) { +func (*Process) MemoryInfoWithContext(_ context.Context) (*MemoryInfoStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) MemoryInfoExWithContext(ctx context.Context) (*MemoryInfoExStat, error) { +func (*Process) MemoryInfoExWithContext(_ context.Context) (*MemoryInfoExStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) PageFaultsWithContext(ctx context.Context) (*PageFaultsStat, error) { +func (*Process) PageFaultsWithContext(_ context.Context) (*PageFaultsStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) ChildrenWithContext(ctx context.Context) ([]*Process, error) { +func (*Process) ChildrenWithContext(_ context.Context) ([]*Process, error) { return nil, common.ErrNotImplementedError } -func (p *Process) OpenFilesWithContext(ctx context.Context) ([]OpenFilesStat, error) { +func (*Process) OpenFilesWithContext(_ context.Context) ([]OpenFilesStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) ConnectionsWithContext(ctx context.Context) ([]net.ConnectionStat, error) { +func (*Process) ConnectionsWithContext(_ context.Context) ([]net.ConnectionStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) ConnectionsMaxWithContext(ctx context.Context, max int) ([]net.ConnectionStat, error) { +func (*Process) ConnectionsMaxWithContext(_ context.Context, _ int) ([]net.ConnectionStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) MemoryMapsWithContext(ctx context.Context, grouped bool) (*[]MemoryMapsStat, error) { +func (*Process) MemoryMapsWithContext(_ context.Context, _ bool) (*[]MemoryMapsStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) EnvironWithContext(ctx context.Context) ([]string, error) { +func (*Process) EnvironWithContext(_ context.Context) ([]string, error) { return nil, common.ErrNotImplementedError } @@ -246,10 +247,7 @@ func (p *Process) fillFromCmdlineWithContext(ctx context.Context) (string, error return "", err } ret := strings.FieldsFunc(string(cmdline), func(r rune) bool { - if r == '\u0000' { - return true - } - return false + return r == '\u0000' }) return strings.Join(ret, " "), nil diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_windows.go b/vendor/github.com/shirou/gopsutil/v4/process/process_windows.go similarity index 83% rename from vendor/github.com/shirou/gopsutil/v3/process/process_windows.go rename to vendor/github.com/shirou/gopsutil/v4/process/process_windows.go index f2053d98..16580e1b 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_windows.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_windows.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build windows -// +build windows package process @@ -12,16 +12,16 @@ import ( "os" "path/filepath" "reflect" - "strings" "syscall" "time" "unicode/utf16" "unsafe" - "github.com/shirou/gopsutil/v3/cpu" - "github.com/shirou/gopsutil/v3/internal/common" - "github.com/shirou/gopsutil/v3/net" "golang.org/x/sys/windows" + + "github.com/shirou/gopsutil/v4/cpu" + "github.com/shirou/gopsutil/v4/internal/common" + "github.com/shirou/gopsutil/v4/net" ) type Signal = syscall.Signal @@ -43,6 +43,7 @@ var ( procGetPriorityClass = common.Modkernel32.NewProc("GetPriorityClass") procGetProcessIoCounters = common.Modkernel32.NewProc("GetProcessIoCounters") procGetNativeSystemInfo = common.Modkernel32.NewProc("GetNativeSystemInfo") + procGetProcessHandleCount = common.Modkernel32.NewProc("GetProcessHandleCount") processorArchitecture uint ) @@ -201,10 +202,10 @@ type ( ) func init() { - var systemInfo systemInfo + var sInfo systemInfo - procGetNativeSystemInfo.Call(uintptr(unsafe.Pointer(&systemInfo))) - processorArchitecture = uint(systemInfo.wProcessorArchitecture) + procGetNativeSystemInfo.Call(uintptr(unsafe.Pointer(&sInfo))) + processorArchitecture = uint(sInfo.wProcessorArchitecture) // enable SeDebugPrivilege https://github.com/midstar/proci/blob/6ec79f57b90ba3d9efa2a7b16ef9c9369d4be875/proci_windows.go#L80-L119 handle, err := syscall.GetCurrentProcess() @@ -240,11 +241,11 @@ func init() { 0) } -func pidsWithContext(ctx context.Context) ([]int32, error) { +func pidsWithContext(_ context.Context) ([]int32, error) { // inspired by https://gist.github.com/henkman/3083408 // and https://github.com/giampaolo/psutil/blob/1c3a15f637521ba5c0031283da39c733fda53e4c/psutil/arch/windows/process_info.c#L315-L329 var ret []int32 - var read uint32 = 0 + var read uint32 var psSize uint32 = 1024 const dwordSize uint32 = 4 @@ -287,10 +288,10 @@ func PidExistsWithContext(ctx context.Context, pid int32) (bool, error) { return false, err } h, err := windows.OpenProcess(windows.SYNCHRONIZE, false, uint32(pid)) - if err == windows.ERROR_ACCESS_DENIED { + if errors.Is(err, windows.ERROR_ACCESS_DENIED) { return true, nil } - if err == windows.ERROR_INVALID_PARAMETER { + if errors.Is(err, windows.ERROR_INVALID_PARAMETER) { return false, nil } if err != nil { @@ -301,7 +302,7 @@ func PidExistsWithContext(ctx context.Context, pid int32) (bool, error) { return event == uint32(windows.WAIT_TIMEOUT), err } -func (p *Process) PpidWithContext(ctx context.Context) (int32, error) { +func (p *Process) PpidWithContext(_ context.Context) (int32, error) { // if cached already, return from cache cachedPpid := p.getPpid() if cachedPpid != 0 { @@ -329,17 +330,17 @@ func (p *Process) NameWithContext(ctx context.Context) (string, error) { exe, err := p.ExeWithContext(ctx) if err != nil { - return "", fmt.Errorf("could not get Name: %s", err) + return "", fmt.Errorf("could not get Name: %w", err) } return filepath.Base(exe), nil } -func (p *Process) TgidWithContext(ctx context.Context) (int32, error) { +func (*Process) TgidWithContext(_ context.Context) (int32, error) { return 0, common.ErrNotImplementedError } -func (p *Process) ExeWithContext(ctx context.Context) (string, error) { +func (p *Process) ExeWithContext(_ context.Context) (string, error) { c, err := windows.OpenProcess(processQueryInformation, false, uint32(p.Pid)) if err != nil { return "", err @@ -356,20 +357,20 @@ func (p *Process) ExeWithContext(ctx context.Context) (string, error) { if ret == 0 { return "", err } - return windows.UTF16ToString(buf[:]), nil + return windows.UTF16ToString(buf), nil } // XP fallback ret, _, err := procGetProcessImageFileNameW.Call(uintptr(c), uintptr(unsafe.Pointer(&buf[0])), uintptr(size)) if ret == 0 { return "", err } - return common.ConvertDOSPath(windows.UTF16ToString(buf[:])), nil + return common.ConvertDOSPath(windows.UTF16ToString(buf)), nil } func (p *Process) CmdlineWithContext(_ context.Context) (string, error) { cmdline, err := getProcessCommandLine(p.Pid) if err != nil { - return "", fmt.Errorf("could not get CommandLine: %s", err) + return "", fmt.Errorf("could not get CommandLine: %w", err) } return cmdline, nil } @@ -379,13 +380,33 @@ func (p *Process) CmdlineSliceWithContext(ctx context.Context) ([]string, error) if err != nil { return nil, err } - return strings.Split(cmdline, " "), nil + return parseCmdline(cmdline) } -func (p *Process) createTimeWithContext(ctx context.Context) (int64, error) { +func parseCmdline(cmdline string) ([]string, error) { + cmdlineptr, err := windows.UTF16PtrFromString(cmdline) + if err != nil { + return nil, err + } + + var argc int32 + argvptr, err := windows.CommandLineToArgv(cmdlineptr, &argc) + if err != nil { + return nil, err + } + defer windows.LocalFree(windows.Handle(uintptr(unsafe.Pointer(argvptr)))) + + argv := make([]string, argc) + for i, v := range (*argvptr)[:argc] { + argv[i] = windows.UTF16ToString((*v)[:]) + } + return argv, nil +} + +func (p *Process) createTimeWithContext(_ context.Context) (int64, error) { ru, err := getRusage(p.Pid) if err != nil { - return 0, fmt.Errorf("could not get CreationDate: %s", err) + return 0, fmt.Errorf("could not get CreationDate: %w", err) } return ru.CreationTime.Nanoseconds() / 1000000, nil @@ -393,7 +414,7 @@ func (p *Process) createTimeWithContext(ctx context.Context) (int64, error) { func (p *Process) CwdWithContext(_ context.Context) (string, error) { h, err := windows.OpenProcess(processQueryInformation|windows.PROCESS_VM_READ, false, uint32(p.Pid)) - if err == windows.ERROR_ACCESS_DENIED || err == windows.ERROR_INVALID_PARAMETER { + if errors.Is(err, windows.ERROR_ACCESS_DENIED) || errors.Is(err, windows.ERROR_INVALID_PARAMETER) { return "", nil } if err != nil { @@ -435,15 +456,15 @@ func (p *Process) CwdWithContext(_ context.Context) (string, error) { return "", nil } -func (p *Process) StatusWithContext(ctx context.Context) ([]string, error) { +func (*Process) StatusWithContext(_ context.Context) ([]string, error) { return []string{""}, common.ErrNotImplementedError } -func (p *Process) ForegroundWithContext(ctx context.Context) (bool, error) { +func (*Process) ForegroundWithContext(_ context.Context) (bool, error) { return false, common.ErrNotImplementedError } -func (p *Process) UsernameWithContext(ctx context.Context) (string, error) { +func (p *Process) UsernameWithContext(_ context.Context) (string, error) { pid := p.Pid c, err := windows.OpenProcess(processQueryInformation, false, uint32(pid)) if err != nil { @@ -466,19 +487,19 @@ func (p *Process) UsernameWithContext(ctx context.Context) (string, error) { return domain + "\\" + user, err } -func (p *Process) UidsWithContext(ctx context.Context) ([]int32, error) { +func (*Process) UidsWithContext(_ context.Context) ([]uint32, error) { return nil, common.ErrNotImplementedError } -func (p *Process) GidsWithContext(ctx context.Context) ([]int32, error) { +func (*Process) GidsWithContext(_ context.Context) ([]uint32, error) { return nil, common.ErrNotImplementedError } -func (p *Process) GroupsWithContext(ctx context.Context) ([]int32, error) { +func (*Process) GroupsWithContext(_ context.Context) ([]uint32, error) { return nil, common.ErrNotImplementedError } -func (p *Process) TerminalWithContext(ctx context.Context) (string, error) { +func (*Process) TerminalWithContext(_ context.Context) (string, error) { return "", common.ErrNotImplementedError } @@ -494,7 +515,7 @@ var priorityClasses = map[int]int32{ 0x00000100: 24, // REALTIME_PRIORITY_CLASS } -func (p *Process) NiceWithContext(ctx context.Context) (int32, error) { +func (p *Process) NiceWithContext(_ context.Context) (int32, error) { c, err := windows.OpenProcess(processQueryInformation, false, uint32(p.Pid)) if err != nil { return 0, err @@ -511,48 +532,61 @@ func (p *Process) NiceWithContext(ctx context.Context) (int32, error) { return priority, nil } -func (p *Process) IOniceWithContext(ctx context.Context) (int32, error) { +func (*Process) IOniceWithContext(_ context.Context) (int32, error) { return 0, common.ErrNotImplementedError } -func (p *Process) RlimitWithContext(ctx context.Context) ([]RlimitStat, error) { +func (*Process) RlimitWithContext(_ context.Context) ([]RlimitStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) RlimitUsageWithContext(ctx context.Context, gatherUsed bool) ([]RlimitStat, error) { +func (*Process) RlimitUsageWithContext(_ context.Context, _ bool) ([]RlimitStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) IOCountersWithContext(ctx context.Context) (*IOCountersStat, error) { +func (p *Process) IOCountersWithContext(_ context.Context) (*IOCountersStat, error) { c, err := windows.OpenProcess(processQueryInformation, false, uint32(p.Pid)) if err != nil { return nil, err } defer windows.CloseHandle(c) - var ioCounters ioCounters - ret, _, err := procGetProcessIoCounters.Call(uintptr(c), uintptr(unsafe.Pointer(&ioCounters))) + var counters ioCounters + ret, _, err := procGetProcessIoCounters.Call(uintptr(c), uintptr(unsafe.Pointer(&counters))) if ret == 0 { return nil, err } stats := &IOCountersStat{ - ReadCount: ioCounters.ReadOperationCount, - ReadBytes: ioCounters.ReadTransferCount, - WriteCount: ioCounters.WriteOperationCount, - WriteBytes: ioCounters.WriteTransferCount, + ReadCount: counters.ReadOperationCount, + ReadBytes: counters.ReadTransferCount, + WriteCount: counters.WriteOperationCount, + WriteBytes: counters.WriteTransferCount, } return stats, nil } -func (p *Process) NumCtxSwitchesWithContext(ctx context.Context) (*NumCtxSwitchesStat, error) { +func (*Process) NumCtxSwitchesWithContext(_ context.Context) (*NumCtxSwitchesStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) NumFDsWithContext(ctx context.Context) (int32, error) { - return 0, common.ErrNotImplementedError +// NumFDsWithContext returns the number of handles for a process on Windows, +// not the number of file descriptors (FDs). +func (p *Process) NumFDsWithContext(_ context.Context) (int32, error) { + handle, err := windows.OpenProcess(processQueryInformation, false, uint32(p.Pid)) + if err != nil { + return 0, err + } + defer windows.CloseHandle(handle) + + var handleCount uint32 + ret, _, err := procGetProcessHandleCount.Call(uintptr(handle), uintptr(unsafe.Pointer(&handleCount))) + if ret == 0 { + return 0, err + } + return int32(handleCount), nil } -func (p *Process) NumThreadsWithContext(ctx context.Context) (int32, error) { +func (p *Process) NumThreadsWithContext(_ context.Context) (int32, error) { ppid, ret, _, err := getFromSnapProcess(p.Pid) if err != nil { return 0, err @@ -560,18 +594,18 @@ func (p *Process) NumThreadsWithContext(ctx context.Context) (int32, error) { // if no errors and not cached already, cache ppid p.parent = ppid - if 0 == p.getPpid() { + if p.getPpid() == 0 { p.setPpid(ppid) } return ret, nil } -func (p *Process) ThreadsWithContext(ctx context.Context) (map[int32]*cpu.TimesStat, error) { +func (*Process) ThreadsWithContext(_ context.Context) (map[int32]*cpu.TimesStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) TimesWithContext(ctx context.Context) (*cpu.TimesStat, error) { +func (p *Process) TimesWithContext(_ context.Context) (*cpu.TimesStat, error) { sysTimes, err := getProcessCPUTimes(p.Pid) if err != nil { return nil, err @@ -595,11 +629,11 @@ func (p *Process) TimesWithContext(ctx context.Context) (*cpu.TimesStat, error) }, nil } -func (p *Process) CPUAffinityWithContext(ctx context.Context) ([]int32, error) { +func (*Process) CPUAffinityWithContext(_ context.Context) ([]int32, error) { return nil, common.ErrNotImplementedError } -func (p *Process) MemoryInfoWithContext(ctx context.Context) (*MemoryInfoStat, error) { +func (p *Process) MemoryInfoWithContext(_ context.Context) (*MemoryInfoStat, error) { mem, err := getMemoryInfo(p.Pid) if err != nil { return nil, err @@ -613,12 +647,22 @@ func (p *Process) MemoryInfoWithContext(ctx context.Context) (*MemoryInfoStat, e return ret, nil } -func (p *Process) MemoryInfoExWithContext(ctx context.Context) (*MemoryInfoExStat, error) { +func (*Process) MemoryInfoExWithContext(_ context.Context) (*MemoryInfoExStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) PageFaultsWithContext(ctx context.Context) (*PageFaultsStat, error) { - return nil, common.ErrNotImplementedError +func (p *Process) PageFaultsWithContext(_ context.Context) (*PageFaultsStat, error) { + mem, err := getMemoryInfo(p.Pid) + if err != nil { + return nil, err + } + + ret := &PageFaultsStat{ + // Since Windows does not distinguish between Major and Minor faults, all faults are treated as Major + MajorFaults: uint64(mem.PageFaultCount), + } + + return ret, nil } func (p *Process) ChildrenWithContext(ctx context.Context) ([]*Process, error) { @@ -744,19 +788,19 @@ func (p *Process) ConnectionsWithContext(ctx context.Context) ([]net.ConnectionS return net.ConnectionsPidWithContext(ctx, "all", p.Pid) } -func (p *Process) ConnectionsMaxWithContext(ctx context.Context, max int) ([]net.ConnectionStat, error) { +func (*Process) ConnectionsMaxWithContext(_ context.Context, _ int) ([]net.ConnectionStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) MemoryMapsWithContext(ctx context.Context, grouped bool) (*[]MemoryMapsStat, error) { +func (*Process) MemoryMapsWithContext(_ context.Context, _ bool) (*[]MemoryMapsStat, error) { return nil, common.ErrNotImplementedError } -func (p *Process) SendSignalWithContext(ctx context.Context, sig syscall.Signal) error { +func (*Process) SendSignalWithContext(_ context.Context, _ syscall.Signal) error { return common.ErrNotImplementedError } -func (p *Process) SuspendWithContext(ctx context.Context) error { +func (p *Process) SuspendWithContext(_ context.Context) error { c, err := windows.OpenProcess(windows.PROCESS_SUSPEND_RESUME, false, uint32(p.Pid)) if err != nil { return err @@ -772,7 +816,7 @@ func (p *Process) SuspendWithContext(ctx context.Context) error { return nil } -func (p *Process) ResumeWithContext(ctx context.Context) error { +func (p *Process) ResumeWithContext(_ context.Context) error { c, err := windows.OpenProcess(windows.PROCESS_SUSPEND_RESUME, false, uint32(p.Pid)) if err != nil { return err @@ -788,7 +832,7 @@ func (p *Process) ResumeWithContext(ctx context.Context) error { return nil } -func (p *Process) TerminateWithContext(ctx context.Context) error { +func (p *Process) TerminateWithContext(_ context.Context) error { proc, err := windows.OpenProcess(windows.PROCESS_TERMINATE, false, uint32(p.Pid)) if err != nil { return err @@ -798,18 +842,19 @@ func (p *Process) TerminateWithContext(ctx context.Context) error { return err } -func (p *Process) KillWithContext(ctx context.Context) error { +func (p *Process) KillWithContext(_ context.Context) error { process, err := os.FindProcess(int(p.Pid)) if err != nil { return err } + defer process.Release() return process.Kill() } func (p *Process) EnvironWithContext(ctx context.Context) ([]string, error) { - envVars, err := getProcessEnvironmentVariables(p.Pid, ctx) + envVars, err := getProcessEnvironmentVariables(ctx, p.Pid) if err != nil { - return nil, fmt.Errorf("could not get environment variables: %s", err) + return nil, fmt.Errorf("could not get environment variables: %w", err) } return envVars, nil } @@ -829,7 +874,7 @@ func (p *Process) setPpid(ppid int32) { p.parent = ppid } -func getFromSnapProcess(pid int32) (int32, int32, string, error) { +func getFromSnapProcess(pid int32) (int32, int32, string, error) { //nolint:unparam //FIXME snap, err := windows.CreateToolhelp32Snapshot(windows.TH32CS_SNAPPROCESS, uint32(pid)) if err != nil { return 0, 0, "", err @@ -837,7 +882,8 @@ func getFromSnapProcess(pid int32) (int32, int32, string, error) { defer windows.CloseHandle(snap) var pe32 windows.ProcessEntry32 pe32.Size = uint32(unsafe.Sizeof(pe32)) - if err = windows.Process32First(snap, &pe32); err != nil { + err = windows.Process32First(snap, &pe32) + if err != nil { return 0, 0, "", err } for { @@ -857,7 +903,7 @@ func ProcessesWithContext(ctx context.Context) ([]*Process, error) { pids, err := PidsWithContext(ctx) if err != nil { - return out, fmt.Errorf("could not get Processes %s", err) + return out, fmt.Errorf("could not get Processes %w", err) } for _, pid := range pids { @@ -913,7 +959,7 @@ func getProcessMemoryInfo(h windows.Handle, mem *PROCESS_MEMORY_COUNTERS) (err e return } -type SYSTEM_TIMES struct { +type SYSTEM_TIMES struct { //nolint:revive //FIXME CreateTime syscall.Filetime ExitTime syscall.Filetime KernelTime syscall.Filetime @@ -948,13 +994,13 @@ func getUserProcessParams32(handle windows.Handle) (rtlUserProcessParameters32, buf := readProcessMemory(syscall.Handle(handle), true, pebAddress, uint(unsafe.Sizeof(processEnvironmentBlock32{}))) if len(buf) != int(unsafe.Sizeof(processEnvironmentBlock32{})) { - return rtlUserProcessParameters32{}, fmt.Errorf("cannot read process PEB") + return rtlUserProcessParameters32{}, errors.New("cannot read process PEB") } peb := (*processEnvironmentBlock32)(unsafe.Pointer(&buf[0])) userProcessAddress := uint64(peb.ProcessParameters) buf = readProcessMemory(syscall.Handle(handle), true, userProcessAddress, uint(unsafe.Sizeof(rtlUserProcessParameters32{}))) if len(buf) != int(unsafe.Sizeof(rtlUserProcessParameters32{})) { - return rtlUserProcessParameters32{}, fmt.Errorf("cannot read user process parameters") + return rtlUserProcessParameters32{}, errors.New("cannot read user process parameters") } return *(*rtlUserProcessParameters32)(unsafe.Pointer(&buf[0])), nil } @@ -967,13 +1013,13 @@ func getUserProcessParams64(handle windows.Handle) (rtlUserProcessParameters64, buf := readProcessMemory(syscall.Handle(handle), false, pebAddress, uint(unsafe.Sizeof(processEnvironmentBlock64{}))) if len(buf) != int(unsafe.Sizeof(processEnvironmentBlock64{})) { - return rtlUserProcessParameters64{}, fmt.Errorf("cannot read process PEB") + return rtlUserProcessParameters64{}, errors.New("cannot read process PEB") } peb := (*processEnvironmentBlock64)(unsafe.Pointer(&buf[0])) userProcessAddress := peb.ProcessParameters buf = readProcessMemory(syscall.Handle(handle), false, userProcessAddress, uint(unsafe.Sizeof(rtlUserProcessParameters64{}))) if len(buf) != int(unsafe.Sizeof(rtlUserProcessParameters64{})) { - return rtlUserProcessParameters64{}, fmt.Errorf("cannot read user process parameters") + return rtlUserProcessParameters64{}, errors.New("cannot read user process parameters") } return *(*rtlUserProcessParameters64)(unsafe.Pointer(&buf[0])), nil } @@ -1023,9 +1069,9 @@ func is32BitProcess(h windows.Handle) bool { return procIs32Bits } -func getProcessEnvironmentVariables(pid int32, ctx context.Context) ([]string, error) { +func getProcessEnvironmentVariables(ctx context.Context, pid int32) ([]string, error) { h, err := windows.OpenProcess(processQueryInformation|windows.PROCESS_VM_READ, false, uint32(pid)) - if err == windows.ERROR_ACCESS_DENIED || err == windows.ERROR_INVALID_PARAMETER { + if errors.Is(err, windows.ERROR_ACCESS_DENIED) || errors.Is(err, windows.ERROR_INVALID_PARAMETER) { return nil, nil } if err != nil { @@ -1109,7 +1155,7 @@ func (p *processReader) Read(buf []byte) (int, error) { func getProcessCommandLine(pid int32) (string, error) { h, err := windows.OpenProcess(processQueryInformation|windows.PROCESS_VM_READ, false, uint32(pid)) - if err == windows.ERROR_ACCESS_DENIED || err == windows.ERROR_INVALID_PARAMETER { + if errors.Is(err, windows.ERROR_ACCESS_DENIED) || errors.Is(err, windows.ERROR_INVALID_PARAMETER) { return "", nil } if err != nil { diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_windows_32bit.go b/vendor/github.com/shirou/gopsutil/v4/process/process_windows_32bit.go similarity index 52% rename from vendor/github.com/shirou/gopsutil/v3/process/process_windows_32bit.go rename to vendor/github.com/shirou/gopsutil/v4/process/process_windows_32bit.go index db4d4533..911351b1 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_windows_32bit.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_windows_32bit.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build (windows && 386) || (windows && arm) -// +build windows,386 windows,arm package process @@ -8,11 +8,12 @@ import ( "syscall" "unsafe" - "github.com/shirou/gopsutil/v3/internal/common" "golang.org/x/sys/windows" + + "github.com/shirou/gopsutil/v4/internal/common" ) -type PROCESS_MEMORY_COUNTERS struct { +type PROCESS_MEMORY_COUNTERS struct { //nolint:revive //FIXME CB uint32 PageFaultCount uint32 PeakWorkingSetSize uint32 @@ -39,30 +40,27 @@ func queryPebAddress(procHandle syscall.Handle, is32BitProcess bool) (uint64, er ) if status := windows.NTStatus(ret); status == windows.STATUS_SUCCESS { return uint64(info.PebBaseAddress), nil - } else { - return 0, windows.NTStatus(ret) } - } else { - // we are on a 32-bit process reading an external 64-bit process - if common.ProcNtWow64QueryInformationProcess64.Find() == nil { // avoid panic - var info processBasicInformation64 + return 0, windows.NTStatus(ret) + } + // we are on a 32-bit process reading an external 64-bit process + if common.ProcNtWow64QueryInformationProcess64.Find() != nil { + return 0, errors.New("can't find API to query 64 bit process from 32 bit") + } + // avoid panic + var info processBasicInformation64 - ret, _, _ := common.ProcNtWow64QueryInformationProcess64.Call( - uintptr(procHandle), - uintptr(common.ProcessBasicInformation), - uintptr(unsafe.Pointer(&info)), - uintptr(unsafe.Sizeof(info)), - uintptr(0), - ) - if status := windows.NTStatus(ret); status == windows.STATUS_SUCCESS { - return info.PebBaseAddress, nil - } else { - return 0, windows.NTStatus(ret) - } - } else { - return 0, errors.New("can't find API to query 64 bit process from 32 bit") - } + ret, _, _ := common.ProcNtWow64QueryInformationProcess64.Call( + uintptr(procHandle), + uintptr(common.ProcessBasicInformation), + uintptr(unsafe.Pointer(&info)), + uintptr(unsafe.Sizeof(info)), + uintptr(0), + ) + if status := windows.NTStatus(ret); status == windows.STATUS_SUCCESS { + return info.PebBaseAddress, nil } + return 0, windows.NTStatus(ret) } func readProcessMemory(h syscall.Handle, is32BitProcess bool, address uint64, size uint) []byte { @@ -81,25 +79,23 @@ func readProcessMemory(h syscall.Handle, is32BitProcess bool, address uint64, si if int(ret) >= 0 && read > 0 { return buffer[:read] } - } else { // reading a 64-bit process from a 32-bit one - if common.ProcNtWow64ReadVirtualMemory64.Find() == nil { // avoid panic - var read uint64 + } else if common.ProcNtWow64ReadVirtualMemory64.Find() == nil { // avoid panic + var read uint64 - buffer := make([]byte, size) + buffer := make([]byte, size) - ret, _, _ := common.ProcNtWow64ReadVirtualMemory64.Call( - uintptr(h), - uintptr(address&0xFFFFFFFF), // the call expects a 64-bit value - uintptr(address>>32), - uintptr(unsafe.Pointer(&buffer[0])), - uintptr(size), // the call expects a 64-bit value - uintptr(0), // but size is 32-bit so pass zero as the high dword - uintptr(unsafe.Pointer(&read)), - ) - if int(ret) >= 0 && read > 0 { - return buffer[:uint(read)] - } + ret, _, _ := common.ProcNtWow64ReadVirtualMemory64.Call( + uintptr(h), + uintptr(address&0xFFFFFFFF), // the call expects a 64-bit value + uintptr(address>>32), + uintptr(unsafe.Pointer(&buffer[0])), + uintptr(size), // the call expects a 64-bit value + uintptr(0), // but size is 32-bit so pass zero as the high dword + uintptr(unsafe.Pointer(&read)), + ) + if int(ret) >= 0 && read > 0 { + return buffer[:uint(read)] } } diff --git a/vendor/github.com/shirou/gopsutil/v3/process/process_windows_64bit.go b/vendor/github.com/shirou/gopsutil/v4/process/process_windows_64bit.go similarity index 68% rename from vendor/github.com/shirou/gopsutil/v3/process/process_windows_64bit.go rename to vendor/github.com/shirou/gopsutil/v4/process/process_windows_64bit.go index 74c6212c..8cc26c37 100644 --- a/vendor/github.com/shirou/gopsutil/v3/process/process_windows_64bit.go +++ b/vendor/github.com/shirou/gopsutil/v4/process/process_windows_64bit.go @@ -1,5 +1,5 @@ +// SPDX-License-Identifier: BSD-3-Clause //go:build (windows && amd64) || (windows && arm64) -// +build windows,amd64 windows,arm64 package process @@ -7,11 +7,12 @@ import ( "syscall" "unsafe" - "github.com/shirou/gopsutil/v3/internal/common" "golang.org/x/sys/windows" + + "github.com/shirou/gopsutil/v4/internal/common" ) -type PROCESS_MEMORY_COUNTERS struct { +type PROCESS_MEMORY_COUNTERS struct { //nolint:revive //FIXME CB uint32 PageFaultCount uint32 PeakWorkingSetSize uint64 @@ -38,26 +39,23 @@ func queryPebAddress(procHandle syscall.Handle, is32BitProcess bool) (uint64, er ) if status := windows.NTStatus(ret); status == windows.STATUS_SUCCESS { return uint64(wow64), nil - } else { - return 0, windows.NTStatus(ret) } - } else { - // we are on a 64-bit process reading an external 64-bit process - var info processBasicInformation64 + return 0, windows.NTStatus(ret) + } + // we are on a 64-bit process reading an external 64-bit process + var info processBasicInformation64 - ret, _, _ := common.ProcNtQueryInformationProcess.Call( - uintptr(procHandle), - uintptr(common.ProcessBasicInformation), - uintptr(unsafe.Pointer(&info)), - uintptr(unsafe.Sizeof(info)), - uintptr(0), - ) - if status := windows.NTStatus(ret); status == windows.STATUS_SUCCESS { - return info.PebBaseAddress, nil - } else { - return 0, windows.NTStatus(ret) - } + ret, _, _ := common.ProcNtQueryInformationProcess.Call( + uintptr(procHandle), + uintptr(common.ProcessBasicInformation), + uintptr(unsafe.Pointer(&info)), + uintptr(unsafe.Sizeof(info)), + uintptr(0), + ) + if status := windows.NTStatus(ret); status == windows.STATUS_SUCCESS { + return info.PebBaseAddress, nil } + return 0, windows.NTStatus(ret) } func readProcessMemory(procHandle syscall.Handle, _ bool, address uint64, size uint) []byte { diff --git a/vendor/github.com/shoenig/go-m1cpu/.golangci.yaml b/vendor/github.com/shoenig/go-m1cpu/.golangci.yaml deleted file mode 100644 index dc6fefb9..00000000 --- a/vendor/github.com/shoenig/go-m1cpu/.golangci.yaml +++ /dev/null @@ -1,12 +0,0 @@ -run: - timeout: 5m -linters: - enable: - - gofmt - - errcheck - - errname - - errorlint - - bodyclose - - durationcheck - - whitespace - diff --git a/vendor/github.com/shoenig/go-m1cpu/LICENSE b/vendor/github.com/shoenig/go-m1cpu/LICENSE deleted file mode 100644 index e87a115e..00000000 --- a/vendor/github.com/shoenig/go-m1cpu/LICENSE +++ /dev/null @@ -1,363 +0,0 @@ -Mozilla Public License, version 2.0 - -1. Definitions - -1.1. "Contributor" - - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. - -1.2. "Contributor Version" - - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or - - b. that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the terms of - a Secondary License. - -1.6. "Executable Form" - - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - - means a work that combines Covered Software with other material, in a - separate file or files, that is not Covered Software. - -1.8. "License" - - means this document. - -1.9. "Licensable" - - means having the right to grant, to the maximum extent possible, whether - at the time of the initial grant or subsequently, any and all of the - rights conveyed by this License. - -1.10. "Modifications" - - means any of the following: - - a. any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered Software; or - - b. any new file in Source Code Form that contains any Covered Software. - -1.11. "Patent Claims" of a Contributor - - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the License, - by the making, using, selling, offering for sale, having made, import, - or transfer of either its Contributions or its Contributor Version. - -1.12. "Secondary License" - - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. - -1.13. "Source Code Form" - - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, "control" means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - - -2. License Grants and Conditions - -2.1. Grants - - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - - The licenses granted in Section 2.1 with respect to any Contribution - become effective for each Contribution on the date the Contributor first - distributes such Contribution. - -2.3. Limitations on Grant Scope - - The licenses granted in this Section 2 are the only rights granted under - this License. No additional rights or licenses will be implied from the - distribution or licensing of Covered Software under this License. - Notwithstanding Section 2.1(b) above, no patent license is granted by a - Contributor: - - a. for any code that a Contributor has removed from Covered Software; or - - b. for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - - c. under Patent Claims infringed by Covered Software in the absence of - its Contributions. - - This License does not grant any rights in the trademarks, service marks, - or logos of any Contributor (except as may be necessary to comply with - the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this - License (see Section 10.2) or under the terms of a Secondary License (if - permitted under the terms of Section 3.3). - -2.5. Representation - - Each Contributor represents that the Contributor believes its - Contributions are its original creation(s) or it has sufficient rights to - grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - - This License is not intended to limit any rights You have under - applicable copyright doctrines of fair use, fair dealing, or other - equivalents. - -2.7. Conditions - - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. - - -3. Responsibilities - -3.1. Distribution of Source Form - - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under - the terms of this License. You must inform recipients that the Source - Code Form of the Covered Software is governed by the terms of this - License, and how they can obtain a copy of this License. You may not - attempt to alter or restrict the recipients' rights in the Source Code - Form. - -3.2. Distribution of Executable Form - - If You distribute Covered Software in Executable Form then: - - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and - - b. You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter the - recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for - the Covered Software. If the Larger Work is a combination of Covered - Software with a work governed by one or more Secondary Licenses, and the - Covered Software is not Incompatible With Secondary Licenses, this - License permits You to additionally distribute such Covered Software - under the terms of such Secondary License(s), so that the recipient of - the Larger Work may, at their option, further distribute the Covered - Software under the terms of either this License or such Secondary - License(s). - -3.4. Notices - - You may not remove or alter the substance of any license notices - (including copyright notices, patent notices, disclaimers of warranty, or - limitations of liability) contained within the Source Code Form of the - Covered Software, except that You may alter any license notices to the - extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on - behalf of any Contributor. You must make it absolutely clear that any - such warranty, support, indemnity, or liability obligation is offered by - You alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - -4. Inability to Comply Due to Statute or Regulation - - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, - judicial order, or regulation then You must: (a) comply with the terms of - this License to the maximum extent possible; and (b) describe the - limitations and the code they affect. Such description must be placed in a - text file included with all distributions of the Covered Software under - this License. Except to the extent prohibited by statute or regulation, - such description must be sufficiently detailed for a recipient of ordinary - skill to be able to understand it. - -5. Termination - -5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing - basis, if such Contributor fails to notify You of the non-compliance by - some reasonable means prior to 60 days after You have come back into - compliance. Moreover, Your grants from a particular Contributor are - reinstated on an ongoing basis if such Contributor notifies You of the - non-compliance by some reasonable means, this is the first time You have - received notice of non-compliance with this License from such - Contributor, and You become compliant prior to 30 days after Your receipt - of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, - counter-claims, and cross-claims) alleging that a Contributor Version - directly or indirectly infringes any patent, then the rights granted to - You by any and all Contributors for the Covered Software under Section - 2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. - -6. Disclaimer of Warranty - - Covered Software is provided under this License on an "as is" basis, - without warranty of any kind, either expressed, implied, or statutory, - including, without limitation, warranties that the Covered Software is free - of defects, merchantable, fit for a particular purpose or non-infringing. - The entire risk as to the quality and performance of the Covered Software - is with You. Should any Covered Software prove defective in any respect, - You (not any Contributor) assume the cost of any necessary servicing, - repair, or correction. This disclaimer of warranty constitutes an essential - part of this License. No use of any Covered Software is authorized under - this License except under this disclaimer. - -7. Limitation of Liability - - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from - such party's negligence to the extent applicable law prohibits such - limitation. Some jurisdictions do not allow the exclusion or limitation of - incidental or consequential damages, so this exclusion and limitation may - not apply to You. - -8. Litigation - - Any litigation relating to this License may be brought only in the courts - of a jurisdiction where the defendant maintains its principal place of - business and such litigation shall be governed by laws of that - jurisdiction, without reference to its conflict-of-law provisions. Nothing - in this Section shall prevent a party's ability to bring cross-claims or - counter-claims. - -9. Miscellaneous - - This License represents the complete agreement concerning the subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. Any law or regulation which provides that - the language of a contract shall be construed against the drafter shall not - be used to construe this License against a Contributor. - - -10. Versions of the License - -10.1. New Versions - - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - -10.2. Effect of New Versions - - You may distribute the Covered Software under the terms of the version - of the License under which You originally received the Covered Software, - or under the terms of any subsequent version published by the license - steward. - -10.3. Modified Versions - - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a - modified version of this License if you rename the license and remove - any references to the name of the license steward (except to note that - such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary - Licenses If You choose to distribute Source Code Form that is - Incompatible With Secondary Licenses under the terms of this version of - the License, the notice described in Exhibit B of this License must be - attached. - -Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular file, -then You may include the notice in a location (such as a LICENSE file in a -relevant directory) where a recipient would be likely to look for such a -notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice - - This Source Code Form is "Incompatible - With Secondary Licenses", as defined by - the Mozilla Public License, v. 2.0. - diff --git a/vendor/github.com/shoenig/go-m1cpu/Makefile b/vendor/github.com/shoenig/go-m1cpu/Makefile deleted file mode 100644 index 28d78639..00000000 --- a/vendor/github.com/shoenig/go-m1cpu/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -SHELL = bash - -default: test - -.PHONY: test -test: - @echo "--> Running Tests ..." - @go test -v -race ./... - -vet: - @echo "--> Vet Go sources ..." - @go vet ./... diff --git a/vendor/github.com/shoenig/go-m1cpu/README.md b/vendor/github.com/shoenig/go-m1cpu/README.md deleted file mode 100644 index 399657ac..00000000 --- a/vendor/github.com/shoenig/go-m1cpu/README.md +++ /dev/null @@ -1,66 +0,0 @@ -# m1cpu - -[![Go Reference](https://pkg.go.dev/badge/github.com/shoenig/go-m1cpu.svg)](https://pkg.go.dev/github.com/shoenig/go-m1cpu) -[![MPL License](https://img.shields.io/github/license/shoenig/go-m1cpu?color=g&style=flat-square)](https://github.com/shoenig/go-m1cpu/blob/main/LICENSE) -[![Run CI Tests](https://github.com/shoenig/go-m1cpu/actions/workflows/ci.yaml/badge.svg)](https://github.com/shoenig/go-m1cpu/actions/workflows/ci.yaml) - -The `go-m1cpu` module is a library for inspecting Apple Silicon CPUs in Go. - -Use the `m1cpu` Go package for looking up the CPU frequency for Apple M1 and M2 CPUs. - -# Install - -```shell -go get github.com/shoenig/go-m1cpu@latest -``` - -# CGO - -This package requires the use of [CGO](https://go.dev/blog/cgo). - -Extracting the CPU properties is done via Apple's [IOKit](https://developer.apple.com/documentation/iokit?language=objc) -framework, which is accessible only through system C libraries. - -# Example - -Simple Go program to print Apple Silicon M1/M2 CPU speeds. - -```go -package main - -import ( - "fmt" - - "github.com/shoenig/go-m1cpu" -) - -func main() { - fmt.Println("Apple Silicon", m1cpu.IsAppleSilicon()) - - fmt.Println("pCore GHz", m1cpu.PCoreGHz()) - fmt.Println("eCore GHz", m1cpu.ECoreGHz()) - - fmt.Println("pCore Hz", m1cpu.PCoreHz()) - fmt.Println("eCore Hz", m1cpu.ECoreHz()) -} -``` - -Using `go test` to print out available information. - -``` -âžœ go test -v -run Show -=== RUN Test_Show - cpu_test.go:42: pCore Hz 3504000000 - cpu_test.go:43: eCore Hz 2424000000 - cpu_test.go:44: pCore GHz 3.504 - cpu_test.go:45: eCore GHz 2.424 - cpu_test.go:46: pCore count 8 - cpu_test.go:47: eCoreCount 4 - cpu_test.go:50: pCore Caches 196608 131072 16777216 - cpu_test.go:53: eCore Caches 131072 65536 4194304 ---- PASS: Test_Show (0.00s) -``` - -# License - -Open source under the [MPL](LICENSE) diff --git a/vendor/github.com/shoenig/go-m1cpu/cpu.go b/vendor/github.com/shoenig/go-m1cpu/cpu.go deleted file mode 100644 index 502a8cce..00000000 --- a/vendor/github.com/shoenig/go-m1cpu/cpu.go +++ /dev/null @@ -1,213 +0,0 @@ -//go:build darwin && arm64 && cgo - -package m1cpu - -// #cgo LDFLAGS: -framework CoreFoundation -framework IOKit -// #include -// #include -// #include -// #include -// -// #if !defined(MAC_OS_VERSION_12_0) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_VERSION_12_0 -// #define kIOMainPortDefault kIOMasterPortDefault -// #endif -// -// #define HzToGHz(hz) ((hz) / 1000000000.0) -// -// UInt64 global_pCoreHz; -// UInt64 global_eCoreHz; -// int global_pCoreCount; -// int global_eCoreCount; -// int global_pCoreL1InstCacheSize; -// int global_eCoreL1InstCacheSize; -// int global_pCoreL1DataCacheSize; -// int global_eCoreL1DataCacheSize; -// int global_pCoreL2CacheSize; -// int global_eCoreL2CacheSize; -// char global_brand[32]; -// -// UInt64 getFrequency(CFTypeRef typeRef) { -// CFDataRef cfData = typeRef; -// -// CFIndex size = CFDataGetLength(cfData); -// UInt8 buf[size]; -// CFDataGetBytes(cfData, CFRangeMake(0, size), buf); -// -// UInt8 b1 = buf[size-5]; -// UInt8 b2 = buf[size-6]; -// UInt8 b3 = buf[size-7]; -// UInt8 b4 = buf[size-8]; -// -// UInt64 pCoreHz = 0x00000000FFFFFFFF & ((b1<<24) | (b2 << 16) | (b3 << 8) | (b4)); -// return pCoreHz; -// } -// -// int sysctl_int(const char * name) { -// int value = -1; -// size_t size = 8; -// sysctlbyname(name, &value, &size, NULL, 0); -// return value; -// } -// -// void sysctl_string(const char * name, char * dest) { -// size_t size = 32; -// sysctlbyname(name, dest, &size, NULL, 0); -// } -// -// void initialize() { -// global_pCoreCount = sysctl_int("hw.perflevel0.physicalcpu"); -// global_eCoreCount = sysctl_int("hw.perflevel1.physicalcpu"); -// global_pCoreL1InstCacheSize = sysctl_int("hw.perflevel0.l1icachesize"); -// global_eCoreL1InstCacheSize = sysctl_int("hw.perflevel1.l1icachesize"); -// global_pCoreL1DataCacheSize = sysctl_int("hw.perflevel0.l1dcachesize"); -// global_eCoreL1DataCacheSize = sysctl_int("hw.perflevel1.l1dcachesize"); -// global_pCoreL2CacheSize = sysctl_int("hw.perflevel0.l2cachesize"); -// global_eCoreL2CacheSize = sysctl_int("hw.perflevel1.l2cachesize"); -// sysctl_string("machdep.cpu.brand_string", global_brand); -// -// CFMutableDictionaryRef matching = IOServiceMatching("AppleARMIODevice"); -// io_iterator_t iter; -// IOServiceGetMatchingServices(kIOMainPortDefault, matching, &iter); -// -// const size_t bufsize = 512; -// io_object_t obj; -// while ((obj = IOIteratorNext(iter))) { -// char class[bufsize]; -// IOObjectGetClass(obj, class); -// char name[bufsize]; -// IORegistryEntryGetName(obj, name); -// -// if (strncmp(name, "pmgr", bufsize) == 0) { -// CFTypeRef pCoreRef = IORegistryEntryCreateCFProperty(obj, CFSTR("voltage-states5-sram"), kCFAllocatorDefault, 0); -// CFTypeRef eCoreRef = IORegistryEntryCreateCFProperty(obj, CFSTR("voltage-states1-sram"), kCFAllocatorDefault, 0); -// -// long long pCoreHz = getFrequency(pCoreRef); -// long long eCoreHz = getFrequency(eCoreRef); -// -// global_pCoreHz = pCoreHz; -// global_eCoreHz = eCoreHz; -// return; -// } -// } -// } -// -// UInt64 eCoreHz() { -// return global_eCoreHz; -// } -// -// UInt64 pCoreHz() { -// return global_pCoreHz; -// } -// -// Float64 eCoreGHz() { -// return HzToGHz(global_eCoreHz); -// } -// -// Float64 pCoreGHz() { -// return HzToGHz(global_pCoreHz); -// } -// -// int pCoreCount() { -// return global_pCoreCount; -// } -// -// int eCoreCount() { -// return global_eCoreCount; -// } -// -// int pCoreL1InstCacheSize() { -// return global_pCoreL1InstCacheSize; -// } -// -// int pCoreL1DataCacheSize() { -// return global_pCoreL1DataCacheSize; -// } -// -// int pCoreL2CacheSize() { -// return global_pCoreL2CacheSize; -// } -// -// int eCoreL1InstCacheSize() { -// return global_eCoreL1InstCacheSize; -// } -// -// int eCoreL1DataCacheSize() { -// return global_eCoreL1DataCacheSize; -// } -// -// int eCoreL2CacheSize() { -// return global_eCoreL2CacheSize; -// } -// -// char * modelName() { -// return global_brand; -// } -import "C" - -func init() { - C.initialize() -} - -// IsAppleSilicon returns true on this platform. -func IsAppleSilicon() bool { - return true -} - -// PCoreHZ returns the max frequency in Hertz of the P-Core of an Apple Silicon CPU. -func PCoreHz() uint64 { - return uint64(C.pCoreHz()) -} - -// ECoreHZ returns the max frequency in Hertz of the E-Core of an Apple Silicon CPU. -func ECoreHz() uint64 { - return uint64(C.eCoreHz()) -} - -// PCoreGHz returns the max frequency in Gigahertz of the P-Core of an Apple Silicon CPU. -func PCoreGHz() float64 { - return float64(C.pCoreGHz()) -} - -// ECoreGHz returns the max frequency in Gigahertz of the E-Core of an Apple Silicon CPU. -func ECoreGHz() float64 { - return float64(C.eCoreGHz()) -} - -// PCoreCount returns the number of physical P (performance) cores. -func PCoreCount() int { - return int(C.pCoreCount()) -} - -// ECoreCount returns the number of physical E (efficiency) cores. -func ECoreCount() int { - return int(C.eCoreCount()) -} - -// PCoreCacheSize returns the sizes of the P (performance) core cache sizes -// in the order of -// -// - L1 instruction cache -// - L1 data cache -// - L2 cache -func PCoreCache() (int, int, int) { - return int(C.pCoreL1InstCacheSize()), - int(C.pCoreL1DataCacheSize()), - int(C.pCoreL2CacheSize()) -} - -// ECoreCacheSize returns the sizes of the E (efficiency) core cache sizes -// in the order of -// -// - L1 instruction cache -// - L1 data cache -// - L2 cache -func ECoreCache() (int, int, int) { - return int(C.eCoreL1InstCacheSize()), - int(C.eCoreL1DataCacheSize()), - int(C.eCoreL2CacheSize()) -} - -// ModelName returns the model name of the CPU. -func ModelName() string { - return C.GoString(C.modelName()) -} diff --git a/vendor/github.com/shoenig/go-m1cpu/incompatible.go b/vendor/github.com/shoenig/go-m1cpu/incompatible.go deleted file mode 100644 index d425025a..00000000 --- a/vendor/github.com/shoenig/go-m1cpu/incompatible.go +++ /dev/null @@ -1,53 +0,0 @@ -//go:build !darwin || !arm64 || !cgo - -package m1cpu - -// IsAppleSilicon return false on this platform. -func IsAppleSilicon() bool { - return false -} - -// PCoreHZ requires darwin/arm64 -func PCoreHz() uint64 { - panic("m1cpu: not a darwin/arm64 system") -} - -// ECoreHZ requires darwin/arm64 -func ECoreHz() uint64 { - panic("m1cpu: not a darwin/arm64 system") -} - -// PCoreGHz requires darwin/arm64 -func PCoreGHz() float64 { - panic("m1cpu: not a darwin/arm64 system") -} - -// ECoreGHz requires darwin/arm64 -func ECoreGHz() float64 { - panic("m1cpu: not a darwin/arm64 system") -} - -// PCoreCount requires darwin/arm64 -func PCoreCount() int { - panic("m1cpu: not a darwin/arm64 system") -} - -// ECoreCount requires darwin/arm64 -func ECoreCount() int { - panic("m1cpu: not a darwin/arm64 system") -} - -// PCoreCacheSize requires darwin/arm64 -func PCoreCache() (int, int, int) { - panic("m1cpu: not a darwin/arm64 system") -} - -// ECoreCacheSize requires darwin/arm64 -func ECoreCache() (int, int, int) { - panic("m1cpu: not a darwin/arm64 system") -} - -// ModelName requires darwin/arm64 -func ModelName() string { - panic("m1cpu: not a darwin/arm64 system") -} diff --git a/vendor/github.com/tklauser/go-sysconf/.cirrus.yml b/vendor/github.com/tklauser/go-sysconf/.cirrus.yml index 33e6595c..495e5e63 100644 --- a/vendor/github.com/tklauser/go-sysconf/.cirrus.yml +++ b/vendor/github.com/tklauser/go-sysconf/.cirrus.yml @@ -1,10 +1,10 @@ env: CIRRUS_CLONE_DEPTH: 1 - GO_VERSION: go1.22.2 + GO_VERSION: go1.24.0 freebsd_13_task: freebsd_instance: - image_family: freebsd-13-2 + image_family: freebsd-13-5 install_script: | pkg install -y go GOBIN=$PWD/bin go install golang.org/dl/${GO_VERSION}@latest @@ -14,7 +14,7 @@ freebsd_13_task: freebsd_14_task: freebsd_instance: - image_family: freebsd-14-0 + image_family: freebsd-14-2 install_script: | pkg install -y go GOBIN=$PWD/bin go install golang.org/dl/${GO_VERSION}@latest diff --git a/vendor/github.com/tklauser/numcpus/.cirrus.yml b/vendor/github.com/tklauser/numcpus/.cirrus.yml index b3091efd..495e5e63 100644 --- a/vendor/github.com/tklauser/numcpus/.cirrus.yml +++ b/vendor/github.com/tklauser/numcpus/.cirrus.yml @@ -1,10 +1,10 @@ env: CIRRUS_CLONE_DEPTH: 1 - GO_VERSION: go1.23.0 + GO_VERSION: go1.24.0 freebsd_13_task: freebsd_instance: - image_family: freebsd-13-3 + image_family: freebsd-13-5 install_script: | pkg install -y go GOBIN=$PWD/bin go install golang.org/dl/${GO_VERSION}@latest @@ -14,7 +14,7 @@ freebsd_13_task: freebsd_14_task: freebsd_instance: - image_family: freebsd-14-0 + image_family: freebsd-14-2 install_script: | pkg install -y go GOBIN=$PWD/bin go install golang.org/dl/${GO_VERSION}@latest diff --git a/vendor/golang.org/x/sys/cpu/cpu.go b/vendor/golang.org/x/sys/cpu/cpu.go index 9c105f23..63541994 100644 --- a/vendor/golang.org/x/sys/cpu/cpu.go +++ b/vendor/golang.org/x/sys/cpu/cpu.go @@ -149,6 +149,18 @@ var ARM struct { _ CacheLinePad } +// The booleans in Loong64 contain the correspondingly named cpu feature bit. +// The struct is padded to avoid false sharing. +var Loong64 struct { + _ CacheLinePad + HasLSX bool // support 128-bit vector extension + HasLASX bool // support 256-bit vector extension + HasCRC32 bool // support CRC instruction + HasLAM_BH bool // support AM{SWAP/ADD}[_DB].{B/H} instruction + HasLAMCAS bool // support AMCAS[_DB].{B/H/W/D} instruction + _ CacheLinePad +} + // MIPS64X contains the supported CPU features of the current mips64/mips64le // platforms. If the current platform is not mips64/mips64le or the current // operating system is not Linux then all feature flags are false. @@ -220,6 +232,17 @@ var RISCV64 struct { HasZba bool // Address generation instructions extension HasZbb bool // Basic bit-manipulation extension HasZbs bool // Single-bit instructions extension + HasZvbb bool // Vector Basic Bit-manipulation + HasZvbc bool // Vector Carryless Multiplication + HasZvkb bool // Vector Cryptography Bit-manipulation + HasZvkt bool // Vector Data-Independent Execution Latency + HasZvkg bool // Vector GCM/GMAC + HasZvkn bool // NIST Algorithm Suite (AES/SHA256/SHA512) + HasZvknc bool // NIST Algorithm Suite with carryless multiply + HasZvkng bool // NIST Algorithm Suite with GCM + HasZvks bool // ShangMi Algorithm Suite + HasZvksc bool // ShangMi Algorithm Suite with carryless multiplication + HasZvksg bool // ShangMi Algorithm Suite with GCM _ CacheLinePad } diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_loong64.go b/vendor/golang.org/x/sys/cpu/cpu_linux_loong64.go new file mode 100644 index 00000000..4f341143 --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_linux_loong64.go @@ -0,0 +1,22 @@ +// Copyright 2025 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package cpu + +// HWCAP bits. These are exposed by the Linux kernel. +const ( + hwcap_LOONGARCH_LSX = 1 << 4 + hwcap_LOONGARCH_LASX = 1 << 5 +) + +func doinit() { + // TODO: Features that require kernel support like LSX and LASX can + // be detected here once needed in std library or by the compiler. + Loong64.HasLSX = hwcIsSet(hwCap, hwcap_LOONGARCH_LSX) + Loong64.HasLASX = hwcIsSet(hwCap, hwcap_LOONGARCH_LASX) +} + +func hwcIsSet(hwc uint, val uint) bool { + return hwc&val != 0 +} diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go b/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go index 7d902b68..a428dec9 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go +++ b/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build linux && !arm && !arm64 && !mips64 && !mips64le && !ppc64 && !ppc64le && !s390x && !riscv64 +//go:build linux && !arm && !arm64 && !loong64 && !mips64 && !mips64le && !ppc64 && !ppc64le && !s390x && !riscv64 package cpu diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go b/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go index cb4a0c57..ad741536 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go +++ b/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go @@ -58,6 +58,15 @@ const ( riscv_HWPROBE_EXT_ZBA = 0x8 riscv_HWPROBE_EXT_ZBB = 0x10 riscv_HWPROBE_EXT_ZBS = 0x20 + riscv_HWPROBE_EXT_ZVBB = 0x20000 + riscv_HWPROBE_EXT_ZVBC = 0x40000 + riscv_HWPROBE_EXT_ZVKB = 0x80000 + riscv_HWPROBE_EXT_ZVKG = 0x100000 + riscv_HWPROBE_EXT_ZVKNED = 0x200000 + riscv_HWPROBE_EXT_ZVKNHB = 0x800000 + riscv_HWPROBE_EXT_ZVKSED = 0x1000000 + riscv_HWPROBE_EXT_ZVKSH = 0x2000000 + riscv_HWPROBE_EXT_ZVKT = 0x4000000 riscv_HWPROBE_KEY_CPUPERF_0 = 0x5 riscv_HWPROBE_MISALIGNED_FAST = 0x3 riscv_HWPROBE_MISALIGNED_MASK = 0x7 @@ -99,6 +108,20 @@ func doinit() { RISCV64.HasZba = isSet(v, riscv_HWPROBE_EXT_ZBA) RISCV64.HasZbb = isSet(v, riscv_HWPROBE_EXT_ZBB) RISCV64.HasZbs = isSet(v, riscv_HWPROBE_EXT_ZBS) + RISCV64.HasZvbb = isSet(v, riscv_HWPROBE_EXT_ZVBB) + RISCV64.HasZvbc = isSet(v, riscv_HWPROBE_EXT_ZVBC) + RISCV64.HasZvkb = isSet(v, riscv_HWPROBE_EXT_ZVKB) + RISCV64.HasZvkg = isSet(v, riscv_HWPROBE_EXT_ZVKG) + RISCV64.HasZvkt = isSet(v, riscv_HWPROBE_EXT_ZVKT) + // Cryptography shorthand extensions + RISCV64.HasZvkn = isSet(v, riscv_HWPROBE_EXT_ZVKNED) && + isSet(v, riscv_HWPROBE_EXT_ZVKNHB) && RISCV64.HasZvkb && RISCV64.HasZvkt + RISCV64.HasZvknc = RISCV64.HasZvkn && RISCV64.HasZvbc + RISCV64.HasZvkng = RISCV64.HasZvkn && RISCV64.HasZvkg + RISCV64.HasZvks = isSet(v, riscv_HWPROBE_EXT_ZVKSED) && + isSet(v, riscv_HWPROBE_EXT_ZVKSH) && RISCV64.HasZvkb && RISCV64.HasZvkt + RISCV64.HasZvksc = RISCV64.HasZvks && RISCV64.HasZvbc + RISCV64.HasZvksg = RISCV64.HasZvks && RISCV64.HasZvkg } if pairs[1].key != -1 { v := pairs[1].value & riscv_HWPROBE_MISALIGNED_MASK diff --git a/vendor/golang.org/x/sys/cpu/cpu_loong64.go b/vendor/golang.org/x/sys/cpu/cpu_loong64.go index 55863585..45ecb29a 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_loong64.go +++ b/vendor/golang.org/x/sys/cpu/cpu_loong64.go @@ -8,5 +8,43 @@ package cpu const cacheLineSize = 64 +// Bit fields for CPUCFG registers, Related reference documents: +// https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html#_cpucfg +const ( + // CPUCFG1 bits + cpucfg1_CRC32 = 1 << 25 + + // CPUCFG2 bits + cpucfg2_LAM_BH = 1 << 27 + cpucfg2_LAMCAS = 1 << 28 +) + func initOptions() { + options = []option{ + {Name: "lsx", Feature: &Loong64.HasLSX}, + {Name: "lasx", Feature: &Loong64.HasLASX}, + {Name: "crc32", Feature: &Loong64.HasCRC32}, + {Name: "lam_bh", Feature: &Loong64.HasLAM_BH}, + {Name: "lamcas", Feature: &Loong64.HasLAMCAS}, + } + + // The CPUCFG data on Loong64 only reflects the hardware capabilities, + // not the kernel support status, so features such as LSX and LASX that + // require kernel support cannot be obtained from the CPUCFG data. + // + // These features only require hardware capability support and do not + // require kernel specific support, so they can be obtained directly + // through CPUCFG + cfg1 := get_cpucfg(1) + cfg2 := get_cpucfg(2) + + Loong64.HasCRC32 = cfgIsSet(cfg1, cpucfg1_CRC32) + Loong64.HasLAMCAS = cfgIsSet(cfg2, cpucfg2_LAMCAS) + Loong64.HasLAM_BH = cfgIsSet(cfg2, cpucfg2_LAM_BH) +} + +func get_cpucfg(reg uint32) uint32 + +func cfgIsSet(cfg uint32, val uint32) bool { + return cfg&val != 0 } diff --git a/vendor/golang.org/x/sys/cpu/cpu_loong64.s b/vendor/golang.org/x/sys/cpu/cpu_loong64.s new file mode 100644 index 00000000..71cbaf1c --- /dev/null +++ b/vendor/golang.org/x/sys/cpu/cpu_loong64.s @@ -0,0 +1,13 @@ +// Copyright 2025 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +#include "textflag.h" + +// func get_cpucfg(reg uint32) uint32 +TEXT ·get_cpucfg(SB), NOSPLIT|NOFRAME, $0 + MOVW reg+0(FP), R5 + // CPUCFG R5, R4 = 0x00006ca4 + WORD $0x00006ca4 + MOVW R4, ret+8(FP) + RET diff --git a/vendor/golang.org/x/sys/cpu/cpu_riscv64.go b/vendor/golang.org/x/sys/cpu/cpu_riscv64.go index aca3199c..0f617aef 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_riscv64.go +++ b/vendor/golang.org/x/sys/cpu/cpu_riscv64.go @@ -16,5 +16,17 @@ func initOptions() { {Name: "zba", Feature: &RISCV64.HasZba}, {Name: "zbb", Feature: &RISCV64.HasZbb}, {Name: "zbs", Feature: &RISCV64.HasZbs}, + // RISC-V Cryptography Extensions + {Name: "zvbb", Feature: &RISCV64.HasZvbb}, + {Name: "zvbc", Feature: &RISCV64.HasZvbc}, + {Name: "zvkb", Feature: &RISCV64.HasZvkb}, + {Name: "zvkg", Feature: &RISCV64.HasZvkg}, + {Name: "zvkt", Feature: &RISCV64.HasZvkt}, + {Name: "zvkn", Feature: &RISCV64.HasZvkn}, + {Name: "zvknc", Feature: &RISCV64.HasZvknc}, + {Name: "zvkng", Feature: &RISCV64.HasZvkng}, + {Name: "zvks", Feature: &RISCV64.HasZvks}, + {Name: "zvksc", Feature: &RISCV64.HasZvksc}, + {Name: "zvksg", Feature: &RISCV64.HasZvksg}, } } diff --git a/vendor/golang.org/x/sys/cpu/parse.go b/vendor/golang.org/x/sys/cpu/parse.go index 762b63d6..56a7e1a1 100644 --- a/vendor/golang.org/x/sys/cpu/parse.go +++ b/vendor/golang.org/x/sys/cpu/parse.go @@ -13,7 +13,7 @@ import "strconv" // https://golang.org/cl/209597. func parseRelease(rel string) (major, minor, patch int, ok bool) { // Strip anything after a dash or plus. - for i := 0; i < len(rel); i++ { + for i := range len(rel) { if rel[i] == '-' || rel[i] == '+' { rel = rel[:i] break @@ -21,7 +21,7 @@ func parseRelease(rel string) (major, minor, patch int, ok bool) { } next := func() (int, bool) { - for i := 0; i < len(rel); i++ { + for i := range len(rel) { if rel[i] == '.' { ver, err := strconv.Atoi(rel[:i]) rel = rel[i+1:] diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh index 6ab02b6c..d1c8b264 100644 --- a/vendor/golang.org/x/sys/unix/mkerrors.sh +++ b/vendor/golang.org/x/sys/unix/mkerrors.sh @@ -349,6 +349,9 @@ struct ltchars { #define _HIDIOCGRAWPHYS HIDIOCGRAWPHYS(_HIDIOCGRAWPHYS_LEN) #define _HIDIOCGRAWUNIQ HIDIOCGRAWUNIQ(_HIDIOCGRAWUNIQ_LEN) +// Renamed in v6.16, commit c6d732c38f93 ("net: ethtool: remove duplicate defines for family info") +#define ETHTOOL_FAMILY_NAME ETHTOOL_GENL_NAME +#define ETHTOOL_FAMILY_VERSION ETHTOOL_GENL_VERSION ' includes_NetBSD=' diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go index 099867de..7838ca5d 100644 --- a/vendor/golang.org/x/sys/unix/syscall_darwin.go +++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go @@ -602,6 +602,95 @@ func Connectx(fd int, srcIf uint32, srcAddr, dstAddr Sockaddr, associd SaeAssocI return } +const minIovec = 8 + +func Readv(fd int, iovs [][]byte) (n int, err error) { + iovecs := make([]Iovec, 0, minIovec) + iovecs = appendBytes(iovecs, iovs) + n, err = readv(fd, iovecs) + readvRacedetect(iovecs, n, err) + return n, err +} + +func Preadv(fd int, iovs [][]byte, offset int64) (n int, err error) { + iovecs := make([]Iovec, 0, minIovec) + iovecs = appendBytes(iovecs, iovs) + n, err = preadv(fd, iovecs, offset) + readvRacedetect(iovecs, n, err) + return n, err +} + +func Writev(fd int, iovs [][]byte) (n int, err error) { + iovecs := make([]Iovec, 0, minIovec) + iovecs = appendBytes(iovecs, iovs) + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + n, err = writev(fd, iovecs) + writevRacedetect(iovecs, n) + return n, err +} + +func Pwritev(fd int, iovs [][]byte, offset int64) (n int, err error) { + iovecs := make([]Iovec, 0, minIovec) + iovecs = appendBytes(iovecs, iovs) + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) + } + n, err = pwritev(fd, iovecs, offset) + writevRacedetect(iovecs, n) + return n, err +} + +func appendBytes(vecs []Iovec, bs [][]byte) []Iovec { + for _, b := range bs { + var v Iovec + v.SetLen(len(b)) + if len(b) > 0 { + v.Base = &b[0] + } else { + v.Base = (*byte)(unsafe.Pointer(&_zero)) + } + vecs = append(vecs, v) + } + return vecs +} + +func writevRacedetect(iovecs []Iovec, n int) { + if !raceenabled { + return + } + for i := 0; n > 0 && i < len(iovecs); i++ { + m := int(iovecs[i].Len) + if m > n { + m = n + } + n -= m + if m > 0 { + raceReadRange(unsafe.Pointer(iovecs[i].Base), m) + } + } +} + +func readvRacedetect(iovecs []Iovec, n int, err error) { + if !raceenabled { + return + } + for i := 0; n > 0 && i < len(iovecs); i++ { + m := int(iovecs[i].Len) + if m > n { + m = n + } + n -= m + if m > 0 { + raceWriteRange(unsafe.Pointer(iovecs[i].Base), m) + } + } + if err == nil { + raceAcquire(unsafe.Pointer(&ioSync)) + } +} + //sys connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error) //sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) @@ -705,3 +794,7 @@ func Connectx(fd int, srcIf uint32, srcAddr, dstAddr Sockaddr, associd SaeAssocI //sys write(fd int, p []byte) (n int, err error) //sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) //sys munmap(addr uintptr, length uintptr) (err error) +//sys readv(fd int, iovecs []Iovec) (n int, err error) +//sys preadv(fd int, iovecs []Iovec, offset int64) (n int, err error) +//sys writev(fd int, iovecs []Iovec) (n int, err error) +//sys pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error) diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go index 230a9454..4958a657 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux.go @@ -13,6 +13,7 @@ package unix import ( "encoding/binary" + "slices" "strconv" "syscall" "time" @@ -417,7 +418,7 @@ func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { return nil, 0, EINVAL } sa.raw.Family = AF_UNIX - for i := 0; i < n; i++ { + for i := range n { sa.raw.Path[i] = int8(name[i]) } // length is family (uint16), name, NUL. @@ -507,7 +508,7 @@ func (sa *SockaddrL2) sockaddr() (unsafe.Pointer, _Socklen, error) { psm := (*[2]byte)(unsafe.Pointer(&sa.raw.Psm)) psm[0] = byte(sa.PSM) psm[1] = byte(sa.PSM >> 8) - for i := 0; i < len(sa.Addr); i++ { + for i := range len(sa.Addr) { sa.raw.Bdaddr[i] = sa.Addr[len(sa.Addr)-1-i] } cid := (*[2]byte)(unsafe.Pointer(&sa.raw.Cid)) @@ -589,11 +590,11 @@ func (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) { sa.raw.Family = AF_CAN sa.raw.Ifindex = int32(sa.Ifindex) rx := (*[4]byte)(unsafe.Pointer(&sa.RxID)) - for i := 0; i < 4; i++ { + for i := range 4 { sa.raw.Addr[i] = rx[i] } tx := (*[4]byte)(unsafe.Pointer(&sa.TxID)) - for i := 0; i < 4; i++ { + for i := range 4 { sa.raw.Addr[i+4] = tx[i] } return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil @@ -618,11 +619,11 @@ func (sa *SockaddrCANJ1939) sockaddr() (unsafe.Pointer, _Socklen, error) { sa.raw.Family = AF_CAN sa.raw.Ifindex = int32(sa.Ifindex) n := (*[8]byte)(unsafe.Pointer(&sa.Name)) - for i := 0; i < 8; i++ { + for i := range 8 { sa.raw.Addr[i] = n[i] } p := (*[4]byte)(unsafe.Pointer(&sa.PGN)) - for i := 0; i < 4; i++ { + for i := range 4 { sa.raw.Addr[i+8] = p[i] } sa.raw.Addr[12] = sa.Addr @@ -911,7 +912,7 @@ func (sa *SockaddrIUCV) sockaddr() (unsafe.Pointer, _Socklen, error) { // These are EBCDIC encoded by the kernel, but we still need to pad them // with blanks. Initializing with blanks allows the caller to feed in either // a padded or an unpadded string. - for i := 0; i < 8; i++ { + for i := range 8 { sa.raw.Nodeid[i] = ' ' sa.raw.User_id[i] = ' ' sa.raw.Name[i] = ' ' @@ -1148,7 +1149,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { var user [8]byte var name [8]byte - for i := 0; i < 8; i++ { + for i := range 8 { user[i] = byte(pp.User_id[i]) name[i] = byte(pp.Name[i]) } @@ -1173,11 +1174,11 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { Ifindex: int(pp.Ifindex), } name := (*[8]byte)(unsafe.Pointer(&sa.Name)) - for i := 0; i < 8; i++ { + for i := range 8 { name[i] = pp.Addr[i] } pgn := (*[4]byte)(unsafe.Pointer(&sa.PGN)) - for i := 0; i < 4; i++ { + for i := range 4 { pgn[i] = pp.Addr[i+8] } addr := (*[1]byte)(unsafe.Pointer(&sa.Addr)) @@ -1188,11 +1189,11 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { Ifindex: int(pp.Ifindex), } rx := (*[4]byte)(unsafe.Pointer(&sa.RxID)) - for i := 0; i < 4; i++ { + for i := range 4 { rx[i] = pp.Addr[i] } tx := (*[4]byte)(unsafe.Pointer(&sa.TxID)) - for i := 0; i < 4; i++ { + for i := range 4 { tx[i] = pp.Addr[i+4] } return sa, nil @@ -2216,10 +2217,7 @@ func readvRacedetect(iovecs []Iovec, n int, err error) { return } for i := 0; n > 0 && i < len(iovecs); i++ { - m := int(iovecs[i].Len) - if m > n { - m = n - } + m := min(int(iovecs[i].Len), n) n -= m if m > 0 { raceWriteRange(unsafe.Pointer(iovecs[i].Base), m) @@ -2270,10 +2268,7 @@ func writevRacedetect(iovecs []Iovec, n int) { return } for i := 0; n > 0 && i < len(iovecs); i++ { - m := int(iovecs[i].Len) - if m > n { - m = n - } + m := min(int(iovecs[i].Len), n) n -= m if m > 0 { raceReadRange(unsafe.Pointer(iovecs[i].Base), m) @@ -2320,12 +2315,7 @@ func isGroupMember(gid int) bool { return false } - for _, g := range groups { - if g == gid { - return true - } - } - return false + return slices.Contains(groups, gid) } func isCapDacOverrideSet() bool { diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux.go b/vendor/golang.org/x/sys/unix/zerrors_linux.go index 4f432bfe..b6db27d9 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux.go @@ -319,6 +319,7 @@ const ( AUDIT_INTEGRITY_POLICY_RULE = 0x70f AUDIT_INTEGRITY_RULE = 0x70d AUDIT_INTEGRITY_STATUS = 0x70a + AUDIT_INTEGRITY_USERSPACE = 0x710 AUDIT_IPC = 0x517 AUDIT_IPC_SET_PERM = 0x51f AUDIT_IPE_ACCESS = 0x58c @@ -327,6 +328,8 @@ const ( AUDIT_KERNEL = 0x7d0 AUDIT_KERNEL_OTHER = 0x524 AUDIT_KERN_MODULE = 0x532 + AUDIT_LANDLOCK_ACCESS = 0x58f + AUDIT_LANDLOCK_DOMAIN = 0x590 AUDIT_LAST_FEATURE = 0x1 AUDIT_LAST_KERN_ANOM_MSG = 0x707 AUDIT_LAST_USER_MSG = 0x4af @@ -491,6 +494,7 @@ const ( BPF_F_BEFORE = 0x8 BPF_F_ID = 0x20 BPF_F_NETFILTER_IP_DEFRAG = 0x1 + BPF_F_PREORDER = 0x40 BPF_F_QUERY_EFFECTIVE = 0x1 BPF_F_REDIRECT_FLAGS = 0x19 BPF_F_REPLACE = 0x4 @@ -527,6 +531,7 @@ const ( BPF_LDX = 0x1 BPF_LEN = 0x80 BPF_LL_OFF = -0x200000 + BPF_LOAD_ACQ = 0x100 BPF_LSH = 0x60 BPF_MAJOR_VERSION = 0x1 BPF_MAXINSNS = 0x1000 @@ -554,6 +559,7 @@ const ( BPF_RET = 0x6 BPF_RSH = 0x70 BPF_ST = 0x2 + BPF_STORE_REL = 0x110 BPF_STX = 0x3 BPF_SUB = 0x10 BPF_TAG_SIZE = 0x8 @@ -843,9 +849,9 @@ const ( DM_UUID_FLAG = 0x4000 DM_UUID_LEN = 0x81 DM_VERSION = 0xc138fd00 - DM_VERSION_EXTRA = "-ioctl (2023-03-01)" + DM_VERSION_EXTRA = "-ioctl (2025-04-28)" DM_VERSION_MAJOR = 0x4 - DM_VERSION_MINOR = 0x30 + DM_VERSION_MINOR = 0x32 DM_VERSION_PATCHLEVEL = 0x0 DT_BLK = 0x6 DT_CHR = 0x2 @@ -936,11 +942,10 @@ const ( EPOLL_CTL_MOD = 0x3 EPOLL_IOC_TYPE = 0x8a EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 - ESP_V4_FLOW = 0xa - ESP_V6_FLOW = 0xc - ETHER_FLOW = 0x12 ETHTOOL_BUSINFO_LEN = 0x20 ETHTOOL_EROMVERS_LEN = 0x20 + ETHTOOL_FAMILY_NAME = "ethtool" + ETHTOOL_FAMILY_VERSION = 0x1 ETHTOOL_FEC_AUTO = 0x2 ETHTOOL_FEC_BASER = 0x10 ETHTOOL_FEC_LLRS = 0x20 @@ -1203,13 +1208,18 @@ const ( FAN_DENY = 0x2 FAN_ENABLE_AUDIT = 0x40 FAN_EPIDFD = -0x2 + FAN_ERRNO_BITS = 0x8 + FAN_ERRNO_MASK = 0xff + FAN_ERRNO_SHIFT = 0x18 FAN_EVENT_INFO_TYPE_DFID = 0x3 FAN_EVENT_INFO_TYPE_DFID_NAME = 0x2 FAN_EVENT_INFO_TYPE_ERROR = 0x5 FAN_EVENT_INFO_TYPE_FID = 0x1 + FAN_EVENT_INFO_TYPE_MNT = 0x7 FAN_EVENT_INFO_TYPE_NEW_DFID_NAME = 0xc FAN_EVENT_INFO_TYPE_OLD_DFID_NAME = 0xa FAN_EVENT_INFO_TYPE_PIDFD = 0x4 + FAN_EVENT_INFO_TYPE_RANGE = 0x6 FAN_EVENT_METADATA_LEN = 0x18 FAN_EVENT_ON_CHILD = 0x8000000 FAN_FS_ERROR = 0x8000 @@ -1224,9 +1234,12 @@ const ( FAN_MARK_IGNORED_SURV_MODIFY = 0x40 FAN_MARK_IGNORE_SURV = 0x440 FAN_MARK_INODE = 0x0 + FAN_MARK_MNTNS = 0x110 FAN_MARK_MOUNT = 0x10 FAN_MARK_ONLYDIR = 0x8 FAN_MARK_REMOVE = 0x2 + FAN_MNT_ATTACH = 0x1000000 + FAN_MNT_DETACH = 0x2000000 FAN_MODIFY = 0x2 FAN_MOVE = 0xc0 FAN_MOVED_FROM = 0x40 @@ -1240,6 +1253,7 @@ const ( FAN_OPEN_EXEC = 0x1000 FAN_OPEN_EXEC_PERM = 0x40000 FAN_OPEN_PERM = 0x10000 + FAN_PRE_ACCESS = 0x100000 FAN_Q_OVERFLOW = 0x4000 FAN_RENAME = 0x10000000 FAN_REPORT_DFID_NAME = 0xc00 @@ -1247,6 +1261,7 @@ const ( FAN_REPORT_DIR_FID = 0x400 FAN_REPORT_FD_ERROR = 0x2000 FAN_REPORT_FID = 0x200 + FAN_REPORT_MNT = 0x4000 FAN_REPORT_NAME = 0x800 FAN_REPORT_PIDFD = 0x80 FAN_REPORT_TARGET_FID = 0x1000 @@ -1266,6 +1281,7 @@ const ( FIB_RULE_PERMANENT = 0x1 FIB_RULE_UNRESOLVED = 0x4 FIDEDUPERANGE = 0xc0189436 + FSCRYPT_ADD_KEY_FLAG_HW_WRAPPED = 0x1 FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8 FSCRYPT_KEY_DESC_PREFIX = "fscrypt:" FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8 @@ -1574,7 +1590,6 @@ const ( IPV6_DONTFRAG = 0x3e IPV6_DROP_MEMBERSHIP = 0x15 IPV6_DSTOPTS = 0x3b - IPV6_FLOW = 0x11 IPV6_FREEBIND = 0x4e IPV6_HDRINCL = 0x24 IPV6_HOPLIMIT = 0x34 @@ -1625,7 +1640,6 @@ const ( IPV6_TRANSPARENT = 0x4b IPV6_UNICAST_HOPS = 0x10 IPV6_UNICAST_IF = 0x4c - IPV6_USER_FLOW = 0xe IPV6_V6ONLY = 0x1a IPV6_VERSION = 0x60 IPV6_VERSION_MASK = 0xf0 @@ -1687,7 +1701,6 @@ const ( IP_TTL = 0x2 IP_UNBLOCK_SOURCE = 0x25 IP_UNICAST_IF = 0x32 - IP_USER_FLOW = 0xd IP_XFRM_POLICY = 0x11 ISOFS_SUPER_MAGIC = 0x9660 ISTRIP = 0x20 @@ -1809,7 +1822,11 @@ const ( LANDLOCK_ACCESS_FS_WRITE_FILE = 0x2 LANDLOCK_ACCESS_NET_BIND_TCP = 0x1 LANDLOCK_ACCESS_NET_CONNECT_TCP = 0x2 + LANDLOCK_CREATE_RULESET_ERRATA = 0x2 LANDLOCK_CREATE_RULESET_VERSION = 0x1 + LANDLOCK_RESTRICT_SELF_LOG_NEW_EXEC_ON = 0x2 + LANDLOCK_RESTRICT_SELF_LOG_SAME_EXEC_OFF = 0x1 + LANDLOCK_RESTRICT_SELF_LOG_SUBDOMAINS_OFF = 0x4 LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET = 0x1 LANDLOCK_SCOPE_SIGNAL = 0x2 LINUX_REBOOT_CMD_CAD_OFF = 0x0 @@ -2485,6 +2502,10 @@ const ( PR_FP_EXC_UND = 0x40000 PR_FP_MODE_FR = 0x1 PR_FP_MODE_FRE = 0x2 + PR_FUTEX_HASH = 0x4e + PR_FUTEX_HASH_GET_IMMUTABLE = 0x3 + PR_FUTEX_HASH_GET_SLOTS = 0x2 + PR_FUTEX_HASH_SET_SLOTS = 0x1 PR_GET_AUXV = 0x41555856 PR_GET_CHILD_SUBREAPER = 0x25 PR_GET_DUMPABLE = 0x3 @@ -2644,6 +2665,10 @@ const ( PR_TAGGED_ADDR_ENABLE = 0x1 PR_TASK_PERF_EVENTS_DISABLE = 0x1f PR_TASK_PERF_EVENTS_ENABLE = 0x20 + PR_TIMER_CREATE_RESTORE_IDS = 0x4d + PR_TIMER_CREATE_RESTORE_IDS_GET = 0x2 + PR_TIMER_CREATE_RESTORE_IDS_OFF = 0x0 + PR_TIMER_CREATE_RESTORE_IDS_ON = 0x1 PR_TIMING_STATISTICAL = 0x0 PR_TIMING_TIMESTAMP = 0x1 PR_TSC_ENABLE = 0x1 @@ -2724,6 +2749,7 @@ const ( PTRACE_SETREGSET = 0x4205 PTRACE_SETSIGINFO = 0x4203 PTRACE_SETSIGMASK = 0x420b + PTRACE_SET_SYSCALL_INFO = 0x4212 PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210 PTRACE_SINGLESTEP = 0x9 PTRACE_SYSCALL = 0x18 @@ -2787,7 +2813,7 @@ const ( RTAX_UNSPEC = 0x0 RTAX_WINDOW = 0x3 RTA_ALIGNTO = 0x4 - RTA_MAX = 0x1e + RTA_MAX = 0x1f RTCF_DIRECTSRC = 0x4000000 RTCF_DOREDIRECT = 0x1000000 RTCF_LOG = 0x2000000 @@ -2864,10 +2890,12 @@ const ( RTM_DELACTION = 0x31 RTM_DELADDR = 0x15 RTM_DELADDRLABEL = 0x49 + RTM_DELANYCAST = 0x3d RTM_DELCHAIN = 0x65 RTM_DELLINK = 0x11 RTM_DELLINKPROP = 0x6d RTM_DELMDB = 0x55 + RTM_DELMULTICAST = 0x39 RTM_DELNEIGH = 0x1d RTM_DELNETCONF = 0x51 RTM_DELNEXTHOP = 0x69 @@ -2917,11 +2945,13 @@ const ( RTM_NEWACTION = 0x30 RTM_NEWADDR = 0x14 RTM_NEWADDRLABEL = 0x48 + RTM_NEWANYCAST = 0x3c RTM_NEWCACHEREPORT = 0x60 RTM_NEWCHAIN = 0x64 RTM_NEWLINK = 0x10 RTM_NEWLINKPROP = 0x6c RTM_NEWMDB = 0x54 + RTM_NEWMULTICAST = 0x38 RTM_NEWNDUSEROPT = 0x44 RTM_NEWNEIGH = 0x1c RTM_NEWNEIGHTBL = 0x40 @@ -2970,6 +3000,7 @@ const ( RTPROT_NTK = 0xf RTPROT_OPENR = 0x63 RTPROT_OSPF = 0xbc + RTPROT_OVN = 0x54 RTPROT_RA = 0x9 RTPROT_REDIRECT = 0x1 RTPROT_RIP = 0xbd @@ -2987,11 +3018,12 @@ const ( RUSAGE_THREAD = 0x1 RWF_APPEND = 0x10 RWF_ATOMIC = 0x40 + RWF_DONTCACHE = 0x80 RWF_DSYNC = 0x2 RWF_HIPRI = 0x1 RWF_NOAPPEND = 0x20 RWF_NOWAIT = 0x8 - RWF_SUPPORTED = 0x7f + RWF_SUPPORTED = 0xff RWF_SYNC = 0x4 RWF_WRITE_LIFE_NOT_SET = 0x0 SCHED_BATCH = 0x3 @@ -3271,6 +3303,7 @@ const ( STATX_BTIME = 0x800 STATX_CTIME = 0x80 STATX_DIOALIGN = 0x2000 + STATX_DIO_READ_ALIGN = 0x20000 STATX_GID = 0x10 STATX_INO = 0x100 STATX_MNT_ID = 0x1000 @@ -3322,7 +3355,7 @@ const ( TASKSTATS_GENL_NAME = "TASKSTATS" TASKSTATS_GENL_VERSION = 0x1 TASKSTATS_TYPE_MAX = 0x6 - TASKSTATS_VERSION = 0xe + TASKSTATS_VERSION = 0x10 TCIFLUSH = 0x0 TCIOFF = 0x2 TCIOFLUSH = 0x2 @@ -3392,8 +3425,6 @@ const ( TCP_TX_DELAY = 0x25 TCP_ULP = 0x1f TCP_USER_TIMEOUT = 0x12 - TCP_V4_FLOW = 0x1 - TCP_V6_FLOW = 0x5 TCP_WINDOW_CLAMP = 0xa TCP_ZEROCOPY_RECEIVE = 0x23 TFD_TIMER_ABSTIME = 0x1 @@ -3503,6 +3534,7 @@ const ( TP_STATUS_WRONG_FORMAT = 0x4 TRACEFS_MAGIC = 0x74726163 TS_COMM_LEN = 0x20 + UBI_IOCECNFO = 0xc01c6f06 UDF_SUPER_MAGIC = 0x15013346 UDP_CORK = 0x1 UDP_ENCAP = 0x64 @@ -3515,8 +3547,6 @@ const ( UDP_NO_CHECK6_RX = 0x66 UDP_NO_CHECK6_TX = 0x65 UDP_SEGMENT = 0x67 - UDP_V4_FLOW = 0x2 - UDP_V6_FLOW = 0x6 UMOUNT_NOFOLLOW = 0x8 USBDEVICE_SUPER_MAGIC = 0x9fa2 UTIME_NOW = 0x3fffffff @@ -3559,7 +3589,7 @@ const ( WDIOS_TEMPPANIC = 0x4 WDIOS_UNKNOWN = -0x1 WEXITED = 0x4 - WGALLOWEDIP_A_MAX = 0x3 + WGALLOWEDIP_A_MAX = 0x4 WGDEVICE_A_MAX = 0x8 WGPEER_A_MAX = 0xa WG_CMD_MAX = 0x1 @@ -3673,6 +3703,7 @@ const ( XDP_SHARED_UMEM = 0x1 XDP_STATISTICS = 0x7 XDP_TXMD_FLAGS_CHECKSUM = 0x2 + XDP_TXMD_FLAGS_LAUNCH_TIME = 0x4 XDP_TXMD_FLAGS_TIMESTAMP = 0x1 XDP_TX_METADATA = 0x2 XDP_TX_RING = 0x3 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go index 75207613..1c37f9fb 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go @@ -68,6 +68,7 @@ const ( CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 + DM_MPATH_PROBE_PATHS = 0xfd12 ECCGETLAYOUT = 0x81484d11 ECCGETSTATS = 0x80104d12 ECHOCTL = 0x200 @@ -360,6 +361,7 @@ const ( SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 SO_PASSPIDFD = 0x4c + SO_PASSRIGHTS = 0x53 SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 @@ -372,6 +374,7 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVMARK = 0x4b + SO_RCVPRIORITY = 0x52 SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go index c68acda5..6f54d34a 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go @@ -68,6 +68,7 @@ const ( CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 + DM_MPATH_PROBE_PATHS = 0xfd12 ECCGETLAYOUT = 0x81484d11 ECCGETSTATS = 0x80104d12 ECHOCTL = 0x200 @@ -361,6 +362,7 @@ const ( SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 SO_PASSPIDFD = 0x4c + SO_PASSRIGHTS = 0x53 SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 @@ -373,6 +375,7 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVMARK = 0x4b + SO_RCVPRIORITY = 0x52 SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go index a8c607ab..783ec5c1 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go @@ -68,6 +68,7 @@ const ( CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 + DM_MPATH_PROBE_PATHS = 0xfd12 ECCGETLAYOUT = 0x81484d11 ECCGETSTATS = 0x80104d12 ECHOCTL = 0x200 @@ -366,6 +367,7 @@ const ( SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 SO_PASSPIDFD = 0x4c + SO_PASSRIGHTS = 0x53 SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 @@ -378,6 +380,7 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVMARK = 0x4b + SO_RCVPRIORITY = 0x52 SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go index 18563dd8..ca83d3ba 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go @@ -68,6 +68,7 @@ const ( CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 + DM_MPATH_PROBE_PATHS = 0xfd12 ECCGETLAYOUT = 0x81484d11 ECCGETSTATS = 0x80104d12 ECHOCTL = 0x200 @@ -359,6 +360,7 @@ const ( SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 SO_PASSPIDFD = 0x4c + SO_PASSRIGHTS = 0x53 SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 @@ -371,6 +373,7 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVMARK = 0x4b + SO_RCVPRIORITY = 0x52 SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go index 22912cda..607e611c 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go @@ -68,6 +68,7 @@ const ( CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 + DM_MPATH_PROBE_PATHS = 0xfd12 ECCGETLAYOUT = 0x81484d11 ECCGETSTATS = 0x80104d12 ECHOCTL = 0x200 @@ -353,6 +354,7 @@ const ( SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 SO_PASSPIDFD = 0x4c + SO_PASSRIGHTS = 0x53 SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 @@ -365,6 +367,7 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVMARK = 0x4b + SO_RCVPRIORITY = 0x52 SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go index 29344eb3..b9cb5bd3 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go @@ -68,6 +68,7 @@ const ( CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 + DM_MPATH_PROBE_PATHS = 0x2000fd12 ECCGETLAYOUT = 0x41484d11 ECCGETSTATS = 0x40104d12 ECHOCTL = 0x200 @@ -359,6 +360,7 @@ const ( SO_OOBINLINE = 0x100 SO_PASSCRED = 0x11 SO_PASSPIDFD = 0x4c + SO_PASSRIGHTS = 0x53 SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x12 @@ -371,6 +373,7 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x1004 SO_RCVMARK = 0x4b + SO_RCVPRIORITY = 0x52 SO_RCVTIMEO = 0x1006 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x1006 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go index 20d51fb9..65b078a6 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go @@ -68,6 +68,7 @@ const ( CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 + DM_MPATH_PROBE_PATHS = 0x2000fd12 ECCGETLAYOUT = 0x41484d11 ECCGETSTATS = 0x40104d12 ECHOCTL = 0x200 @@ -359,6 +360,7 @@ const ( SO_OOBINLINE = 0x100 SO_PASSCRED = 0x11 SO_PASSPIDFD = 0x4c + SO_PASSRIGHTS = 0x53 SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x12 @@ -371,6 +373,7 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x1004 SO_RCVMARK = 0x4b + SO_RCVPRIORITY = 0x52 SO_RCVTIMEO = 0x1006 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x1006 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go index 321b6090..5298a303 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go @@ -68,6 +68,7 @@ const ( CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 + DM_MPATH_PROBE_PATHS = 0x2000fd12 ECCGETLAYOUT = 0x41484d11 ECCGETSTATS = 0x40104d12 ECHOCTL = 0x200 @@ -359,6 +360,7 @@ const ( SO_OOBINLINE = 0x100 SO_PASSCRED = 0x11 SO_PASSPIDFD = 0x4c + SO_PASSRIGHTS = 0x53 SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x12 @@ -371,6 +373,7 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x1004 SO_RCVMARK = 0x4b + SO_RCVPRIORITY = 0x52 SO_RCVTIMEO = 0x1006 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x1006 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go index 9bacdf1e..7bc557c8 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go @@ -68,6 +68,7 @@ const ( CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 + DM_MPATH_PROBE_PATHS = 0x2000fd12 ECCGETLAYOUT = 0x41484d11 ECCGETSTATS = 0x40104d12 ECHOCTL = 0x200 @@ -359,6 +360,7 @@ const ( SO_OOBINLINE = 0x100 SO_PASSCRED = 0x11 SO_PASSPIDFD = 0x4c + SO_PASSRIGHTS = 0x53 SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x12 @@ -371,6 +373,7 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x1004 SO_RCVMARK = 0x4b + SO_RCVPRIORITY = 0x52 SO_RCVTIMEO = 0x1006 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x1006 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go index c2242726..152399bb 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go @@ -68,6 +68,7 @@ const ( CS8 = 0x300 CSIZE = 0x300 CSTOPB = 0x400 + DM_MPATH_PROBE_PATHS = 0x2000fd12 ECCGETLAYOUT = 0x41484d11 ECCGETSTATS = 0x40104d12 ECHOCTL = 0x40 @@ -414,6 +415,7 @@ const ( SO_OOBINLINE = 0xa SO_PASSCRED = 0x14 SO_PASSPIDFD = 0x4c + SO_PASSRIGHTS = 0x53 SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x15 @@ -426,6 +428,7 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x10 SO_RCVMARK = 0x4b + SO_RCVPRIORITY = 0x52 SO_RCVTIMEO = 0x12 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x12 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go index 6270c8ee..1a1ce240 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go @@ -68,6 +68,7 @@ const ( CS8 = 0x300 CSIZE = 0x300 CSTOPB = 0x400 + DM_MPATH_PROBE_PATHS = 0x2000fd12 ECCGETLAYOUT = 0x41484d11 ECCGETSTATS = 0x40104d12 ECHOCTL = 0x40 @@ -418,6 +419,7 @@ const ( SO_OOBINLINE = 0xa SO_PASSCRED = 0x14 SO_PASSPIDFD = 0x4c + SO_PASSRIGHTS = 0x53 SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x15 @@ -430,6 +432,7 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x10 SO_RCVMARK = 0x4b + SO_RCVPRIORITY = 0x52 SO_RCVTIMEO = 0x12 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x12 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go index 9966c194..4231a1fb 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go @@ -68,6 +68,7 @@ const ( CS8 = 0x300 CSIZE = 0x300 CSTOPB = 0x400 + DM_MPATH_PROBE_PATHS = 0x2000fd12 ECCGETLAYOUT = 0x41484d11 ECCGETSTATS = 0x40104d12 ECHOCTL = 0x40 @@ -418,6 +419,7 @@ const ( SO_OOBINLINE = 0xa SO_PASSCRED = 0x14 SO_PASSPIDFD = 0x4c + SO_PASSRIGHTS = 0x53 SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x15 @@ -430,6 +432,7 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x10 SO_RCVMARK = 0x4b + SO_RCVPRIORITY = 0x52 SO_RCVTIMEO = 0x12 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x12 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go index 848e5fcc..21c0e952 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go @@ -68,6 +68,7 @@ const ( CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 + DM_MPATH_PROBE_PATHS = 0xfd12 ECCGETLAYOUT = 0x81484d11 ECCGETSTATS = 0x80104d12 ECHOCTL = 0x200 @@ -350,6 +351,7 @@ const ( SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 SO_PASSPIDFD = 0x4c + SO_PASSRIGHTS = 0x53 SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 @@ -362,6 +364,7 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVMARK = 0x4b + SO_RCVPRIORITY = 0x52 SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go index 669b2adb..f00d1cd7 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go @@ -68,6 +68,7 @@ const ( CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 + DM_MPATH_PROBE_PATHS = 0xfd12 ECCGETLAYOUT = 0x81484d11 ECCGETSTATS = 0x80104d12 ECHOCTL = 0x200 @@ -422,6 +423,7 @@ const ( SO_OOBINLINE = 0xa SO_PASSCRED = 0x10 SO_PASSPIDFD = 0x4c + SO_PASSRIGHTS = 0x53 SO_PASSSEC = 0x22 SO_PEEK_OFF = 0x2a SO_PEERCRED = 0x11 @@ -434,6 +436,7 @@ const ( SO_RCVBUFFORCE = 0x21 SO_RCVLOWAT = 0x12 SO_RCVMARK = 0x4b + SO_RCVPRIORITY = 0x52 SO_RCVTIMEO = 0x14 SO_RCVTIMEO_NEW = 0x42 SO_RCVTIMEO_OLD = 0x14 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go index 4834e575..bc8d539e 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go @@ -71,6 +71,7 @@ const ( CS8 = 0x30 CSIZE = 0x30 CSTOPB = 0x40 + DM_MPATH_PROBE_PATHS = 0x2000fd12 ECCGETLAYOUT = 0x41484d11 ECCGETSTATS = 0x40104d12 ECHOCTL = 0x200 @@ -461,6 +462,7 @@ const ( SO_OOBINLINE = 0x100 SO_PASSCRED = 0x2 SO_PASSPIDFD = 0x55 + SO_PASSRIGHTS = 0x5c SO_PASSSEC = 0x1f SO_PEEK_OFF = 0x26 SO_PEERCRED = 0x40 @@ -473,6 +475,7 @@ const ( SO_RCVBUFFORCE = 0x100b SO_RCVLOWAT = 0x800 SO_RCVMARK = 0x54 + SO_RCVPRIORITY = 0x5b SO_RCVTIMEO = 0x2000 SO_RCVTIMEO_NEW = 0x44 SO_RCVTIMEO_OLD = 0x2000 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go index 24b346e1..813c05b6 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go @@ -2512,6 +2512,90 @@ var libc_munmap_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func readv(fd int, iovecs []Iovec) (n int, err error) { + var _p0 unsafe.Pointer + if len(iovecs) > 0 { + _p0 = unsafe.Pointer(&iovecs[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(libc_readv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_readv_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_readv readv "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func preadv(fd int, iovecs []Iovec, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(iovecs) > 0 { + _p0 = unsafe.Pointer(&iovecs[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(libc_preadv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_preadv_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_preadv preadv "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writev(fd int, iovecs []Iovec) (n int, err error) { + var _p0 unsafe.Pointer + if len(iovecs) > 0 { + _p0 = unsafe.Pointer(&iovecs[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(libc_writev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_writev_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_writev writev "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(iovecs) > 0 { + _p0 = unsafe.Pointer(&iovecs[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(libc_pwritev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_pwritev_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_pwritev pwritev "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Fstat(fd int, stat *Stat_t) (err error) { _, _, e1 := syscall_syscall(libc_fstat64_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s index ebd21310..fda32858 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s @@ -738,6 +738,26 @@ TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8 DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB) +TEXT libc_readv_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_readv(SB) +GLOBL ·libc_readv_trampoline_addr(SB), RODATA, $8 +DATA ·libc_readv_trampoline_addr(SB)/8, $libc_readv_trampoline<>(SB) + +TEXT libc_preadv_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_preadv(SB) +GLOBL ·libc_preadv_trampoline_addr(SB), RODATA, $8 +DATA ·libc_preadv_trampoline_addr(SB)/8, $libc_preadv_trampoline<>(SB) + +TEXT libc_writev_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_writev(SB) +GLOBL ·libc_writev_trampoline_addr(SB), RODATA, $8 +DATA ·libc_writev_trampoline_addr(SB)/8, $libc_writev_trampoline<>(SB) + +TEXT libc_pwritev_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pwritev(SB) +GLOBL ·libc_pwritev_trampoline_addr(SB), RODATA, $8 +DATA ·libc_pwritev_trampoline_addr(SB)/8, $libc_pwritev_trampoline<>(SB) + TEXT libc_fstat64_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstat64(SB) GLOBL ·libc_fstat64_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go index 824b9c2d..e6f58f3c 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go @@ -2512,6 +2512,90 @@ var libc_munmap_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func readv(fd int, iovecs []Iovec) (n int, err error) { + var _p0 unsafe.Pointer + if len(iovecs) > 0 { + _p0 = unsafe.Pointer(&iovecs[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(libc_readv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_readv_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_readv readv "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func preadv(fd int, iovecs []Iovec, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(iovecs) > 0 { + _p0 = unsafe.Pointer(&iovecs[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(libc_preadv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_preadv_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_preadv preadv "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func writev(fd int, iovecs []Iovec) (n int, err error) { + var _p0 unsafe.Pointer + if len(iovecs) > 0 { + _p0 = unsafe.Pointer(&iovecs[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall(libc_writev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_writev_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_writev writev "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(iovecs) > 0 { + _p0 = unsafe.Pointer(&iovecs[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } + r0, _, e1 := syscall_syscall6(libc_pwritev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_pwritev_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_pwritev pwritev "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Fstat(fd int, stat *Stat_t) (err error) { _, _, e1 := syscall_syscall(libc_fstat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) if e1 != 0 { diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s index 4f178a22..7f8998b9 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s @@ -738,6 +738,26 @@ TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8 DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB) +TEXT libc_readv_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_readv(SB) +GLOBL ·libc_readv_trampoline_addr(SB), RODATA, $8 +DATA ·libc_readv_trampoline_addr(SB)/8, $libc_readv_trampoline<>(SB) + +TEXT libc_preadv_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_preadv(SB) +GLOBL ·libc_preadv_trampoline_addr(SB), RODATA, $8 +DATA ·libc_preadv_trampoline_addr(SB)/8, $libc_preadv_trampoline<>(SB) + +TEXT libc_writev_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_writev(SB) +GLOBL ·libc_writev_trampoline_addr(SB), RODATA, $8 +DATA ·libc_writev_trampoline_addr(SB)/8, $libc_writev_trampoline<>(SB) + +TEXT libc_pwritev_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pwritev(SB) +GLOBL ·libc_pwritev_trampoline_addr(SB), RODATA, $8 +DATA ·libc_pwritev_trampoline_addr(SB)/8, $libc_pwritev_trampoline<>(SB) + TEXT libc_fstat_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_fstat(SB) GLOBL ·libc_fstat_trampoline_addr(SB), RODATA, $8 diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go index c79aaff3..aca56ee4 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go @@ -462,4 +462,5 @@ const ( SYS_GETXATTRAT = 464 SYS_LISTXATTRAT = 465 SYS_REMOVEXATTRAT = 466 + SYS_OPEN_TREE_ATTR = 467 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go index 5eb45069..2ea1ef58 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go @@ -385,4 +385,5 @@ const ( SYS_GETXATTRAT = 464 SYS_LISTXATTRAT = 465 SYS_REMOVEXATTRAT = 466 + SYS_OPEN_TREE_ATTR = 467 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go index 05e50297..d22c8af3 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go @@ -426,4 +426,5 @@ const ( SYS_GETXATTRAT = 464 SYS_LISTXATTRAT = 465 SYS_REMOVEXATTRAT = 466 + SYS_OPEN_TREE_ATTR = 467 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go index 38c53ec5..5ee264ae 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go @@ -329,4 +329,5 @@ const ( SYS_GETXATTRAT = 464 SYS_LISTXATTRAT = 465 SYS_REMOVEXATTRAT = 466 + SYS_OPEN_TREE_ATTR = 467 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go index 31d2e71a..f9f03ebf 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go @@ -325,4 +325,5 @@ const ( SYS_GETXATTRAT = 464 SYS_LISTXATTRAT = 465 SYS_REMOVEXATTRAT = 466 + SYS_OPEN_TREE_ATTR = 467 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go index f4184a33..87c2118e 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go @@ -446,4 +446,5 @@ const ( SYS_GETXATTRAT = 4464 SYS_LISTXATTRAT = 4465 SYS_REMOVEXATTRAT = 4466 + SYS_OPEN_TREE_ATTR = 4467 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go index 05b99622..391ad102 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go @@ -376,4 +376,5 @@ const ( SYS_GETXATTRAT = 5464 SYS_LISTXATTRAT = 5465 SYS_REMOVEXATTRAT = 5466 + SYS_OPEN_TREE_ATTR = 5467 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go index 43a256e9..56561577 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go @@ -376,4 +376,5 @@ const ( SYS_GETXATTRAT = 5464 SYS_LISTXATTRAT = 5465 SYS_REMOVEXATTRAT = 5466 + SYS_OPEN_TREE_ATTR = 5467 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go index eea5ddfc..0482b52e 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go @@ -446,4 +446,5 @@ const ( SYS_GETXATTRAT = 4464 SYS_LISTXATTRAT = 4465 SYS_REMOVEXATTRAT = 4466 + SYS_OPEN_TREE_ATTR = 4467 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go index 0d777bfb..71806f08 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go @@ -453,4 +453,5 @@ const ( SYS_GETXATTRAT = 464 SYS_LISTXATTRAT = 465 SYS_REMOVEXATTRAT = 466 + SYS_OPEN_TREE_ATTR = 467 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go index b4463650..e35a7105 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go @@ -425,4 +425,5 @@ const ( SYS_GETXATTRAT = 464 SYS_LISTXATTRAT = 465 SYS_REMOVEXATTRAT = 466 + SYS_OPEN_TREE_ATTR = 467 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go index 0c7d21c1..2aea4767 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go @@ -425,4 +425,5 @@ const ( SYS_GETXATTRAT = 464 SYS_LISTXATTRAT = 465 SYS_REMOVEXATTRAT = 466 + SYS_OPEN_TREE_ATTR = 467 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go index 84053916..6c9bb4e5 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go @@ -330,4 +330,5 @@ const ( SYS_GETXATTRAT = 464 SYS_LISTXATTRAT = 465 SYS_REMOVEXATTRAT = 466 + SYS_OPEN_TREE_ATTR = 467 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go index fcf1b790..680bc991 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go @@ -391,4 +391,5 @@ const ( SYS_GETXATTRAT = 464 SYS_LISTXATTRAT = 465 SYS_REMOVEXATTRAT = 466 + SYS_OPEN_TREE_ATTR = 467 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go index 52d15b5f..620f2710 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go @@ -404,4 +404,5 @@ const ( SYS_GETXATTRAT = 464 SYS_LISTXATTRAT = 465 SYS_REMOVEXATTRAT = 466 + SYS_OPEN_TREE_ATTR = 467 ) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux.go b/vendor/golang.org/x/sys/unix/ztypes_linux.go index a46abe64..cd236443 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux.go @@ -114,8 +114,10 @@ type Statx_t struct { Atomic_write_unit_min uint32 Atomic_write_unit_max uint32 Atomic_write_segments_max uint32 + Dio_read_offset_align uint32 + Atomic_write_unit_max_opt uint32 _ [1]uint32 - _ [9]uint64 + _ [8]uint64 } type Fsid struct { @@ -199,7 +201,8 @@ type FscryptAddKeyArg struct { Key_spec FscryptKeySpecifier Raw_size uint32 Key_id uint32 - _ [8]uint32 + Flags uint32 + _ [7]uint32 } type FscryptRemoveKeyArg struct { @@ -2226,8 +2229,11 @@ const ( NFT_PAYLOAD_LL_HEADER = 0x0 NFT_PAYLOAD_NETWORK_HEADER = 0x1 NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 + NFT_PAYLOAD_INNER_HEADER = 0x3 + NFT_PAYLOAD_TUN_HEADER = 0x4 NFT_PAYLOAD_CSUM_NONE = 0x0 NFT_PAYLOAD_CSUM_INET = 0x1 + NFT_PAYLOAD_CSUM_SCTP = 0x2 NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 NFTA_PAYLOAD_UNSPEC = 0x0 NFTA_PAYLOAD_DREG = 0x1 @@ -2314,6 +2320,11 @@ const ( NFT_CT_AVGPKT = 0x10 NFT_CT_ZONE = 0x11 NFT_CT_EVENTMASK = 0x12 + NFT_CT_SRC_IP = 0x13 + NFT_CT_DST_IP = 0x14 + NFT_CT_SRC_IP6 = 0x15 + NFT_CT_DST_IP6 = 0x16 + NFT_CT_ID = 0x17 NFTA_CT_UNSPEC = 0x0 NFTA_CT_DREG = 0x1 NFTA_CT_KEY = 0x2 @@ -2594,8 +2605,8 @@ const ( SOF_TIMESTAMPING_BIND_PHC = 0x8000 SOF_TIMESTAMPING_OPT_ID_TCP = 0x10000 - SOF_TIMESTAMPING_LAST = 0x20000 - SOF_TIMESTAMPING_MASK = 0x3ffff + SOF_TIMESTAMPING_LAST = 0x40000 + SOF_TIMESTAMPING_MASK = 0x7ffff SCM_TSTAMP_SND = 0x0 SCM_TSTAMP_SCHED = 0x1 @@ -3802,7 +3813,16 @@ const ( ETHTOOL_MSG_PSE_GET = 0x24 ETHTOOL_MSG_PSE_SET = 0x25 ETHTOOL_MSG_RSS_GET = 0x26 - ETHTOOL_MSG_USER_MAX = 0x2d + ETHTOOL_MSG_PLCA_GET_CFG = 0x27 + ETHTOOL_MSG_PLCA_SET_CFG = 0x28 + ETHTOOL_MSG_PLCA_GET_STATUS = 0x29 + ETHTOOL_MSG_MM_GET = 0x2a + ETHTOOL_MSG_MM_SET = 0x2b + ETHTOOL_MSG_MODULE_FW_FLASH_ACT = 0x2c + ETHTOOL_MSG_PHY_GET = 0x2d + ETHTOOL_MSG_TSCONFIG_GET = 0x2e + ETHTOOL_MSG_TSCONFIG_SET = 0x2f + ETHTOOL_MSG_USER_MAX = 0x2f ETHTOOL_MSG_KERNEL_NONE = 0x0 ETHTOOL_MSG_STRSET_GET_REPLY = 0x1 ETHTOOL_MSG_LINKINFO_GET_REPLY = 0x2 @@ -3842,7 +3862,17 @@ const ( ETHTOOL_MSG_MODULE_NTF = 0x24 ETHTOOL_MSG_PSE_GET_REPLY = 0x25 ETHTOOL_MSG_RSS_GET_REPLY = 0x26 - ETHTOOL_MSG_KERNEL_MAX = 0x2e + ETHTOOL_MSG_PLCA_GET_CFG_REPLY = 0x27 + ETHTOOL_MSG_PLCA_GET_STATUS_REPLY = 0x28 + ETHTOOL_MSG_PLCA_NTF = 0x29 + ETHTOOL_MSG_MM_GET_REPLY = 0x2a + ETHTOOL_MSG_MM_NTF = 0x2b + ETHTOOL_MSG_MODULE_FW_FLASH_NTF = 0x2c + ETHTOOL_MSG_PHY_GET_REPLY = 0x2d + ETHTOOL_MSG_PHY_NTF = 0x2e + ETHTOOL_MSG_TSCONFIG_GET_REPLY = 0x2f + ETHTOOL_MSG_TSCONFIG_SET_REPLY = 0x30 + ETHTOOL_MSG_KERNEL_MAX = 0x30 ETHTOOL_FLAG_COMPACT_BITSETS = 0x1 ETHTOOL_FLAG_OMIT_REPLY = 0x2 ETHTOOL_FLAG_STATS = 0x4 @@ -3949,7 +3979,12 @@ const ( ETHTOOL_A_RINGS_TCP_DATA_SPLIT = 0xb ETHTOOL_A_RINGS_CQE_SIZE = 0xc ETHTOOL_A_RINGS_TX_PUSH = 0xd - ETHTOOL_A_RINGS_MAX = 0x10 + ETHTOOL_A_RINGS_RX_PUSH = 0xe + ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN = 0xf + ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX = 0x10 + ETHTOOL_A_RINGS_HDS_THRESH = 0x11 + ETHTOOL_A_RINGS_HDS_THRESH_MAX = 0x12 + ETHTOOL_A_RINGS_MAX = 0x12 ETHTOOL_A_CHANNELS_UNSPEC = 0x0 ETHTOOL_A_CHANNELS_HEADER = 0x1 ETHTOOL_A_CHANNELS_RX_MAX = 0x2 @@ -4015,7 +4050,9 @@ const ( ETHTOOL_A_TSINFO_TX_TYPES = 0x3 ETHTOOL_A_TSINFO_RX_FILTERS = 0x4 ETHTOOL_A_TSINFO_PHC_INDEX = 0x5 - ETHTOOL_A_TSINFO_MAX = 0x6 + ETHTOOL_A_TSINFO_STATS = 0x6 + ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER = 0x7 + ETHTOOL_A_TSINFO_MAX = 0x9 ETHTOOL_A_CABLE_TEST_UNSPEC = 0x0 ETHTOOL_A_CABLE_TEST_HEADER = 0x1 ETHTOOL_A_CABLE_TEST_MAX = 0x1 @@ -4101,6 +4138,19 @@ const ( ETHTOOL_A_TUNNEL_INFO_MAX = 0x2 ) +const ( + TCP_V4_FLOW = 0x1 + UDP_V4_FLOW = 0x2 + TCP_V6_FLOW = 0x5 + UDP_V6_FLOW = 0x6 + ESP_V4_FLOW = 0xa + ESP_V6_FLOW = 0xc + IP_USER_FLOW = 0xd + IPV6_USER_FLOW = 0xe + IPV6_FLOW = 0x11 + ETHER_FLOW = 0x12 +) + const SPEED_UNKNOWN = -0x1 type EthtoolDrvinfo struct { @@ -4613,6 +4663,7 @@ const ( NL80211_ATTR_AKM_SUITES = 0x4c NL80211_ATTR_AP_ISOLATE = 0x60 NL80211_ATTR_AP_SETTINGS_FLAGS = 0x135 + NL80211_ATTR_ASSOC_SPP_AMSDU = 0x14a NL80211_ATTR_AUTH_DATA = 0x9c NL80211_ATTR_AUTH_TYPE = 0x35 NL80211_ATTR_BANDS = 0xef @@ -4623,6 +4674,7 @@ const ( NL80211_ATTR_BSS_BASIC_RATES = 0x24 NL80211_ATTR_BSS = 0x2f NL80211_ATTR_BSS_CTS_PROT = 0x1c + NL80211_ATTR_BSS_DUMP_INCLUDE_USE_DATA = 0x147 NL80211_ATTR_BSS_HT_OPMODE = 0x6d NL80211_ATTR_BSSID = 0xf5 NL80211_ATTR_BSS_SELECT = 0xe3 @@ -4682,6 +4734,7 @@ const ( NL80211_ATTR_DTIM_PERIOD = 0xd NL80211_ATTR_DURATION = 0x57 NL80211_ATTR_EHT_CAPABILITY = 0x136 + NL80211_ATTR_EMA_RNR_ELEMS = 0x145 NL80211_ATTR_EML_CAPABILITY = 0x13d NL80211_ATTR_EXT_CAPA = 0xa9 NL80211_ATTR_EXT_CAPA_MASK = 0xaa @@ -4717,6 +4770,7 @@ const ( NL80211_ATTR_HIDDEN_SSID = 0x7e NL80211_ATTR_HT_CAPABILITY = 0x1f NL80211_ATTR_HT_CAPABILITY_MASK = 0x94 + NL80211_ATTR_HW_TIMESTAMP_ENABLED = 0x144 NL80211_ATTR_IE_ASSOC_RESP = 0x80 NL80211_ATTR_IE = 0x2a NL80211_ATTR_IE_PROBE_RESP = 0x7f @@ -4747,9 +4801,10 @@ const ( NL80211_ATTR_MAC_HINT = 0xc8 NL80211_ATTR_MAC_MASK = 0xd7 NL80211_ATTR_MAX_AP_ASSOC_STA = 0xca - NL80211_ATTR_MAX = 0x14d + NL80211_ATTR_MAX = 0x151 NL80211_ATTR_MAX_CRIT_PROT_DURATION = 0xb4 NL80211_ATTR_MAX_CSA_COUNTERS = 0xce + NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS = 0x143 NL80211_ATTR_MAX_MATCH_SETS = 0x85 NL80211_ATTR_MAX_NUM_AKM_SUITES = 0x13c NL80211_ATTR_MAX_NUM_PMKIDS = 0x56 @@ -4774,9 +4829,12 @@ const ( NL80211_ATTR_MGMT_SUBTYPE = 0x29 NL80211_ATTR_MLD_ADDR = 0x13a NL80211_ATTR_MLD_CAPA_AND_OPS = 0x13e + NL80211_ATTR_MLO_LINK_DISABLED = 0x146 NL80211_ATTR_MLO_LINK_ID = 0x139 NL80211_ATTR_MLO_LINKS = 0x138 NL80211_ATTR_MLO_SUPPORT = 0x13b + NL80211_ATTR_MLO_TTLM_DLINK = 0x148 + NL80211_ATTR_MLO_TTLM_ULINK = 0x149 NL80211_ATTR_MNTR_FLAGS = 0x17 NL80211_ATTR_MPATH_INFO = 0x1b NL80211_ATTR_MPATH_NEXT_HOP = 0x1a @@ -4809,12 +4867,14 @@ const ( NL80211_ATTR_PORT_AUTHORIZED = 0x103 NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN = 0x5 NL80211_ATTR_POWER_RULE_MAX_EIRP = 0x6 + NL80211_ATTR_POWER_RULE_PSD = 0x8 NL80211_ATTR_PREV_BSSID = 0x4f NL80211_ATTR_PRIVACY = 0x46 NL80211_ATTR_PROBE_RESP = 0x91 NL80211_ATTR_PROBE_RESP_OFFLOAD = 0x90 NL80211_ATTR_PROTOCOL_FEATURES = 0xad NL80211_ATTR_PS_STATE = 0x5d + NL80211_ATTR_PUNCT_BITMAP = 0x142 NL80211_ATTR_QOS_MAP = 0xc7 NL80211_ATTR_RADAR_BACKGROUND = 0x134 NL80211_ATTR_RADAR_EVENT = 0xa8 @@ -4943,7 +5003,9 @@ const ( NL80211_ATTR_WIPHY_FREQ = 0x26 NL80211_ATTR_WIPHY_FREQ_HINT = 0xc9 NL80211_ATTR_WIPHY_FREQ_OFFSET = 0x122 + NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS = 0x14c NL80211_ATTR_WIPHY_NAME = 0x2 + NL80211_ATTR_WIPHY_RADIOS = 0x14b NL80211_ATTR_WIPHY_RETRY_LONG = 0x3e NL80211_ATTR_WIPHY_RETRY_SHORT = 0x3d NL80211_ATTR_WIPHY_RTS_THRESHOLD = 0x40 @@ -4978,6 +5040,8 @@ const ( NL80211_BAND_ATTR_IFTYPE_DATA = 0x9 NL80211_BAND_ATTR_MAX = 0xd NL80211_BAND_ATTR_RATES = 0x2 + NL80211_BAND_ATTR_S1G_CAPA = 0xd + NL80211_BAND_ATTR_S1G_MCS_NSS_SET = 0xc NL80211_BAND_ATTR_VHT_CAPA = 0x8 NL80211_BAND_ATTR_VHT_MCS_SET = 0x7 NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC = 0x8 @@ -5001,6 +5065,10 @@ const ( NL80211_BSS_BEACON_INTERVAL = 0x4 NL80211_BSS_BEACON_TSF = 0xd NL80211_BSS_BSSID = 0x1 + NL80211_BSS_CANNOT_USE_6GHZ_PWR_MISMATCH = 0x2 + NL80211_BSS_CANNOT_USE_NSTR_NONPRIMARY = 0x1 + NL80211_BSS_CANNOT_USE_REASONS = 0x18 + NL80211_BSS_CANNOT_USE_UHB_PWR_MISMATCH = 0x2 NL80211_BSS_CAPABILITY = 0x5 NL80211_BSS_CHAIN_SIGNAL = 0x13 NL80211_BSS_CHAN_WIDTH_10 = 0x1 @@ -5032,6 +5100,9 @@ const ( NL80211_BSS_STATUS = 0x9 NL80211_BSS_STATUS_IBSS_JOINED = 0x2 NL80211_BSS_TSF = 0x3 + NL80211_BSS_USE_FOR = 0x17 + NL80211_BSS_USE_FOR_MLD_LINK = 0x2 + NL80211_BSS_USE_FOR_NORMAL = 0x1 NL80211_CHAN_HT20 = 0x1 NL80211_CHAN_HT40MINUS = 0x2 NL80211_CHAN_HT40PLUS = 0x3 @@ -5117,7 +5188,8 @@ const ( NL80211_CMD_LEAVE_IBSS = 0x2c NL80211_CMD_LEAVE_MESH = 0x45 NL80211_CMD_LEAVE_OCB = 0x6d - NL80211_CMD_MAX = 0x9b + NL80211_CMD_LINKS_REMOVED = 0x9a + NL80211_CMD_MAX = 0x9d NL80211_CMD_MICHAEL_MIC_FAILURE = 0x29 NL80211_CMD_MODIFY_LINK_STA = 0x97 NL80211_CMD_NAN_MATCH = 0x78 @@ -5161,6 +5233,7 @@ const ( NL80211_CMD_SET_COALESCE = 0x65 NL80211_CMD_SET_CQM = 0x3f NL80211_CMD_SET_FILS_AAD = 0x92 + NL80211_CMD_SET_HW_TIMESTAMP = 0x99 NL80211_CMD_SET_INTERFACE = 0x6 NL80211_CMD_SET_KEY = 0xa NL80211_CMD_SET_MAC_ACL = 0x5d @@ -5180,6 +5253,7 @@ const ( NL80211_CMD_SET_SAR_SPECS = 0x8c NL80211_CMD_SET_STATION = 0x12 NL80211_CMD_SET_TID_CONFIG = 0x89 + NL80211_CMD_SET_TID_TO_LINK_MAPPING = 0x9b NL80211_CMD_SET_TX_BITRATE_MASK = 0x39 NL80211_CMD_SET_WDS_PEER = 0x42 NL80211_CMD_SET_WIPHY = 0x2 @@ -5247,6 +5321,7 @@ const ( NL80211_EXT_FEATURE_AIRTIME_FAIRNESS = 0x21 NL80211_EXT_FEATURE_AP_PMKSA_CACHING = 0x22 NL80211_EXT_FEATURE_AQL = 0x28 + NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA = 0x40 NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT = 0x2e NL80211_EXT_FEATURE_BEACON_PROTECTION = 0x29 NL80211_EXT_FEATURE_BEACON_RATE_HE = 0x36 @@ -5262,6 +5337,7 @@ const ( NL80211_EXT_FEATURE_CQM_RSSI_LIST = 0xd NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT = 0x1b NL80211_EXT_FEATURE_DEL_IBSS_STA = 0x2c + NL80211_EXT_FEATURE_DFS_CONCURRENT = 0x43 NL80211_EXT_FEATURE_DFS_OFFLOAD = 0x19 NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER = 0x20 NL80211_EXT_FEATURE_EXT_KEY_ID = 0x24 @@ -5281,9 +5357,12 @@ const ( NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = 0x14 NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE = 0x13 NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION = 0x31 + NL80211_EXT_FEATURE_OWE_OFFLOAD_AP = 0x42 + NL80211_EXT_FEATURE_OWE_OFFLOAD = 0x41 NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE = 0x3d NL80211_EXT_FEATURE_PROTECTED_TWT = 0x2b NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE = 0x39 + NL80211_EXT_FEATURE_PUNCT = 0x3e NL80211_EXT_FEATURE_RADAR_BACKGROUND = 0x3c NL80211_EXT_FEATURE_RRM = 0x1 NL80211_EXT_FEATURE_SAE_OFFLOAD_AP = 0x33 @@ -5295,8 +5374,10 @@ const ( NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD = 0x23 NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI = 0xc NL80211_EXT_FEATURE_SECURE_LTF = 0x37 + NL80211_EXT_FEATURE_SECURE_NAN = 0x3f NL80211_EXT_FEATURE_SECURE_RTT = 0x38 NL80211_EXT_FEATURE_SET_SCAN_DWELL = 0x5 + NL80211_EXT_FEATURE_SPP_AMSDU_SUPPORT = 0x44 NL80211_EXT_FEATURE_STA_TX_PWR = 0x25 NL80211_EXT_FEATURE_TXQS = 0x1c NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP = 0x35 @@ -5343,7 +5424,10 @@ const ( NL80211_FREQUENCY_ATTR_2MHZ = 0x16 NL80211_FREQUENCY_ATTR_4MHZ = 0x17 NL80211_FREQUENCY_ATTR_8MHZ = 0x18 + NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP = 0x21 + NL80211_FREQUENCY_ATTR_CAN_MONITOR = 0x20 NL80211_FREQUENCY_ATTR_DFS_CAC_TIME = 0xd + NL80211_FREQUENCY_ATTR_DFS_CONCURRENT = 0x1d NL80211_FREQUENCY_ATTR_DFS_STATE = 0x7 NL80211_FREQUENCY_ATTR_DFS_TIME = 0x8 NL80211_FREQUENCY_ATTR_DISABLED = 0x2 @@ -5351,12 +5435,14 @@ const ( NL80211_FREQUENCY_ATTR_GO_CONCURRENT = 0xf NL80211_FREQUENCY_ATTR_INDOOR_ONLY = 0xe NL80211_FREQUENCY_ATTR_IR_CONCURRENT = 0xf - NL80211_FREQUENCY_ATTR_MAX = 0x21 + NL80211_FREQUENCY_ATTR_MAX = 0x22 NL80211_FREQUENCY_ATTR_MAX_TX_POWER = 0x6 NL80211_FREQUENCY_ATTR_NO_10MHZ = 0x11 NL80211_FREQUENCY_ATTR_NO_160MHZ = 0xc NL80211_FREQUENCY_ATTR_NO_20MHZ = 0x10 NL80211_FREQUENCY_ATTR_NO_320MHZ = 0x1a + NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT = 0x1f + NL80211_FREQUENCY_ATTR_NO_6GHZ_VLP_CLIENT = 0x1e NL80211_FREQUENCY_ATTR_NO_80MHZ = 0xb NL80211_FREQUENCY_ATTR_NO_EHT = 0x1b NL80211_FREQUENCY_ATTR_NO_HE = 0x13 @@ -5364,8 +5450,11 @@ const ( NL80211_FREQUENCY_ATTR_NO_HT40_PLUS = 0xa NL80211_FREQUENCY_ATTR_NO_IBSS = 0x3 NL80211_FREQUENCY_ATTR_NO_IR = 0x3 + NL80211_FREQUENCY_ATTR_NO_UHB_AFC_CLIENT = 0x1f + NL80211_FREQUENCY_ATTR_NO_UHB_VLP_CLIENT = 0x1e NL80211_FREQUENCY_ATTR_OFFSET = 0x14 NL80211_FREQUENCY_ATTR_PASSIVE_SCAN = 0x3 + NL80211_FREQUENCY_ATTR_PSD = 0x1c NL80211_FREQUENCY_ATTR_RADAR = 0x5 NL80211_FREQUENCY_ATTR_WMM = 0x12 NL80211_FTM_RESP_ATTR_CIVICLOC = 0x3 @@ -5430,6 +5519,7 @@ const ( NL80211_IFTYPE_STATION = 0x2 NL80211_IFTYPE_UNSPECIFIED = 0x0 NL80211_IFTYPE_WDS = 0x5 + NL80211_KCK_EXT_LEN_32 = 0x20 NL80211_KCK_EXT_LEN = 0x18 NL80211_KCK_LEN = 0x10 NL80211_KEK_EXT_LEN = 0x20 @@ -5458,9 +5548,10 @@ const ( NL80211_MAX_SUPP_HT_RATES = 0x4d NL80211_MAX_SUPP_RATES = 0x20 NL80211_MAX_SUPP_REG_RULES = 0x80 + NL80211_MAX_SUPP_SELECTORS = 0x80 NL80211_MBSSID_CONFIG_ATTR_EMA = 0x5 NL80211_MBSSID_CONFIG_ATTR_INDEX = 0x3 - NL80211_MBSSID_CONFIG_ATTR_MAX = 0x5 + NL80211_MBSSID_CONFIG_ATTR_MAX = 0x6 NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY = 0x2 NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES = 0x1 NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX = 0x4 @@ -5703,11 +5794,16 @@ const ( NL80211_RADAR_PRE_CAC_EXPIRED = 0x4 NL80211_RATE_INFO_10_MHZ_WIDTH = 0xb NL80211_RATE_INFO_160_MHZ_WIDTH = 0xa + NL80211_RATE_INFO_16_MHZ_WIDTH = 0x1d + NL80211_RATE_INFO_1_MHZ_WIDTH = 0x19 + NL80211_RATE_INFO_2_MHZ_WIDTH = 0x1a NL80211_RATE_INFO_320_MHZ_WIDTH = 0x12 NL80211_RATE_INFO_40_MHZ_WIDTH = 0x3 + NL80211_RATE_INFO_4_MHZ_WIDTH = 0x1b NL80211_RATE_INFO_5_MHZ_WIDTH = 0xc NL80211_RATE_INFO_80_MHZ_WIDTH = 0x8 NL80211_RATE_INFO_80P80_MHZ_WIDTH = 0x9 + NL80211_RATE_INFO_8_MHZ_WIDTH = 0x1c NL80211_RATE_INFO_BITRATE32 = 0x5 NL80211_RATE_INFO_BITRATE = 0x1 NL80211_RATE_INFO_EHT_GI_0_8 = 0x0 @@ -5753,6 +5849,8 @@ const ( NL80211_RATE_INFO_HE_RU_ALLOC = 0x11 NL80211_RATE_INFO_MAX = 0x1d NL80211_RATE_INFO_MCS = 0x2 + NL80211_RATE_INFO_S1G_MCS = 0x17 + NL80211_RATE_INFO_S1G_NSS = 0x18 NL80211_RATE_INFO_SHORT_GI = 0x4 NL80211_RATE_INFO_VHT_MCS = 0x6 NL80211_RATE_INFO_VHT_NSS = 0x7 @@ -5770,14 +5868,19 @@ const ( NL80211_REKEY_DATA_KEK = 0x1 NL80211_REKEY_DATA_REPLAY_CTR = 0x3 NL80211_REPLAY_CTR_LEN = 0x8 + NL80211_RRF_ALLOW_6GHZ_VLP_AP = 0x1000000 NL80211_RRF_AUTO_BW = 0x800 NL80211_RRF_DFS = 0x10 + NL80211_RRF_DFS_CONCURRENT = 0x200000 NL80211_RRF_GO_CONCURRENT = 0x1000 NL80211_RRF_IR_CONCURRENT = 0x1000 NL80211_RRF_NO_160MHZ = 0x10000 NL80211_RRF_NO_320MHZ = 0x40000 + NL80211_RRF_NO_6GHZ_AFC_CLIENT = 0x800000 + NL80211_RRF_NO_6GHZ_VLP_CLIENT = 0x400000 NL80211_RRF_NO_80MHZ = 0x8000 NL80211_RRF_NO_CCK = 0x2 + NL80211_RRF_NO_EHT = 0x80000 NL80211_RRF_NO_HE = 0x20000 NL80211_RRF_NO_HT40 = 0x6000 NL80211_RRF_NO_HT40MINUS = 0x2000 @@ -5788,7 +5891,10 @@ const ( NL80211_RRF_NO_IR = 0x80 NL80211_RRF_NO_OFDM = 0x1 NL80211_RRF_NO_OUTDOOR = 0x8 + NL80211_RRF_NO_UHB_AFC_CLIENT = 0x800000 + NL80211_RRF_NO_UHB_VLP_CLIENT = 0x400000 NL80211_RRF_PASSIVE_SCAN = 0x80 + NL80211_RRF_PSD = 0x100000 NL80211_RRF_PTMP_ONLY = 0x40 NL80211_RRF_PTP_ONLY = 0x20 NL80211_RXMGMT_FLAG_ANSWERED = 0x1 @@ -5849,6 +5955,7 @@ const ( NL80211_STA_FLAG_MAX_OLD_API = 0x6 NL80211_STA_FLAG_MFP = 0x4 NL80211_STA_FLAG_SHORT_PREAMBLE = 0x2 + NL80211_STA_FLAG_SPP_AMSDU = 0x8 NL80211_STA_FLAG_TDLS_PEER = 0x6 NL80211_STA_FLAG_WME = 0x3 NL80211_STA_INFO_ACK_SIGNAL_AVG = 0x23 @@ -6007,6 +6114,13 @@ const ( NL80211_VHT_CAPABILITY_LEN = 0xc NL80211_VHT_NSS_MAX = 0x8 NL80211_WIPHY_NAME_MAXLEN = 0x40 + NL80211_WIPHY_RADIO_ATTR_FREQ_RANGE = 0x2 + NL80211_WIPHY_RADIO_ATTR_INDEX = 0x1 + NL80211_WIPHY_RADIO_ATTR_INTERFACE_COMBINATION = 0x3 + NL80211_WIPHY_RADIO_ATTR_MAX = 0x4 + NL80211_WIPHY_RADIO_FREQ_ATTR_END = 0x2 + NL80211_WIPHY_RADIO_FREQ_ATTR_MAX = 0x2 + NL80211_WIPHY_RADIO_FREQ_ATTR_START = 0x1 NL80211_WMMR_AIFSN = 0x3 NL80211_WMMR_CW_MAX = 0x2 NL80211_WMMR_CW_MIN = 0x1 @@ -6038,6 +6152,7 @@ const ( NL80211_WOWLAN_TRIG_PKT_PATTERN = 0x4 NL80211_WOWLAN_TRIG_RFKILL_RELEASE = 0x9 NL80211_WOWLAN_TRIG_TCP_CONNECTION = 0xe + NL80211_WOWLAN_TRIG_UNPROTECTED_DEAUTH_DISASSOC = 0x14 NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211 = 0xa NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN = 0xb NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023 = 0xc diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go index fd402da4..485f2d3a 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go @@ -282,7 +282,7 @@ type Taskstats struct { Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 - _ [4]byte + _ [6]byte Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 @@ -338,6 +338,22 @@ type Taskstats struct { Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 + Cpu_delay_max uint64 + Cpu_delay_min uint64 + Blkio_delay_max uint64 + Blkio_delay_min uint64 + Swapin_delay_max uint64 + Swapin_delay_min uint64 + Freepages_delay_max uint64 + Freepages_delay_min uint64 + Thrashing_delay_max uint64 + Thrashing_delay_min uint64 + Compact_delay_max uint64 + Compact_delay_min uint64 + Wpcopy_delay_max uint64 + Wpcopy_delay_min uint64 + Irq_delay_max uint64 + Irq_delay_min uint64 } type cpuMask uint32 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go index eb7a5e18..ecbd1ad8 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go @@ -351,6 +351,22 @@ type Taskstats struct { Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 + Cpu_delay_max uint64 + Cpu_delay_min uint64 + Blkio_delay_max uint64 + Blkio_delay_min uint64 + Swapin_delay_max uint64 + Swapin_delay_min uint64 + Freepages_delay_max uint64 + Freepages_delay_min uint64 + Thrashing_delay_max uint64 + Thrashing_delay_min uint64 + Compact_delay_max uint64 + Compact_delay_min uint64 + Wpcopy_delay_max uint64 + Wpcopy_delay_min uint64 + Irq_delay_max uint64 + Irq_delay_min uint64 } type cpuMask uint64 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go index d78ac108..02f0463a 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go @@ -91,7 +91,7 @@ type Stat_t struct { Gid uint32 Rdev uint64 _ uint16 - _ [4]byte + _ [6]byte Size int64 Blksize int32 _ [4]byte @@ -273,7 +273,7 @@ type Taskstats struct { Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 - _ [4]byte + _ [6]byte Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 @@ -329,6 +329,22 @@ type Taskstats struct { Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 + Cpu_delay_max uint64 + Cpu_delay_min uint64 + Blkio_delay_max uint64 + Blkio_delay_min uint64 + Swapin_delay_max uint64 + Swapin_delay_min uint64 + Freepages_delay_max uint64 + Freepages_delay_min uint64 + Thrashing_delay_max uint64 + Thrashing_delay_min uint64 + Compact_delay_max uint64 + Compact_delay_min uint64 + Wpcopy_delay_max uint64 + Wpcopy_delay_min uint64 + Irq_delay_max uint64 + Irq_delay_min uint64 } type cpuMask uint32 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go index cd06d47f..6f4d400d 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go @@ -330,6 +330,22 @@ type Taskstats struct { Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 + Cpu_delay_max uint64 + Cpu_delay_min uint64 + Blkio_delay_max uint64 + Blkio_delay_min uint64 + Swapin_delay_max uint64 + Swapin_delay_min uint64 + Freepages_delay_max uint64 + Freepages_delay_min uint64 + Thrashing_delay_max uint64 + Thrashing_delay_min uint64 + Compact_delay_max uint64 + Compact_delay_min uint64 + Wpcopy_delay_max uint64 + Wpcopy_delay_min uint64 + Irq_delay_max uint64 + Irq_delay_min uint64 } type cpuMask uint64 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go index 2f28fe26..cd532cfa 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go @@ -331,6 +331,22 @@ type Taskstats struct { Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 + Cpu_delay_max uint64 + Cpu_delay_min uint64 + Blkio_delay_max uint64 + Blkio_delay_min uint64 + Swapin_delay_max uint64 + Swapin_delay_min uint64 + Freepages_delay_max uint64 + Freepages_delay_min uint64 + Thrashing_delay_max uint64 + Thrashing_delay_min uint64 + Compact_delay_max uint64 + Compact_delay_min uint64 + Wpcopy_delay_max uint64 + Wpcopy_delay_min uint64 + Irq_delay_max uint64 + Irq_delay_min uint64 } type cpuMask uint64 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go index 71d6cac2..41336208 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go @@ -278,7 +278,7 @@ type Taskstats struct { Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 - _ [4]byte + _ [6]byte Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 @@ -334,6 +334,22 @@ type Taskstats struct { Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 + Cpu_delay_max uint64 + Cpu_delay_min uint64 + Blkio_delay_max uint64 + Blkio_delay_min uint64 + Swapin_delay_max uint64 + Swapin_delay_min uint64 + Freepages_delay_max uint64 + Freepages_delay_min uint64 + Thrashing_delay_max uint64 + Thrashing_delay_min uint64 + Compact_delay_max uint64 + Compact_delay_min uint64 + Wpcopy_delay_max uint64 + Wpcopy_delay_min uint64 + Irq_delay_max uint64 + Irq_delay_min uint64 } type cpuMask uint32 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go index 8596d453..eaa37eb7 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go @@ -333,6 +333,22 @@ type Taskstats struct { Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 + Cpu_delay_max uint64 + Cpu_delay_min uint64 + Blkio_delay_max uint64 + Blkio_delay_min uint64 + Swapin_delay_max uint64 + Swapin_delay_min uint64 + Freepages_delay_max uint64 + Freepages_delay_min uint64 + Thrashing_delay_max uint64 + Thrashing_delay_min uint64 + Compact_delay_max uint64 + Compact_delay_min uint64 + Wpcopy_delay_max uint64 + Wpcopy_delay_min uint64 + Irq_delay_max uint64 + Irq_delay_min uint64 } type cpuMask uint64 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go index cd60ea18..98ae6a1e 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go @@ -333,6 +333,22 @@ type Taskstats struct { Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 + Cpu_delay_max uint64 + Cpu_delay_min uint64 + Blkio_delay_max uint64 + Blkio_delay_min uint64 + Swapin_delay_max uint64 + Swapin_delay_min uint64 + Freepages_delay_max uint64 + Freepages_delay_min uint64 + Thrashing_delay_max uint64 + Thrashing_delay_min uint64 + Compact_delay_max uint64 + Compact_delay_min uint64 + Wpcopy_delay_max uint64 + Wpcopy_delay_min uint64 + Irq_delay_max uint64 + Irq_delay_min uint64 } type cpuMask uint64 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go index b0ae420c..cae19615 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go @@ -278,7 +278,7 @@ type Taskstats struct { Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 - _ [4]byte + _ [6]byte Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 @@ -334,6 +334,22 @@ type Taskstats struct { Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 + Cpu_delay_max uint64 + Cpu_delay_min uint64 + Blkio_delay_max uint64 + Blkio_delay_min uint64 + Swapin_delay_max uint64 + Swapin_delay_min uint64 + Freepages_delay_max uint64 + Freepages_delay_min uint64 + Thrashing_delay_max uint64 + Thrashing_delay_min uint64 + Compact_delay_max uint64 + Compact_delay_min uint64 + Wpcopy_delay_max uint64 + Wpcopy_delay_min uint64 + Irq_delay_max uint64 + Irq_delay_min uint64 } type cpuMask uint32 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go index 83597287..6ce3b4e0 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go @@ -90,7 +90,7 @@ type Stat_t struct { Gid uint32 Rdev uint64 _ uint16 - _ [4]byte + _ [6]byte Size int64 Blksize int32 _ [4]byte @@ -285,7 +285,7 @@ type Taskstats struct { Ac_exitcode uint32 Ac_flag uint8 Ac_nice uint8 - _ [4]byte + _ [6]byte Cpu_count uint64 Cpu_delay_total uint64 Blkio_count uint64 @@ -341,6 +341,22 @@ type Taskstats struct { Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 + Cpu_delay_max uint64 + Cpu_delay_min uint64 + Blkio_delay_max uint64 + Blkio_delay_min uint64 + Swapin_delay_max uint64 + Swapin_delay_min uint64 + Freepages_delay_max uint64 + Freepages_delay_min uint64 + Thrashing_delay_max uint64 + Thrashing_delay_min uint64 + Compact_delay_max uint64 + Compact_delay_min uint64 + Wpcopy_delay_max uint64 + Wpcopy_delay_min uint64 + Irq_delay_max uint64 + Irq_delay_min uint64 } type cpuMask uint32 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go index 69eb6a5c..c7429c6a 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go @@ -340,6 +340,22 @@ type Taskstats struct { Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 + Cpu_delay_max uint64 + Cpu_delay_min uint64 + Blkio_delay_max uint64 + Blkio_delay_min uint64 + Swapin_delay_max uint64 + Swapin_delay_min uint64 + Freepages_delay_max uint64 + Freepages_delay_min uint64 + Thrashing_delay_max uint64 + Thrashing_delay_min uint64 + Compact_delay_max uint64 + Compact_delay_min uint64 + Wpcopy_delay_max uint64 + Wpcopy_delay_min uint64 + Irq_delay_max uint64 + Irq_delay_min uint64 } type cpuMask uint64 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go index 5f583cb6..4bf4baf4 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go @@ -340,6 +340,22 @@ type Taskstats struct { Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 + Cpu_delay_max uint64 + Cpu_delay_min uint64 + Blkio_delay_max uint64 + Blkio_delay_min uint64 + Swapin_delay_max uint64 + Swapin_delay_min uint64 + Freepages_delay_max uint64 + Freepages_delay_min uint64 + Thrashing_delay_max uint64 + Thrashing_delay_min uint64 + Compact_delay_max uint64 + Compact_delay_min uint64 + Wpcopy_delay_max uint64 + Wpcopy_delay_min uint64 + Irq_delay_max uint64 + Irq_delay_min uint64 } type cpuMask uint64 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go index ad05b51a..e9709d70 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go @@ -358,6 +358,22 @@ type Taskstats struct { Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 + Cpu_delay_max uint64 + Cpu_delay_min uint64 + Blkio_delay_max uint64 + Blkio_delay_min uint64 + Swapin_delay_max uint64 + Swapin_delay_min uint64 + Freepages_delay_max uint64 + Freepages_delay_min uint64 + Thrashing_delay_max uint64 + Thrashing_delay_min uint64 + Compact_delay_max uint64 + Compact_delay_min uint64 + Wpcopy_delay_max uint64 + Wpcopy_delay_min uint64 + Irq_delay_max uint64 + Irq_delay_min uint64 } type cpuMask uint64 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go index cf3ce900..fb44268c 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go @@ -353,6 +353,22 @@ type Taskstats struct { Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 + Cpu_delay_max uint64 + Cpu_delay_min uint64 + Blkio_delay_max uint64 + Blkio_delay_min uint64 + Swapin_delay_max uint64 + Swapin_delay_min uint64 + Freepages_delay_max uint64 + Freepages_delay_min uint64 + Thrashing_delay_max uint64 + Thrashing_delay_min uint64 + Compact_delay_max uint64 + Compact_delay_min uint64 + Wpcopy_delay_max uint64 + Wpcopy_delay_min uint64 + Irq_delay_max uint64 + Irq_delay_min uint64 } type cpuMask uint64 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go index 590b5673..9c38265c 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go @@ -335,6 +335,22 @@ type Taskstats struct { Wpcopy_delay_total uint64 Irq_count uint64 Irq_delay_total uint64 + Cpu_delay_max uint64 + Cpu_delay_min uint64 + Blkio_delay_max uint64 + Blkio_delay_min uint64 + Swapin_delay_max uint64 + Swapin_delay_min uint64 + Freepages_delay_max uint64 + Freepages_delay_min uint64 + Thrashing_delay_max uint64 + Thrashing_delay_min uint64 + Compact_delay_max uint64 + Compact_delay_min uint64 + Wpcopy_delay_max uint64 + Wpcopy_delay_min uint64 + Irq_delay_max uint64 + Irq_delay_min uint64 } type cpuMask uint64 diff --git a/vendor/golang.org/x/sys/windows/registry/key.go b/vendor/golang.org/x/sys/windows/registry/key.go index fd863244..39aeeb64 100644 --- a/vendor/golang.org/x/sys/windows/registry/key.go +++ b/vendor/golang.org/x/sys/windows/registry/key.go @@ -164,7 +164,12 @@ loopItems: func CreateKey(k Key, path string, access uint32) (newk Key, openedExisting bool, err error) { var h syscall.Handle var d uint32 - err = regCreateKeyEx(syscall.Handle(k), syscall.StringToUTF16Ptr(path), + var pathPointer *uint16 + pathPointer, err = syscall.UTF16PtrFromString(path) + if err != nil { + return 0, false, err + } + err = regCreateKeyEx(syscall.Handle(k), pathPointer, 0, nil, _REG_OPTION_NON_VOLATILE, access, nil, &h, &d) if err != nil { return 0, false, err @@ -174,7 +179,11 @@ func CreateKey(k Key, path string, access uint32) (newk Key, openedExisting bool // DeleteKey deletes the subkey path of key k and its values. func DeleteKey(k Key, path string) error { - return regDeleteKey(syscall.Handle(k), syscall.StringToUTF16Ptr(path)) + pathPointer, err := syscall.UTF16PtrFromString(path) + if err != nil { + return err + } + return regDeleteKey(syscall.Handle(k), pathPointer) } // A KeyInfo describes the statistics of a key. It is returned by Stat. diff --git a/vendor/golang.org/x/sys/windows/registry/value.go b/vendor/golang.org/x/sys/windows/registry/value.go index 74db26b9..a1bcbb23 100644 --- a/vendor/golang.org/x/sys/windows/registry/value.go +++ b/vendor/golang.org/x/sys/windows/registry/value.go @@ -340,7 +340,11 @@ func (k Key) SetBinaryValue(name string, value []byte) error { // DeleteValue removes a named value from the key k. func (k Key) DeleteValue(name string) error { - return regDeleteValue(syscall.Handle(k), syscall.StringToUTF16Ptr(name)) + namePointer, err := syscall.UTF16PtrFromString(name) + if err != nil { + return err + } + return regDeleteValue(syscall.Handle(k), namePointer) } // ReadValueNames returns the value names of key k. diff --git a/vendor/golang.org/x/sys/windows/security_windows.go b/vendor/golang.org/x/sys/windows/security_windows.go index b6e1ab76..a8b0364c 100644 --- a/vendor/golang.org/x/sys/windows/security_windows.go +++ b/vendor/golang.org/x/sys/windows/security_windows.go @@ -1303,7 +1303,10 @@ func (selfRelativeSD *SECURITY_DESCRIPTOR) ToAbsolute() (absoluteSD *SECURITY_DE return nil, err } if absoluteSDSize > 0 { - absoluteSD = (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&make([]byte, absoluteSDSize)[0])) + absoluteSD = new(SECURITY_DESCRIPTOR) + if unsafe.Sizeof(*absoluteSD) < uintptr(absoluteSDSize) { + panic("sizeof(SECURITY_DESCRIPTOR) too small") + } } var ( dacl *ACL @@ -1312,19 +1315,55 @@ func (selfRelativeSD *SECURITY_DESCRIPTOR) ToAbsolute() (absoluteSD *SECURITY_DE group *SID ) if daclSize > 0 { - dacl = (*ACL)(unsafe.Pointer(&make([]byte, daclSize)[0])) + dacl = (*ACL)(unsafe.Pointer(unsafe.SliceData(make([]byte, daclSize)))) } if saclSize > 0 { - sacl = (*ACL)(unsafe.Pointer(&make([]byte, saclSize)[0])) + sacl = (*ACL)(unsafe.Pointer(unsafe.SliceData(make([]byte, saclSize)))) } if ownerSize > 0 { - owner = (*SID)(unsafe.Pointer(&make([]byte, ownerSize)[0])) + owner = (*SID)(unsafe.Pointer(unsafe.SliceData(make([]byte, ownerSize)))) } if groupSize > 0 { - group = (*SID)(unsafe.Pointer(&make([]byte, groupSize)[0])) + group = (*SID)(unsafe.Pointer(unsafe.SliceData(make([]byte, groupSize)))) } + // We call into Windows via makeAbsoluteSD, which sets up + // pointers within absoluteSD that point to other chunks of memory + // we pass into makeAbsoluteSD, and that happens outside the view of the GC. + // We therefore take some care here to then verify the pointers are as we expect + // and set them explicitly in view of the GC. See https://go.dev/issue/73199. + // TODO: consider weak pointers once Go 1.24 is appropriate. See suggestion in https://go.dev/cl/663575. err = makeAbsoluteSD(selfRelativeSD, absoluteSD, &absoluteSDSize, dacl, &daclSize, sacl, &saclSize, owner, &ownerSize, group, &groupSize) + if err != nil { + // Don't return absoluteSD, which might be partially initialized. + return nil, err + } + // Before using any fields, verify absoluteSD is in the format we expect according to Windows. + // See https://learn.microsoft.com/en-us/windows/win32/secauthz/absolute-and-self-relative-security-descriptors + absControl, _, err := absoluteSD.Control() + if err != nil { + panic("absoluteSD: " + err.Error()) + } + if absControl&SE_SELF_RELATIVE != 0 { + panic("absoluteSD not in absolute format") + } + if absoluteSD.dacl != dacl { + panic("dacl pointer mismatch") + } + if absoluteSD.sacl != sacl { + panic("sacl pointer mismatch") + } + if absoluteSD.owner != owner { + panic("owner pointer mismatch") + } + if absoluteSD.group != group { + panic("group pointer mismatch") + } + absoluteSD.dacl = dacl + absoluteSD.sacl = sacl + absoluteSD.owner = owner + absoluteSD.group = group + return } diff --git a/vendor/golang.org/x/sys/windows/svc/eventlog/log.go b/vendor/golang.org/x/sys/windows/svc/eventlog/log.go index f279444d..ad40c2f4 100644 --- a/vendor/golang.org/x/sys/windows/svc/eventlog/log.go +++ b/vendor/golang.org/x/sys/windows/svc/eventlog/log.go @@ -29,11 +29,19 @@ func OpenRemote(host, source string) (*Log, error) { if source == "" { return nil, errors.New("Specify event log source") } - var s *uint16 + var hostPointer *uint16 if host != "" { - s = syscall.StringToUTF16Ptr(host) + var err error + hostPointer, err = syscall.UTF16PtrFromString(host) + if err != nil { + return nil, err + } } - h, err := windows.RegisterEventSource(s, syscall.StringToUTF16Ptr(source)) + sourcePointer, err := syscall.UTF16PtrFromString(source) + if err != nil { + return nil, err + } + h, err := windows.RegisterEventSource(hostPointer, sourcePointer) if err != nil { return nil, err } @@ -46,7 +54,11 @@ func (l *Log) Close() error { } func (l *Log) report(etype uint16, eid uint32, msg string) error { - ss := []*uint16{syscall.StringToUTF16Ptr(msg)} + msgPointer, err := syscall.UTF16PtrFromString(msg) + if err != nil { + return err + } + ss := []*uint16{msgPointer} return windows.ReportEvent(l.Handle, etype, 0, eid, 0, 1, 0, &ss[0], nil) } diff --git a/vendor/golang.org/x/sys/windows/svc/mgr/config.go b/vendor/golang.org/x/sys/windows/svc/mgr/config.go index 3c7ba08f..ec01f96e 100644 --- a/vendor/golang.org/x/sys/windows/svc/mgr/config.go +++ b/vendor/golang.org/x/sys/windows/svc/mgr/config.go @@ -121,7 +121,11 @@ func (s *Service) Config() (Config, error) { } func updateDescription(handle windows.Handle, desc string) error { - d := windows.SERVICE_DESCRIPTION{Description: toPtr(desc)} + descPointer, err := toPtr(desc) + if err != nil { + return err + } + d := windows.SERVICE_DESCRIPTION{Description: descPointer} return windows.ChangeServiceConfig2(handle, windows.SERVICE_CONFIG_DESCRIPTION, (*byte)(unsafe.Pointer(&d))) } @@ -141,10 +145,30 @@ func updateStartUp(handle windows.Handle, isDelayed bool) error { // UpdateConfig updates service s configuration parameters. func (s *Service) UpdateConfig(c Config) error { - err := windows.ChangeServiceConfig(s.Handle, c.ServiceType, c.StartType, - c.ErrorControl, toPtr(c.BinaryPathName), toPtr(c.LoadOrderGroup), - nil, toStringBlock(c.Dependencies), toPtr(c.ServiceStartName), - toPtr(c.Password), toPtr(c.DisplayName)) + binaryPathNamePointer, err := toPtr(c.BinaryPathName) + if err != nil { + return err + } + loadOrderGroupPointer, err := toPtr(c.LoadOrderGroup) + if err != nil { + return err + } + serviceStartNamePointer, err := toPtr(c.ServiceStartName) + if err != nil { + return err + } + passwordPointer, err := toPtr(c.Password) + if err != nil { + return err + } + displayNamePointer, err := toPtr(c.DisplayName) + if err != nil { + return err + } + err = windows.ChangeServiceConfig(s.Handle, c.ServiceType, c.StartType, + c.ErrorControl, binaryPathNamePointer, loadOrderGroupPointer, + nil, toStringBlock(c.Dependencies), serviceStartNamePointer, + passwordPointer, displayNamePointer) if err != nil { return err } diff --git a/vendor/golang.org/x/sys/windows/svc/mgr/mgr.go b/vendor/golang.org/x/sys/windows/svc/mgr/mgr.go index dbfd729f..74755940 100644 --- a/vendor/golang.org/x/sys/windows/svc/mgr/mgr.go +++ b/vendor/golang.org/x/sys/windows/svc/mgr/mgr.go @@ -34,7 +34,11 @@ func Connect() (*Mgr, error) { func ConnectRemote(host string) (*Mgr, error) { var s *uint16 if host != "" { - s = syscall.StringToUTF16Ptr(host) + var err error + s, err = syscall.UTF16PtrFromString(host) + if err != nil { + return nil, err + } } h, err := windows.OpenSCManager(s, nil, windows.SC_MANAGER_ALL_ACCESS) if err != nil { @@ -78,11 +82,11 @@ func (m *Mgr) LockStatus() (*LockStatus, error) { } } -func toPtr(s string) *uint16 { +func toPtr(s string) (*uint16, error) { if len(s) == 0 { - return nil + return nil, nil } - return syscall.StringToUTF16Ptr(s) + return syscall.UTF16PtrFromString(s) } // toStringBlock terminates strings in ss with 0, and then @@ -122,10 +126,34 @@ func (m *Mgr) CreateService(name, exepath string, c Config, args ...string) (*Se for _, v := range args { s += " " + syscall.EscapeArg(v) } - h, err := windows.CreateService(m.Handle, toPtr(name), toPtr(c.DisplayName), + namePointer, err := toPtr(name) + if err != nil { + return nil, err + } + displayNamePointer, err := toPtr(c.DisplayName) + if err != nil { + return nil, err + } + sPointer, err := toPtr(s) + if err != nil { + return nil, err + } + loadOrderGroupPointer, err := toPtr(c.LoadOrderGroup) + if err != nil { + return nil, err + } + serviceStartNamePointer, err := toPtr(c.ServiceStartName) + if err != nil { + return nil, err + } + passwordPointer, err := toPtr(c.Password) + if err != nil { + return nil, err + } + h, err := windows.CreateService(m.Handle, namePointer, displayNamePointer, windows.SERVICE_ALL_ACCESS, c.ServiceType, - c.StartType, c.ErrorControl, toPtr(s), toPtr(c.LoadOrderGroup), - nil, toStringBlock(c.Dependencies), toPtr(c.ServiceStartName), toPtr(c.Password)) + c.StartType, c.ErrorControl, sPointer, loadOrderGroupPointer, + nil, toStringBlock(c.Dependencies), serviceStartNamePointer, passwordPointer) if err != nil { return nil, err } @@ -159,7 +187,12 @@ func (m *Mgr) CreateService(name, exepath string, c Config, args ...string) (*Se // OpenService retrieves access to service name, so it can // be interrogated and controlled. func (m *Mgr) OpenService(name string) (*Service, error) { - h, err := windows.OpenService(m.Handle, syscall.StringToUTF16Ptr(name), windows.SERVICE_ALL_ACCESS) + namePointer, err := syscall.UTF16PtrFromString(name) + if err != nil { + return nil, err + } + + h, err := windows.OpenService(m.Handle, namePointer, windows.SERVICE_ALL_ACCESS) if err != nil { return nil, err } diff --git a/vendor/golang.org/x/sys/windows/svc/mgr/recovery.go b/vendor/golang.org/x/sys/windows/svc/mgr/recovery.go index ef2a6878..1a073748 100644 --- a/vendor/golang.org/x/sys/windows/svc/mgr/recovery.go +++ b/vendor/golang.org/x/sys/windows/svc/mgr/recovery.go @@ -99,8 +99,13 @@ func (s *Service) ResetPeriod() (uint32, error) { // SetRebootMessage sets service s reboot message. // If msg is "", the reboot message is deleted and no message is broadcast. func (s *Service) SetRebootMessage(msg string) error { + msgPointer, err := syscall.UTF16PtrFromString(msg) + if err != nil { + return err + } + rActions := windows.SERVICE_FAILURE_ACTIONS{ - RebootMsg: syscall.StringToUTF16Ptr(msg), + RebootMsg: msgPointer, } return windows.ChangeServiceConfig2(s.Handle, windows.SERVICE_CONFIG_FAILURE_ACTIONS, (*byte)(unsafe.Pointer(&rActions))) } @@ -118,8 +123,13 @@ func (s *Service) RebootMessage() (string, error) { // SetRecoveryCommand sets the command line of the process to execute in response to the RunCommand service controller action. // If cmd is "", the command is deleted and no program is run when the service fails. func (s *Service) SetRecoveryCommand(cmd string) error { + cmdPointer, err := syscall.UTF16PtrFromString(cmd) + if err != nil { + return err + } + rActions := windows.SERVICE_FAILURE_ACTIONS{ - Command: syscall.StringToUTF16Ptr(cmd), + Command: cmdPointer, } return windows.ChangeServiceConfig2(s.Handle, windows.SERVICE_CONFIG_FAILURE_ACTIONS, (*byte)(unsafe.Pointer(&rActions))) } diff --git a/vendor/golang.org/x/sys/windows/svc/mgr/service.go b/vendor/golang.org/x/sys/windows/svc/mgr/service.go index c9740ef0..9f59eab7 100644 --- a/vendor/golang.org/x/sys/windows/svc/mgr/service.go +++ b/vendor/golang.org/x/sys/windows/svc/mgr/service.go @@ -37,7 +37,11 @@ func (s *Service) Start(args ...string) error { if len(args) > 0 { vs := make([]*uint16, len(args)) for i := range vs { - vs[i] = syscall.StringToUTF16Ptr(args[i]) + argPointer, err := syscall.UTF16PtrFromString(args[i]) + if err != nil { + return err + } + vs[i] = argPointer } p = &vs[0] } diff --git a/vendor/golang.org/x/sys/windows/svc/service.go b/vendor/golang.org/x/sys/windows/svc/service.go index c4f74924..a9b1c192 100644 --- a/vendor/golang.org/x/sys/windows/svc/service.go +++ b/vendor/golang.org/x/sys/windows/svc/service.go @@ -132,10 +132,10 @@ type ctlEvent struct { // service provides access to windows service api. type service struct { - name string - h windows.Handle - c chan ctlEvent - handler Handler + namePointer *uint16 + h windows.Handle + c chan ctlEvent + handler Handler } type exitCode struct { @@ -209,7 +209,7 @@ var theService service // This is, unfortunately, a global, which means only one // serviceMain is the entry point called by the service manager, registered earlier by // the call to StartServiceCtrlDispatcher. func serviceMain(argc uint32, argv **uint16) uintptr { - handle, err := windows.RegisterServiceCtrlHandlerEx(windows.StringToUTF16Ptr(theService.name), ctlHandlerCallback, 0) + handle, err := windows.RegisterServiceCtrlHandlerEx(theService.namePointer, ctlHandlerCallback, 0) if sysErr, ok := err.(windows.Errno); ok { return uintptr(sysErr) } else if err != nil { @@ -280,15 +280,21 @@ loop: // Run executes service name by calling appropriate handler function. func Run(name string, handler Handler) error { + // Check to make sure that the service name is valid. + namePointer, err := windows.UTF16PtrFromString(name) + if err != nil { + return err + } + initCallbacks.Do(func() { ctlHandlerCallback = windows.NewCallback(ctlHandler) serviceMainCallback = windows.NewCallback(serviceMain) }) - theService.name = name + theService.namePointer = namePointer theService.handler = handler theService.c = make(chan ctlEvent) t := []windows.SERVICE_TABLE_ENTRY{ - {ServiceName: windows.StringToUTF16Ptr(theService.name), ServiceProc: serviceMainCallback}, + {ServiceName: namePointer, ServiceProc: serviceMainCallback}, {ServiceName: nil, ServiceProc: 0}, } return windows.StartServiceCtrlDispatcher(&t[0]) diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go index 4a325438..640f6b15 100644 --- a/vendor/golang.org/x/sys/windows/syscall_windows.go +++ b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -870,6 +870,7 @@ const socket_error = uintptr(^uint32(0)) //sys WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSARecvFrom //sys WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSASendTo //sys WSASocket(af int32, typ int32, protocol int32, protoInfo *WSAProtocolInfo, group uint32, flags uint32) (handle Handle, err error) [failretval==InvalidHandle] = ws2_32.WSASocketW +//sys WSADuplicateSocket(s Handle, processID uint32, info *WSAProtocolInfo) (err error) [failretval!=0] = ws2_32.WSADuplicateSocketW //sys GetHostByName(name string) (h *Hostent, err error) [failretval==nil] = ws2_32.gethostbyname //sys GetServByName(name string, proto string) (s *Servent, err error) [failretval==nil] = ws2_32.getservbyname //sys Ntohs(netshort uint16) (u uint16) = ws2_32.ntohs @@ -1698,8 +1699,9 @@ func NewNTUnicodeString(s string) (*NTUnicodeString, error) { // Slice returns a uint16 slice that aliases the data in the NTUnicodeString. func (s *NTUnicodeString) Slice() []uint16 { - slice := unsafe.Slice(s.Buffer, s.MaximumLength) - return slice[:s.Length] + // Note: this rounds the length down, if it happens + // to (incorrectly) be odd. Probably safer than rounding up. + return unsafe.Slice(s.Buffer, s.MaximumLength/2)[:s.Length/2] } func (s *NTUnicodeString) String() string { diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go index 9d138de5..958bcf47 100644 --- a/vendor/golang.org/x/sys/windows/types_windows.go +++ b/vendor/golang.org/x/sys/windows/types_windows.go @@ -1074,6 +1074,7 @@ const ( IP_ADD_MEMBERSHIP = 0xc IP_DROP_MEMBERSHIP = 0xd IP_PKTINFO = 0x13 + IP_MTU_DISCOVER = 0x47 IPV6_V6ONLY = 0x1b IPV6_UNICAST_HOPS = 0x4 @@ -1083,6 +1084,7 @@ const ( IPV6_JOIN_GROUP = 0xc IPV6_LEAVE_GROUP = 0xd IPV6_PKTINFO = 0x13 + IPV6_MTU_DISCOVER = 0x47 MSG_OOB = 0x1 MSG_PEEK = 0x2 @@ -1132,6 +1134,15 @@ const ( WSASYS_STATUS_LEN = 128 ) +// enum PMTUD_STATE from ws2ipdef.h +const ( + IP_PMTUDISC_NOT_SET = 0 + IP_PMTUDISC_DO = 1 + IP_PMTUDISC_DONT = 2 + IP_PMTUDISC_PROBE = 3 + IP_PMTUDISC_MAX = 4 +) + type WSABuf struct { Len uint32 Buf *byte @@ -1146,6 +1157,22 @@ type WSAMsg struct { Flags uint32 } +type WSACMSGHDR struct { + Len uintptr + Level int32 + Type int32 +} + +type IN_PKTINFO struct { + Addr [4]byte + Ifindex uint32 +} + +type IN6_PKTINFO struct { + Addr [16]byte + Ifindex uint32 +} + // Flags for WSASocket const ( WSA_FLAG_OVERLAPPED = 0x01 @@ -2673,6 +2700,8 @@ type CommTimeouts struct { // NTUnicodeString is a UTF-16 string for NT native APIs, corresponding to UNICODE_STRING. type NTUnicodeString struct { + // Note: Length and MaximumLength are in *bytes*, not uint16s. + // They should always be even. Length uint16 MaximumLength uint16 Buffer *uint16 @@ -3601,3 +3630,213 @@ const ( KLF_NOTELLSHELL = 0x00000080 KLF_SETFORPROCESS = 0x00000100 ) + +// Virtual Key codes +// https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes +const ( + VK_LBUTTON = 0x01 + VK_RBUTTON = 0x02 + VK_CANCEL = 0x03 + VK_MBUTTON = 0x04 + VK_XBUTTON1 = 0x05 + VK_XBUTTON2 = 0x06 + VK_BACK = 0x08 + VK_TAB = 0x09 + VK_CLEAR = 0x0C + VK_RETURN = 0x0D + VK_SHIFT = 0x10 + VK_CONTROL = 0x11 + VK_MENU = 0x12 + VK_PAUSE = 0x13 + VK_CAPITAL = 0x14 + VK_KANA = 0x15 + VK_HANGEUL = 0x15 + VK_HANGUL = 0x15 + VK_IME_ON = 0x16 + VK_JUNJA = 0x17 + VK_FINAL = 0x18 + VK_HANJA = 0x19 + VK_KANJI = 0x19 + VK_IME_OFF = 0x1A + VK_ESCAPE = 0x1B + VK_CONVERT = 0x1C + VK_NONCONVERT = 0x1D + VK_ACCEPT = 0x1E + VK_MODECHANGE = 0x1F + VK_SPACE = 0x20 + VK_PRIOR = 0x21 + VK_NEXT = 0x22 + VK_END = 0x23 + VK_HOME = 0x24 + VK_LEFT = 0x25 + VK_UP = 0x26 + VK_RIGHT = 0x27 + VK_DOWN = 0x28 + VK_SELECT = 0x29 + VK_PRINT = 0x2A + VK_EXECUTE = 0x2B + VK_SNAPSHOT = 0x2C + VK_INSERT = 0x2D + VK_DELETE = 0x2E + VK_HELP = 0x2F + VK_LWIN = 0x5B + VK_RWIN = 0x5C + VK_APPS = 0x5D + VK_SLEEP = 0x5F + VK_NUMPAD0 = 0x60 + VK_NUMPAD1 = 0x61 + VK_NUMPAD2 = 0x62 + VK_NUMPAD3 = 0x63 + VK_NUMPAD4 = 0x64 + VK_NUMPAD5 = 0x65 + VK_NUMPAD6 = 0x66 + VK_NUMPAD7 = 0x67 + VK_NUMPAD8 = 0x68 + VK_NUMPAD9 = 0x69 + VK_MULTIPLY = 0x6A + VK_ADD = 0x6B + VK_SEPARATOR = 0x6C + VK_SUBTRACT = 0x6D + VK_DECIMAL = 0x6E + VK_DIVIDE = 0x6F + VK_F1 = 0x70 + VK_F2 = 0x71 + VK_F3 = 0x72 + VK_F4 = 0x73 + VK_F5 = 0x74 + VK_F6 = 0x75 + VK_F7 = 0x76 + VK_F8 = 0x77 + VK_F9 = 0x78 + VK_F10 = 0x79 + VK_F11 = 0x7A + VK_F12 = 0x7B + VK_F13 = 0x7C + VK_F14 = 0x7D + VK_F15 = 0x7E + VK_F16 = 0x7F + VK_F17 = 0x80 + VK_F18 = 0x81 + VK_F19 = 0x82 + VK_F20 = 0x83 + VK_F21 = 0x84 + VK_F22 = 0x85 + VK_F23 = 0x86 + VK_F24 = 0x87 + VK_NUMLOCK = 0x90 + VK_SCROLL = 0x91 + VK_OEM_NEC_EQUAL = 0x92 + VK_OEM_FJ_JISHO = 0x92 + VK_OEM_FJ_MASSHOU = 0x93 + VK_OEM_FJ_TOUROKU = 0x94 + VK_OEM_FJ_LOYA = 0x95 + VK_OEM_FJ_ROYA = 0x96 + VK_LSHIFT = 0xA0 + VK_RSHIFT = 0xA1 + VK_LCONTROL = 0xA2 + VK_RCONTROL = 0xA3 + VK_LMENU = 0xA4 + VK_RMENU = 0xA5 + VK_BROWSER_BACK = 0xA6 + VK_BROWSER_FORWARD = 0xA7 + VK_BROWSER_REFRESH = 0xA8 + VK_BROWSER_STOP = 0xA9 + VK_BROWSER_SEARCH = 0xAA + VK_BROWSER_FAVORITES = 0xAB + VK_BROWSER_HOME = 0xAC + VK_VOLUME_MUTE = 0xAD + VK_VOLUME_DOWN = 0xAE + VK_VOLUME_UP = 0xAF + VK_MEDIA_NEXT_TRACK = 0xB0 + VK_MEDIA_PREV_TRACK = 0xB1 + VK_MEDIA_STOP = 0xB2 + VK_MEDIA_PLAY_PAUSE = 0xB3 + VK_LAUNCH_MAIL = 0xB4 + VK_LAUNCH_MEDIA_SELECT = 0xB5 + VK_LAUNCH_APP1 = 0xB6 + VK_LAUNCH_APP2 = 0xB7 + VK_OEM_1 = 0xBA + VK_OEM_PLUS = 0xBB + VK_OEM_COMMA = 0xBC + VK_OEM_MINUS = 0xBD + VK_OEM_PERIOD = 0xBE + VK_OEM_2 = 0xBF + VK_OEM_3 = 0xC0 + VK_OEM_4 = 0xDB + VK_OEM_5 = 0xDC + VK_OEM_6 = 0xDD + VK_OEM_7 = 0xDE + VK_OEM_8 = 0xDF + VK_OEM_AX = 0xE1 + VK_OEM_102 = 0xE2 + VK_ICO_HELP = 0xE3 + VK_ICO_00 = 0xE4 + VK_PROCESSKEY = 0xE5 + VK_ICO_CLEAR = 0xE6 + VK_OEM_RESET = 0xE9 + VK_OEM_JUMP = 0xEA + VK_OEM_PA1 = 0xEB + VK_OEM_PA2 = 0xEC + VK_OEM_PA3 = 0xED + VK_OEM_WSCTRL = 0xEE + VK_OEM_CUSEL = 0xEF + VK_OEM_ATTN = 0xF0 + VK_OEM_FINISH = 0xF1 + VK_OEM_COPY = 0xF2 + VK_OEM_AUTO = 0xF3 + VK_OEM_ENLW = 0xF4 + VK_OEM_BACKTAB = 0xF5 + VK_ATTN = 0xF6 + VK_CRSEL = 0xF7 + VK_EXSEL = 0xF8 + VK_EREOF = 0xF9 + VK_PLAY = 0xFA + VK_ZOOM = 0xFB + VK_NONAME = 0xFC + VK_PA1 = 0xFD + VK_OEM_CLEAR = 0xFE +) + +// Mouse button constants. +// https://docs.microsoft.com/en-us/windows/console/mouse-event-record-str +const ( + FROM_LEFT_1ST_BUTTON_PRESSED = 0x0001 + RIGHTMOST_BUTTON_PRESSED = 0x0002 + FROM_LEFT_2ND_BUTTON_PRESSED = 0x0004 + FROM_LEFT_3RD_BUTTON_PRESSED = 0x0008 + FROM_LEFT_4TH_BUTTON_PRESSED = 0x0010 +) + +// Control key state constaints. +// https://docs.microsoft.com/en-us/windows/console/key-event-record-str +// https://docs.microsoft.com/en-us/windows/console/mouse-event-record-str +const ( + CAPSLOCK_ON = 0x0080 + ENHANCED_KEY = 0x0100 + LEFT_ALT_PRESSED = 0x0002 + LEFT_CTRL_PRESSED = 0x0008 + NUMLOCK_ON = 0x0020 + RIGHT_ALT_PRESSED = 0x0001 + RIGHT_CTRL_PRESSED = 0x0004 + SCROLLLOCK_ON = 0x0040 + SHIFT_PRESSED = 0x0010 +) + +// Mouse event record event flags. +// https://docs.microsoft.com/en-us/windows/console/mouse-event-record-str +const ( + MOUSE_MOVED = 0x0001 + DOUBLE_CLICK = 0x0002 + MOUSE_WHEELED = 0x0004 + MOUSE_HWHEELED = 0x0008 +) + +// Input Record Event Types +// https://learn.microsoft.com/en-us/windows/console/input-record-str +const ( + FOCUS_EVENT = 0x0010 + KEY_EVENT = 0x0001 + MENU_EVENT = 0x0008 + MOUSE_EVENT = 0x0002 + WINDOW_BUFFER_SIZE_EVENT = 0x0004 +) diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go index 01c0716c..a58bc48b 100644 --- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go +++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -511,6 +511,7 @@ var ( procFreeAddrInfoW = modws2_32.NewProc("FreeAddrInfoW") procGetAddrInfoW = modws2_32.NewProc("GetAddrInfoW") procWSACleanup = modws2_32.NewProc("WSACleanup") + procWSADuplicateSocketW = modws2_32.NewProc("WSADuplicateSocketW") procWSAEnumProtocolsW = modws2_32.NewProc("WSAEnumProtocolsW") procWSAGetOverlappedResult = modws2_32.NewProc("WSAGetOverlappedResult") procWSAIoctl = modws2_32.NewProc("WSAIoctl") @@ -4391,6 +4392,14 @@ func WSACleanup() (err error) { return } +func WSADuplicateSocket(s Handle, processID uint32, info *WSAProtocolInfo) (err error) { + r1, _, e1 := syscall.Syscall(procWSADuplicateSocketW.Addr(), 3, uintptr(s), uintptr(processID), uintptr(unsafe.Pointer(info))) + if r1 != 0 { + err = errnoErr(e1) + } + return +} + func WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) { r0, _, e1 := syscall.Syscall(procWSAEnumProtocolsW.Addr(), 3, uintptr(unsafe.Pointer(protocols)), uintptr(unsafe.Pointer(protocolBuffer)), uintptr(unsafe.Pointer(bufferLength))) n = int32(r0) diff --git a/vendor/modules.txt b/vendor/modules.txt index 5d52161a..a42aa6ad 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -9,6 +9,9 @@ filippo.io/age/internal/stream ## explicit; go 1.20 filippo.io/edwards25519 filippo.io/edwards25519/field +# github.com/Masterminds/semver/v3 v3.4.0 +## explicit; go 1.21 +github.com/Masterminds/semver/v3 # github.com/aws/aws-lambda-go v1.47.0 ## explicit; go 1.18 github.com/aws/aws-lambda-go/lambda @@ -156,8 +159,8 @@ github.com/benbjohnson/clock # github.com/cenkalti/backoff/v4 v4.3.0 ## explicit; go 1.18 github.com/cenkalti/backoff/v4 -# github.com/conductorone/baton-sdk v0.3.35 -## explicit; go 1.23.4 +# github.com/conductorone/baton-sdk v0.5.4 +## explicit; go 1.25.2 github.com/conductorone/baton-sdk/internal/connector github.com/conductorone/baton-sdk/pb/c1/c1z/v1 github.com/conductorone/baton-sdk/pb/c1/config/v1 @@ -194,10 +197,13 @@ github.com/conductorone/baton-sdk/pkg/provisioner github.com/conductorone/baton-sdk/pkg/ratelimit github.com/conductorone/baton-sdk/pkg/retry github.com/conductorone/baton-sdk/pkg/sdk +github.com/conductorone/baton-sdk/pkg/session github.com/conductorone/baton-sdk/pkg/sync github.com/conductorone/baton-sdk/pkg/sync/expand +github.com/conductorone/baton-sdk/pkg/sync/expand/scc github.com/conductorone/baton-sdk/pkg/synccompactor github.com/conductorone/baton-sdk/pkg/synccompactor/attached +github.com/conductorone/baton-sdk/pkg/synccompactor/naive github.com/conductorone/baton-sdk/pkg/tasks github.com/conductorone/baton-sdk/pkg/tasks/c1api github.com/conductorone/baton-sdk/pkg/tasks/local @@ -205,6 +211,7 @@ github.com/conductorone/baton-sdk/pkg/types github.com/conductorone/baton-sdk/pkg/types/entitlement github.com/conductorone/baton-sdk/pkg/types/grant github.com/conductorone/baton-sdk/pkg/types/resource +github.com/conductorone/baton-sdk/pkg/types/sessions github.com/conductorone/baton-sdk/pkg/types/tasks github.com/conductorone/baton-sdk/pkg/types/ticket github.com/conductorone/baton-sdk/pkg/ugrpc @@ -242,6 +249,12 @@ 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/ebitengine/purego v0.8.4 +## explicit; go 1.18 +github.com/ebitengine/purego +github.com/ebitengine/purego/internal/cgo +github.com/ebitengine/purego/internal/fakecgo +github.com/ebitengine/purego/internal/strings # github.com/ennyjfrick/ruleguard-logfatal v0.0.2 ## explicit; go 1.23 github.com/ennyjfrick/ruleguard-logfatal @@ -315,12 +328,13 @@ github.com/inconshreveable/mousetrap # github.com/jellydator/ttlcache/v3 v3.3.0 ## explicit; go 1.18 github.com/jellydator/ttlcache/v3 -# 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 @@ -389,18 +403,15 @@ github.com/sagikazarmark/slog-shim # github.com/segmentio/ksuid v1.0.4 ## explicit; go 1.12 github.com/segmentio/ksuid -# github.com/shirou/gopsutil/v3 v3.24.5 -## explicit; go 1.18 -github.com/shirou/gopsutil/v3/common -github.com/shirou/gopsutil/v3/cpu -github.com/shirou/gopsutil/v3/host -github.com/shirou/gopsutil/v3/internal/common -github.com/shirou/gopsutil/v3/mem -github.com/shirou/gopsutil/v3/net -github.com/shirou/gopsutil/v3/process -# github.com/shoenig/go-m1cpu v0.1.6 -## explicit; go 1.20 -github.com/shoenig/go-m1cpu +# github.com/shirou/gopsutil/v4 v4.25.8 +## explicit; go 1.23.0 +github.com/shirou/gopsutil/v4/common +github.com/shirou/gopsutil/v4/cpu +github.com/shirou/gopsutil/v4/host +github.com/shirou/gopsutil/v4/internal/common +github.com/shirou/gopsutil/v4/mem +github.com/shirou/gopsutil/v4/net +github.com/shirou/gopsutil/v4/process # github.com/sourcegraph/conc v0.3.0 ## explicit; go 1.19 github.com/sourcegraph/conc @@ -438,11 +449,11 @@ github.com/spf13/viper/internal/features # github.com/subosito/gotenv v1.6.0 ## explicit; go 1.18 github.com/subosito/gotenv -# github.com/tklauser/go-sysconf v0.3.14 -## explicit; go 1.18 +# github.com/tklauser/go-sysconf v0.3.15 +## explicit; go 1.23.0 github.com/tklauser/go-sysconf -# github.com/tklauser/numcpus v0.9.0 -## explicit; go 1.18 +# github.com/tklauser/numcpus v0.10.0 +## explicit; go 1.23.0 github.com/tklauser/numcpus # github.com/yusufpapurcu/wmi v1.2.4 ## explicit; go 1.16 @@ -583,7 +594,7 @@ golang.org/x/oauth2/jwt ## explicit; go 1.23.0 golang.org/x/sync/semaphore golang.org/x/sync/singleflight -# golang.org/x/sys v0.31.0 +# golang.org/x/sys v0.35.0 ## explicit; go 1.23.0 golang.org/x/sys/cpu golang.org/x/sys/plan9