mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-10-31 18:48:08 +00:00 
			
		
		
		
	Update protobuf & grpc libraries and protoc plugins (#12679)
This commit is contained in:
		
							
								
								
									
										34
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								Makefile
									
									
									
									
									
								
							| @@ -182,20 +182,28 @@ ember-dist-dev: | |||||||
| static-dist: ember-dist  | static-dist: ember-dist  | ||||||
| static-dist-dev: ember-dist-dev  | static-dist-dev: ember-dist-dev  | ||||||
|  |  | ||||||
| proto: | proto: bootstrap | ||||||
| 	protoc vault/*.proto --go_out=plugins=grpc,paths=source_relative:. | 	protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative vault/*.proto | ||||||
| 	protoc vault/activity/activity_log.proto --go_out=plugins=grpc,paths=source_relative:. | 	protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative vault/activity/activity_log.proto | ||||||
| 	protoc helper/storagepacker/types.proto --go_out=plugins=grpc,paths=source_relative:. | 	protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative helper/storagepacker/types.proto | ||||||
| 	protoc helper/forwarding/types.proto --go_out=plugins=grpc,paths=source_relative:. | 	protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative helper/forwarding/types.proto | ||||||
| 	protoc sdk/logical/*.proto --go_out=plugins=grpc,paths=source_relative:. | 	protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative sdk/logical/*.proto | ||||||
| 	protoc physical/raft/types.proto --go_out=plugins=grpc,paths=source_relative:. | 	protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative physical/raft/types.proto | ||||||
| 	protoc helper/identity/mfa/types.proto --go_out=plugins=grpc,paths=source_relative:. | 	protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative helper/identity/mfa/types.proto | ||||||
| 	protoc helper/identity/types.proto --go_out=plugins=grpc,paths=source_relative:. | 	protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative helper/identity/types.proto | ||||||
| 	protoc sdk/database/dbplugin/*.proto --go_out=plugins=grpc,paths=source_relative:. | 	protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative sdk/database/dbplugin/*.proto | ||||||
| 	protoc sdk/database/dbplugin/v5/proto/*.proto --go_out=plugins=grpc,paths=source_relative:. | 	protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative sdk/database/dbplugin/v5/proto/*.proto | ||||||
| 	protoc sdk/plugin/pb/*.proto --go_out=plugins=grpc,paths=source_relative:. | 	protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative sdk/plugin/pb/*.proto | ||||||
|  |  | ||||||
|  | 	# No additional sed expressions should be added to this list. Going forward | ||||||
|  | 	# we should just use the variable names choosen by protobuf. These are left | ||||||
|  | 	# here for backwards compatability, namely for SDK compilation. | ||||||
| 	sed -i -e 's/Id/ID/' vault/request_forwarding_service.pb.go | 	sed -i -e 's/Id/ID/' vault/request_forwarding_service.pb.go | ||||||
| 	sed -i -e 's/Idp/IDP/' -e 's/Url/URL/' -e 's/Id/ID/' -e 's/IDentity/Identity/' -e 's/EntityId/EntityID/' -e 's/Api/API/' -e 's/Qr/QR/' -e 's/Totp/TOTP/' -e 's/Mfa/MFA/' -e 's/Pingid/PingID/' -e 's/protobuf:"/sentinel:"" protobuf:"/' -e 's/namespaceId/namespaceID/' -e 's/Ttl/TTL/' -e 's/BoundCidrs/BoundCIDRs/' helper/identity/types.pb.go helper/identity/mfa/types.pb.go helper/storagepacker/types.pb.go sdk/plugin/pb/backend.pb.go sdk/logical/identity.pb.go vault/activity/activity_log.pb.go | 	sed -i -e 's/Idp/IDP/' -e 's/Url/URL/' -e 's/Id/ID/' -e 's/IDentity/Identity/' -e 's/EntityId/EntityID/' -e 's/Api/API/' -e 's/Qr/QR/' -e 's/Totp/TOTP/' -e 's/Mfa/MFA/' -e 's/Pingid/PingID/' -e 's/namespaceId/namespaceID/' -e 's/Ttl/TTL/' -e 's/BoundCidrs/BoundCIDRs/' helper/identity/types.pb.go helper/identity/mfa/types.pb.go helper/storagepacker/types.pb.go sdk/plugin/pb/backend.pb.go sdk/logical/identity.pb.go vault/activity/activity_log.pb.go | ||||||
|  |  | ||||||
|  | 	# This will inject the sentinel struct tags as decorated in the proto files. | ||||||
|  | 	protoc-go-inject-tag -input=./helper/identity/types.pb.go | ||||||
|  | 	protoc-go-inject-tag -input=./helper/identity/mfa/types.pb.go | ||||||
|  |  | ||||||
| fmtcheck: | fmtcheck: | ||||||
| 	@true | 	@true | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							| @@ -46,6 +46,7 @@ require ( | |||||||
| 	github.com/dustin/go-humanize v1.0.0 | 	github.com/dustin/go-humanize v1.0.0 | ||||||
| 	github.com/fatih/color v1.11.0 | 	github.com/fatih/color v1.11.0 | ||||||
| 	github.com/fatih/structs v1.1.0 | 	github.com/fatih/structs v1.1.0 | ||||||
|  | 	github.com/favadi/protoc-go-inject-tag v1.3.0 // indirect | ||||||
| 	github.com/ghodss/yaml v1.0.1-0.20190212211648-25d852aebe32 | 	github.com/ghodss/yaml v1.0.1-0.20190212211648-25d852aebe32 | ||||||
| 	github.com/go-errors/errors v1.0.1 | 	github.com/go-errors/errors v1.0.1 | ||||||
| 	github.com/go-ldap/ldap/v3 v3.2.4 | 	github.com/go-ldap/ldap/v3 v3.2.4 | ||||||
| @@ -197,6 +198,7 @@ require ( | |||||||
| 	google.golang.org/api v0.29.0 | 	google.golang.org/api v0.29.0 | ||||||
| 	google.golang.org/genproto v0.0.0-20210928142010-c7af6a1a74c9 // indirect | 	google.golang.org/genproto v0.0.0-20210928142010-c7af6a1a74c9 // indirect | ||||||
| 	google.golang.org/grpc v1.41.0 | 	google.golang.org/grpc v1.41.0 | ||||||
|  | 	google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 // indirect | ||||||
| 	google.golang.org/protobuf v1.27.1 | 	google.golang.org/protobuf v1.27.1 | ||||||
| 	gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce | 	gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce | ||||||
| 	gopkg.in/ory-am/dockertest.v3 v3.3.4 | 	gopkg.in/ory-am/dockertest.v3 v3.3.4 | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								go.sum
									
									
									
									
									
								
							| @@ -357,6 +357,8 @@ github.com/fatih/color v1.11.0 h1:l4iX0RqNnx/pU7rY2DB/I+znuYY0K3x6Ywac6EIr0PA= | |||||||
| github.com/fatih/color v1.11.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= | github.com/fatih/color v1.11.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= | ||||||
| github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= | github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= | ||||||
| github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= | github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= | ||||||
|  | github.com/favadi/protoc-go-inject-tag v1.3.0 h1:JPrmsmc/uBShG85uY5xGZIa5WJ0IaNZn6LZhQR9tIQE= | ||||||
|  | github.com/favadi/protoc-go-inject-tag v1.3.0/go.mod h1:SSkUBgfqw2IJ2p7NPNKWk0Idwxt/qIt2LQgFPUgRGtc= | ||||||
| github.com/form3tech-oss/jwt-go v3.2.2+incompatible h1:TcekIExNqud5crz4xD2pavyTgWiPvpYe4Xau31I0PRk= | github.com/form3tech-oss/jwt-go v3.2.2+incompatible h1:TcekIExNqud5crz4xD2pavyTgWiPvpYe4Xau31I0PRk= | ||||||
| github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= | github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= | ||||||
| github.com/frankban/quicktest v1.4.0/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ= | github.com/frankban/quicktest v1.4.0/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ= | ||||||
| @@ -1638,6 +1640,8 @@ google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ | |||||||
| google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= | google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= | ||||||
| google.golang.org/grpc v1.41.0 h1:f+PlOh7QV4iIJkPrx5NQ7qaNGFQ3OTse67yaDHfju4E= | google.golang.org/grpc v1.41.0 h1:f+PlOh7QV4iIJkPrx5NQ7qaNGFQ3OTse67yaDHfju4E= | ||||||
| google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= | google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= | ||||||
|  | google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQfGwJD30Nv2jfUgzb5UcE= | ||||||
|  | google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= | ||||||
| google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= | google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= | ||||||
| google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= | google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= | ||||||
| google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= | google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= | ||||||
|   | |||||||
| @@ -29,17 +29,24 @@ type Config struct { | |||||||
| 	sizeCache     protoimpl.SizeCache | 	sizeCache     protoimpl.SizeCache | ||||||
| 	unknownFields protoimpl.UnknownFields | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
| 	Type           string `sentinel:"" protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
| 	Name           string `sentinel:"" protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` | 	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty" sentinel:"-"` | ||||||
| 	ID             string `sentinel:"" protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
| 	MountAccessor  string `sentinel:"" protobuf:"bytes,4,opt,name=mount_accessor,json=mountAccessor,proto3" json:"mount_accessor,omitempty"` | 	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty" sentinel:"-"` | ||||||
| 	UsernameFormat string `sentinel:"" protobuf:"bytes,5,opt,name=username_format,json=usernameFormat,proto3" json:"username_format,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	ID string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty" sentinel:"-"` | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	MountAccessor string `protobuf:"bytes,4,opt,name=mount_accessor,json=mountAccessor,proto3" json:"mount_accessor,omitempty" sentinel:"-"` | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	UsernameFormat string `protobuf:"bytes,5,opt,name=username_format,json=usernameFormat,proto3" json:"username_format,omitempty" sentinel:"-"` | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	// | ||||||
| 	// Types that are assignable to Config: | 	// Types that are assignable to Config: | ||||||
| 	//	*Config_TOTPConfig | 	//	*Config_TOTPConfig | ||||||
| 	//	*Config_OktaConfig | 	//	*Config_OktaConfig | ||||||
| 	//	*Config_DuoConfig | 	//	*Config_DuoConfig | ||||||
| 	//	*Config_PingIDConfig | 	//	*Config_PingIDConfig | ||||||
| 	Config isConfig_Config `protobuf_oneof:"config"` | 	Config isConfig_Config `protobuf_oneof:"config" sentinel:"-"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *Config) Reset() { | func (x *Config) Reset() { | ||||||
| @@ -149,19 +156,19 @@ type isConfig_Config interface { | |||||||
| } | } | ||||||
|  |  | ||||||
| type Config_TOTPConfig struct { | type Config_TOTPConfig struct { | ||||||
| 	TOTPConfig *TOTPConfig `sentinel:"" protobuf:"bytes,6,opt,name=totp_config,json=totpConfig,proto3,oneof"` | 	TOTPConfig *TOTPConfig `protobuf:"bytes,6,opt,name=totp_config,json=totpConfig,proto3,oneof"` | ||||||
| } | } | ||||||
|  |  | ||||||
| type Config_OktaConfig struct { | type Config_OktaConfig struct { | ||||||
| 	OktaConfig *OktaConfig `sentinel:"" protobuf:"bytes,7,opt,name=okta_config,json=oktaConfig,proto3,oneof"` | 	OktaConfig *OktaConfig `protobuf:"bytes,7,opt,name=okta_config,json=oktaConfig,proto3,oneof"` | ||||||
| } | } | ||||||
|  |  | ||||||
| type Config_DuoConfig struct { | type Config_DuoConfig struct { | ||||||
| 	DuoConfig *DuoConfig `sentinel:"" protobuf:"bytes,8,opt,name=duo_config,json=duoConfig,proto3,oneof"` | 	DuoConfig *DuoConfig `protobuf:"bytes,8,opt,name=duo_config,json=duoConfig,proto3,oneof"` | ||||||
| } | } | ||||||
|  |  | ||||||
| type Config_PingIDConfig struct { | type Config_PingIDConfig struct { | ||||||
| 	PingIDConfig *PingIDConfig `sentinel:"" protobuf:"bytes,9,opt,name=pingid_config,json=pingidConfig,proto3,oneof"` | 	PingIDConfig *PingIDConfig `protobuf:"bytes,9,opt,name=pingid_config,json=pingidConfig,proto3,oneof"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (*Config_TOTPConfig) isConfig_Config() {} | func (*Config_TOTPConfig) isConfig_Config() {} | ||||||
| @@ -182,13 +189,20 @@ type TOTPConfig struct { | |||||||
| 	sizeCache     protoimpl.SizeCache | 	sizeCache     protoimpl.SizeCache | ||||||
| 	unknownFields protoimpl.UnknownFields | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
| 	Issuer    string `sentinel:"" protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
| 	Period    uint32 `sentinel:"" protobuf:"varint,2,opt,name=period,proto3" json:"period,omitempty"` | 	Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty" sentinel:"-"` | ||||||
| 	Algorithm int32  `sentinel:"" protobuf:"varint,3,opt,name=algorithm,proto3" json:"algorithm,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
| 	Digits    int32  `sentinel:"" protobuf:"varint,4,opt,name=digits,proto3" json:"digits,omitempty"` | 	Period uint32 `protobuf:"varint,2,opt,name=period,proto3" json:"period,omitempty" sentinel:"-"` | ||||||
| 	Skew      uint32 `sentinel:"" protobuf:"varint,5,opt,name=skew,proto3" json:"skew,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
| 	KeySize   uint32 `sentinel:"" protobuf:"varint,6,opt,name=key_size,json=keySize,proto3" json:"key_size,omitempty"` | 	Algorithm int32 `protobuf:"varint,3,opt,name=algorithm,proto3" json:"algorithm,omitempty" sentinel:"-"` | ||||||
| 	QRSize    int32  `sentinel:"" protobuf:"varint,7,opt,name=qr_size,json=qrSize,proto3" json:"qr_size,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	Digits int32 `protobuf:"varint,4,opt,name=digits,proto3" json:"digits,omitempty" sentinel:"-"` | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	Skew uint32 `protobuf:"varint,5,opt,name=skew,proto3" json:"skew,omitempty" sentinel:"-"` | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	KeySize uint32 `protobuf:"varint,6,opt,name=key_size,json=keySize,proto3" json:"key_size,omitempty" sentinel:"-"` | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	QRSize int32 `protobuf:"varint,7,opt,name=qr_size,json=qrSize,proto3" json:"qr_size,omitempty" sentinel:"-"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *TOTPConfig) Reset() { | func (x *TOTPConfig) Reset() { | ||||||
| @@ -279,10 +293,14 @@ type DuoConfig struct { | |||||||
| 	sizeCache     protoimpl.SizeCache | 	sizeCache     protoimpl.SizeCache | ||||||
| 	unknownFields protoimpl.UnknownFields | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
| 	IntegrationKey string `sentinel:"" protobuf:"bytes,1,opt,name=integration_key,json=integrationKey,proto3" json:"integration_key,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
| 	SecretKey      string `sentinel:"" protobuf:"bytes,2,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` | 	IntegrationKey string `protobuf:"bytes,1,opt,name=integration_key,json=integrationKey,proto3" json:"integration_key,omitempty" sentinel:"-"` | ||||||
| 	APIHostname    string `sentinel:"" protobuf:"bytes,3,opt,name=api_hostname,json=apiHostname,proto3" json:"api_hostname,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
| 	PushInfo       string `sentinel:"" protobuf:"bytes,4,opt,name=push_info,json=pushInfo,proto3" json:"push_info,omitempty"` | 	SecretKey string `protobuf:"bytes,2,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty" sentinel:"-"` | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	APIHostname string `protobuf:"bytes,3,opt,name=api_hostname,json=apiHostname,proto3" json:"api_hostname,omitempty" sentinel:"-"` | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	PushInfo string `protobuf:"bytes,4,opt,name=push_info,json=pushInfo,proto3" json:"push_info,omitempty" sentinel:"-"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *DuoConfig) Reset() { | func (x *DuoConfig) Reset() { | ||||||
| @@ -352,11 +370,16 @@ type OktaConfig struct { | |||||||
| 	sizeCache     protoimpl.SizeCache | 	sizeCache     protoimpl.SizeCache | ||||||
| 	unknownFields protoimpl.UnknownFields | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
| 	OrgName      string `sentinel:"" protobuf:"bytes,1,opt,name=org_name,json=orgName,proto3" json:"org_name,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
| 	APIToken     string `sentinel:"" protobuf:"bytes,2,opt,name=api_token,json=apiToken,proto3" json:"api_token,omitempty"` | 	OrgName string `protobuf:"bytes,1,opt,name=org_name,json=orgName,proto3" json:"org_name,omitempty" sentinel:"-"` | ||||||
| 	Production   bool   `sentinel:"" protobuf:"varint,3,opt,name=production,proto3" json:"production,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
| 	BaseURL      string `sentinel:"" protobuf:"bytes,4,opt,name=base_url,json=baseUrl,proto3" json:"base_url,omitempty"` | 	APIToken string `protobuf:"bytes,2,opt,name=api_token,json=apiToken,proto3" json:"api_token,omitempty" sentinel:"-"` | ||||||
| 	PrimaryEmail bool   `sentinel:"" protobuf:"varint,5,opt,name=primary_email,json=primaryEmail,proto3" json:"primary_email,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	Production bool `protobuf:"varint,3,opt,name=production,proto3" json:"production,omitempty" sentinel:"-"` | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	BaseURL string `protobuf:"bytes,4,opt,name=base_url,json=baseUrl,proto3" json:"base_url,omitempty" sentinel:"-"` | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	PrimaryEmail bool `protobuf:"varint,5,opt,name=primary_email,json=primaryEmail,proto3" json:"primary_email,omitempty" sentinel:"-"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *OktaConfig) Reset() { | func (x *OktaConfig) Reset() { | ||||||
| @@ -432,13 +455,20 @@ type PingIDConfig struct { | |||||||
| 	sizeCache     protoimpl.SizeCache | 	sizeCache     protoimpl.SizeCache | ||||||
| 	unknownFields protoimpl.UnknownFields | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
| 	UseBase64Key     string `sentinel:"" protobuf:"bytes,1,opt,name=use_base64_key,json=useBase64Key,proto3" json:"use_base64_key,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
| 	UseSignature     bool   `sentinel:"" protobuf:"varint,2,opt,name=use_signature,json=useSignature,proto3" json:"use_signature,omitempty"` | 	UseBase64Key string `protobuf:"bytes,1,opt,name=use_base64_key,json=useBase64Key,proto3" json:"use_base64_key,omitempty" sentinel:"-"` | ||||||
| 	Token            string `sentinel:"" protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
| 	IDPURL           string `sentinel:"" protobuf:"bytes,4,opt,name=idp_url,json=idpUrl,proto3" json:"idp_url,omitempty"` | 	UseSignature bool `protobuf:"varint,2,opt,name=use_signature,json=useSignature,proto3" json:"use_signature,omitempty" sentinel:"-"` | ||||||
| 	OrgAlias         string `sentinel:"" protobuf:"bytes,5,opt,name=org_alias,json=orgAlias,proto3" json:"org_alias,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
| 	AdminURL         string `sentinel:"" protobuf:"bytes,6,opt,name=admin_url,json=adminUrl,proto3" json:"admin_url,omitempty"` | 	Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty" sentinel:"-"` | ||||||
| 	AuthenticatorURL string `sentinel:"" protobuf:"bytes,7,opt,name=authenticator_url,json=authenticatorUrl,proto3" json:"authenticator_url,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	IDPURL string `protobuf:"bytes,4,opt,name=idp_url,json=idpUrl,proto3" json:"idp_url,omitempty" sentinel:"-"` | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	OrgAlias string `protobuf:"bytes,5,opt,name=org_alias,json=orgAlias,proto3" json:"org_alias,omitempty" sentinel:"-"` | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	AdminURL string `protobuf:"bytes,6,opt,name=admin_url,json=adminUrl,proto3" json:"admin_url,omitempty" sentinel:"-"` | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	AuthenticatorURL string `protobuf:"bytes,7,opt,name=authenticator_url,json=authenticatorUrl,proto3" json:"authenticator_url,omitempty" sentinel:"-"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *PingIDConfig) Reset() { | func (x *PingIDConfig) Reset() { | ||||||
| @@ -529,7 +559,8 @@ type Secret struct { | |||||||
| 	sizeCache     protoimpl.SizeCache | 	sizeCache     protoimpl.SizeCache | ||||||
| 	unknownFields protoimpl.UnknownFields | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
| 	MethodName string `sentinel:"" protobuf:"bytes,1,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	MethodName string `protobuf:"bytes,1,opt,name=method_name,json=methodName,proto3" json:"method_name,omitempty" sentinel:"-"` | ||||||
| 	// Types that are assignable to Value: | 	// Types that are assignable to Value: | ||||||
| 	//	*Secret_TOTPSecret | 	//	*Secret_TOTPSecret | ||||||
| 	Value isSecret_Value `protobuf_oneof:"value"` | 	Value isSecret_Value `protobuf_oneof:"value"` | ||||||
| @@ -593,7 +624,8 @@ type isSecret_Value interface { | |||||||
| } | } | ||||||
|  |  | ||||||
| type Secret_TOTPSecret struct { | type Secret_TOTPSecret struct { | ||||||
| 	TOTPSecret *TOTPSecret `sentinel:"" protobuf:"bytes,2,opt,name=totp_secret,json=totpSecret,proto3,oneof"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	TOTPSecret *TOTPSecret `protobuf:"bytes,2,opt,name=totp_secret,json=totpSecret,proto3,oneof" sentinel:"-"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (*Secret_TOTPSecret) isSecret_Value() {} | func (*Secret_TOTPSecret) isSecret_Value() {} | ||||||
| @@ -606,15 +638,23 @@ type TOTPSecret struct { | |||||||
| 	sizeCache     protoimpl.SizeCache | 	sizeCache     protoimpl.SizeCache | ||||||
| 	unknownFields protoimpl.UnknownFields | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
| 	Issuer    string `sentinel:"" protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
| 	Period    uint32 `sentinel:"" protobuf:"varint,2,opt,name=period,proto3" json:"period,omitempty"` | 	Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty" sentinel:"-"` | ||||||
| 	Algorithm int32  `sentinel:"" protobuf:"varint,3,opt,name=algorithm,proto3" json:"algorithm,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
| 	Digits    int32  `sentinel:"" protobuf:"varint,4,opt,name=digits,proto3" json:"digits,omitempty"` | 	Period uint32 `protobuf:"varint,2,opt,name=period,proto3" json:"period,omitempty" sentinel:"-"` | ||||||
| 	Skew      uint32 `sentinel:"" protobuf:"varint,5,opt,name=skew,proto3" json:"skew,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
| 	KeySize   uint32 `sentinel:"" protobuf:"varint,6,opt,name=key_size,json=keySize,proto3" json:"key_size,omitempty"` | 	Algorithm int32 `protobuf:"varint,3,opt,name=algorithm,proto3" json:"algorithm,omitempty" sentinel:"-"` | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	Digits int32 `protobuf:"varint,4,opt,name=digits,proto3" json:"digits,omitempty" sentinel:"-"` | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	Skew uint32 `protobuf:"varint,5,opt,name=skew,proto3" json:"skew,omitempty" sentinel:"-"` | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	KeySize uint32 `protobuf:"varint,6,opt,name=key_size,json=keySize,proto3" json:"key_size,omitempty" sentinel:"-"` | ||||||
| 	// reserving 7 here just to keep parity with the config message above | 	// reserving 7 here just to keep parity with the config message above | ||||||
| 	AccountName string `sentinel:"" protobuf:"bytes,8,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
| 	Key         string `sentinel:"" protobuf:"bytes,9,opt,name=key,proto3" json:"key,omitempty"` | 	AccountName string `protobuf:"bytes,8,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty" sentinel:"-"` | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	Key string `protobuf:"bytes,9,opt,name=key,proto3" json:"key,omitempty" sentinel:"-"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *TOTPSecret) Reset() { | func (x *TOTPSecret) Reset() { | ||||||
|   | |||||||
| @@ -9,11 +9,17 @@ package mfa; | |||||||
| // Configuration information differs by type. Handler of each type should know | // Configuration information differs by type. Handler of each type should know | ||||||
| // what to expect from the Config field. | // what to expect from the Config field. | ||||||
| message Config { | message Config { | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string type = 1; | 	string type = 1; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string name = 2; | 	string name = 2; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string id = 3; | 	string id = 3; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string mount_accessor = 4; | 	string mount_accessor = 4; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string username_format = 5; | 	string username_format = 5; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	oneof config { | 	oneof config { | ||||||
| 		TOTPConfig totp_config = 6; | 		TOTPConfig totp_config = 6; | ||||||
| 		OktaConfig okta_config = 7; | 		OktaConfig okta_config = 7; | ||||||
| @@ -28,50 +34,75 @@ message Config { | |||||||
| // by the information stored in the entity and not from the values in the | // by the information stored in the entity and not from the values in the | ||||||
| // configuration. | // configuration. | ||||||
| message TOTPConfig { | message TOTPConfig { | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string issuer = 1; | 	string issuer = 1; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	uint32 period = 2; | 	uint32 period = 2; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	int32 algorithm = 3; | 	int32 algorithm = 3; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	int32 digits = 4; | 	int32 digits = 4; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	uint32 skew = 5; | 	uint32 skew = 5; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	uint32 key_size = 6; | 	uint32 key_size = 6; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	int32 qr_size = 7; | 	int32 qr_size = 7; | ||||||
| } | } | ||||||
|  |  | ||||||
| // DuoConfig represents the configuration information required to perform | // DuoConfig represents the configuration information required to perform | ||||||
| // Duo authentication. | // Duo authentication. | ||||||
| message DuoConfig { | message DuoConfig { | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string integration_key = 1; | 	string integration_key = 1; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string secret_key = 2; | 	string secret_key = 2; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string api_hostname = 3; | 	string api_hostname = 3; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string push_info = 4; | 	string push_info = 4; | ||||||
| } | } | ||||||
|  |  | ||||||
| // OktaConfig contains Okta configuration parameters required to perform Okta | // OktaConfig contains Okta configuration parameters required to perform Okta | ||||||
| // authentication. | // authentication. | ||||||
| message OktaConfig { | message OktaConfig { | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string org_name = 1; | 	string org_name = 1; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string api_token = 2; | 	string api_token = 2; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	bool production = 3; | 	bool production = 3; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string base_url = 4; | 	string base_url = 4; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	bool primary_email = 5; | 	bool primary_email = 5; | ||||||
| } | } | ||||||
|  |  | ||||||
| // PingIDConfig contains PingID configuration information | // PingIDConfig contains PingID configuration information | ||||||
| message PingIDConfig { | message PingIDConfig { | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string use_base64_key = 1; | 	string use_base64_key = 1; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	bool use_signature = 2; | 	bool use_signature = 2; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string token = 3; | 	string token = 3; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string idp_url = 4; | 	string idp_url = 4; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string org_alias = 5; | 	string org_alias = 5; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string admin_url = 6; | 	string admin_url = 6; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string authenticator_url = 7; | 	string authenticator_url = 7; | ||||||
| } | } | ||||||
|  |  | ||||||
| // Secret represents all the types of secrets which the entity can hold. | // Secret represents all the types of secrets which the entity can hold. | ||||||
| // Each MFA type should add a secret type to the oneof block in this message. | // Each MFA type should add a secret type to the oneof block in this message. | ||||||
| message Secret { | message Secret { | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string method_name = 1; | 	string method_name = 1; | ||||||
| 	oneof value { | 	oneof value { | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 		TOTPSecret totp_secret = 2; | 		TOTPSecret totp_secret = 2; | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| @@ -80,13 +111,21 @@ message Secret { | |||||||
| // particular MFA method. This information is used to validate the MFA | // particular MFA method. This information is used to validate the MFA | ||||||
| // credential supplied over the API during request time. | // credential supplied over the API during request time. | ||||||
| message TOTPSecret { | message TOTPSecret { | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string issuer = 1; | 	string issuer = 1; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	uint32 period = 2; | 	uint32 period = 2; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	int32 algorithm = 3; | 	int32 algorithm = 3; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	int32 digits = 4; | 	int32 digits = 4; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	uint32 skew = 5; | 	uint32 skew = 5; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	uint32 key_size = 6; | 	uint32 key_size = 6; | ||||||
| 	// reserving 7 here just to keep parity with the config message above | 	// reserving 7 here just to keep parity with the config message above | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string account_name = 8; | 	string account_name = 8; | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string key = 9; | 	string key = 9; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -29,43 +29,56 @@ type Group struct { | |||||||
| 	unknownFields protoimpl.UnknownFields | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
| 	// ID is the unique identifier for this group | 	// ID is the unique identifier for this group | ||||||
| 	ID string `sentinel:"" protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" sentinel:"-"` | ||||||
| 	// Name is the unique name for this group | 	// Name is the unique name for this group | ||||||
| 	Name string `sentinel:"" protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty" sentinel:"-"` | ||||||
| 	// Policies are the vault policies to be granted to members of this group | 	// Policies are the vault policies to be granted to members of this group | ||||||
| 	Policies []string `sentinel:"" protobuf:"bytes,3,rep,name=policies,proto3" json:"policies,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	Policies []string `protobuf:"bytes,3,rep,name=policies,proto3" json:"policies,omitempty" sentinel:"-"` | ||||||
| 	// ParentGroupIDs are the identifiers of those groups to which this group is a | 	// ParentGroupIDs are the identifiers of those groups to which this group is a | ||||||
| 	// member of. These will serve as references to the parent group in the | 	// member of. These will serve as references to the parent group in the | ||||||
| 	// hierarchy. | 	// hierarchy. | ||||||
| 	ParentGroupIDs []string `sentinel:"" protobuf:"bytes,4,rep,name=parent_group_ids,json=parentGroupIds,proto3" json:"parent_group_ids,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	ParentGroupIDs []string `protobuf:"bytes,4,rep,name=parent_group_ids,json=parentGroupIds,proto3" json:"parent_group_ids,omitempty" sentinel:"-"` | ||||||
| 	// MemberEntityIDs are the identifiers of entities which are members of this | 	// MemberEntityIDs are the identifiers of entities which are members of this | ||||||
| 	// group | 	// group | ||||||
| 	MemberEntityIDs []string `sentinel:"" protobuf:"bytes,5,rep,name=member_entity_ids,json=memberEntityIDs,proto3" json:"member_entity_ids,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	MemberEntityIDs []string `protobuf:"bytes,5,rep,name=member_entity_ids,json=memberEntityIDs,proto3" json:"member_entity_ids,omitempty" sentinel:"-"` | ||||||
| 	// Metadata represents the custom data tied with this group | 	// Metadata represents the custom data tied with this group | ||||||
| 	Metadata map[string]string `sentinel:"" protobuf:"bytes,6,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	Metadata map[string]string `protobuf:"bytes,6,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" sentinel:"-"` | ||||||
| 	// CreationTime is the time at which this group was created | 	// CreationTime is the time at which this group was created | ||||||
| 	CreationTime *timestamppb.Timestamp `sentinel:"" protobuf:"bytes,7,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	CreationTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty" sentinel:"-"` | ||||||
| 	// LastUpdateTime is the time at which this group was last modified | 	// LastUpdateTime is the time at which this group was last modified | ||||||
| 	LastUpdateTime *timestamppb.Timestamp `sentinel:"" protobuf:"bytes,8,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	LastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty" sentinel:"-"` | ||||||
| 	// ModifyIndex tracks the number of updates to the group. It is useful to detect | 	// ModifyIndex tracks the number of updates to the group. It is useful to detect | ||||||
| 	// updates to the groups. | 	// updates to the groups. | ||||||
| 	ModifyIndex uint64 `sentinel:"" protobuf:"varint,9,opt,name=modify_index,json=modifyIndex,proto3" json:"modify_index,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	ModifyIndex uint64 `protobuf:"varint,9,opt,name=modify_index,json=modifyIndex,proto3" json:"modify_index,omitempty" sentinel:"-"` | ||||||
| 	// BucketKey is the path of the storage packer key into which this group is | 	// BucketKey is the path of the storage packer key into which this group is | ||||||
| 	// stored. | 	// stored. | ||||||
| 	BucketKey string `sentinel:"" protobuf:"bytes,10,opt,name=bucket_key,json=bucketKey,proto3" json:"bucket_key,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	BucketKey string `protobuf:"bytes,10,opt,name=bucket_key,json=bucketKey,proto3" json:"bucket_key,omitempty" sentinel:"-"` | ||||||
| 	// Alias is used to mark this group as an internal mapping of a group that | 	// Alias is used to mark this group as an internal mapping of a group that | ||||||
| 	// is external to the identity store. Alias can only be set if the 'type' | 	// is external to the identity store. Alias can only be set if the 'type' | ||||||
| 	// is set to 'external'. | 	// is set to 'external'. | ||||||
| 	Alias *Alias `sentinel:"" protobuf:"bytes,11,opt,name=alias,proto3" json:"alias,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	Alias *Alias `protobuf:"bytes,11,opt,name=alias,proto3" json:"alias,omitempty" sentinel:"-"` | ||||||
| 	// Type indicates if this group is an internal group or an external group. | 	// Type indicates if this group is an internal group or an external group. | ||||||
| 	// Memberships of the internal groups can be managed over the API whereas | 	// Memberships of the internal groups can be managed over the API whereas | ||||||
| 	// the memberships on the external group --for which a corresponding alias | 	// the memberships on the external group --for which a corresponding alias | ||||||
| 	// will be set-- will be managed automatically. | 	// will be set-- will be managed automatically. | ||||||
| 	Type string `sentinel:"" protobuf:"bytes,12,opt,name=type,proto3" json:"type,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	Type string `protobuf:"bytes,12,opt,name=type,proto3" json:"type,omitempty" sentinel:"-"` | ||||||
| 	// NamespaceID is the identifier of the namespace to which this group | 	// NamespaceID is the identifier of the namespace to which this group | ||||||
| 	// belongs to. Do not return this value over the API when reading the | 	// belongs to. Do not return this value over the API when reading the | ||||||
| 	// group. | 	// group. | ||||||
| 	NamespaceID string `sentinel:"" protobuf:"bytes,13,opt,name=namespace_id,json=namespaceID,proto3" json:"namespace_id,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	NamespaceID string `protobuf:"bytes,13,opt,name=namespace_id,json=namespaceID,proto3" json:"namespace_id,omitempty" sentinel:"-"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *Group) Reset() { | func (x *Group) Reset() { | ||||||
| @@ -201,49 +214,61 @@ type Entity struct { | |||||||
| 	// Aliases are the identities that this entity is made of. This can be | 	// Aliases are the identities that this entity is made of. This can be | ||||||
| 	// empty as well to favor being able to create the entity first and then | 	// empty as well to favor being able to create the entity first and then | ||||||
| 	// incrementally adding aliases. | 	// incrementally adding aliases. | ||||||
| 	Aliases []*Alias `sentinel:"" protobuf:"bytes,1,rep,name=aliases,proto3" json:"aliases,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	Aliases []*Alias `protobuf:"bytes,1,rep,name=aliases,proto3" json:"aliases,omitempty" sentinel:"-"` | ||||||
| 	// ID is the unique identifier of the entity which always be a UUID. This | 	// ID is the unique identifier of the entity which always be a UUID. This | ||||||
| 	// should never be allowed to be updated. | 	// should never be allowed to be updated. | ||||||
| 	ID string `sentinel:"" protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	ID string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty" sentinel:"-"` | ||||||
| 	// Name is a unique identifier of the entity which is intended to be | 	// Name is a unique identifier of the entity which is intended to be | ||||||
| 	// human-friendly. The default name might not be human friendly since it | 	// human-friendly. The default name might not be human friendly since it | ||||||
| 	// gets suffixed by a UUID, but it can optionally be updated, unlike the ID | 	// gets suffixed by a UUID, but it can optionally be updated, unlike the ID | ||||||
| 	// field. | 	// field. | ||||||
| 	Name string `sentinel:"" protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty" sentinel:"-"` | ||||||
| 	// Metadata represents the explicit metadata which is set by the | 	// Metadata represents the explicit metadata which is set by the | ||||||
| 	// clients.  This is useful to tie any information pertaining to the | 	// clients.  This is useful to tie any information pertaining to the | ||||||
| 	// aliases. This is a non-unique field of entity, meaning multiple | 	// aliases. This is a non-unique field of entity, meaning multiple | ||||||
| 	// entities can have the same metadata set. Entities will be indexed based | 	// entities can have the same metadata set. Entities will be indexed based | ||||||
| 	// on this explicit metadata. This enables virtual groupings of entities | 	// on this explicit metadata. This enables virtual groupings of entities | ||||||
| 	// based on its metadata. | 	// based on its metadata. | ||||||
| 	Metadata map[string]string `sentinel:"" protobuf:"bytes,4,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	Metadata map[string]string `protobuf:"bytes,4,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" sentinel:"-"` | ||||||
| 	// CreationTime is the time at which this entity is first created. | 	// CreationTime is the time at which this entity is first created. | ||||||
| 	CreationTime *timestamppb.Timestamp `sentinel:"" protobuf:"bytes,5,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	CreationTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty" sentinel:"-"` | ||||||
| 	// LastUpdateTime is the most recent time at which the properties of this | 	// LastUpdateTime is the most recent time at which the properties of this | ||||||
| 	// entity got modified. This is helpful in filtering out entities based on | 	// entity got modified. This is helpful in filtering out entities based on | ||||||
| 	// its age and to take action on them, if desired. | 	// its age and to take action on them, if desired. | ||||||
| 	LastUpdateTime *timestamppb.Timestamp `sentinel:"" protobuf:"bytes,6,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	LastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty" sentinel:"-"` | ||||||
| 	// MergedEntityIDs are the entities which got merged to this one. Entities | 	// MergedEntityIDs are the entities which got merged to this one. Entities | ||||||
| 	// will be indexed based on all the entities that got merged into it. This | 	// will be indexed based on all the entities that got merged into it. This | ||||||
| 	// helps to apply the actions on this entity on the tokens that are merged | 	// helps to apply the actions on this entity on the tokens that are merged | ||||||
| 	// to the merged entities. Merged entities will be deleted entirely and | 	// to the merged entities. Merged entities will be deleted entirely and | ||||||
| 	// this is the only trackable trail of its earlier presence. | 	// this is the only trackable trail of its earlier presence. | ||||||
| 	MergedEntityIDs []string `sentinel:"" protobuf:"bytes,7,rep,name=merged_entity_ids,json=mergedEntityIDs,proto3" json:"merged_entity_ids,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	MergedEntityIDs []string `protobuf:"bytes,7,rep,name=merged_entity_ids,json=mergedEntityIDs,proto3" json:"merged_entity_ids,omitempty" sentinel:"-"` | ||||||
| 	// Policies the entity is entitled to | 	// Policies the entity is entitled to | ||||||
| 	Policies []string `sentinel:"" protobuf:"bytes,8,rep,name=policies,proto3" json:"policies,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	Policies []string `protobuf:"bytes,8,rep,name=policies,proto3" json:"policies,omitempty" sentinel:"-"` | ||||||
| 	// BucketKey is the path of the storage packer key into which this entity is | 	// BucketKey is the path of the storage packer key into which this entity is | ||||||
| 	// stored. | 	// stored. | ||||||
| 	BucketKey string `sentinel:"" protobuf:"bytes,9,opt,name=bucket_key,json=bucketKey,proto3" json:"bucket_key,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	BucketKey string `protobuf:"bytes,9,opt,name=bucket_key,json=bucketKey,proto3" json:"bucket_key,omitempty" sentinel:"-"` | ||||||
| 	// MFASecrets holds the MFA secrets indexed by the identifier of the MFA | 	// MFASecrets holds the MFA secrets indexed by the identifier of the MFA | ||||||
| 	// method configuration. | 	// method configuration. | ||||||
| 	MFASecrets map[string]*mfa.Secret `sentinel:"" protobuf:"bytes,10,rep,name=mfa_secrets,json=mfaSecrets,proto3" json:"mfa_secrets,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	MFASecrets map[string]*mfa.Secret `protobuf:"bytes,10,rep,name=mfa_secrets,json=mfaSecrets,proto3" json:"mfa_secrets,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" sentinel:"-"` | ||||||
| 	// Disabled indicates whether tokens associated with the account should not | 	// Disabled indicates whether tokens associated with the account should not | ||||||
| 	// be able to be used | 	// be able to be used | ||||||
| 	Disabled bool `sentinel:"" protobuf:"varint,11,opt,name=disabled,proto3" json:"disabled,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	Disabled bool `protobuf:"varint,11,opt,name=disabled,proto3" json:"disabled,omitempty" sentinel:"-"` | ||||||
| 	// NamespaceID is the identifier of the namespace to which this entity | 	// NamespaceID is the identifier of the namespace to which this entity | ||||||
| 	// belongs to. Do not return this value over the API when reading the | 	// belongs to. Do not return this value over the API when reading the | ||||||
| 	// entity. | 	// entity. | ||||||
| 	NamespaceID string `sentinel:"" protobuf:"bytes,12,opt,name=namespace_id,json=namespaceID,proto3" json:"namespace_id,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	NamespaceID string `protobuf:"bytes,12,opt,name=namespace_id,json=namespaceID,proto3" json:"namespace_id,omitempty" sentinel:"-"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *Entity) Reset() { | func (x *Entity) Reset() { | ||||||
| @@ -371,42 +396,54 @@ type Alias struct { | |||||||
| 	unknownFields protoimpl.UnknownFields | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
| 	// ID is the unique identifier that represents this alias | 	// ID is the unique identifier that represents this alias | ||||||
| 	ID string `sentinel:"" protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" sentinel:"-"` | ||||||
| 	// CanonicalID is the entity identifier to which this alias belongs to | 	// CanonicalID is the entity identifier to which this alias belongs to | ||||||
| 	CanonicalID string `sentinel:"" protobuf:"bytes,2,opt,name=canonical_id,json=canonicalId,proto3" json:"canonical_id,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	CanonicalID string `protobuf:"bytes,2,opt,name=canonical_id,json=canonicalId,proto3" json:"canonical_id,omitempty" sentinel:"-"` | ||||||
| 	// MountType is the backend mount's type to which this alias belongs to. | 	// MountType is the backend mount's type to which this alias belongs to. | ||||||
| 	// This enables categorically querying aliases of specific backend types. | 	// This enables categorically querying aliases of specific backend types. | ||||||
| 	MountType string `sentinel:"" protobuf:"bytes,3,opt,name=mount_type,json=mountType,proto3" json:"mount_type,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	MountType string `protobuf:"bytes,3,opt,name=mount_type,json=mountType,proto3" json:"mount_type,omitempty" sentinel:"-"` | ||||||
| 	// MountAccessor is the backend mount's accessor to which this alias | 	// MountAccessor is the backend mount's accessor to which this alias | ||||||
| 	// belongs to. | 	// belongs to. | ||||||
| 	MountAccessor string `sentinel:"" protobuf:"bytes,4,opt,name=mount_accessor,json=mountAccessor,proto3" json:"mount_accessor,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	MountAccessor string `protobuf:"bytes,4,opt,name=mount_accessor,json=mountAccessor,proto3" json:"mount_accessor,omitempty" sentinel:"-"` | ||||||
| 	// MountPath is the backend mount's path to which the Maccessor belongs to. This | 	// MountPath is the backend mount's path to which the Maccessor belongs to. This | ||||||
| 	// field is not used for any operational purposes. This is only returned when | 	// field is not used for any operational purposes. This is only returned when | ||||||
| 	// alias is read, only as a nicety. | 	// alias is read, only as a nicety. | ||||||
| 	MountPath string `sentinel:"" protobuf:"bytes,5,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	MountPath string `protobuf:"bytes,5,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty" sentinel:"-"` | ||||||
| 	// Metadata is the explicit metadata that clients set against an entity | 	// Metadata is the explicit metadata that clients set against an entity | ||||||
| 	// which enables virtual grouping of aliases. Aliases will be indexed | 	// which enables virtual grouping of aliases. Aliases will be indexed | ||||||
| 	// against their metadata. | 	// against their metadata. | ||||||
| 	Metadata map[string]string `sentinel:"" protobuf:"bytes,6,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	Metadata map[string]string `protobuf:"bytes,6,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" sentinel:"-"` | ||||||
| 	// Name is the identifier of this alias in its authentication source. | 	// Name is the identifier of this alias in its authentication source. | ||||||
| 	// This does not uniquely identify an alias in Vault. This in conjunction | 	// This does not uniquely identify an alias in Vault. This in conjunction | ||||||
| 	// with MountAccessor form to be the factors that represent an alias in a | 	// with MountAccessor form to be the factors that represent an alias in a | ||||||
| 	// unique way. Aliases will be indexed based on this combined uniqueness | 	// unique way. Aliases will be indexed based on this combined uniqueness | ||||||
| 	// factor. | 	// factor. | ||||||
| 	Name string `sentinel:"" protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty" sentinel:"-"` | ||||||
| 	// CreationTime is the time at which this alias was first created | 	// CreationTime is the time at which this alias was first created | ||||||
| 	CreationTime *timestamppb.Timestamp `sentinel:"" protobuf:"bytes,8,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	CreationTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty" sentinel:"-"` | ||||||
| 	// LastUpdateTime is the most recent time at which the properties of this | 	// LastUpdateTime is the most recent time at which the properties of this | ||||||
| 	// alias got modified. This is helpful in filtering out aliases based | 	// alias got modified. This is helpful in filtering out aliases based | ||||||
| 	// on its age and to take action on them, if desired. | 	// on its age and to take action on them, if desired. | ||||||
| 	LastUpdateTime *timestamppb.Timestamp `sentinel:"" protobuf:"bytes,9,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	LastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty" sentinel:"-"` | ||||||
| 	// MergedFromCanonicalIDs is the FIFO history of merging activity | 	// MergedFromCanonicalIDs is the FIFO history of merging activity | ||||||
| 	MergedFromCanonicalIDs []string `sentinel:"" protobuf:"bytes,10,rep,name=merged_from_canonical_ids,json=mergedFromCanonicalIds,proto3" json:"merged_from_canonical_ids,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	MergedFromCanonicalIDs []string `protobuf:"bytes,10,rep,name=merged_from_canonical_ids,json=mergedFromCanonicalIds,proto3" json:"merged_from_canonical_ids,omitempty" sentinel:"-"` | ||||||
| 	// NamespaceID is the identifier of the namespace to which this alias | 	// NamespaceID is the identifier of the namespace to which this alias | ||||||
| 	// belongs. | 	// belongs. | ||||||
| 	NamespaceID string `sentinel:"" protobuf:"bytes,11,opt,name=namespace_id,json=namespaceID,proto3" json:"namespace_id,omitempty"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	NamespaceID string `protobuf:"bytes,11,opt,name=namespace_id,json=namespaceID,proto3" json:"namespace_id,omitempty" sentinel:"-"` | ||||||
| 	// Custom Metadata represents the custom data tied to this alias | 	// Custom Metadata represents the custom data tied to this alias | ||||||
| 	CustomMetadata map[string]string `sentinel:"" protobuf:"bytes,12,rep,name=customMetadata,proto3" json:"customMetadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	CustomMetadata map[string]string `protobuf:"bytes,12,rep,name=custom_metadata,json=customMetadata,proto3" json:"custom_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" sentinel:"-"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *Alias) Reset() { | func (x *Alias) Reset() { | ||||||
| @@ -531,16 +568,16 @@ type EntityStorageEntry struct { | |||||||
| 	sizeCache     protoimpl.SizeCache | 	sizeCache     protoimpl.SizeCache | ||||||
| 	unknownFields protoimpl.UnknownFields | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
| 	Personas        []*PersonaIndexEntry   `sentinel:"" protobuf:"bytes,1,rep,name=personas,proto3" json:"personas,omitempty"` | 	Personas        []*PersonaIndexEntry   `protobuf:"bytes,1,rep,name=personas,proto3" json:"personas,omitempty"` | ||||||
| 	ID              string                 `sentinel:"" protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` | 	ID              string                 `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` | ||||||
| 	Name            string                 `sentinel:"" protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` | 	Name            string                 `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` | ||||||
| 	Metadata        map[string]string      `sentinel:"" protobuf:"bytes,4,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | 	Metadata        map[string]string      `protobuf:"bytes,4,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | ||||||
| 	CreationTime    *timestamppb.Timestamp `sentinel:"" protobuf:"bytes,5,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"` | 	CreationTime    *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"` | ||||||
| 	LastUpdateTime  *timestamppb.Timestamp `sentinel:"" protobuf:"bytes,6,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"` | 	LastUpdateTime  *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"` | ||||||
| 	MergedEntityIDs []string               `sentinel:"" protobuf:"bytes,7,rep,name=merged_entity_ids,json=mergedEntityIDs,proto3" json:"merged_entity_ids,omitempty"` | 	MergedEntityIDs []string               `protobuf:"bytes,7,rep,name=merged_entity_ids,json=mergedEntityIDs,proto3" json:"merged_entity_ids,omitempty"` | ||||||
| 	Policies        []string               `sentinel:"" protobuf:"bytes,8,rep,name=policies,proto3" json:"policies,omitempty"` | 	Policies        []string               `protobuf:"bytes,8,rep,name=policies,proto3" json:"policies,omitempty"` | ||||||
| 	BucketKeyHash   string                 `sentinel:"" protobuf:"bytes,9,opt,name=bucket_key_hash,json=bucketKeyHash,proto3" json:"bucket_key_hash,omitempty"` | 	BucketKeyHash   string                 `protobuf:"bytes,9,opt,name=bucket_key_hash,json=bucketKeyHash,proto3" json:"bucket_key_hash,omitempty"` | ||||||
| 	MFASecrets      map[string]*mfa.Secret `sentinel:"" protobuf:"bytes,10,rep,name=mfa_secrets,json=mfaSecrets,proto3" json:"mfa_secrets,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | 	MFASecrets      map[string]*mfa.Secret `protobuf:"bytes,10,rep,name=mfa_secrets,json=mfaSecrets,proto3" json:"mfa_secrets,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *EntityStorageEntry) Reset() { | func (x *EntityStorageEntry) Reset() { | ||||||
| @@ -651,16 +688,16 @@ type PersonaIndexEntry struct { | |||||||
| 	sizeCache     protoimpl.SizeCache | 	sizeCache     protoimpl.SizeCache | ||||||
| 	unknownFields protoimpl.UnknownFields | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
| 	ID                  string                 `sentinel:"" protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` | 	ID                  string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` | ||||||
| 	EntityID            string                 `sentinel:"" protobuf:"bytes,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"` | 	EntityID            string                 `protobuf:"bytes,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"` | ||||||
| 	MountType           string                 `sentinel:"" protobuf:"bytes,3,opt,name=mount_type,json=mountType,proto3" json:"mount_type,omitempty"` | 	MountType           string                 `protobuf:"bytes,3,opt,name=mount_type,json=mountType,proto3" json:"mount_type,omitempty"` | ||||||
| 	MountAccessor       string                 `sentinel:"" protobuf:"bytes,4,opt,name=mount_accessor,json=mountAccessor,proto3" json:"mount_accessor,omitempty"` | 	MountAccessor       string                 `protobuf:"bytes,4,opt,name=mount_accessor,json=mountAccessor,proto3" json:"mount_accessor,omitempty"` | ||||||
| 	MountPath           string                 `sentinel:"" protobuf:"bytes,5,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"` | 	MountPath           string                 `protobuf:"bytes,5,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"` | ||||||
| 	Metadata            map[string]string      `sentinel:"" protobuf:"bytes,6,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | 	Metadata            map[string]string      `protobuf:"bytes,6,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | ||||||
| 	Name                string                 `sentinel:"" protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` | 	Name                string                 `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` | ||||||
| 	CreationTime        *timestamppb.Timestamp `sentinel:"" protobuf:"bytes,8,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"` | 	CreationTime        *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"` | ||||||
| 	LastUpdateTime      *timestamppb.Timestamp `sentinel:"" protobuf:"bytes,9,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"` | 	LastUpdateTime      *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"` | ||||||
| 	MergedFromEntityIDs []string               `sentinel:"" protobuf:"bytes,10,rep,name=merged_from_entity_ids,json=mergedFromEntityIDs,proto3" json:"merged_from_entity_ids,omitempty"` | 	MergedFromEntityIDs []string               `protobuf:"bytes,10,rep,name=merged_from_entity_ids,json=mergedFromEntityIDs,proto3" json:"merged_from_entity_ids,omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *PersonaIndexEntry) Reset() { | func (x *PersonaIndexEntry) Reset() { | ||||||
| @@ -851,7 +888,7 @@ var file_helper_identity_types_proto_rawDesc = []byte{ | |||||||
| 	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, | 	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, | ||||||
| 	0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, | 	0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, | ||||||
| 	0x0b, 0x2e, 0x6d, 0x66, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x05, 0x76, 0x61, | 	0x0b, 0x2e, 0x6d, 0x66, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x05, 0x76, 0x61, | ||||||
| 	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa0, 0x05, 0x0a, 0x05, 0x41, 0x6c, 0x69, 0x61, | 	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa1, 0x05, 0x0a, 0x05, 0x41, 0x6c, 0x69, 0x61, | ||||||
| 	0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, | 	0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, | ||||||
| 	0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x69, | 	0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x69, | ||||||
| 	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, | 	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, | ||||||
| @@ -880,96 +917,96 @@ var file_helper_identity_types_proto_rawDesc = []byte{ | |||||||
| 	0x28, 0x09, 0x52, 0x16, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x61, | 	0x28, 0x09, 0x52, 0x16, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x61, | ||||||
| 	0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x61, | 	0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x61, | ||||||
| 	0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, | 	0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, | ||||||
| 	0x52, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x4b, 0x0a, | 	0x52, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x4c, 0x0a, | ||||||
| 	0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, | 	0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, | ||||||
| 	0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, | 	0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, | ||||||
| 	0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, | 	0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, | ||||||
| 	0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, | 	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x63, 0x75, 0x73, | ||||||
| 	0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, | 	0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, | ||||||
| 	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, | 	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, | ||||||
| 	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, | 	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, | ||||||
| 	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, | 	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, | ||||||
| 	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x43, 0x75, 0x73, 0x74, 0x6f, | 	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x43, 0x75, 0x73, 0x74, | ||||||
| 	0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, | 	0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 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, 0x88, 0x05, 0x0a, 0x12, | ||||||
|  | 	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, | ||||||
|  | 	0x72, 0x79, 0x12, 0x37, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x73, 0x18, 0x01, | ||||||
|  | 	0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, | ||||||
|  | 	0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x74, 0x72, | ||||||
|  | 	0x79, 0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, | ||||||
|  | 	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, | ||||||
|  | 	0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, | ||||||
|  | 	0x46, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, | ||||||
|  | 	0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, | ||||||
|  | 	0x69, 0x74, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, | ||||||
|  | 	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, | ||||||
|  | 	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, | ||||||
|  | 	0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 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, 0x63, 0x72, 0x65, 0x61, | ||||||
|  | 	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, | ||||||
|  | 	0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 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, 0x0e, | ||||||
|  | 	0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, | ||||||
|  | 	0x0a, 0x11, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, | ||||||
|  | 	0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, 0x72, 0x67, 0x65, | ||||||
|  | 	0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, | ||||||
|  | 	0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, | ||||||
|  | 	0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, | ||||||
|  | 	0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, | ||||||
|  | 	0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12, 0x4d, | ||||||
|  | 	0x0a, 0x0b, 0x6d, 0x66, 0x61, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x0a, 0x20, | ||||||
|  | 	0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, | ||||||
|  | 	0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, | ||||||
|  | 	0x79, 0x2e, 0x4d, 0x66, 0x61, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, | ||||||
|  | 	0x79, 0x52, 0x0a, 0x6d, 0x66, 0x61, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x1a, 0x3b, 0x0a, | ||||||
|  | 	0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, | ||||||
| 	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, | 	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, | 	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, 0x88, 0x05, 0x0a, 0x12, 0x45, | 	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4a, 0x0a, 0x0f, 0x4d, 0x66, | ||||||
| 	0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, | 	0x61, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, | ||||||
| 	0x79, 0x12, 0x37, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x73, 0x18, 0x01, 0x20, |  | ||||||
| 	0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x50, |  | ||||||
| 	0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x79, |  | ||||||
| 	0x52, 0x08, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, |  | ||||||
| 	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, |  | ||||||
| 	0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x46, |  | ||||||
| 	0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, |  | ||||||
| 	0x32, 0x2a, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, |  | ||||||
| 	0x74, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x4d, |  | ||||||
| 	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, |  | ||||||
| 	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, |  | ||||||
| 	0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 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, 0x63, 0x72, 0x65, 0x61, 0x74, |  | ||||||
| 	0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, |  | ||||||
| 	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 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, 0x0e, 0x6c, |  | ||||||
| 	0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, |  | ||||||
| 	0x11, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, |  | ||||||
| 	0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, |  | ||||||
| 	0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x6c, |  | ||||||
| 	0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x6c, |  | ||||||
| 	0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, |  | ||||||
| 	0x6b, 0x65, 0x79, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, |  | ||||||
| 	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12, 0x4d, 0x0a, |  | ||||||
| 	0x0b, 0x6d, 0x66, 0x61, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, |  | ||||||
| 	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, |  | ||||||
| 	0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, |  | ||||||
| 	0x2e, 0x4d, 0x66, 0x61, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, |  | ||||||
| 	0x52, 0x0a, 0x6d, 0x66, 0x61, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, |  | ||||||
| 	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, |  | ||||||
| 	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, | 	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, | 	0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, | ||||||
| 	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4a, 0x0a, 0x0f, 0x4d, 0x66, 0x61, | 	0x2e, 0x6d, 0x66, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, | ||||||
| 	0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, | 	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf9, 0x03, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x73, 0x6f, | ||||||
| 	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, | 	0x6e, 0x61, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, | ||||||
| 	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, | 	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, | ||||||
| 	0x6d, 0x66, 0x61, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, | 	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, | ||||||
| 	0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf9, 0x03, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, | 	0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x75, | ||||||
| 	0x61, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, | 	0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, | ||||||
| 	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, | 	0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x6f, 0x75, 0x6e, | ||||||
| 	0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, | 	0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, | ||||||
| 	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, | 	0x52, 0x0d, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x12, | ||||||
| 	0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, | 	0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, | ||||||
| 	0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x6f, 0x75, 0x6e, 0x74, | 	0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x45, | ||||||
| 	0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, | 	0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, | ||||||
| 	0x0d, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x12, 0x1d, | 	0x32, 0x29, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x65, 0x72, 0x73, | ||||||
| 	0x0a, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, | 	0x6f, 0x6e, 0x61, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x65, | ||||||
| 	0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x45, 0x0a, | 	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, | ||||||
| 	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, | 	0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, | ||||||
| 	0x29, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, | 	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, | ||||||
| 	0x6e, 0x61, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, | 	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, | ||||||
| 	0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, | 	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, | ||||||
| 	0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, | 	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, | ||||||
| 	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, | 	0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, | ||||||
| 	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, | 	0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, | ||||||
| 	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, | 	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, | ||||||
| 	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, | 	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, | ||||||
| 	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, 0x73, | 	0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, | ||||||
| 	0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, | 	0x12, 0x33, 0x0a, 0x16, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, | ||||||
| 	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, | 	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, | ||||||
| 	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, | 	0x52, 0x13, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x6e, 0x74, 0x69, | ||||||
| 	0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, | 	0x74, 0x79, 0x49, 0x64, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, | ||||||
| 	0x33, 0x0a, 0x16, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x65, | 	0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, | ||||||
| 	0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, | 	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, | ||||||
| 	0x13, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x74, | 	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, | ||||||
| 	0x79, 0x49, 0x64, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, | 	0x38, 0x01, 0x42, 0x2c, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, | ||||||
| 	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, | 	0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x76, 0x61, 0x75, 0x6c, 0x74, | ||||||
| 	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, | 	0x2f, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, | ||||||
| 	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, | 	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, | ||||||
| 	0x01, 0x42, 0x2c, 0x5a, 0x2a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, |  | ||||||
| 	0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x2f, |  | ||||||
| 	0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x62, |  | ||||||
| 	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, |  | ||||||
| } | } | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| @@ -1015,7 +1052,7 @@ var file_helper_identity_types_proto_depIDxs = []int32{ | |||||||
| 	8,  // 9: identity.Alias.metadata:type_name -> identity.Alias.MetadataEntry | 	8,  // 9: identity.Alias.metadata:type_name -> identity.Alias.MetadataEntry | ||||||
| 	13, // 10: identity.Alias.creation_time:type_name -> google.protobuf.Timestamp | 	13, // 10: identity.Alias.creation_time:type_name -> google.protobuf.Timestamp | ||||||
| 	13, // 11: identity.Alias.last_update_time:type_name -> google.protobuf.Timestamp | 	13, // 11: identity.Alias.last_update_time:type_name -> google.protobuf.Timestamp | ||||||
| 	9,  // 12: identity.Alias.customMetadata:type_name -> identity.Alias.CustomMetadataEntry | 	9,  // 12: identity.Alias.custom_metadata:type_name -> identity.Alias.CustomMetadataEntry | ||||||
| 	4,  // 13: identity.EntityStorageEntry.personas:type_name -> identity.PersonaIndexEntry | 	4,  // 13: identity.EntityStorageEntry.personas:type_name -> identity.PersonaIndexEntry | ||||||
| 	10, // 14: identity.EntityStorageEntry.metadata:type_name -> identity.EntityStorageEntry.MetadataEntry | 	10, // 14: identity.EntityStorageEntry.metadata:type_name -> identity.EntityStorageEntry.MetadataEntry | ||||||
| 	13, // 15: identity.EntityStorageEntry.creation_time:type_name -> google.protobuf.Timestamp | 	13, // 15: identity.EntityStorageEntry.creation_time:type_name -> google.protobuf.Timestamp | ||||||
|   | |||||||
| @@ -10,54 +10,67 @@ import "helper/identity/mfa/types.proto"; | |||||||
| // Group represents an identity group. | // Group represents an identity group. | ||||||
| message Group { | message Group { | ||||||
| 	// ID is the unique identifier for this group | 	// ID is the unique identifier for this group | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string id = 1; | 	string id = 1; | ||||||
|  |  | ||||||
| 	// Name is the unique name for this group | 	// Name is the unique name for this group | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string name = 2; | 	string name = 2; | ||||||
|  |  | ||||||
| 	// Policies are the vault policies to be granted to members of this group | 	// Policies are the vault policies to be granted to members of this group | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	repeated string policies = 3; | 	repeated string policies = 3; | ||||||
|  |  | ||||||
| 	// ParentGroupIDs are the identifiers of those groups to which this group is a | 	// ParentGroupIDs are the identifiers of those groups to which this group is a | ||||||
| 	// member of. These will serve as references to the parent group in the | 	// member of. These will serve as references to the parent group in the | ||||||
| 	// hierarchy. | 	// hierarchy. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	repeated string parent_group_ids = 4; | 	repeated string parent_group_ids = 4; | ||||||
|  |  | ||||||
| 	// MemberEntityIDs are the identifiers of entities which are members of this | 	// MemberEntityIDs are the identifiers of entities which are members of this | ||||||
| 	// group | 	// group | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	repeated string member_entity_ids = 5; | 	repeated string member_entity_ids = 5; | ||||||
|  |  | ||||||
| 	// Metadata represents the custom data tied with this group | 	// Metadata represents the custom data tied with this group | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	map<string, string> metadata = 6; | 	map<string, string> metadata = 6; | ||||||
|  |  | ||||||
| 	// CreationTime is the time at which this group was created | 	// CreationTime is the time at which this group was created | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	google.protobuf.Timestamp creation_time = 7; | 	google.protobuf.Timestamp creation_time = 7; | ||||||
|  |  | ||||||
| 	// LastUpdateTime is the time at which this group was last modified | 	// LastUpdateTime is the time at which this group was last modified | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	google.protobuf.Timestamp last_update_time= 8; | 	google.protobuf.Timestamp last_update_time= 8; | ||||||
|  |  | ||||||
| 	// ModifyIndex tracks the number of updates to the group. It is useful to detect | 	// ModifyIndex tracks the number of updates to the group. It is useful to detect | ||||||
| 	// updates to the groups. | 	// updates to the groups. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	uint64 modify_index = 9; | 	uint64 modify_index = 9; | ||||||
|  |  | ||||||
| 	// BucketKey is the path of the storage packer key into which this group is | 	// BucketKey is the path of the storage packer key into which this group is | ||||||
| 	// stored. | 	// stored. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string bucket_key = 10; | 	string bucket_key = 10; | ||||||
|  |  | ||||||
| 	// Alias is used to mark this group as an internal mapping of a group that | 	// Alias is used to mark this group as an internal mapping of a group that | ||||||
| 	// is external to the identity store. Alias can only be set if the 'type' | 	// is external to the identity store. Alias can only be set if the 'type' | ||||||
| 	// is set to 'external'. | 	// is set to 'external'. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	Alias alias = 11; | 	Alias alias = 11; | ||||||
|  |  | ||||||
| 	// Type indicates if this group is an internal group or an external group. | 	// Type indicates if this group is an internal group or an external group. | ||||||
| 	// Memberships of the internal groups can be managed over the API whereas | 	// Memberships of the internal groups can be managed over the API whereas | ||||||
| 	// the memberships on the external group --for which a corresponding alias | 	// the memberships on the external group --for which a corresponding alias | ||||||
| 	// will be set-- will be managed automatically. | 	// will be set-- will be managed automatically. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string type = 12; | 	string type = 12; | ||||||
|  |  | ||||||
| 	// NamespaceID is the identifier of the namespace to which this group  | 	// NamespaceID is the identifier of the namespace to which this group  | ||||||
| 	// belongs to. Do not return this value over the API when reading the | 	// belongs to. Do not return this value over the API when reading the | ||||||
| 	// group. | 	// group. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string namespace_id = 13; | 	string namespace_id = 13; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -67,16 +80,19 @@ message Entity { | |||||||
| 	// Aliases are the identities that this entity is made of. This can be | 	// Aliases are the identities that this entity is made of. This can be | ||||||
| 	// empty as well to favor being able to create the entity first and then | 	// empty as well to favor being able to create the entity first and then | ||||||
| 	// incrementally adding aliases. | 	// incrementally adding aliases. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	repeated Alias aliases = 1; | 	repeated Alias aliases = 1; | ||||||
|  |  | ||||||
| 	// ID is the unique identifier of the entity which always be a UUID. This | 	// ID is the unique identifier of the entity which always be a UUID. This | ||||||
| 	// should never be allowed to be updated. | 	// should never be allowed to be updated. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string id = 2; | 	string id = 2; | ||||||
|  |  | ||||||
| 	// Name is a unique identifier of the entity which is intended to be | 	// Name is a unique identifier of the entity which is intended to be | ||||||
| 	// human-friendly. The default name might not be human friendly since it | 	// human-friendly. The default name might not be human friendly since it | ||||||
| 	// gets suffixed by a UUID, but it can optionally be updated, unlike the ID | 	// gets suffixed by a UUID, but it can optionally be updated, unlike the ID | ||||||
| 	// field. | 	// field. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string name = 3; | 	string name = 3; | ||||||
|  |  | ||||||
| 	// Metadata represents the explicit metadata which is set by the | 	// Metadata represents the explicit metadata which is set by the | ||||||
| @@ -85,14 +101,17 @@ message Entity { | |||||||
| 	// entities can have the same metadata set. Entities will be indexed based | 	// entities can have the same metadata set. Entities will be indexed based | ||||||
| 	// on this explicit metadata. This enables virtual groupings of entities | 	// on this explicit metadata. This enables virtual groupings of entities | ||||||
| 	// based on its metadata. | 	// based on its metadata. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	map<string, string> metadata = 4; | 	map<string, string> metadata = 4; | ||||||
|  |  | ||||||
| 	// CreationTime is the time at which this entity is first created. | 	// CreationTime is the time at which this entity is first created. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	google.protobuf.Timestamp creation_time = 5; | 	google.protobuf.Timestamp creation_time = 5; | ||||||
|  |  | ||||||
| 	// LastUpdateTime is the most recent time at which the properties of this | 	// LastUpdateTime is the most recent time at which the properties of this | ||||||
| 	// entity got modified. This is helpful in filtering out entities based on | 	// entity got modified. This is helpful in filtering out entities based on | ||||||
| 	// its age and to take action on them, if desired. | 	// its age and to take action on them, if desired. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	google.protobuf.Timestamp last_update_time= 6; | 	google.protobuf.Timestamp last_update_time= 6; | ||||||
|  |  | ||||||
| 	// MergedEntityIDs are the entities which got merged to this one. Entities | 	// MergedEntityIDs are the entities which got merged to this one. Entities | ||||||
| @@ -100,26 +119,32 @@ message Entity { | |||||||
| 	// helps to apply the actions on this entity on the tokens that are merged | 	// helps to apply the actions on this entity on the tokens that are merged | ||||||
| 	// to the merged entities. Merged entities will be deleted entirely and | 	// to the merged entities. Merged entities will be deleted entirely and | ||||||
| 	// this is the only trackable trail of its earlier presence. | 	// this is the only trackable trail of its earlier presence. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	repeated string merged_entity_ids = 7; | 	repeated string merged_entity_ids = 7; | ||||||
|  |  | ||||||
| 	// Policies the entity is entitled to | 	// Policies the entity is entitled to | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	repeated string policies = 8; | 	repeated string policies = 8; | ||||||
|  |  | ||||||
| 	// BucketKey is the path of the storage packer key into which this entity is | 	// BucketKey is the path of the storage packer key into which this entity is | ||||||
| 	// stored. | 	// stored. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string bucket_key = 9; | 	string bucket_key = 9; | ||||||
|  |  | ||||||
| 	// MFASecrets holds the MFA secrets indexed by the identifier of the MFA | 	// MFASecrets holds the MFA secrets indexed by the identifier of the MFA | ||||||
| 	// method configuration. | 	// method configuration. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	map<string, mfa.Secret> mfa_secrets = 10; | 	map<string, mfa.Secret> mfa_secrets = 10; | ||||||
|  |  | ||||||
| 	// Disabled indicates whether tokens associated with the account should not | 	// Disabled indicates whether tokens associated with the account should not | ||||||
| 	// be able to be used | 	// be able to be used | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	bool disabled = 11; | 	bool disabled = 11; | ||||||
|  |  | ||||||
| 	// NamespaceID is the identifier of the namespace to which this entity | 	// NamespaceID is the identifier of the namespace to which this entity | ||||||
| 	// belongs to. Do not return this value over the API when reading the | 	// belongs to. Do not return this value over the API when reading the | ||||||
| 	// entity. | 	// entity. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string namespace_id = 12; | 	string namespace_id = 12; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -128,27 +153,33 @@ message Entity { | |||||||
| // alias object. | // alias object. | ||||||
| message Alias { | message Alias { | ||||||
| 	// ID is the unique identifier that represents this alias | 	// ID is the unique identifier that represents this alias | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string id = 1; | 	string id = 1; | ||||||
|  |  | ||||||
| 	// CanonicalID is the entity identifier to which this alias belongs to | 	// CanonicalID is the entity identifier to which this alias belongs to | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string canonical_id = 2; | 	string canonical_id = 2; | ||||||
|  |  | ||||||
| 	// MountType is the backend mount's type to which this alias belongs to. | 	// MountType is the backend mount's type to which this alias belongs to. | ||||||
| 	// This enables categorically querying aliases of specific backend types. | 	// This enables categorically querying aliases of specific backend types. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string mount_type = 3; | 	string mount_type = 3; | ||||||
|  |  | ||||||
| 	// MountAccessor is the backend mount's accessor to which this alias  | 	// MountAccessor is the backend mount's accessor to which this alias  | ||||||
| 	// belongs to. | 	// belongs to. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string mount_accessor = 4; | 	string mount_accessor = 4; | ||||||
|  |  | ||||||
| 	// MountPath is the backend mount's path to which the Maccessor belongs to. This | 	// MountPath is the backend mount's path to which the Maccessor belongs to. This | ||||||
| 	// field is not used for any operational purposes. This is only returned when | 	// field is not used for any operational purposes. This is only returned when | ||||||
| 	// alias is read, only as a nicety. | 	// alias is read, only as a nicety. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string mount_path = 5; | 	string mount_path = 5; | ||||||
|  |  | ||||||
| 	// Metadata is the explicit metadata that clients set against an entity | 	// Metadata is the explicit metadata that clients set against an entity | ||||||
| 	// which enables virtual grouping of aliases. Aliases will be indexed | 	// which enables virtual grouping of aliases. Aliases will be indexed | ||||||
| 	// against their metadata. | 	// against their metadata. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	map<string, string> metadata = 6; | 	map<string, string> metadata = 6; | ||||||
|  |  | ||||||
| 	// Name is the identifier of this alias in its authentication source. | 	// Name is the identifier of this alias in its authentication source. | ||||||
| @@ -156,25 +187,31 @@ message Alias { | |||||||
| 	// with MountAccessor form to be the factors that represent an alias in a | 	// with MountAccessor form to be the factors that represent an alias in a | ||||||
| 	// unique way. Aliases will be indexed based on this combined uniqueness | 	// unique way. Aliases will be indexed based on this combined uniqueness | ||||||
| 	// factor. | 	// factor. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string name = 7; | 	string name = 7; | ||||||
|  |  | ||||||
| 	// CreationTime is the time at which this alias was first created | 	// CreationTime is the time at which this alias was first created | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	google.protobuf.Timestamp creation_time = 8; | 	google.protobuf.Timestamp creation_time = 8; | ||||||
|  |  | ||||||
| 	// LastUpdateTime is the most recent time at which the properties of this | 	// LastUpdateTime is the most recent time at which the properties of this | ||||||
| 	// alias got modified. This is helpful in filtering out aliases based | 	// alias got modified. This is helpful in filtering out aliases based | ||||||
| 	// on its age and to take action on them, if desired. | 	// on its age and to take action on them, if desired. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	google.protobuf.Timestamp last_update_time = 9; | 	google.protobuf.Timestamp last_update_time = 9; | ||||||
|  |  | ||||||
| 	// MergedFromCanonicalIDs is the FIFO history of merging activity | 	// MergedFromCanonicalIDs is the FIFO history of merging activity | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	repeated string merged_from_canonical_ids = 10; | 	repeated string merged_from_canonical_ids = 10; | ||||||
|  |  | ||||||
| 	// NamespaceID is the identifier of the namespace to which this alias | 	// NamespaceID is the identifier of the namespace to which this alias | ||||||
| 	// belongs. | 	// belongs. | ||||||
|  | 	// @inject_tag: sentinel:"-" | ||||||
| 	string namespace_id = 11; | 	string namespace_id = 11; | ||||||
|  |  | ||||||
| 	// Custom Metadata represents the custom data tied to this alias | 	// Custom Metadata represents the custom data tied to this alias | ||||||
| 	map<string, string> customMetadata = 12; | 	// @inject_tag: sentinel:"-" | ||||||
|  | 	map<string, string> custom_metadata = 12; | ||||||
| } | } | ||||||
|  |  | ||||||
| // Deprecated. Retained for backwards compatibility. | // Deprecated. Retained for backwards compatibility. | ||||||
|   | |||||||
| @@ -32,9 +32,9 @@ type Item struct { | |||||||
| 	// this ID will be an internal ID. In other words, outside of the use-case | 	// this ID will be an internal ID. In other words, outside of the use-case | ||||||
| 	// described above, the caller *must not* rely on this value to be | 	// described above, the caller *must not* rely on this value to be | ||||||
| 	// consistent with what they passed in. | 	// consistent with what they passed in. | ||||||
| 	ID string `sentinel:"" protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` | 	ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` | ||||||
| 	// message is the contents of the item | 	// message is the contents of the item | ||||||
| 	Message *anypb.Any `sentinel:"" protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` | 	Message *anypb.Any `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *Item) Reset() { | func (x *Item) Reset() { | ||||||
| @@ -95,11 +95,11 @@ type Bucket struct { | |||||||
| 	unknownFields protoimpl.UnknownFields | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
| 	// Key is the storage path where the bucket gets stored | 	// Key is the storage path where the bucket gets stored | ||||||
| 	Key string `sentinel:"" protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` | 	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` | ||||||
| 	// Items holds the items contained within this bucket. Used by v1. | 	// Items holds the items contained within this bucket. Used by v1. | ||||||
| 	Items []*Item `sentinel:"" protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"` | 	Items []*Item `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"` | ||||||
| 	// ItemMap stores a mapping of item ID to message. Used by v2. | 	// ItemMap stores a mapping of item ID to message. Used by v2. | ||||||
| 	ItemMap map[string]*anypb.Any `sentinel:"" protobuf:"bytes,3,rep,name=item_map,json=itemMap,proto3" json:"item_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | 	ItemMap map[string]*anypb.Any `protobuf:"bytes,3,rep,name=item_map,json=itemMap,proto3" json:"item_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *Bucket) Reset() { | func (x *Bucket) Reset() { | ||||||
|   | |||||||
| @@ -7,10 +7,6 @@ | |||||||
| package dbplugin | package dbplugin | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	context "context" |  | ||||||
| 	grpc "google.golang.org/grpc" |  | ||||||
| 	codes "google.golang.org/grpc/codes" |  | ||||||
| 	status "google.golang.org/grpc/status" |  | ||||||
| 	protoreflect "google.golang.org/protobuf/reflect/protoreflect" | 	protoreflect "google.golang.org/protobuf/reflect/protoreflect" | ||||||
| 	protoimpl "google.golang.org/protobuf/runtime/protoimpl" | 	protoimpl "google.golang.org/protobuf/runtime/protoimpl" | ||||||
| 	timestamppb "google.golang.org/protobuf/types/known/timestamppb" | 	timestamppb "google.golang.org/protobuf/types/known/timestamppb" | ||||||
| @@ -1467,410 +1463,3 @@ func file_sdk_database_dbplugin_database_proto_init() { | |||||||
| 	file_sdk_database_dbplugin_database_proto_goTypes = nil | 	file_sdk_database_dbplugin_database_proto_goTypes = nil | ||||||
| 	file_sdk_database_dbplugin_database_proto_depIdxs = nil | 	file_sdk_database_dbplugin_database_proto_depIdxs = nil | ||||||
| } | } | ||||||
|  |  | ||||||
| // Reference imports to suppress errors if they are not otherwise used. |  | ||||||
| var _ context.Context |  | ||||||
| var _ grpc.ClientConnInterface |  | ||||||
|  |  | ||||||
| // This is a compile-time assertion to ensure that this generated file |  | ||||||
| // is compatible with the grpc package it is being compiled against. |  | ||||||
| const _ = grpc.SupportPackageIsVersion6 |  | ||||||
|  |  | ||||||
| // DatabaseClient is the client API for Database service. |  | ||||||
| // |  | ||||||
| // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. |  | ||||||
| type DatabaseClient interface { |  | ||||||
| 	Type(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*TypeResponse, error) |  | ||||||
| 	CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*CreateUserResponse, error) |  | ||||||
| 	RenewUser(ctx context.Context, in *RenewUserRequest, opts ...grpc.CallOption) (*Empty, error) |  | ||||||
| 	RevokeUser(ctx context.Context, in *RevokeUserRequest, opts ...grpc.CallOption) (*Empty, error) |  | ||||||
| 	RotateRootCredentials(ctx context.Context, in *RotateRootCredentialsRequest, opts ...grpc.CallOption) (*RotateRootCredentialsResponse, error) |  | ||||||
| 	Init(ctx context.Context, in *InitRequest, opts ...grpc.CallOption) (*InitResponse, error) |  | ||||||
| 	Close(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) |  | ||||||
| 	SetCredentials(ctx context.Context, in *SetCredentialsRequest, opts ...grpc.CallOption) (*SetCredentialsResponse, error) |  | ||||||
| 	GenerateCredentials(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*GenerateCredentialsResponse, error) |  | ||||||
| 	// Deprecated: Do not use. |  | ||||||
| 	Initialize(ctx context.Context, in *InitializeRequest, opts ...grpc.CallOption) (*Empty, error) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type databaseClient struct { |  | ||||||
| 	cc grpc.ClientConnInterface |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func NewDatabaseClient(cc grpc.ClientConnInterface) DatabaseClient { |  | ||||||
| 	return &databaseClient{cc} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *databaseClient) Type(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*TypeResponse, error) { |  | ||||||
| 	out := new(TypeResponse) |  | ||||||
| 	err := c.cc.Invoke(ctx, "/dbplugin.Database/Type", in, out, opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return out, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *databaseClient) CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*CreateUserResponse, error) { |  | ||||||
| 	out := new(CreateUserResponse) |  | ||||||
| 	err := c.cc.Invoke(ctx, "/dbplugin.Database/CreateUser", in, out, opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return out, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *databaseClient) RenewUser(ctx context.Context, in *RenewUserRequest, opts ...grpc.CallOption) (*Empty, error) { |  | ||||||
| 	out := new(Empty) |  | ||||||
| 	err := c.cc.Invoke(ctx, "/dbplugin.Database/RenewUser", in, out, opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return out, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *databaseClient) RevokeUser(ctx context.Context, in *RevokeUserRequest, opts ...grpc.CallOption) (*Empty, error) { |  | ||||||
| 	out := new(Empty) |  | ||||||
| 	err := c.cc.Invoke(ctx, "/dbplugin.Database/RevokeUser", in, out, opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return out, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *databaseClient) RotateRootCredentials(ctx context.Context, in *RotateRootCredentialsRequest, opts ...grpc.CallOption) (*RotateRootCredentialsResponse, error) { |  | ||||||
| 	out := new(RotateRootCredentialsResponse) |  | ||||||
| 	err := c.cc.Invoke(ctx, "/dbplugin.Database/RotateRootCredentials", in, out, opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return out, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *databaseClient) Init(ctx context.Context, in *InitRequest, opts ...grpc.CallOption) (*InitResponse, error) { |  | ||||||
| 	out := new(InitResponse) |  | ||||||
| 	err := c.cc.Invoke(ctx, "/dbplugin.Database/Init", in, out, opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return out, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *databaseClient) Close(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) { |  | ||||||
| 	out := new(Empty) |  | ||||||
| 	err := c.cc.Invoke(ctx, "/dbplugin.Database/Close", in, out, opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return out, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *databaseClient) SetCredentials(ctx context.Context, in *SetCredentialsRequest, opts ...grpc.CallOption) (*SetCredentialsResponse, error) { |  | ||||||
| 	out := new(SetCredentialsResponse) |  | ||||||
| 	err := c.cc.Invoke(ctx, "/dbplugin.Database/SetCredentials", in, out, opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return out, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *databaseClient) GenerateCredentials(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*GenerateCredentialsResponse, error) { |  | ||||||
| 	out := new(GenerateCredentialsResponse) |  | ||||||
| 	err := c.cc.Invoke(ctx, "/dbplugin.Database/GenerateCredentials", in, out, opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return out, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // Deprecated: Do not use. |  | ||||||
| func (c *databaseClient) Initialize(ctx context.Context, in *InitializeRequest, opts ...grpc.CallOption) (*Empty, error) { |  | ||||||
| 	out := new(Empty) |  | ||||||
| 	err := c.cc.Invoke(ctx, "/dbplugin.Database/Initialize", in, out, opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return out, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // DatabaseServer is the server API for Database service. |  | ||||||
| type DatabaseServer interface { |  | ||||||
| 	Type(context.Context, *Empty) (*TypeResponse, error) |  | ||||||
| 	CreateUser(context.Context, *CreateUserRequest) (*CreateUserResponse, error) |  | ||||||
| 	RenewUser(context.Context, *RenewUserRequest) (*Empty, error) |  | ||||||
| 	RevokeUser(context.Context, *RevokeUserRequest) (*Empty, error) |  | ||||||
| 	RotateRootCredentials(context.Context, *RotateRootCredentialsRequest) (*RotateRootCredentialsResponse, error) |  | ||||||
| 	Init(context.Context, *InitRequest) (*InitResponse, error) |  | ||||||
| 	Close(context.Context, *Empty) (*Empty, error) |  | ||||||
| 	SetCredentials(context.Context, *SetCredentialsRequest) (*SetCredentialsResponse, error) |  | ||||||
| 	GenerateCredentials(context.Context, *Empty) (*GenerateCredentialsResponse, error) |  | ||||||
| 	// Deprecated: Do not use. |  | ||||||
| 	Initialize(context.Context, *InitializeRequest) (*Empty, error) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // UnimplementedDatabaseServer can be embedded to have forward compatible implementations. |  | ||||||
| type UnimplementedDatabaseServer struct { |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (*UnimplementedDatabaseServer) Type(context.Context, *Empty) (*TypeResponse, error) { |  | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method Type not implemented") |  | ||||||
| } |  | ||||||
| func (*UnimplementedDatabaseServer) CreateUser(context.Context, *CreateUserRequest) (*CreateUserResponse, error) { |  | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method CreateUser not implemented") |  | ||||||
| } |  | ||||||
| func (*UnimplementedDatabaseServer) RenewUser(context.Context, *RenewUserRequest) (*Empty, error) { |  | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method RenewUser not implemented") |  | ||||||
| } |  | ||||||
| func (*UnimplementedDatabaseServer) RevokeUser(context.Context, *RevokeUserRequest) (*Empty, error) { |  | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method RevokeUser not implemented") |  | ||||||
| } |  | ||||||
| func (*UnimplementedDatabaseServer) RotateRootCredentials(context.Context, *RotateRootCredentialsRequest) (*RotateRootCredentialsResponse, error) { |  | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method RotateRootCredentials not implemented") |  | ||||||
| } |  | ||||||
| func (*UnimplementedDatabaseServer) Init(context.Context, *InitRequest) (*InitResponse, error) { |  | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method Init not implemented") |  | ||||||
| } |  | ||||||
| func (*UnimplementedDatabaseServer) Close(context.Context, *Empty) (*Empty, error) { |  | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method Close not implemented") |  | ||||||
| } |  | ||||||
| func (*UnimplementedDatabaseServer) SetCredentials(context.Context, *SetCredentialsRequest) (*SetCredentialsResponse, error) { |  | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method SetCredentials not implemented") |  | ||||||
| } |  | ||||||
| func (*UnimplementedDatabaseServer) GenerateCredentials(context.Context, *Empty) (*GenerateCredentialsResponse, error) { |  | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method GenerateCredentials not implemented") |  | ||||||
| } |  | ||||||
| func (*UnimplementedDatabaseServer) Initialize(context.Context, *InitializeRequest) (*Empty, error) { |  | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method Initialize not implemented") |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func RegisterDatabaseServer(s *grpc.Server, srv DatabaseServer) { |  | ||||||
| 	s.RegisterService(&_Database_serviceDesc, srv) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _Database_Type_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |  | ||||||
| 	in := new(Empty) |  | ||||||
| 	if err := dec(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if interceptor == nil { |  | ||||||
| 		return srv.(DatabaseServer).Type(ctx, in) |  | ||||||
| 	} |  | ||||||
| 	info := &grpc.UnaryServerInfo{ |  | ||||||
| 		Server:     srv, |  | ||||||
| 		FullMethod: "/dbplugin.Database/Type", |  | ||||||
| 	} |  | ||||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { |  | ||||||
| 		return srv.(DatabaseServer).Type(ctx, req.(*Empty)) |  | ||||||
| 	} |  | ||||||
| 	return interceptor(ctx, in, info, handler) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _Database_CreateUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |  | ||||||
| 	in := new(CreateUserRequest) |  | ||||||
| 	if err := dec(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if interceptor == nil { |  | ||||||
| 		return srv.(DatabaseServer).CreateUser(ctx, in) |  | ||||||
| 	} |  | ||||||
| 	info := &grpc.UnaryServerInfo{ |  | ||||||
| 		Server:     srv, |  | ||||||
| 		FullMethod: "/dbplugin.Database/CreateUser", |  | ||||||
| 	} |  | ||||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { |  | ||||||
| 		return srv.(DatabaseServer).CreateUser(ctx, req.(*CreateUserRequest)) |  | ||||||
| 	} |  | ||||||
| 	return interceptor(ctx, in, info, handler) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _Database_RenewUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |  | ||||||
| 	in := new(RenewUserRequest) |  | ||||||
| 	if err := dec(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if interceptor == nil { |  | ||||||
| 		return srv.(DatabaseServer).RenewUser(ctx, in) |  | ||||||
| 	} |  | ||||||
| 	info := &grpc.UnaryServerInfo{ |  | ||||||
| 		Server:     srv, |  | ||||||
| 		FullMethod: "/dbplugin.Database/RenewUser", |  | ||||||
| 	} |  | ||||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { |  | ||||||
| 		return srv.(DatabaseServer).RenewUser(ctx, req.(*RenewUserRequest)) |  | ||||||
| 	} |  | ||||||
| 	return interceptor(ctx, in, info, handler) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _Database_RevokeUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |  | ||||||
| 	in := new(RevokeUserRequest) |  | ||||||
| 	if err := dec(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if interceptor == nil { |  | ||||||
| 		return srv.(DatabaseServer).RevokeUser(ctx, in) |  | ||||||
| 	} |  | ||||||
| 	info := &grpc.UnaryServerInfo{ |  | ||||||
| 		Server:     srv, |  | ||||||
| 		FullMethod: "/dbplugin.Database/RevokeUser", |  | ||||||
| 	} |  | ||||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { |  | ||||||
| 		return srv.(DatabaseServer).RevokeUser(ctx, req.(*RevokeUserRequest)) |  | ||||||
| 	} |  | ||||||
| 	return interceptor(ctx, in, info, handler) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _Database_RotateRootCredentials_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |  | ||||||
| 	in := new(RotateRootCredentialsRequest) |  | ||||||
| 	if err := dec(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if interceptor == nil { |  | ||||||
| 		return srv.(DatabaseServer).RotateRootCredentials(ctx, in) |  | ||||||
| 	} |  | ||||||
| 	info := &grpc.UnaryServerInfo{ |  | ||||||
| 		Server:     srv, |  | ||||||
| 		FullMethod: "/dbplugin.Database/RotateRootCredentials", |  | ||||||
| 	} |  | ||||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { |  | ||||||
| 		return srv.(DatabaseServer).RotateRootCredentials(ctx, req.(*RotateRootCredentialsRequest)) |  | ||||||
| 	} |  | ||||||
| 	return interceptor(ctx, in, info, handler) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _Database_Init_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |  | ||||||
| 	in := new(InitRequest) |  | ||||||
| 	if err := dec(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if interceptor == nil { |  | ||||||
| 		return srv.(DatabaseServer).Init(ctx, in) |  | ||||||
| 	} |  | ||||||
| 	info := &grpc.UnaryServerInfo{ |  | ||||||
| 		Server:     srv, |  | ||||||
| 		FullMethod: "/dbplugin.Database/Init", |  | ||||||
| 	} |  | ||||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { |  | ||||||
| 		return srv.(DatabaseServer).Init(ctx, req.(*InitRequest)) |  | ||||||
| 	} |  | ||||||
| 	return interceptor(ctx, in, info, handler) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _Database_Close_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |  | ||||||
| 	in := new(Empty) |  | ||||||
| 	if err := dec(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if interceptor == nil { |  | ||||||
| 		return srv.(DatabaseServer).Close(ctx, in) |  | ||||||
| 	} |  | ||||||
| 	info := &grpc.UnaryServerInfo{ |  | ||||||
| 		Server:     srv, |  | ||||||
| 		FullMethod: "/dbplugin.Database/Close", |  | ||||||
| 	} |  | ||||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { |  | ||||||
| 		return srv.(DatabaseServer).Close(ctx, req.(*Empty)) |  | ||||||
| 	} |  | ||||||
| 	return interceptor(ctx, in, info, handler) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _Database_SetCredentials_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |  | ||||||
| 	in := new(SetCredentialsRequest) |  | ||||||
| 	if err := dec(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if interceptor == nil { |  | ||||||
| 		return srv.(DatabaseServer).SetCredentials(ctx, in) |  | ||||||
| 	} |  | ||||||
| 	info := &grpc.UnaryServerInfo{ |  | ||||||
| 		Server:     srv, |  | ||||||
| 		FullMethod: "/dbplugin.Database/SetCredentials", |  | ||||||
| 	} |  | ||||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { |  | ||||||
| 		return srv.(DatabaseServer).SetCredentials(ctx, req.(*SetCredentialsRequest)) |  | ||||||
| 	} |  | ||||||
| 	return interceptor(ctx, in, info, handler) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _Database_GenerateCredentials_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |  | ||||||
| 	in := new(Empty) |  | ||||||
| 	if err := dec(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if interceptor == nil { |  | ||||||
| 		return srv.(DatabaseServer).GenerateCredentials(ctx, in) |  | ||||||
| 	} |  | ||||||
| 	info := &grpc.UnaryServerInfo{ |  | ||||||
| 		Server:     srv, |  | ||||||
| 		FullMethod: "/dbplugin.Database/GenerateCredentials", |  | ||||||
| 	} |  | ||||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { |  | ||||||
| 		return srv.(DatabaseServer).GenerateCredentials(ctx, req.(*Empty)) |  | ||||||
| 	} |  | ||||||
| 	return interceptor(ctx, in, info, handler) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _Database_Initialize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |  | ||||||
| 	in := new(InitializeRequest) |  | ||||||
| 	if err := dec(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if interceptor == nil { |  | ||||||
| 		return srv.(DatabaseServer).Initialize(ctx, in) |  | ||||||
| 	} |  | ||||||
| 	info := &grpc.UnaryServerInfo{ |  | ||||||
| 		Server:     srv, |  | ||||||
| 		FullMethod: "/dbplugin.Database/Initialize", |  | ||||||
| 	} |  | ||||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { |  | ||||||
| 		return srv.(DatabaseServer).Initialize(ctx, req.(*InitializeRequest)) |  | ||||||
| 	} |  | ||||||
| 	return interceptor(ctx, in, info, handler) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| var _Database_serviceDesc = grpc.ServiceDesc{ |  | ||||||
| 	ServiceName: "dbplugin.Database", |  | ||||||
| 	HandlerType: (*DatabaseServer)(nil), |  | ||||||
| 	Methods: []grpc.MethodDesc{ |  | ||||||
| 		{ |  | ||||||
| 			MethodName: "Type", |  | ||||||
| 			Handler:    _Database_Type_Handler, |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			MethodName: "CreateUser", |  | ||||||
| 			Handler:    _Database_CreateUser_Handler, |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			MethodName: "RenewUser", |  | ||||||
| 			Handler:    _Database_RenewUser_Handler, |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			MethodName: "RevokeUser", |  | ||||||
| 			Handler:    _Database_RevokeUser_Handler, |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			MethodName: "RotateRootCredentials", |  | ||||||
| 			Handler:    _Database_RotateRootCredentials_Handler, |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			MethodName: "Init", |  | ||||||
| 			Handler:    _Database_Init_Handler, |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			MethodName: "Close", |  | ||||||
| 			Handler:    _Database_Close_Handler, |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			MethodName: "SetCredentials", |  | ||||||
| 			Handler:    _Database_SetCredentials_Handler, |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			MethodName: "GenerateCredentials", |  | ||||||
| 			Handler:    _Database_GenerateCredentials_Handler, |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			MethodName: "Initialize", |  | ||||||
| 			Handler:    _Database_Initialize_Handler, |  | ||||||
| 		}, |  | ||||||
| 	}, |  | ||||||
| 	Streams:  []grpc.StreamDesc{}, |  | ||||||
| 	Metadata: "sdk/database/dbplugin/database.proto", |  | ||||||
| } |  | ||||||
|   | |||||||
							
								
								
									
										428
									
								
								sdk/database/dbplugin/database_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										428
									
								
								sdk/database/dbplugin/database_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,428 @@ | |||||||
|  | // Code generated by protoc-gen-go-grpc. DO NOT EDIT. | ||||||
|  |  | ||||||
|  | package dbplugin | ||||||
|  |  | ||||||
|  | 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.32.0 or later. | ||||||
|  | const _ = grpc.SupportPackageIsVersion7 | ||||||
|  |  | ||||||
|  | // DatabaseClient is the client API for Database 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 DatabaseClient interface { | ||||||
|  | 	Type(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*TypeResponse, error) | ||||||
|  | 	CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*CreateUserResponse, error) | ||||||
|  | 	RenewUser(ctx context.Context, in *RenewUserRequest, opts ...grpc.CallOption) (*Empty, error) | ||||||
|  | 	RevokeUser(ctx context.Context, in *RevokeUserRequest, opts ...grpc.CallOption) (*Empty, error) | ||||||
|  | 	RotateRootCredentials(ctx context.Context, in *RotateRootCredentialsRequest, opts ...grpc.CallOption) (*RotateRootCredentialsResponse, error) | ||||||
|  | 	Init(ctx context.Context, in *InitRequest, opts ...grpc.CallOption) (*InitResponse, error) | ||||||
|  | 	Close(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) | ||||||
|  | 	SetCredentials(ctx context.Context, in *SetCredentialsRequest, opts ...grpc.CallOption) (*SetCredentialsResponse, error) | ||||||
|  | 	GenerateCredentials(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*GenerateCredentialsResponse, error) | ||||||
|  | 	// Deprecated: Do not use. | ||||||
|  | 	Initialize(ctx context.Context, in *InitializeRequest, opts ...grpc.CallOption) (*Empty, error) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type databaseClient struct { | ||||||
|  | 	cc grpc.ClientConnInterface | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewDatabaseClient(cc grpc.ClientConnInterface) DatabaseClient { | ||||||
|  | 	return &databaseClient{cc} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *databaseClient) Type(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*TypeResponse, error) { | ||||||
|  | 	out := new(TypeResponse) | ||||||
|  | 	err := c.cc.Invoke(ctx, "/dbplugin.Database/Type", in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *databaseClient) CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*CreateUserResponse, error) { | ||||||
|  | 	out := new(CreateUserResponse) | ||||||
|  | 	err := c.cc.Invoke(ctx, "/dbplugin.Database/CreateUser", in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *databaseClient) RenewUser(ctx context.Context, in *RenewUserRequest, opts ...grpc.CallOption) (*Empty, error) { | ||||||
|  | 	out := new(Empty) | ||||||
|  | 	err := c.cc.Invoke(ctx, "/dbplugin.Database/RenewUser", in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *databaseClient) RevokeUser(ctx context.Context, in *RevokeUserRequest, opts ...grpc.CallOption) (*Empty, error) { | ||||||
|  | 	out := new(Empty) | ||||||
|  | 	err := c.cc.Invoke(ctx, "/dbplugin.Database/RevokeUser", in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *databaseClient) RotateRootCredentials(ctx context.Context, in *RotateRootCredentialsRequest, opts ...grpc.CallOption) (*RotateRootCredentialsResponse, error) { | ||||||
|  | 	out := new(RotateRootCredentialsResponse) | ||||||
|  | 	err := c.cc.Invoke(ctx, "/dbplugin.Database/RotateRootCredentials", in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *databaseClient) Init(ctx context.Context, in *InitRequest, opts ...grpc.CallOption) (*InitResponse, error) { | ||||||
|  | 	out := new(InitResponse) | ||||||
|  | 	err := c.cc.Invoke(ctx, "/dbplugin.Database/Init", in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *databaseClient) Close(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) { | ||||||
|  | 	out := new(Empty) | ||||||
|  | 	err := c.cc.Invoke(ctx, "/dbplugin.Database/Close", in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *databaseClient) SetCredentials(ctx context.Context, in *SetCredentialsRequest, opts ...grpc.CallOption) (*SetCredentialsResponse, error) { | ||||||
|  | 	out := new(SetCredentialsResponse) | ||||||
|  | 	err := c.cc.Invoke(ctx, "/dbplugin.Database/SetCredentials", in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *databaseClient) GenerateCredentials(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*GenerateCredentialsResponse, error) { | ||||||
|  | 	out := new(GenerateCredentialsResponse) | ||||||
|  | 	err := c.cc.Invoke(ctx, "/dbplugin.Database/GenerateCredentials", in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Deprecated: Do not use. | ||||||
|  | func (c *databaseClient) Initialize(ctx context.Context, in *InitializeRequest, opts ...grpc.CallOption) (*Empty, error) { | ||||||
|  | 	out := new(Empty) | ||||||
|  | 	err := c.cc.Invoke(ctx, "/dbplugin.Database/Initialize", in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // DatabaseServer is the server API for Database service. | ||||||
|  | // All implementations must embed UnimplementedDatabaseServer | ||||||
|  | // for forward compatibility | ||||||
|  | type DatabaseServer interface { | ||||||
|  | 	Type(context.Context, *Empty) (*TypeResponse, error) | ||||||
|  | 	CreateUser(context.Context, *CreateUserRequest) (*CreateUserResponse, error) | ||||||
|  | 	RenewUser(context.Context, *RenewUserRequest) (*Empty, error) | ||||||
|  | 	RevokeUser(context.Context, *RevokeUserRequest) (*Empty, error) | ||||||
|  | 	RotateRootCredentials(context.Context, *RotateRootCredentialsRequest) (*RotateRootCredentialsResponse, error) | ||||||
|  | 	Init(context.Context, *InitRequest) (*InitResponse, error) | ||||||
|  | 	Close(context.Context, *Empty) (*Empty, error) | ||||||
|  | 	SetCredentials(context.Context, *SetCredentialsRequest) (*SetCredentialsResponse, error) | ||||||
|  | 	GenerateCredentials(context.Context, *Empty) (*GenerateCredentialsResponse, error) | ||||||
|  | 	// Deprecated: Do not use. | ||||||
|  | 	Initialize(context.Context, *InitializeRequest) (*Empty, error) | ||||||
|  | 	mustEmbedUnimplementedDatabaseServer() | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // UnimplementedDatabaseServer must be embedded to have forward compatible implementations. | ||||||
|  | type UnimplementedDatabaseServer struct { | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (UnimplementedDatabaseServer) Type(context.Context, *Empty) (*TypeResponse, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method Type not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedDatabaseServer) CreateUser(context.Context, *CreateUserRequest) (*CreateUserResponse, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method CreateUser not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedDatabaseServer) RenewUser(context.Context, *RenewUserRequest) (*Empty, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method RenewUser not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedDatabaseServer) RevokeUser(context.Context, *RevokeUserRequest) (*Empty, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method RevokeUser not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedDatabaseServer) RotateRootCredentials(context.Context, *RotateRootCredentialsRequest) (*RotateRootCredentialsResponse, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method RotateRootCredentials not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedDatabaseServer) Init(context.Context, *InitRequest) (*InitResponse, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method Init not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedDatabaseServer) Close(context.Context, *Empty) (*Empty, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method Close not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedDatabaseServer) SetCredentials(context.Context, *SetCredentialsRequest) (*SetCredentialsResponse, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method SetCredentials not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedDatabaseServer) GenerateCredentials(context.Context, *Empty) (*GenerateCredentialsResponse, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method GenerateCredentials not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedDatabaseServer) Initialize(context.Context, *InitializeRequest) (*Empty, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method Initialize not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedDatabaseServer) mustEmbedUnimplementedDatabaseServer() {} | ||||||
|  |  | ||||||
|  | // UnsafeDatabaseServer may be embedded to opt out of forward compatibility for this service. | ||||||
|  | // Use of this interface is not recommended, as added methods to DatabaseServer will | ||||||
|  | // result in compilation errors. | ||||||
|  | type UnsafeDatabaseServer interface { | ||||||
|  | 	mustEmbedUnimplementedDatabaseServer() | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func RegisterDatabaseServer(s grpc.ServiceRegistrar, srv DatabaseServer) { | ||||||
|  | 	s.RegisterService(&Database_ServiceDesc, srv) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _Database_Type_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(Empty) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(DatabaseServer).Type(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: "/dbplugin.Database/Type", | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(DatabaseServer).Type(ctx, req.(*Empty)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _Database_CreateUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(CreateUserRequest) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(DatabaseServer).CreateUser(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: "/dbplugin.Database/CreateUser", | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(DatabaseServer).CreateUser(ctx, req.(*CreateUserRequest)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _Database_RenewUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(RenewUserRequest) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(DatabaseServer).RenewUser(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: "/dbplugin.Database/RenewUser", | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(DatabaseServer).RenewUser(ctx, req.(*RenewUserRequest)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _Database_RevokeUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(RevokeUserRequest) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(DatabaseServer).RevokeUser(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: "/dbplugin.Database/RevokeUser", | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(DatabaseServer).RevokeUser(ctx, req.(*RevokeUserRequest)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _Database_RotateRootCredentials_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(RotateRootCredentialsRequest) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(DatabaseServer).RotateRootCredentials(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: "/dbplugin.Database/RotateRootCredentials", | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(DatabaseServer).RotateRootCredentials(ctx, req.(*RotateRootCredentialsRequest)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _Database_Init_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(InitRequest) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(DatabaseServer).Init(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: "/dbplugin.Database/Init", | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(DatabaseServer).Init(ctx, req.(*InitRequest)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _Database_Close_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(Empty) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(DatabaseServer).Close(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: "/dbplugin.Database/Close", | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(DatabaseServer).Close(ctx, req.(*Empty)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _Database_SetCredentials_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(SetCredentialsRequest) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(DatabaseServer).SetCredentials(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: "/dbplugin.Database/SetCredentials", | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(DatabaseServer).SetCredentials(ctx, req.(*SetCredentialsRequest)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _Database_GenerateCredentials_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(Empty) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(DatabaseServer).GenerateCredentials(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: "/dbplugin.Database/GenerateCredentials", | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(DatabaseServer).GenerateCredentials(ctx, req.(*Empty)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _Database_Initialize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(InitializeRequest) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(DatabaseServer).Initialize(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: "/dbplugin.Database/Initialize", | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(DatabaseServer).Initialize(ctx, req.(*InitializeRequest)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Database_ServiceDesc is the grpc.ServiceDesc for Database service. | ||||||
|  | // It's only intended for direct use with grpc.RegisterService, | ||||||
|  | // and not to be introspected or modified (even as a copy) | ||||||
|  | var Database_ServiceDesc = grpc.ServiceDesc{ | ||||||
|  | 	ServiceName: "dbplugin.Database", | ||||||
|  | 	HandlerType: (*DatabaseServer)(nil), | ||||||
|  | 	Methods: []grpc.MethodDesc{ | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "Type", | ||||||
|  | 			Handler:    _Database_Type_Handler, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "CreateUser", | ||||||
|  | 			Handler:    _Database_CreateUser_Handler, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "RenewUser", | ||||||
|  | 			Handler:    _Database_RenewUser_Handler, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "RevokeUser", | ||||||
|  | 			Handler:    _Database_RevokeUser_Handler, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "RotateRootCredentials", | ||||||
|  | 			Handler:    _Database_RotateRootCredentials_Handler, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "Init", | ||||||
|  | 			Handler:    _Database_Init_Handler, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "Close", | ||||||
|  | 			Handler:    _Database_Close_Handler, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "SetCredentials", | ||||||
|  | 			Handler:    _Database_SetCredentials_Handler, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "GenerateCredentials", | ||||||
|  | 			Handler:    _Database_GenerateCredentials_Handler, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "Initialize", | ||||||
|  | 			Handler:    _Database_Initialize_Handler, | ||||||
|  | 		}, | ||||||
|  | 	}, | ||||||
|  | 	Streams:  []grpc.StreamDesc{}, | ||||||
|  | 	Metadata: "sdk/database/dbplugin/database.proto", | ||||||
|  | } | ||||||
| @@ -22,6 +22,8 @@ var ( | |||||||
| // ---- gRPC Server domain ---- | // ---- gRPC Server domain ---- | ||||||
|  |  | ||||||
| type gRPCServer struct { | type gRPCServer struct { | ||||||
|  | 	UnimplementedDatabaseServer | ||||||
|  |  | ||||||
| 	impl Database | 	impl Database | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -14,6 +14,8 @@ import ( | |||||||
| var _ proto.DatabaseServer = gRPCServer{} | var _ proto.DatabaseServer = gRPCServer{} | ||||||
|  |  | ||||||
| type gRPCServer struct { | type gRPCServer struct { | ||||||
|  | 	proto.UnimplementedDatabaseServer | ||||||
|  |  | ||||||
| 	impl Database | 	impl Database | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -7,10 +7,6 @@ | |||||||
| package proto | package proto | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	context "context" |  | ||||||
| 	grpc "google.golang.org/grpc" |  | ||||||
| 	codes "google.golang.org/grpc/codes" |  | ||||||
| 	status "google.golang.org/grpc/status" |  | ||||||
| 	protoreflect "google.golang.org/protobuf/reflect/protoreflect" | 	protoreflect "google.golang.org/protobuf/reflect/protoreflect" | ||||||
| 	protoimpl "google.golang.org/protobuf/runtime/protoimpl" | 	protoimpl "google.golang.org/protobuf/runtime/protoimpl" | ||||||
| 	structpb "google.golang.org/protobuf/types/known/structpb" | 	structpb "google.golang.org/protobuf/types/known/structpb" | ||||||
| @@ -1142,263 +1138,3 @@ func file_sdk_database_dbplugin_v5_proto_database_proto_init() { | |||||||
| 	file_sdk_database_dbplugin_v5_proto_database_proto_goTypes = nil | 	file_sdk_database_dbplugin_v5_proto_database_proto_goTypes = nil | ||||||
| 	file_sdk_database_dbplugin_v5_proto_database_proto_depIdxs = nil | 	file_sdk_database_dbplugin_v5_proto_database_proto_depIdxs = nil | ||||||
| } | } | ||||||
|  |  | ||||||
| // Reference imports to suppress errors if they are not otherwise used. |  | ||||||
| var _ context.Context |  | ||||||
| var _ grpc.ClientConnInterface |  | ||||||
|  |  | ||||||
| // This is a compile-time assertion to ensure that this generated file |  | ||||||
| // is compatible with the grpc package it is being compiled against. |  | ||||||
| const _ = grpc.SupportPackageIsVersion6 |  | ||||||
|  |  | ||||||
| // DatabaseClient is the client API for Database service. |  | ||||||
| // |  | ||||||
| // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. |  | ||||||
| type DatabaseClient interface { |  | ||||||
| 	Initialize(ctx context.Context, in *InitializeRequest, opts ...grpc.CallOption) (*InitializeResponse, error) |  | ||||||
| 	NewUser(ctx context.Context, in *NewUserRequest, opts ...grpc.CallOption) (*NewUserResponse, error) |  | ||||||
| 	UpdateUser(ctx context.Context, in *UpdateUserRequest, opts ...grpc.CallOption) (*UpdateUserResponse, error) |  | ||||||
| 	DeleteUser(ctx context.Context, in *DeleteUserRequest, opts ...grpc.CallOption) (*DeleteUserResponse, error) |  | ||||||
| 	Type(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*TypeResponse, error) |  | ||||||
| 	Close(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type databaseClient struct { |  | ||||||
| 	cc grpc.ClientConnInterface |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func NewDatabaseClient(cc grpc.ClientConnInterface) DatabaseClient { |  | ||||||
| 	return &databaseClient{cc} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *databaseClient) Initialize(ctx context.Context, in *InitializeRequest, opts ...grpc.CallOption) (*InitializeResponse, error) { |  | ||||||
| 	out := new(InitializeResponse) |  | ||||||
| 	err := c.cc.Invoke(ctx, "/dbplugin.v5.Database/Initialize", in, out, opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return out, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *databaseClient) NewUser(ctx context.Context, in *NewUserRequest, opts ...grpc.CallOption) (*NewUserResponse, error) { |  | ||||||
| 	out := new(NewUserResponse) |  | ||||||
| 	err := c.cc.Invoke(ctx, "/dbplugin.v5.Database/NewUser", in, out, opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return out, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *databaseClient) UpdateUser(ctx context.Context, in *UpdateUserRequest, opts ...grpc.CallOption) (*UpdateUserResponse, error) { |  | ||||||
| 	out := new(UpdateUserResponse) |  | ||||||
| 	err := c.cc.Invoke(ctx, "/dbplugin.v5.Database/UpdateUser", in, out, opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return out, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *databaseClient) DeleteUser(ctx context.Context, in *DeleteUserRequest, opts ...grpc.CallOption) (*DeleteUserResponse, error) { |  | ||||||
| 	out := new(DeleteUserResponse) |  | ||||||
| 	err := c.cc.Invoke(ctx, "/dbplugin.v5.Database/DeleteUser", in, out, opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return out, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *databaseClient) Type(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*TypeResponse, error) { |  | ||||||
| 	out := new(TypeResponse) |  | ||||||
| 	err := c.cc.Invoke(ctx, "/dbplugin.v5.Database/Type", in, out, opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return out, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *databaseClient) Close(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) { |  | ||||||
| 	out := new(Empty) |  | ||||||
| 	err := c.cc.Invoke(ctx, "/dbplugin.v5.Database/Close", in, out, opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return out, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // DatabaseServer is the server API for Database service. |  | ||||||
| type DatabaseServer interface { |  | ||||||
| 	Initialize(context.Context, *InitializeRequest) (*InitializeResponse, error) |  | ||||||
| 	NewUser(context.Context, *NewUserRequest) (*NewUserResponse, error) |  | ||||||
| 	UpdateUser(context.Context, *UpdateUserRequest) (*UpdateUserResponse, error) |  | ||||||
| 	DeleteUser(context.Context, *DeleteUserRequest) (*DeleteUserResponse, error) |  | ||||||
| 	Type(context.Context, *Empty) (*TypeResponse, error) |  | ||||||
| 	Close(context.Context, *Empty) (*Empty, error) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // UnimplementedDatabaseServer can be embedded to have forward compatible implementations. |  | ||||||
| type UnimplementedDatabaseServer struct { |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (*UnimplementedDatabaseServer) Initialize(context.Context, *InitializeRequest) (*InitializeResponse, error) { |  | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method Initialize not implemented") |  | ||||||
| } |  | ||||||
| func (*UnimplementedDatabaseServer) NewUser(context.Context, *NewUserRequest) (*NewUserResponse, error) { |  | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method NewUser not implemented") |  | ||||||
| } |  | ||||||
| func (*UnimplementedDatabaseServer) UpdateUser(context.Context, *UpdateUserRequest) (*UpdateUserResponse, error) { |  | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method UpdateUser not implemented") |  | ||||||
| } |  | ||||||
| func (*UnimplementedDatabaseServer) DeleteUser(context.Context, *DeleteUserRequest) (*DeleteUserResponse, error) { |  | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method DeleteUser not implemented") |  | ||||||
| } |  | ||||||
| func (*UnimplementedDatabaseServer) Type(context.Context, *Empty) (*TypeResponse, error) { |  | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method Type not implemented") |  | ||||||
| } |  | ||||||
| func (*UnimplementedDatabaseServer) Close(context.Context, *Empty) (*Empty, error) { |  | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method Close not implemented") |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func RegisterDatabaseServer(s *grpc.Server, srv DatabaseServer) { |  | ||||||
| 	s.RegisterService(&_Database_serviceDesc, srv) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _Database_Initialize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |  | ||||||
| 	in := new(InitializeRequest) |  | ||||||
| 	if err := dec(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if interceptor == nil { |  | ||||||
| 		return srv.(DatabaseServer).Initialize(ctx, in) |  | ||||||
| 	} |  | ||||||
| 	info := &grpc.UnaryServerInfo{ |  | ||||||
| 		Server:     srv, |  | ||||||
| 		FullMethod: "/dbplugin.v5.Database/Initialize", |  | ||||||
| 	} |  | ||||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { |  | ||||||
| 		return srv.(DatabaseServer).Initialize(ctx, req.(*InitializeRequest)) |  | ||||||
| 	} |  | ||||||
| 	return interceptor(ctx, in, info, handler) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _Database_NewUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |  | ||||||
| 	in := new(NewUserRequest) |  | ||||||
| 	if err := dec(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if interceptor == nil { |  | ||||||
| 		return srv.(DatabaseServer).NewUser(ctx, in) |  | ||||||
| 	} |  | ||||||
| 	info := &grpc.UnaryServerInfo{ |  | ||||||
| 		Server:     srv, |  | ||||||
| 		FullMethod: "/dbplugin.v5.Database/NewUser", |  | ||||||
| 	} |  | ||||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { |  | ||||||
| 		return srv.(DatabaseServer).NewUser(ctx, req.(*NewUserRequest)) |  | ||||||
| 	} |  | ||||||
| 	return interceptor(ctx, in, info, handler) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _Database_UpdateUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |  | ||||||
| 	in := new(UpdateUserRequest) |  | ||||||
| 	if err := dec(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if interceptor == nil { |  | ||||||
| 		return srv.(DatabaseServer).UpdateUser(ctx, in) |  | ||||||
| 	} |  | ||||||
| 	info := &grpc.UnaryServerInfo{ |  | ||||||
| 		Server:     srv, |  | ||||||
| 		FullMethod: "/dbplugin.v5.Database/UpdateUser", |  | ||||||
| 	} |  | ||||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { |  | ||||||
| 		return srv.(DatabaseServer).UpdateUser(ctx, req.(*UpdateUserRequest)) |  | ||||||
| 	} |  | ||||||
| 	return interceptor(ctx, in, info, handler) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _Database_DeleteUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |  | ||||||
| 	in := new(DeleteUserRequest) |  | ||||||
| 	if err := dec(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if interceptor == nil { |  | ||||||
| 		return srv.(DatabaseServer).DeleteUser(ctx, in) |  | ||||||
| 	} |  | ||||||
| 	info := &grpc.UnaryServerInfo{ |  | ||||||
| 		Server:     srv, |  | ||||||
| 		FullMethod: "/dbplugin.v5.Database/DeleteUser", |  | ||||||
| 	} |  | ||||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { |  | ||||||
| 		return srv.(DatabaseServer).DeleteUser(ctx, req.(*DeleteUserRequest)) |  | ||||||
| 	} |  | ||||||
| 	return interceptor(ctx, in, info, handler) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _Database_Type_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |  | ||||||
| 	in := new(Empty) |  | ||||||
| 	if err := dec(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if interceptor == nil { |  | ||||||
| 		return srv.(DatabaseServer).Type(ctx, in) |  | ||||||
| 	} |  | ||||||
| 	info := &grpc.UnaryServerInfo{ |  | ||||||
| 		Server:     srv, |  | ||||||
| 		FullMethod: "/dbplugin.v5.Database/Type", |  | ||||||
| 	} |  | ||||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { |  | ||||||
| 		return srv.(DatabaseServer).Type(ctx, req.(*Empty)) |  | ||||||
| 	} |  | ||||||
| 	return interceptor(ctx, in, info, handler) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _Database_Close_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |  | ||||||
| 	in := new(Empty) |  | ||||||
| 	if err := dec(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if interceptor == nil { |  | ||||||
| 		return srv.(DatabaseServer).Close(ctx, in) |  | ||||||
| 	} |  | ||||||
| 	info := &grpc.UnaryServerInfo{ |  | ||||||
| 		Server:     srv, |  | ||||||
| 		FullMethod: "/dbplugin.v5.Database/Close", |  | ||||||
| 	} |  | ||||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { |  | ||||||
| 		return srv.(DatabaseServer).Close(ctx, req.(*Empty)) |  | ||||||
| 	} |  | ||||||
| 	return interceptor(ctx, in, info, handler) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| var _Database_serviceDesc = grpc.ServiceDesc{ |  | ||||||
| 	ServiceName: "dbplugin.v5.Database", |  | ||||||
| 	HandlerType: (*DatabaseServer)(nil), |  | ||||||
| 	Methods: []grpc.MethodDesc{ |  | ||||||
| 		{ |  | ||||||
| 			MethodName: "Initialize", |  | ||||||
| 			Handler:    _Database_Initialize_Handler, |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			MethodName: "NewUser", |  | ||||||
| 			Handler:    _Database_NewUser_Handler, |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			MethodName: "UpdateUser", |  | ||||||
| 			Handler:    _Database_UpdateUser_Handler, |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			MethodName: "DeleteUser", |  | ||||||
| 			Handler:    _Database_DeleteUser_Handler, |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			MethodName: "Type", |  | ||||||
| 			Handler:    _Database_Type_Handler, |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			MethodName: "Close", |  | ||||||
| 			Handler:    _Database_Close_Handler, |  | ||||||
| 		}, |  | ||||||
| 	}, |  | ||||||
| 	Streams:  []grpc.StreamDesc{}, |  | ||||||
| 	Metadata: "sdk/database/dbplugin/v5/proto/database.proto", |  | ||||||
| } |  | ||||||
|   | |||||||
							
								
								
									
										281
									
								
								sdk/database/dbplugin/v5/proto/database_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										281
									
								
								sdk/database/dbplugin/v5/proto/database_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,281 @@ | |||||||
|  | // Code generated by protoc-gen-go-grpc. DO NOT EDIT. | ||||||
|  |  | ||||||
|  | package proto | ||||||
|  |  | ||||||
|  | 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.32.0 or later. | ||||||
|  | const _ = grpc.SupportPackageIsVersion7 | ||||||
|  |  | ||||||
|  | // DatabaseClient is the client API for Database 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 DatabaseClient interface { | ||||||
|  | 	Initialize(ctx context.Context, in *InitializeRequest, opts ...grpc.CallOption) (*InitializeResponse, error) | ||||||
|  | 	NewUser(ctx context.Context, in *NewUserRequest, opts ...grpc.CallOption) (*NewUserResponse, error) | ||||||
|  | 	UpdateUser(ctx context.Context, in *UpdateUserRequest, opts ...grpc.CallOption) (*UpdateUserResponse, error) | ||||||
|  | 	DeleteUser(ctx context.Context, in *DeleteUserRequest, opts ...grpc.CallOption) (*DeleteUserResponse, error) | ||||||
|  | 	Type(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*TypeResponse, error) | ||||||
|  | 	Close(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type databaseClient struct { | ||||||
|  | 	cc grpc.ClientConnInterface | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewDatabaseClient(cc grpc.ClientConnInterface) DatabaseClient { | ||||||
|  | 	return &databaseClient{cc} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *databaseClient) Initialize(ctx context.Context, in *InitializeRequest, opts ...grpc.CallOption) (*InitializeResponse, error) { | ||||||
|  | 	out := new(InitializeResponse) | ||||||
|  | 	err := c.cc.Invoke(ctx, "/dbplugin.v5.Database/Initialize", in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *databaseClient) NewUser(ctx context.Context, in *NewUserRequest, opts ...grpc.CallOption) (*NewUserResponse, error) { | ||||||
|  | 	out := new(NewUserResponse) | ||||||
|  | 	err := c.cc.Invoke(ctx, "/dbplugin.v5.Database/NewUser", in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *databaseClient) UpdateUser(ctx context.Context, in *UpdateUserRequest, opts ...grpc.CallOption) (*UpdateUserResponse, error) { | ||||||
|  | 	out := new(UpdateUserResponse) | ||||||
|  | 	err := c.cc.Invoke(ctx, "/dbplugin.v5.Database/UpdateUser", in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *databaseClient) DeleteUser(ctx context.Context, in *DeleteUserRequest, opts ...grpc.CallOption) (*DeleteUserResponse, error) { | ||||||
|  | 	out := new(DeleteUserResponse) | ||||||
|  | 	err := c.cc.Invoke(ctx, "/dbplugin.v5.Database/DeleteUser", in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *databaseClient) Type(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*TypeResponse, error) { | ||||||
|  | 	out := new(TypeResponse) | ||||||
|  | 	err := c.cc.Invoke(ctx, "/dbplugin.v5.Database/Type", in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *databaseClient) Close(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) { | ||||||
|  | 	out := new(Empty) | ||||||
|  | 	err := c.cc.Invoke(ctx, "/dbplugin.v5.Database/Close", in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // DatabaseServer is the server API for Database service. | ||||||
|  | // All implementations must embed UnimplementedDatabaseServer | ||||||
|  | // for forward compatibility | ||||||
|  | type DatabaseServer interface { | ||||||
|  | 	Initialize(context.Context, *InitializeRequest) (*InitializeResponse, error) | ||||||
|  | 	NewUser(context.Context, *NewUserRequest) (*NewUserResponse, error) | ||||||
|  | 	UpdateUser(context.Context, *UpdateUserRequest) (*UpdateUserResponse, error) | ||||||
|  | 	DeleteUser(context.Context, *DeleteUserRequest) (*DeleteUserResponse, error) | ||||||
|  | 	Type(context.Context, *Empty) (*TypeResponse, error) | ||||||
|  | 	Close(context.Context, *Empty) (*Empty, error) | ||||||
|  | 	mustEmbedUnimplementedDatabaseServer() | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // UnimplementedDatabaseServer must be embedded to have forward compatible implementations. | ||||||
|  | type UnimplementedDatabaseServer struct { | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (UnimplementedDatabaseServer) Initialize(context.Context, *InitializeRequest) (*InitializeResponse, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method Initialize not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedDatabaseServer) NewUser(context.Context, *NewUserRequest) (*NewUserResponse, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method NewUser not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedDatabaseServer) UpdateUser(context.Context, *UpdateUserRequest) (*UpdateUserResponse, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method UpdateUser not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedDatabaseServer) DeleteUser(context.Context, *DeleteUserRequest) (*DeleteUserResponse, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method DeleteUser not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedDatabaseServer) Type(context.Context, *Empty) (*TypeResponse, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method Type not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedDatabaseServer) Close(context.Context, *Empty) (*Empty, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method Close not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedDatabaseServer) mustEmbedUnimplementedDatabaseServer() {} | ||||||
|  |  | ||||||
|  | // UnsafeDatabaseServer may be embedded to opt out of forward compatibility for this service. | ||||||
|  | // Use of this interface is not recommended, as added methods to DatabaseServer will | ||||||
|  | // result in compilation errors. | ||||||
|  | type UnsafeDatabaseServer interface { | ||||||
|  | 	mustEmbedUnimplementedDatabaseServer() | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func RegisterDatabaseServer(s grpc.ServiceRegistrar, srv DatabaseServer) { | ||||||
|  | 	s.RegisterService(&Database_ServiceDesc, srv) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _Database_Initialize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(InitializeRequest) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(DatabaseServer).Initialize(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: "/dbplugin.v5.Database/Initialize", | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(DatabaseServer).Initialize(ctx, req.(*InitializeRequest)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _Database_NewUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(NewUserRequest) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(DatabaseServer).NewUser(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: "/dbplugin.v5.Database/NewUser", | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(DatabaseServer).NewUser(ctx, req.(*NewUserRequest)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _Database_UpdateUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(UpdateUserRequest) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(DatabaseServer).UpdateUser(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: "/dbplugin.v5.Database/UpdateUser", | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(DatabaseServer).UpdateUser(ctx, req.(*UpdateUserRequest)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _Database_DeleteUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(DeleteUserRequest) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(DatabaseServer).DeleteUser(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: "/dbplugin.v5.Database/DeleteUser", | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(DatabaseServer).DeleteUser(ctx, req.(*DeleteUserRequest)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _Database_Type_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(Empty) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(DatabaseServer).Type(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: "/dbplugin.v5.Database/Type", | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(DatabaseServer).Type(ctx, req.(*Empty)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _Database_Close_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(Empty) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(DatabaseServer).Close(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: "/dbplugin.v5.Database/Close", | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(DatabaseServer).Close(ctx, req.(*Empty)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Database_ServiceDesc is the grpc.ServiceDesc for Database service. | ||||||
|  | // It's only intended for direct use with grpc.RegisterService, | ||||||
|  | // and not to be introspected or modified (even as a copy) | ||||||
|  | var Database_ServiceDesc = grpc.ServiceDesc{ | ||||||
|  | 	ServiceName: "dbplugin.v5.Database", | ||||||
|  | 	HandlerType: (*DatabaseServer)(nil), | ||||||
|  | 	Methods: []grpc.MethodDesc{ | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "Initialize", | ||||||
|  | 			Handler:    _Database_Initialize_Handler, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "NewUser", | ||||||
|  | 			Handler:    _Database_NewUser_Handler, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "UpdateUser", | ||||||
|  | 			Handler:    _Database_UpdateUser_Handler, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "DeleteUser", | ||||||
|  | 			Handler:    _Database_DeleteUser_Handler, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "Type", | ||||||
|  | 			Handler:    _Database_Type_Handler, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "Close", | ||||||
|  | 			Handler:    _Database_Close_Handler, | ||||||
|  | 		}, | ||||||
|  | 	}, | ||||||
|  | 	Streams:  []grpc.StreamDesc{}, | ||||||
|  | 	Metadata: "sdk/database/dbplugin/v5/proto/database.proto", | ||||||
|  | } | ||||||
| @@ -26,18 +26,18 @@ type Entity struct { | |||||||
| 	unknownFields protoimpl.UnknownFields | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
| 	// ID is the unique identifier for the entity | 	// ID is the unique identifier for the entity | ||||||
| 	ID string `sentinel:"" protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"` | 	ID string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"` | ||||||
| 	// Name is the human-friendly unique identifier for the entity | 	// Name is the human-friendly unique identifier for the entity | ||||||
| 	Name string `sentinel:"" protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` | 	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` | ||||||
| 	// Aliases contains thhe alias mappings for the given entity | 	// Aliases contains thhe alias mappings for the given entity | ||||||
| 	Aliases []*Alias `sentinel:"" protobuf:"bytes,3,rep,name=aliases,proto3" json:"aliases,omitempty"` | 	Aliases []*Alias `protobuf:"bytes,3,rep,name=aliases,proto3" json:"aliases,omitempty"` | ||||||
| 	// Metadata represents the custom data tied to this entity | 	// Metadata represents the custom data tied to this entity | ||||||
| 	Metadata map[string]string `sentinel:"" protobuf:"bytes,4,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | 	Metadata map[string]string `protobuf:"bytes,4,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | ||||||
| 	// Disabled is true if the entity is disabled. | 	// Disabled is true if the entity is disabled. | ||||||
| 	Disabled bool `sentinel:"" protobuf:"varint,5,opt,name=disabled,proto3" json:"disabled,omitempty"` | 	Disabled bool `protobuf:"varint,5,opt,name=disabled,proto3" json:"disabled,omitempty"` | ||||||
| 	// NamespaceID is the identifier of the namespace to which this entity | 	// NamespaceID is the identifier of the namespace to which this entity | ||||||
| 	// belongs to. | 	// belongs to. | ||||||
| 	NamespaceID string `sentinel:"" protobuf:"bytes,6,opt,name=namespace_id,json=namespaceID,proto3" json:"namespace_id,omitempty"` | 	NamespaceID string `protobuf:"bytes,6,opt,name=namespace_id,json=namespaceID,proto3" json:"namespace_id,omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *Entity) Reset() { | func (x *Entity) Reset() { | ||||||
| @@ -120,26 +120,26 @@ type Alias struct { | |||||||
| 	unknownFields protoimpl.UnknownFields | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
| 	// MountType is the backend mount's type to which this identity belongs | 	// MountType is the backend mount's type to which this identity belongs | ||||||
| 	MountType string `sentinel:"" protobuf:"bytes,1,opt,name=mount_type,json=mountType,proto3" json:"mount_type,omitempty"` | 	MountType string `protobuf:"bytes,1,opt,name=mount_type,json=mountType,proto3" json:"mount_type,omitempty"` | ||||||
| 	// MountAccessor is the identifier of the mount entry to which this | 	// MountAccessor is the identifier of the mount entry to which this | ||||||
| 	// identity belongs | 	// identity belongs | ||||||
| 	MountAccessor string `sentinel:"" protobuf:"bytes,2,opt,name=mount_accessor,json=mountAccessor,proto3" json:"mount_accessor,omitempty"` | 	MountAccessor string `protobuf:"bytes,2,opt,name=mount_accessor,json=mountAccessor,proto3" json:"mount_accessor,omitempty"` | ||||||
| 	// Name is the identifier of this identity in its authentication source | 	// Name is the identifier of this identity in its authentication source | ||||||
| 	Name string `sentinel:"" protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` | 	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` | ||||||
| 	// Metadata represents the custom data tied to this alias. Fields added | 	// Metadata represents the custom data tied to this alias. Fields added | ||||||
| 	// to it should have a low rate of change (or no change) because each | 	// to it should have a low rate of change (or no change) because each | ||||||
| 	// change incurs a storage write, so quickly-changing fields can have | 	// change incurs a storage write, so quickly-changing fields can have | ||||||
| 	// a significant performance impact at scale. See the SDK's | 	// a significant performance impact at scale. See the SDK's | ||||||
| 	// "aliasmetadata" package for a helper that eases and standardizes | 	// "aliasmetadata" package for a helper that eases and standardizes | ||||||
| 	// using this safely. | 	// using this safely. | ||||||
| 	Metadata map[string]string `sentinel:"" protobuf:"bytes,4,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | 	Metadata map[string]string `protobuf:"bytes,4,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | ||||||
| 	// ID is the unique identifier for the alias | 	// ID is the unique identifier for the alias | ||||||
| 	ID string `sentinel:"" protobuf:"bytes,5,opt,name=ID,proto3" json:"ID,omitempty"` | 	ID string `protobuf:"bytes,5,opt,name=ID,proto3" json:"ID,omitempty"` | ||||||
| 	// NamespaceID is the identifier of the namespace to which this alias | 	// NamespaceID is the identifier of the namespace to which this alias | ||||||
| 	// belongs. | 	// belongs. | ||||||
| 	NamespaceID string `sentinel:"" protobuf:"bytes,6,opt,name=namespace_id,json=namespaceID,proto3" json:"namespace_id,omitempty"` | 	NamespaceID string `protobuf:"bytes,6,opt,name=namespace_id,json=namespaceID,proto3" json:"namespace_id,omitempty"` | ||||||
| 	// Custom Metadata represents the custom data tied to this alias | 	// Custom Metadata represents the custom data tied to this alias | ||||||
| 	CustomMetadata map[string]string `sentinel:"" protobuf:"bytes,7,rep,name=custom_metadata,json=customMetadata,proto3" json:"custom_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | 	CustomMetadata map[string]string `protobuf:"bytes,7,rep,name=custom_metadata,json=customMetadata,proto3" json:"custom_metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *Alias) Reset() { | func (x *Alias) Reset() { | ||||||
| @@ -229,14 +229,14 @@ type Group struct { | |||||||
| 	unknownFields protoimpl.UnknownFields | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
| 	// ID is the unique identifier for the group | 	// ID is the unique identifier for the group | ||||||
| 	ID string `sentinel:"" protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"` | 	ID string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"` | ||||||
| 	// Name is the human-friendly unique identifier for the group | 	// Name is the human-friendly unique identifier for the group | ||||||
| 	Name string `sentinel:"" protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` | 	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` | ||||||
| 	// Metadata represents the custom data tied to this group | 	// Metadata represents the custom data tied to this group | ||||||
| 	Metadata map[string]string `sentinel:"" protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | 	Metadata map[string]string `protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | ||||||
| 	// NamespaceID is the identifier of the namespace to which this group | 	// NamespaceID is the identifier of the namespace to which this group | ||||||
| 	// belongs to. | 	// belongs to. | ||||||
| 	NamespaceID string `sentinel:"" protobuf:"bytes,4,opt,name=namespace_id,json=namespaceID,proto3" json:"namespace_id,omitempty"` | 	NamespaceID string `protobuf:"bytes,4,opt,name=namespace_id,json=namespaceID,proto3" json:"namespace_id,omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *Group) Reset() { | func (x *Group) Reset() { | ||||||
|   | |||||||
| @@ -15,6 +15,8 @@ import ( | |||||||
| var ErrServerInMetadataMode = errors.New("plugin server can not perform action while in metadata mode") | var ErrServerInMetadataMode = errors.New("plugin server can not perform action while in metadata mode") | ||||||
|  |  | ||||||
| type backendGRPCPluginServer struct { | type backendGRPCPluginServer struct { | ||||||
|  | 	pb.UnimplementedBackendServer | ||||||
|  |  | ||||||
| 	broker  *plugin.GRPCBroker | 	broker  *plugin.GRPCBroker | ||||||
| 	backend logical.Backend | 	backend logical.Backend | ||||||
|  |  | ||||||
|   | |||||||
| @@ -76,6 +76,7 @@ func (s *GRPCStorageClient) Delete(ctx context.Context, key string) error { | |||||||
|  |  | ||||||
| // StorageServer is a net/rpc compatible structure for serving | // StorageServer is a net/rpc compatible structure for serving | ||||||
| type GRPCStorageServer struct { | type GRPCStorageServer struct { | ||||||
|  | 	pb.UnimplementedStorageServer | ||||||
| 	impl logical.Storage | 	impl logical.Storage | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -175,6 +175,8 @@ func (s *gRPCSystemViewClient) GeneratePasswordFromPolicy(ctx context.Context, p | |||||||
| } | } | ||||||
|  |  | ||||||
| type gRPCSystemViewServer struct { | type gRPCSystemViewServer struct { | ||||||
|  | 	pb.UnimplementedSystemViewServer | ||||||
|  |  | ||||||
| 	impl logical.SystemView | 	impl logical.SystemView | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1135
									
								
								sdk/plugin/pb/backend_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1135
									
								
								sdk/plugin/pb/backend_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -10,17 +10,14 @@ | |||||||
|  |  | ||||||
| package tools | package tools | ||||||
|  |  | ||||||
| // use this instead of google.golang.org/protobuf/cmd/protoc-gen-go since this supports grpc plugin while the other does not. |  | ||||||
| // see https://github.com/golang/protobuf/releases#v1.4-generated-code and |  | ||||||
| // https://github.com/protocolbuffers/protobuf-go/releases/tag/v1.20.0#v1.20-grpc-support |  | ||||||
| //go:generate go install github.com/golang/protobuf/protoc-gen-go |  | ||||||
| //go:generate go install golang.org/x/tools/cmd/goimports | //go:generate go install golang.org/x/tools/cmd/goimports | ||||||
| //go:generate go install github.com/mitchellh/gox | //go:generate go install github.com/mitchellh/gox | ||||||
| //go:generate go install github.com/client9/misspell/cmd/misspell | //go:generate go install github.com/client9/misspell/cmd/misspell | ||||||
| //go:generate go install mvdan.cc/gofumpt | //go:generate go install mvdan.cc/gofumpt | ||||||
|  | //go:generate go install google.golang.org/protobuf/cmd/protoc-gen-go | ||||||
|  | //go:generate go install google.golang.org/grpc/cmd/protoc-gen-go-grpc | ||||||
|  | //go:generate go install github.com/favadi/protoc-go-inject-tag | ||||||
| import ( | import ( | ||||||
| 	_ "github.com/golang/protobuf/protoc-gen-go" |  | ||||||
|  |  | ||||||
| 	_ "golang.org/x/tools/cmd/goimports" | 	_ "golang.org/x/tools/cmd/goimports" | ||||||
|  |  | ||||||
| 	_ "github.com/mitchellh/gox" | 	_ "github.com/mitchellh/gox" | ||||||
| @@ -28,4 +25,11 @@ import ( | |||||||
| 	_ "github.com/client9/misspell/cmd/misspell" | 	_ "github.com/client9/misspell/cmd/misspell" | ||||||
|  |  | ||||||
| 	_ "mvdan.cc/gofumpt" | 	_ "mvdan.cc/gofumpt" | ||||||
|  | 	 | ||||||
|  | 	_ "google.golang.org/protobuf/cmd/protoc-gen-go" | ||||||
|  |  | ||||||
|  | 	_ "google.golang.org/grpc/cmd/protoc-gen-go-grpc" | ||||||
|  |  | ||||||
|  | 	_ "github.com/favadi/protoc-go-inject-tag" | ||||||
|  | ) | ||||||
| ) | ) | ||||||
|   | |||||||
| @@ -27,11 +27,11 @@ type EntityRecord struct { | |||||||
| 	sizeCache     protoimpl.SizeCache | 	sizeCache     protoimpl.SizeCache | ||||||
| 	unknownFields protoimpl.UnknownFields | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
| 	EntityID    string `sentinel:"" protobuf:"bytes,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"` | 	EntityID    string `protobuf:"bytes,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"` | ||||||
| 	NamespaceID string `sentinel:"" protobuf:"bytes,2,opt,name=namespace_id,json=namespaceID,proto3" json:"namespace_id,omitempty"` | 	NamespaceID string `protobuf:"bytes,2,opt,name=namespace_id,json=namespaceID,proto3" json:"namespace_id,omitempty"` | ||||||
| 	// using the Timestamp type would cost us an extra | 	// using the Timestamp type would cost us an extra | ||||||
| 	// 4 bytes per record to store nanoseconds. | 	// 4 bytes per record to store nanoseconds. | ||||||
| 	Timestamp int64 `sentinel:"" protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` | 	Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *EntityRecord) Reset() { | func (x *EntityRecord) Reset() { | ||||||
| @@ -94,12 +94,12 @@ type LogFragment struct { | |||||||
|  |  | ||||||
| 	// hostname (or node ID?) where the fragment originated, | 	// hostname (or node ID?) where the fragment originated, | ||||||
| 	// used for debugging. | 	// used for debugging. | ||||||
| 	OriginatingNode string `sentinel:"" protobuf:"bytes,1,opt,name=originating_node,json=originatingNode,proto3" json:"originating_node,omitempty"` | 	OriginatingNode string `protobuf:"bytes,1,opt,name=originating_node,json=originatingNode,proto3" json:"originating_node,omitempty"` | ||||||
| 	// active entities not yet in a log segment | 	// active entities not yet in a log segment | ||||||
| 	Entities []*EntityRecord `sentinel:"" protobuf:"bytes,2,rep,name=entities,proto3" json:"entities,omitempty"` | 	Entities []*EntityRecord `protobuf:"bytes,2,rep,name=entities,proto3" json:"entities,omitempty"` | ||||||
| 	// token counts not yet in a log segment, | 	// token counts not yet in a log segment, | ||||||
| 	// indexed by namespace ID | 	// indexed by namespace ID | ||||||
| 	NonEntityTokens map[string]uint64 `sentinel:"" protobuf:"bytes,3,rep,name=non_entity_tokens,json=nonEntityTokens,proto3" json:"non_entity_tokens,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` | 	NonEntityTokens map[string]uint64 `protobuf:"bytes,3,rep,name=non_entity_tokens,json=nonEntityTokens,proto3" json:"non_entity_tokens,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *LogFragment) Reset() { | func (x *LogFragment) Reset() { | ||||||
| @@ -160,7 +160,7 @@ type EntityActivityLog struct { | |||||||
| 	sizeCache     protoimpl.SizeCache | 	sizeCache     protoimpl.SizeCache | ||||||
| 	unknownFields protoimpl.UnknownFields | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
| 	Entities []*EntityRecord `sentinel:"" protobuf:"bytes,1,rep,name=entities,proto3" json:"entities,omitempty"` | 	Entities []*EntityRecord `protobuf:"bytes,1,rep,name=entities,proto3" json:"entities,omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *EntityActivityLog) Reset() { | func (x *EntityActivityLog) Reset() { | ||||||
| @@ -207,7 +207,7 @@ type TokenCount struct { | |||||||
| 	sizeCache     protoimpl.SizeCache | 	sizeCache     protoimpl.SizeCache | ||||||
| 	unknownFields protoimpl.UnknownFields | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
| 	CountByNamespaceID map[string]uint64 `sentinel:"" protobuf:"bytes,1,rep,name=count_by_namespace_id,json=countByNamespaceId,proto3" json:"count_by_namespace_id,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` | 	CountByNamespaceID map[string]uint64 `protobuf:"bytes,1,rep,name=count_by_namespace_id,json=countByNamespaceId,proto3" json:"count_by_namespace_id,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *TokenCount) Reset() { | func (x *TokenCount) Reset() { | ||||||
|   | |||||||
| @@ -436,7 +436,7 @@ func (cl *Listener) GetDialerFunc(ctx context.Context, alpn string) func(string, | |||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		tlsConfig.NextProtos = []string{alpn} | 		tlsConfig.NextProtos = []string{alpn} | ||||||
| 		cl.logger.Debug("creating rpc dialer", "alpn", alpn, "host", tlsConfig.ServerName) | 		cl.logger.Debug("creating rpc dialer", "address", addr, "alpn", alpn, "host", tlsConfig.ServerName) | ||||||
|  |  | ||||||
| 		return cl.networkLayer.Dial(addr, timeout, tlsConfig) | 		return cl.networkLayer.Dial(addr, timeout, tlsConfig) | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -67,15 +67,12 @@ const ( | |||||||
| 	// The poison pill is used as a check during certain scenarios to indicate | 	// The poison pill is used as a check during certain scenarios to indicate | ||||||
| 	// to standby nodes that they should seal | 	// to standby nodes that they should seal | ||||||
| 	poisonPillPath   = "core/poison-pill" | 	poisonPillPath   = "core/poison-pill" | ||||||
|  | 	poisonPillDRPath = "core/poison-pill-dr" | ||||||
|  |  | ||||||
| 	// coreLeaderPrefix is the prefix used for the UUID that contains | 	// coreLeaderPrefix is the prefix used for the UUID that contains | ||||||
| 	// the currently elected leader. | 	// the currently elected leader. | ||||||
| 	coreLeaderPrefix = "core/leader/" | 	coreLeaderPrefix = "core/leader/" | ||||||
|  |  | ||||||
| 	// knownPrimaryAddrsPrefix is used to store last-known cluster address |  | ||||||
| 	// information for primaries |  | ||||||
| 	knownPrimaryAddrsPrefix = "core/primary-addrs/" |  | ||||||
|  |  | ||||||
| 	// coreKeyringCanaryPath is used as a canary to indicate to replicated | 	// coreKeyringCanaryPath is used as a canary to indicate to replicated | ||||||
| 	// clusters that they need to perform a rekey operation synchronously; this | 	// clusters that they need to perform a rekey operation synchronously; this | ||||||
| 	// isn't keyring-canary to avoid ignoring it when ignoring core/keyring | 	// isn't keyring-canary to avoid ignoring it when ignoring core/keyring | ||||||
|   | |||||||
| @@ -15,6 +15,8 @@ import ( | |||||||
| ) | ) | ||||||
|  |  | ||||||
| type forwardedRequestRPCServer struct { | type forwardedRequestRPCServer struct { | ||||||
|  | 	UnimplementedRequestForwardingServer | ||||||
|  |  | ||||||
| 	core                  *Core | 	core                  *Core | ||||||
| 	handler               http.Handler | 	handler               http.Handler | ||||||
| 	perfStandbySlots      chan struct{} | 	perfStandbySlots      chan struct{} | ||||||
|   | |||||||
| @@ -7,11 +7,7 @@ | |||||||
| package vault | package vault | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	context "context" |  | ||||||
| 	forwarding "github.com/hashicorp/vault/helper/forwarding" | 	forwarding "github.com/hashicorp/vault/helper/forwarding" | ||||||
| 	grpc "google.golang.org/grpc" |  | ||||||
| 	codes "google.golang.org/grpc/codes" |  | ||||||
| 	status "google.golang.org/grpc/status" |  | ||||||
| 	protoreflect "google.golang.org/protobuf/reflect/protoreflect" | 	protoreflect "google.golang.org/protobuf/reflect/protoreflect" | ||||||
| 	protoimpl "google.golang.org/protobuf/runtime/protoimpl" | 	protoimpl "google.golang.org/protobuf/runtime/protoimpl" | ||||||
| 	reflect "reflect" | 	reflect "reflect" | ||||||
| @@ -729,183 +725,3 @@ func file_vault_request_forwarding_service_proto_init() { | |||||||
| 	file_vault_request_forwarding_service_proto_goTypes = nil | 	file_vault_request_forwarding_service_proto_goTypes = nil | ||||||
| 	file_vault_request_forwarding_service_proto_depIDxs = nil | 	file_vault_request_forwarding_service_proto_depIDxs = nil | ||||||
| } | } | ||||||
|  |  | ||||||
| // Reference imports to suppress errors if they are not otherwise used. |  | ||||||
| var _ context.Context |  | ||||||
| var _ grpc.ClientConnInterface |  | ||||||
|  |  | ||||||
| // This is a compile-time assertion to ensure that this generated file |  | ||||||
| // is compatible with the grpc package it is being compiled against. |  | ||||||
| const _ = grpc.SupportPackageIsVersion6 |  | ||||||
|  |  | ||||||
| // RequestForwardingClient is the client API for RequestForwarding service. |  | ||||||
| // |  | ||||||
| // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. |  | ||||||
| type RequestForwardingClient interface { |  | ||||||
| 	ForwardRequest(ctx context.Context, in *forwarding.Request, opts ...grpc.CallOption) (*forwarding.Response, error) |  | ||||||
| 	Echo(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoReply, error) |  | ||||||
| 	PerformanceStandbyElectionRequest(ctx context.Context, in *PerfStandbyElectionInput, opts ...grpc.CallOption) (RequestForwarding_PerformanceStandbyElectionRequestClient, error) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type requestForwardingClient struct { |  | ||||||
| 	cc grpc.ClientConnInterface |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func NewRequestForwardingClient(cc grpc.ClientConnInterface) RequestForwardingClient { |  | ||||||
| 	return &requestForwardingClient{cc} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *requestForwardingClient) ForwardRequest(ctx context.Context, in *forwarding.Request, opts ...grpc.CallOption) (*forwarding.Response, error) { |  | ||||||
| 	out := new(forwarding.Response) |  | ||||||
| 	err := c.cc.Invoke(ctx, "/vault.RequestForwarding/ForwardRequest", in, out, opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return out, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *requestForwardingClient) Echo(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoReply, error) { |  | ||||||
| 	out := new(EchoReply) |  | ||||||
| 	err := c.cc.Invoke(ctx, "/vault.RequestForwarding/Echo", in, out, opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return out, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (c *requestForwardingClient) PerformanceStandbyElectionRequest(ctx context.Context, in *PerfStandbyElectionInput, opts ...grpc.CallOption) (RequestForwarding_PerformanceStandbyElectionRequestClient, error) { |  | ||||||
| 	stream, err := c.cc.NewStream(ctx, &_RequestForwarding_serviceDesc.Streams[0], "/vault.RequestForwarding/PerformanceStandbyElectionRequest", opts...) |  | ||||||
| 	if err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	x := &requestForwardingPerformanceStandbyElectionRequestClient{stream} |  | ||||||
| 	if err := x.ClientStream.SendMsg(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if err := x.ClientStream.CloseSend(); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return x, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type RequestForwarding_PerformanceStandbyElectionRequestClient interface { |  | ||||||
| 	Recv() (*PerfStandbyElectionResponse, error) |  | ||||||
| 	grpc.ClientStream |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type requestForwardingPerformanceStandbyElectionRequestClient struct { |  | ||||||
| 	grpc.ClientStream |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (x *requestForwardingPerformanceStandbyElectionRequestClient) Recv() (*PerfStandbyElectionResponse, error) { |  | ||||||
| 	m := new(PerfStandbyElectionResponse) |  | ||||||
| 	if err := x.ClientStream.RecvMsg(m); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	return m, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // RequestForwardingServer is the server API for RequestForwarding service. |  | ||||||
| type RequestForwardingServer interface { |  | ||||||
| 	ForwardRequest(context.Context, *forwarding.Request) (*forwarding.Response, error) |  | ||||||
| 	Echo(context.Context, *EchoRequest) (*EchoReply, error) |  | ||||||
| 	PerformanceStandbyElectionRequest(*PerfStandbyElectionInput, RequestForwarding_PerformanceStandbyElectionRequestServer) error |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // UnimplementedRequestForwardingServer can be embedded to have forward compatible implementations. |  | ||||||
| type UnimplementedRequestForwardingServer struct { |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (*UnimplementedRequestForwardingServer) ForwardRequest(context.Context, *forwarding.Request) (*forwarding.Response, error) { |  | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method ForwardRequest not implemented") |  | ||||||
| } |  | ||||||
| func (*UnimplementedRequestForwardingServer) Echo(context.Context, *EchoRequest) (*EchoReply, error) { |  | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method Echo not implemented") |  | ||||||
| } |  | ||||||
| func (*UnimplementedRequestForwardingServer) PerformanceStandbyElectionRequest(*PerfStandbyElectionInput, RequestForwarding_PerformanceStandbyElectionRequestServer) error { |  | ||||||
| 	return status.Errorf(codes.Unimplemented, "method PerformanceStandbyElectionRequest not implemented") |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func RegisterRequestForwardingServer(s *grpc.Server, srv RequestForwardingServer) { |  | ||||||
| 	s.RegisterService(&_RequestForwarding_serviceDesc, srv) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _RequestForwarding_ForwardRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |  | ||||||
| 	in := new(forwarding.Request) |  | ||||||
| 	if err := dec(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if interceptor == nil { |  | ||||||
| 		return srv.(RequestForwardingServer).ForwardRequest(ctx, in) |  | ||||||
| 	} |  | ||||||
| 	info := &grpc.UnaryServerInfo{ |  | ||||||
| 		Server:     srv, |  | ||||||
| 		FullMethod: "/vault.RequestForwarding/ForwardRequest", |  | ||||||
| 	} |  | ||||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { |  | ||||||
| 		return srv.(RequestForwardingServer).ForwardRequest(ctx, req.(*forwarding.Request)) |  | ||||||
| 	} |  | ||||||
| 	return interceptor(ctx, in, info, handler) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _RequestForwarding_Echo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |  | ||||||
| 	in := new(EchoRequest) |  | ||||||
| 	if err := dec(in); err != nil { |  | ||||||
| 		return nil, err |  | ||||||
| 	} |  | ||||||
| 	if interceptor == nil { |  | ||||||
| 		return srv.(RequestForwardingServer).Echo(ctx, in) |  | ||||||
| 	} |  | ||||||
| 	info := &grpc.UnaryServerInfo{ |  | ||||||
| 		Server:     srv, |  | ||||||
| 		FullMethod: "/vault.RequestForwarding/Echo", |  | ||||||
| 	} |  | ||||||
| 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { |  | ||||||
| 		return srv.(RequestForwardingServer).Echo(ctx, req.(*EchoRequest)) |  | ||||||
| 	} |  | ||||||
| 	return interceptor(ctx, in, info, handler) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _RequestForwarding_PerformanceStandbyElectionRequest_Handler(srv interface{}, stream grpc.ServerStream) error { |  | ||||||
| 	m := new(PerfStandbyElectionInput) |  | ||||||
| 	if err := stream.RecvMsg(m); err != nil { |  | ||||||
| 		return err |  | ||||||
| 	} |  | ||||||
| 	return srv.(RequestForwardingServer).PerformanceStandbyElectionRequest(m, &requestForwardingPerformanceStandbyElectionRequestServer{stream}) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type RequestForwarding_PerformanceStandbyElectionRequestServer interface { |  | ||||||
| 	Send(*PerfStandbyElectionResponse) error |  | ||||||
| 	grpc.ServerStream |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type requestForwardingPerformanceStandbyElectionRequestServer struct { |  | ||||||
| 	grpc.ServerStream |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (x *requestForwardingPerformanceStandbyElectionRequestServer) Send(m *PerfStandbyElectionResponse) error { |  | ||||||
| 	return x.ServerStream.SendMsg(m) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| var _RequestForwarding_serviceDesc = grpc.ServiceDesc{ |  | ||||||
| 	ServiceName: "vault.RequestForwarding", |  | ||||||
| 	HandlerType: (*RequestForwardingServer)(nil), |  | ||||||
| 	Methods: []grpc.MethodDesc{ |  | ||||||
| 		{ |  | ||||||
| 			MethodName: "ForwardRequest", |  | ||||||
| 			Handler:    _RequestForwarding_ForwardRequest_Handler, |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			MethodName: "Echo", |  | ||||||
| 			Handler:    _RequestForwarding_Echo_Handler, |  | ||||||
| 		}, |  | ||||||
| 	}, |  | ||||||
| 	Streams: []grpc.StreamDesc{ |  | ||||||
| 		{ |  | ||||||
| 			StreamName:    "PerformanceStandbyElectionRequest", |  | ||||||
| 			Handler:       _RequestForwarding_PerformanceStandbyElectionRequest_Handler, |  | ||||||
| 			ServerStreams: true, |  | ||||||
| 		}, |  | ||||||
| 	}, |  | ||||||
| 	Metadata: "vault/request_forwarding_service.proto", |  | ||||||
| } |  | ||||||
|   | |||||||
							
								
								
									
										202
									
								
								vault/request_forwarding_service_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										202
									
								
								vault/request_forwarding_service_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,202 @@ | |||||||
|  | // Code generated by protoc-gen-go-grpc. DO NOT EDIT. | ||||||
|  |  | ||||||
|  | package vault | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	context "context" | ||||||
|  | 	forwarding "github.com/hashicorp/vault/helper/forwarding" | ||||||
|  | 	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.32.0 or later. | ||||||
|  | const _ = grpc.SupportPackageIsVersion7 | ||||||
|  |  | ||||||
|  | // RequestForwardingClient is the client API for RequestForwarding 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 RequestForwardingClient interface { | ||||||
|  | 	ForwardRequest(ctx context.Context, in *forwarding.Request, opts ...grpc.CallOption) (*forwarding.Response, error) | ||||||
|  | 	Echo(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoReply, error) | ||||||
|  | 	PerformanceStandbyElectionRequest(ctx context.Context, in *PerfStandbyElectionInput, opts ...grpc.CallOption) (RequestForwarding_PerformanceStandbyElectionRequestClient, error) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type requestForwardingClient struct { | ||||||
|  | 	cc grpc.ClientConnInterface | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NewRequestForwardingClient(cc grpc.ClientConnInterface) RequestForwardingClient { | ||||||
|  | 	return &requestForwardingClient{cc} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *requestForwardingClient) ForwardRequest(ctx context.Context, in *forwarding.Request, opts ...grpc.CallOption) (*forwarding.Response, error) { | ||||||
|  | 	out := new(forwarding.Response) | ||||||
|  | 	err := c.cc.Invoke(ctx, "/vault.RequestForwarding/ForwardRequest", in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *requestForwardingClient) Echo(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoReply, error) { | ||||||
|  | 	out := new(EchoReply) | ||||||
|  | 	err := c.cc.Invoke(ctx, "/vault.RequestForwarding/Echo", in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (c *requestForwardingClient) PerformanceStandbyElectionRequest(ctx context.Context, in *PerfStandbyElectionInput, opts ...grpc.CallOption) (RequestForwarding_PerformanceStandbyElectionRequestClient, error) { | ||||||
|  | 	stream, err := c.cc.NewStream(ctx, &RequestForwarding_ServiceDesc.Streams[0], "/vault.RequestForwarding/PerformanceStandbyElectionRequest", opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	x := &requestForwardingPerformanceStandbyElectionRequestClient{stream} | ||||||
|  | 	if err := x.ClientStream.SendMsg(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if err := x.ClientStream.CloseSend(); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return x, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type RequestForwarding_PerformanceStandbyElectionRequestClient interface { | ||||||
|  | 	Recv() (*PerfStandbyElectionResponse, error) | ||||||
|  | 	grpc.ClientStream | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type requestForwardingPerformanceStandbyElectionRequestClient struct { | ||||||
|  | 	grpc.ClientStream | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *requestForwardingPerformanceStandbyElectionRequestClient) Recv() (*PerfStandbyElectionResponse, error) { | ||||||
|  | 	m := new(PerfStandbyElectionResponse) | ||||||
|  | 	if err := x.ClientStream.RecvMsg(m); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return m, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // RequestForwardingServer is the server API for RequestForwarding service. | ||||||
|  | // All implementations must embed UnimplementedRequestForwardingServer | ||||||
|  | // for forward compatibility | ||||||
|  | type RequestForwardingServer interface { | ||||||
|  | 	ForwardRequest(context.Context, *forwarding.Request) (*forwarding.Response, error) | ||||||
|  | 	Echo(context.Context, *EchoRequest) (*EchoReply, error) | ||||||
|  | 	PerformanceStandbyElectionRequest(*PerfStandbyElectionInput, RequestForwarding_PerformanceStandbyElectionRequestServer) error | ||||||
|  | 	mustEmbedUnimplementedRequestForwardingServer() | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // UnimplementedRequestForwardingServer must be embedded to have forward compatible implementations. | ||||||
|  | type UnimplementedRequestForwardingServer struct { | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (UnimplementedRequestForwardingServer) ForwardRequest(context.Context, *forwarding.Request) (*forwarding.Response, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method ForwardRequest not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedRequestForwardingServer) Echo(context.Context, *EchoRequest) (*EchoReply, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method Echo not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedRequestForwardingServer) PerformanceStandbyElectionRequest(*PerfStandbyElectionInput, RequestForwarding_PerformanceStandbyElectionRequestServer) error { | ||||||
|  | 	return status.Errorf(codes.Unimplemented, "method PerformanceStandbyElectionRequest not implemented") | ||||||
|  | } | ||||||
|  | func (UnimplementedRequestForwardingServer) mustEmbedUnimplementedRequestForwardingServer() {} | ||||||
|  |  | ||||||
|  | // UnsafeRequestForwardingServer may be embedded to opt out of forward compatibility for this service. | ||||||
|  | // Use of this interface is not recommended, as added methods to RequestForwardingServer will | ||||||
|  | // result in compilation errors. | ||||||
|  | type UnsafeRequestForwardingServer interface { | ||||||
|  | 	mustEmbedUnimplementedRequestForwardingServer() | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func RegisterRequestForwardingServer(s grpc.ServiceRegistrar, srv RequestForwardingServer) { | ||||||
|  | 	s.RegisterService(&RequestForwarding_ServiceDesc, srv) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _RequestForwarding_ForwardRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(forwarding.Request) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(RequestForwardingServer).ForwardRequest(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: "/vault.RequestForwarding/ForwardRequest", | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(RequestForwardingServer).ForwardRequest(ctx, req.(*forwarding.Request)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _RequestForwarding_Echo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(EchoRequest) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(RequestForwardingServer).Echo(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: "/vault.RequestForwarding/Echo", | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(RequestForwardingServer).Echo(ctx, req.(*EchoRequest)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _RequestForwarding_PerformanceStandbyElectionRequest_Handler(srv interface{}, stream grpc.ServerStream) error { | ||||||
|  | 	m := new(PerfStandbyElectionInput) | ||||||
|  | 	if err := stream.RecvMsg(m); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	return srv.(RequestForwardingServer).PerformanceStandbyElectionRequest(m, &requestForwardingPerformanceStandbyElectionRequestServer{stream}) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type RequestForwarding_PerformanceStandbyElectionRequestServer interface { | ||||||
|  | 	Send(*PerfStandbyElectionResponse) error | ||||||
|  | 	grpc.ServerStream | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type requestForwardingPerformanceStandbyElectionRequestServer struct { | ||||||
|  | 	grpc.ServerStream | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *requestForwardingPerformanceStandbyElectionRequestServer) Send(m *PerfStandbyElectionResponse) error { | ||||||
|  | 	return x.ServerStream.SendMsg(m) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // RequestForwarding_ServiceDesc is the grpc.ServiceDesc for RequestForwarding service. | ||||||
|  | // It's only intended for direct use with grpc.RegisterService, | ||||||
|  | // and not to be introspected or modified (even as a copy) | ||||||
|  | var RequestForwarding_ServiceDesc = grpc.ServiceDesc{ | ||||||
|  | 	ServiceName: "vault.RequestForwarding", | ||||||
|  | 	HandlerType: (*RequestForwardingServer)(nil), | ||||||
|  | 	Methods: []grpc.MethodDesc{ | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "ForwardRequest", | ||||||
|  | 			Handler:    _RequestForwarding_ForwardRequest_Handler, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "Echo", | ||||||
|  | 			Handler:    _RequestForwarding_Echo_Handler, | ||||||
|  | 		}, | ||||||
|  | 	}, | ||||||
|  | 	Streams: []grpc.StreamDesc{ | ||||||
|  | 		{ | ||||||
|  | 			StreamName:    "PerformanceStandbyElectionRequest", | ||||||
|  | 			Handler:       _RequestForwarding_PerformanceStandbyElectionRequest_Handler, | ||||||
|  | 			ServerStreams: true, | ||||||
|  | 		}, | ||||||
|  | 	}, | ||||||
|  | 	Metadata: "vault/request_forwarding_service.proto", | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user
	 Brian Kassouf
					Brian Kassouf