1// Copyright 2020 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.25.0
18// 	protoc        v3.13.0
19// source: google/cloud/asset/v1p4beta1/asset_service.proto
20
21package asset
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	proto "github.com/golang/protobuf/proto"
29	_ "google.golang.org/genproto/googleapis/api/annotations"
30	_ "google.golang.org/genproto/googleapis/iam/v1"
31	longrunning "google.golang.org/genproto/googleapis/longrunning"
32	grpc "google.golang.org/grpc"
33	codes "google.golang.org/grpc/codes"
34	status "google.golang.org/grpc/status"
35	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
36	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
37	durationpb "google.golang.org/protobuf/types/known/durationpb"
38)
39
40const (
41	// Verify that this generated code is sufficiently up-to-date.
42	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
43	// Verify that runtime/protoimpl is sufficiently up-to-date.
44	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
45)
46
47// This is a compile-time assertion that a sufficiently up-to-date version
48// of the legacy proto package is being used.
49const _ = proto.ProtoPackageIsVersion4
50
51// IAM policy analysis query message.
52type IamPolicyAnalysisQuery struct {
53	state         protoimpl.MessageState
54	sizeCache     protoimpl.SizeCache
55	unknownFields protoimpl.UnknownFields
56
57	// Required. The relative name of the root asset. Only resources and IAM policies within
58	// the parent will be analyzed. This can only be an organization number (such
59	// as "organizations/123") or a folder number (such as "folders/123").
60	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
61	// Optional. Specifies a resource for analysis. Leaving it empty means ANY.
62	ResourceSelector *IamPolicyAnalysisQuery_ResourceSelector `protobuf:"bytes,2,opt,name=resource_selector,json=resourceSelector,proto3" json:"resource_selector,omitempty"`
63	// Optional. Specifies an identity for analysis. Leaving it empty means ANY.
64	IdentitySelector *IamPolicyAnalysisQuery_IdentitySelector `protobuf:"bytes,3,opt,name=identity_selector,json=identitySelector,proto3" json:"identity_selector,omitempty"`
65	// Optional. Specifies roles or permissions for analysis. Leaving it empty
66	// means ANY.
67	AccessSelector *IamPolicyAnalysisQuery_AccessSelector `protobuf:"bytes,4,opt,name=access_selector,json=accessSelector,proto3" json:"access_selector,omitempty"`
68}
69
70func (x *IamPolicyAnalysisQuery) Reset() {
71	*x = IamPolicyAnalysisQuery{}
72	if protoimpl.UnsafeEnabled {
73		mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[0]
74		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
75		ms.StoreMessageInfo(mi)
76	}
77}
78
79func (x *IamPolicyAnalysisQuery) String() string {
80	return protoimpl.X.MessageStringOf(x)
81}
82
83func (*IamPolicyAnalysisQuery) ProtoMessage() {}
84
85func (x *IamPolicyAnalysisQuery) ProtoReflect() protoreflect.Message {
86	mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[0]
87	if protoimpl.UnsafeEnabled && x != nil {
88		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
89		if ms.LoadMessageInfo() == nil {
90			ms.StoreMessageInfo(mi)
91		}
92		return ms
93	}
94	return mi.MessageOf(x)
95}
96
97// Deprecated: Use IamPolicyAnalysisQuery.ProtoReflect.Descriptor instead.
98func (*IamPolicyAnalysisQuery) Descriptor() ([]byte, []int) {
99	return file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescGZIP(), []int{0}
100}
101
102func (x *IamPolicyAnalysisQuery) GetParent() string {
103	if x != nil {
104		return x.Parent
105	}
106	return ""
107}
108
109func (x *IamPolicyAnalysisQuery) GetResourceSelector() *IamPolicyAnalysisQuery_ResourceSelector {
110	if x != nil {
111		return x.ResourceSelector
112	}
113	return nil
114}
115
116func (x *IamPolicyAnalysisQuery) GetIdentitySelector() *IamPolicyAnalysisQuery_IdentitySelector {
117	if x != nil {
118		return x.IdentitySelector
119	}
120	return nil
121}
122
123func (x *IamPolicyAnalysisQuery) GetAccessSelector() *IamPolicyAnalysisQuery_AccessSelector {
124	if x != nil {
125		return x.AccessSelector
126	}
127	return nil
128}
129
130// A request message for [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1p4beta1.AssetService.AnalyzeIamPolicy].
131type AnalyzeIamPolicyRequest struct {
132	state         protoimpl.MessageState
133	sizeCache     protoimpl.SizeCache
134	unknownFields protoimpl.UnknownFields
135
136	// Required. The request query.
137	AnalysisQuery *IamPolicyAnalysisQuery `protobuf:"bytes,1,opt,name=analysis_query,json=analysisQuery,proto3" json:"analysis_query,omitempty"`
138	// Optional. The request options.
139	Options *AnalyzeIamPolicyRequest_Options `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
140}
141
142func (x *AnalyzeIamPolicyRequest) Reset() {
143	*x = AnalyzeIamPolicyRequest{}
144	if protoimpl.UnsafeEnabled {
145		mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[1]
146		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
147		ms.StoreMessageInfo(mi)
148	}
149}
150
151func (x *AnalyzeIamPolicyRequest) String() string {
152	return protoimpl.X.MessageStringOf(x)
153}
154
155func (*AnalyzeIamPolicyRequest) ProtoMessage() {}
156
157func (x *AnalyzeIamPolicyRequest) ProtoReflect() protoreflect.Message {
158	mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[1]
159	if protoimpl.UnsafeEnabled && x != nil {
160		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
161		if ms.LoadMessageInfo() == nil {
162			ms.StoreMessageInfo(mi)
163		}
164		return ms
165	}
166	return mi.MessageOf(x)
167}
168
169// Deprecated: Use AnalyzeIamPolicyRequest.ProtoReflect.Descriptor instead.
170func (*AnalyzeIamPolicyRequest) Descriptor() ([]byte, []int) {
171	return file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescGZIP(), []int{1}
172}
173
174func (x *AnalyzeIamPolicyRequest) GetAnalysisQuery() *IamPolicyAnalysisQuery {
175	if x != nil {
176		return x.AnalysisQuery
177	}
178	return nil
179}
180
181func (x *AnalyzeIamPolicyRequest) GetOptions() *AnalyzeIamPolicyRequest_Options {
182	if x != nil {
183		return x.Options
184	}
185	return nil
186}
187
188// A response message for [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1p4beta1.AssetService.AnalyzeIamPolicy].
189type AnalyzeIamPolicyResponse struct {
190	state         protoimpl.MessageState
191	sizeCache     protoimpl.SizeCache
192	unknownFields protoimpl.UnknownFields
193
194	// The main analysis that matches the original request.
195	MainAnalysis *AnalyzeIamPolicyResponse_IamPolicyAnalysis `protobuf:"bytes,1,opt,name=main_analysis,json=mainAnalysis,proto3" json:"main_analysis,omitempty"`
196	// The service account impersonation analysis if
197	// [AnalyzeIamPolicyRequest.analyze_service_account_impersonation][] is
198	// enabled.
199	ServiceAccountImpersonationAnalysis []*AnalyzeIamPolicyResponse_IamPolicyAnalysis `protobuf:"bytes,2,rep,name=service_account_impersonation_analysis,json=serviceAccountImpersonationAnalysis,proto3" json:"service_account_impersonation_analysis,omitempty"`
200	// Represents whether all entries in the [main_analysis][google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.main_analysis] and
201	// [service_account_impersonation_analysis][google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis] have been fully explored to
202	// answer the query in the request.
203	FullyExplored bool `protobuf:"varint,3,opt,name=fully_explored,json=fullyExplored,proto3" json:"fully_explored,omitempty"`
204	// A list of non-critical errors happened during the request handling to
205	// explain why `fully_explored` is false, or empty if no error happened.
206	NonCriticalErrors []*IamPolicyAnalysisResult_AnalysisState `protobuf:"bytes,4,rep,name=non_critical_errors,json=nonCriticalErrors,proto3" json:"non_critical_errors,omitempty"`
207}
208
209func (x *AnalyzeIamPolicyResponse) Reset() {
210	*x = AnalyzeIamPolicyResponse{}
211	if protoimpl.UnsafeEnabled {
212		mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[2]
213		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
214		ms.StoreMessageInfo(mi)
215	}
216}
217
218func (x *AnalyzeIamPolicyResponse) String() string {
219	return protoimpl.X.MessageStringOf(x)
220}
221
222func (*AnalyzeIamPolicyResponse) ProtoMessage() {}
223
224func (x *AnalyzeIamPolicyResponse) ProtoReflect() protoreflect.Message {
225	mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[2]
226	if protoimpl.UnsafeEnabled && x != nil {
227		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
228		if ms.LoadMessageInfo() == nil {
229			ms.StoreMessageInfo(mi)
230		}
231		return ms
232	}
233	return mi.MessageOf(x)
234}
235
236// Deprecated: Use AnalyzeIamPolicyResponse.ProtoReflect.Descriptor instead.
237func (*AnalyzeIamPolicyResponse) Descriptor() ([]byte, []int) {
238	return file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescGZIP(), []int{2}
239}
240
241func (x *AnalyzeIamPolicyResponse) GetMainAnalysis() *AnalyzeIamPolicyResponse_IamPolicyAnalysis {
242	if x != nil {
243		return x.MainAnalysis
244	}
245	return nil
246}
247
248func (x *AnalyzeIamPolicyResponse) GetServiceAccountImpersonationAnalysis() []*AnalyzeIamPolicyResponse_IamPolicyAnalysis {
249	if x != nil {
250		return x.ServiceAccountImpersonationAnalysis
251	}
252	return nil
253}
254
255func (x *AnalyzeIamPolicyResponse) GetFullyExplored() bool {
256	if x != nil {
257		return x.FullyExplored
258	}
259	return false
260}
261
262func (x *AnalyzeIamPolicyResponse) GetNonCriticalErrors() []*IamPolicyAnalysisResult_AnalysisState {
263	if x != nil {
264		return x.NonCriticalErrors
265	}
266	return nil
267}
268
269// Output configuration for export IAM policy analysis destination.
270type IamPolicyAnalysisOutputConfig struct {
271	state         protoimpl.MessageState
272	sizeCache     protoimpl.SizeCache
273	unknownFields protoimpl.UnknownFields
274
275	// IAM policy analysis export destination.
276	//
277	// Types that are assignable to Destination:
278	//	*IamPolicyAnalysisOutputConfig_GcsDestination_
279	Destination isIamPolicyAnalysisOutputConfig_Destination `protobuf_oneof:"destination"`
280}
281
282func (x *IamPolicyAnalysisOutputConfig) Reset() {
283	*x = IamPolicyAnalysisOutputConfig{}
284	if protoimpl.UnsafeEnabled {
285		mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[3]
286		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
287		ms.StoreMessageInfo(mi)
288	}
289}
290
291func (x *IamPolicyAnalysisOutputConfig) String() string {
292	return protoimpl.X.MessageStringOf(x)
293}
294
295func (*IamPolicyAnalysisOutputConfig) ProtoMessage() {}
296
297func (x *IamPolicyAnalysisOutputConfig) ProtoReflect() protoreflect.Message {
298	mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[3]
299	if protoimpl.UnsafeEnabled && x != nil {
300		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
301		if ms.LoadMessageInfo() == nil {
302			ms.StoreMessageInfo(mi)
303		}
304		return ms
305	}
306	return mi.MessageOf(x)
307}
308
309// Deprecated: Use IamPolicyAnalysisOutputConfig.ProtoReflect.Descriptor instead.
310func (*IamPolicyAnalysisOutputConfig) Descriptor() ([]byte, []int) {
311	return file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescGZIP(), []int{3}
312}
313
314func (m *IamPolicyAnalysisOutputConfig) GetDestination() isIamPolicyAnalysisOutputConfig_Destination {
315	if m != nil {
316		return m.Destination
317	}
318	return nil
319}
320
321func (x *IamPolicyAnalysisOutputConfig) GetGcsDestination() *IamPolicyAnalysisOutputConfig_GcsDestination {
322	if x, ok := x.GetDestination().(*IamPolicyAnalysisOutputConfig_GcsDestination_); ok {
323		return x.GcsDestination
324	}
325	return nil
326}
327
328type isIamPolicyAnalysisOutputConfig_Destination interface {
329	isIamPolicyAnalysisOutputConfig_Destination()
330}
331
332type IamPolicyAnalysisOutputConfig_GcsDestination_ struct {
333	// Destination on Cloud Storage.
334	GcsDestination *IamPolicyAnalysisOutputConfig_GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"`
335}
336
337func (*IamPolicyAnalysisOutputConfig_GcsDestination_) isIamPolicyAnalysisOutputConfig_Destination() {}
338
339// A request message for [AssetService.ExportIamPolicyAnalysis][google.cloud.asset.v1p4beta1.AssetService.ExportIamPolicyAnalysis].
340type ExportIamPolicyAnalysisRequest struct {
341	state         protoimpl.MessageState
342	sizeCache     protoimpl.SizeCache
343	unknownFields protoimpl.UnknownFields
344
345	// Required. The request query.
346	AnalysisQuery *IamPolicyAnalysisQuery `protobuf:"bytes,1,opt,name=analysis_query,json=analysisQuery,proto3" json:"analysis_query,omitempty"`
347	// Optional. The request options.
348	Options *ExportIamPolicyAnalysisRequest_Options `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
349	// Required. Output configuration indicating where the results will be output to.
350	OutputConfig *IamPolicyAnalysisOutputConfig `protobuf:"bytes,3,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
351}
352
353func (x *ExportIamPolicyAnalysisRequest) Reset() {
354	*x = ExportIamPolicyAnalysisRequest{}
355	if protoimpl.UnsafeEnabled {
356		mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[4]
357		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
358		ms.StoreMessageInfo(mi)
359	}
360}
361
362func (x *ExportIamPolicyAnalysisRequest) String() string {
363	return protoimpl.X.MessageStringOf(x)
364}
365
366func (*ExportIamPolicyAnalysisRequest) ProtoMessage() {}
367
368func (x *ExportIamPolicyAnalysisRequest) ProtoReflect() protoreflect.Message {
369	mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[4]
370	if protoimpl.UnsafeEnabled && x != nil {
371		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
372		if ms.LoadMessageInfo() == nil {
373			ms.StoreMessageInfo(mi)
374		}
375		return ms
376	}
377	return mi.MessageOf(x)
378}
379
380// Deprecated: Use ExportIamPolicyAnalysisRequest.ProtoReflect.Descriptor instead.
381func (*ExportIamPolicyAnalysisRequest) Descriptor() ([]byte, []int) {
382	return file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescGZIP(), []int{4}
383}
384
385func (x *ExportIamPolicyAnalysisRequest) GetAnalysisQuery() *IamPolicyAnalysisQuery {
386	if x != nil {
387		return x.AnalysisQuery
388	}
389	return nil
390}
391
392func (x *ExportIamPolicyAnalysisRequest) GetOptions() *ExportIamPolicyAnalysisRequest_Options {
393	if x != nil {
394		return x.Options
395	}
396	return nil
397}
398
399func (x *ExportIamPolicyAnalysisRequest) GetOutputConfig() *IamPolicyAnalysisOutputConfig {
400	if x != nil {
401		return x.OutputConfig
402	}
403	return nil
404}
405
406// The export IAM policy analysis response. This message is returned by the
407// [google.longrunning.Operations.GetOperation][] method in the returned
408// [google.longrunning.Operation.response][] field.
409type ExportIamPolicyAnalysisResponse struct {
410	state         protoimpl.MessageState
411	sizeCache     protoimpl.SizeCache
412	unknownFields protoimpl.UnknownFields
413
414	// Output configuration indicating where the results were output to.
415	OutputConfig *IamPolicyAnalysisOutputConfig `protobuf:"bytes,1,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
416}
417
418func (x *ExportIamPolicyAnalysisResponse) Reset() {
419	*x = ExportIamPolicyAnalysisResponse{}
420	if protoimpl.UnsafeEnabled {
421		mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[5]
422		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
423		ms.StoreMessageInfo(mi)
424	}
425}
426
427func (x *ExportIamPolicyAnalysisResponse) String() string {
428	return protoimpl.X.MessageStringOf(x)
429}
430
431func (*ExportIamPolicyAnalysisResponse) ProtoMessage() {}
432
433func (x *ExportIamPolicyAnalysisResponse) ProtoReflect() protoreflect.Message {
434	mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[5]
435	if protoimpl.UnsafeEnabled && x != nil {
436		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
437		if ms.LoadMessageInfo() == nil {
438			ms.StoreMessageInfo(mi)
439		}
440		return ms
441	}
442	return mi.MessageOf(x)
443}
444
445// Deprecated: Use ExportIamPolicyAnalysisResponse.ProtoReflect.Descriptor instead.
446func (*ExportIamPolicyAnalysisResponse) Descriptor() ([]byte, []int) {
447	return file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescGZIP(), []int{5}
448}
449
450func (x *ExportIamPolicyAnalysisResponse) GetOutputConfig() *IamPolicyAnalysisOutputConfig {
451	if x != nil {
452		return x.OutputConfig
453	}
454	return nil
455}
456
457// Specifies the resource to analyze for access policies, which may be set
458// directly on the resource, or on ancestors such as organizations, folders or
459// projects. At least one of [ResourceSelector][google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.ResourceSelector], [IdentitySelector][google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IdentitySelector] or
460// [AccessSelector][google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.AccessSelector] must be specified in a request.
461type IamPolicyAnalysisQuery_ResourceSelector struct {
462	state         protoimpl.MessageState
463	sizeCache     protoimpl.SizeCache
464	unknownFields protoimpl.UnknownFields
465
466	// Required. The [full resource
467	// name](https://cloud.google.com/apis/design/resource_names#full_resource_name)
468	// .
469	FullResourceName string `protobuf:"bytes,1,opt,name=full_resource_name,json=fullResourceName,proto3" json:"full_resource_name,omitempty"`
470}
471
472func (x *IamPolicyAnalysisQuery_ResourceSelector) Reset() {
473	*x = IamPolicyAnalysisQuery_ResourceSelector{}
474	if protoimpl.UnsafeEnabled {
475		mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[6]
476		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
477		ms.StoreMessageInfo(mi)
478	}
479}
480
481func (x *IamPolicyAnalysisQuery_ResourceSelector) String() string {
482	return protoimpl.X.MessageStringOf(x)
483}
484
485func (*IamPolicyAnalysisQuery_ResourceSelector) ProtoMessage() {}
486
487func (x *IamPolicyAnalysisQuery_ResourceSelector) ProtoReflect() protoreflect.Message {
488	mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[6]
489	if protoimpl.UnsafeEnabled && x != nil {
490		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
491		if ms.LoadMessageInfo() == nil {
492			ms.StoreMessageInfo(mi)
493		}
494		return ms
495	}
496	return mi.MessageOf(x)
497}
498
499// Deprecated: Use IamPolicyAnalysisQuery_ResourceSelector.ProtoReflect.Descriptor instead.
500func (*IamPolicyAnalysisQuery_ResourceSelector) Descriptor() ([]byte, []int) {
501	return file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescGZIP(), []int{0, 0}
502}
503
504func (x *IamPolicyAnalysisQuery_ResourceSelector) GetFullResourceName() string {
505	if x != nil {
506		return x.FullResourceName
507	}
508	return ""
509}
510
511// Specifies an identity for which to determine resource access, based on
512// roles assigned either directly to them or to the groups they belong to,
513// directly or indirectly.
514type IamPolicyAnalysisQuery_IdentitySelector struct {
515	state         protoimpl.MessageState
516	sizeCache     protoimpl.SizeCache
517	unknownFields protoimpl.UnknownFields
518
519	// Required. The identity appear in the form of members in
520	// [IAM policy
521	// binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
522	Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"`
523}
524
525func (x *IamPolicyAnalysisQuery_IdentitySelector) Reset() {
526	*x = IamPolicyAnalysisQuery_IdentitySelector{}
527	if protoimpl.UnsafeEnabled {
528		mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[7]
529		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
530		ms.StoreMessageInfo(mi)
531	}
532}
533
534func (x *IamPolicyAnalysisQuery_IdentitySelector) String() string {
535	return protoimpl.X.MessageStringOf(x)
536}
537
538func (*IamPolicyAnalysisQuery_IdentitySelector) ProtoMessage() {}
539
540func (x *IamPolicyAnalysisQuery_IdentitySelector) ProtoReflect() protoreflect.Message {
541	mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[7]
542	if protoimpl.UnsafeEnabled && x != nil {
543		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
544		if ms.LoadMessageInfo() == nil {
545			ms.StoreMessageInfo(mi)
546		}
547		return ms
548	}
549	return mi.MessageOf(x)
550}
551
552// Deprecated: Use IamPolicyAnalysisQuery_IdentitySelector.ProtoReflect.Descriptor instead.
553func (*IamPolicyAnalysisQuery_IdentitySelector) Descriptor() ([]byte, []int) {
554	return file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescGZIP(), []int{0, 1}
555}
556
557func (x *IamPolicyAnalysisQuery_IdentitySelector) GetIdentity() string {
558	if x != nil {
559		return x.Identity
560	}
561	return ""
562}
563
564// Specifies roles and/or permissions to analyze, to determine both the
565// identities possessing them and the resources they control. If multiple
566// values are specified, results will include identities and resources
567// matching any of them.
568type IamPolicyAnalysisQuery_AccessSelector struct {
569	state         protoimpl.MessageState
570	sizeCache     protoimpl.SizeCache
571	unknownFields protoimpl.UnknownFields
572
573	// Optional. The roles to appear in result.
574	Roles []string `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"`
575	// Optional. The permissions to appear in result.
576	Permissions []string `protobuf:"bytes,2,rep,name=permissions,proto3" json:"permissions,omitempty"`
577}
578
579func (x *IamPolicyAnalysisQuery_AccessSelector) Reset() {
580	*x = IamPolicyAnalysisQuery_AccessSelector{}
581	if protoimpl.UnsafeEnabled {
582		mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[8]
583		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
584		ms.StoreMessageInfo(mi)
585	}
586}
587
588func (x *IamPolicyAnalysisQuery_AccessSelector) String() string {
589	return protoimpl.X.MessageStringOf(x)
590}
591
592func (*IamPolicyAnalysisQuery_AccessSelector) ProtoMessage() {}
593
594func (x *IamPolicyAnalysisQuery_AccessSelector) ProtoReflect() protoreflect.Message {
595	mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[8]
596	if protoimpl.UnsafeEnabled && x != nil {
597		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
598		if ms.LoadMessageInfo() == nil {
599			ms.StoreMessageInfo(mi)
600		}
601		return ms
602	}
603	return mi.MessageOf(x)
604}
605
606// Deprecated: Use IamPolicyAnalysisQuery_AccessSelector.ProtoReflect.Descriptor instead.
607func (*IamPolicyAnalysisQuery_AccessSelector) Descriptor() ([]byte, []int) {
608	return file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescGZIP(), []int{0, 2}
609}
610
611func (x *IamPolicyAnalysisQuery_AccessSelector) GetRoles() []string {
612	if x != nil {
613		return x.Roles
614	}
615	return nil
616}
617
618func (x *IamPolicyAnalysisQuery_AccessSelector) GetPermissions() []string {
619	if x != nil {
620		return x.Permissions
621	}
622	return nil
623}
624
625// Contains request options.
626type AnalyzeIamPolicyRequest_Options struct {
627	state         protoimpl.MessageState
628	sizeCache     protoimpl.SizeCache
629	unknownFields protoimpl.UnknownFields
630
631	// Optional. If true, the identities section of the result will expand any
632	// Google groups appearing in an IAM policy binding.
633	//
634	// If [identity_selector][] is specified, the identity in the result will
635	// be determined by the selector, and this flag will have no effect.
636	//
637	// Default is false.
638	ExpandGroups bool `protobuf:"varint,1,opt,name=expand_groups,json=expandGroups,proto3" json:"expand_groups,omitempty"`
639	// Optional. If true, the access section of result will expand any roles
640	// appearing in IAM policy bindings to include their permissions.
641	//
642	// If [access_selector][] is specified, the access section of the result
643	// will be determined by the selector, and this flag will have no effect.
644	//
645	// Default is false.
646	ExpandRoles bool `protobuf:"varint,2,opt,name=expand_roles,json=expandRoles,proto3" json:"expand_roles,omitempty"`
647	// Optional. If true, the resource section of the result will expand any
648	// resource attached to an IAM policy to include resources lower in the
649	// resource hierarchy.
650	//
651	// For example, if the request analyzes for which resources user A has
652	// permission P, and the results include an IAM policy with P on a GCP
653	// folder, the results will also include resources in that folder with
654	// permission P.
655	//
656	// If [resource_selector][] is specified, the resource section of the result
657	// will be determined by the selector, and this flag will have no effect.
658	// Default is false.
659	ExpandResources bool `protobuf:"varint,3,opt,name=expand_resources,json=expandResources,proto3" json:"expand_resources,omitempty"`
660	// Optional. If true, the result will output resource edges, starting
661	// from the policy attached resource, to any expanded resources.
662	// Default is false.
663	OutputResourceEdges bool `protobuf:"varint,4,opt,name=output_resource_edges,json=outputResourceEdges,proto3" json:"output_resource_edges,omitempty"`
664	// Optional. If true, the result will output group identity edges, starting
665	// from the binding's group members, to any expanded identities.
666	// Default is false.
667	OutputGroupEdges bool `protobuf:"varint,5,opt,name=output_group_edges,json=outputGroupEdges,proto3" json:"output_group_edges,omitempty"`
668	// Optional. If true, the response will include access analysis from identities to
669	// resources via service account impersonation. This is a very expensive
670	// operation, because many derived queries will be executed. We highly
671	// recommend you use ExportIamPolicyAnalysis rpc instead.
672	//
673	// For example, if the request analyzes for which resources user A has
674	// permission P, and there's an IAM policy states user A has
675	// iam.serviceAccounts.getAccessToken permission to a service account SA,
676	// and there's another IAM policy states service account SA has permission P
677	// to a GCP folder F, then user A potentially has access to the GCP folder
678	// F. And those advanced analysis results will be included in
679	// [AnalyzeIamPolicyResponse.service_account_impersonation_analysis][google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis].
680	//
681	// Another example, if the request analyzes for who has
682	// permission P to a GCP folder F, and there's an IAM policy states user A
683	// has iam.serviceAccounts.actAs permission to a service account SA, and
684	// there's another IAM policy states service account SA has permission P to
685	// the GCP folder F, then user A potentially has access to the GCP folder
686	// F. And those advanced analysis results will be included in
687	// [AnalyzeIamPolicyResponse.service_account_impersonation_analysis][google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis].
688	//
689	// Default is false.
690	AnalyzeServiceAccountImpersonation bool `protobuf:"varint,6,opt,name=analyze_service_account_impersonation,json=analyzeServiceAccountImpersonation,proto3" json:"analyze_service_account_impersonation,omitempty"`
691	// Optional. Amount of time executable has to complete.  See JSON representation of
692	// [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
693	//
694	// If this field is set with a value less than the RPC deadline, and the
695	// execution of your query hasn't finished in the specified
696	// execution timeout,  you will get a response with partial result.
697	// Otherwise, your query's execution will continue until the RPC deadline.
698	// If it's not finished until then, you will get a  DEADLINE_EXCEEDED error.
699	//
700	// Default is empty.
701	ExecutionTimeout *durationpb.Duration `protobuf:"bytes,7,opt,name=execution_timeout,json=executionTimeout,proto3" json:"execution_timeout,omitempty"`
702}
703
704func (x *AnalyzeIamPolicyRequest_Options) Reset() {
705	*x = AnalyzeIamPolicyRequest_Options{}
706	if protoimpl.UnsafeEnabled {
707		mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[9]
708		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
709		ms.StoreMessageInfo(mi)
710	}
711}
712
713func (x *AnalyzeIamPolicyRequest_Options) String() string {
714	return protoimpl.X.MessageStringOf(x)
715}
716
717func (*AnalyzeIamPolicyRequest_Options) ProtoMessage() {}
718
719func (x *AnalyzeIamPolicyRequest_Options) ProtoReflect() protoreflect.Message {
720	mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[9]
721	if protoimpl.UnsafeEnabled && x != nil {
722		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
723		if ms.LoadMessageInfo() == nil {
724			ms.StoreMessageInfo(mi)
725		}
726		return ms
727	}
728	return mi.MessageOf(x)
729}
730
731// Deprecated: Use AnalyzeIamPolicyRequest_Options.ProtoReflect.Descriptor instead.
732func (*AnalyzeIamPolicyRequest_Options) Descriptor() ([]byte, []int) {
733	return file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescGZIP(), []int{1, 0}
734}
735
736func (x *AnalyzeIamPolicyRequest_Options) GetExpandGroups() bool {
737	if x != nil {
738		return x.ExpandGroups
739	}
740	return false
741}
742
743func (x *AnalyzeIamPolicyRequest_Options) GetExpandRoles() bool {
744	if x != nil {
745		return x.ExpandRoles
746	}
747	return false
748}
749
750func (x *AnalyzeIamPolicyRequest_Options) GetExpandResources() bool {
751	if x != nil {
752		return x.ExpandResources
753	}
754	return false
755}
756
757func (x *AnalyzeIamPolicyRequest_Options) GetOutputResourceEdges() bool {
758	if x != nil {
759		return x.OutputResourceEdges
760	}
761	return false
762}
763
764func (x *AnalyzeIamPolicyRequest_Options) GetOutputGroupEdges() bool {
765	if x != nil {
766		return x.OutputGroupEdges
767	}
768	return false
769}
770
771func (x *AnalyzeIamPolicyRequest_Options) GetAnalyzeServiceAccountImpersonation() bool {
772	if x != nil {
773		return x.AnalyzeServiceAccountImpersonation
774	}
775	return false
776}
777
778func (x *AnalyzeIamPolicyRequest_Options) GetExecutionTimeout() *durationpb.Duration {
779	if x != nil {
780		return x.ExecutionTimeout
781	}
782	return nil
783}
784
785// An analysis message to group the query and results.
786type AnalyzeIamPolicyResponse_IamPolicyAnalysis struct {
787	state         protoimpl.MessageState
788	sizeCache     protoimpl.SizeCache
789	unknownFields protoimpl.UnknownFields
790
791	// The analysis query.
792	AnalysisQuery *IamPolicyAnalysisQuery `protobuf:"bytes,1,opt,name=analysis_query,json=analysisQuery,proto3" json:"analysis_query,omitempty"`
793	// A list of [IamPolicyAnalysisResult][google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult] that matches the analysis query, or
794	// empty if no result is found.
795	AnalysisResults []*IamPolicyAnalysisResult `protobuf:"bytes,2,rep,name=analysis_results,json=analysisResults,proto3" json:"analysis_results,omitempty"`
796	// Represents whether all entries in the [analysis_results][google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results] have been
797	// fully explored to answer the query.
798	FullyExplored bool `protobuf:"varint,3,opt,name=fully_explored,json=fullyExplored,proto3" json:"fully_explored,omitempty"`
799}
800
801func (x *AnalyzeIamPolicyResponse_IamPolicyAnalysis) Reset() {
802	*x = AnalyzeIamPolicyResponse_IamPolicyAnalysis{}
803	if protoimpl.UnsafeEnabled {
804		mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[10]
805		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
806		ms.StoreMessageInfo(mi)
807	}
808}
809
810func (x *AnalyzeIamPolicyResponse_IamPolicyAnalysis) String() string {
811	return protoimpl.X.MessageStringOf(x)
812}
813
814func (*AnalyzeIamPolicyResponse_IamPolicyAnalysis) ProtoMessage() {}
815
816func (x *AnalyzeIamPolicyResponse_IamPolicyAnalysis) ProtoReflect() protoreflect.Message {
817	mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[10]
818	if protoimpl.UnsafeEnabled && x != nil {
819		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
820		if ms.LoadMessageInfo() == nil {
821			ms.StoreMessageInfo(mi)
822		}
823		return ms
824	}
825	return mi.MessageOf(x)
826}
827
828// Deprecated: Use AnalyzeIamPolicyResponse_IamPolicyAnalysis.ProtoReflect.Descriptor instead.
829func (*AnalyzeIamPolicyResponse_IamPolicyAnalysis) Descriptor() ([]byte, []int) {
830	return file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescGZIP(), []int{2, 0}
831}
832
833func (x *AnalyzeIamPolicyResponse_IamPolicyAnalysis) GetAnalysisQuery() *IamPolicyAnalysisQuery {
834	if x != nil {
835		return x.AnalysisQuery
836	}
837	return nil
838}
839
840func (x *AnalyzeIamPolicyResponse_IamPolicyAnalysis) GetAnalysisResults() []*IamPolicyAnalysisResult {
841	if x != nil {
842		return x.AnalysisResults
843	}
844	return nil
845}
846
847func (x *AnalyzeIamPolicyResponse_IamPolicyAnalysis) GetFullyExplored() bool {
848	if x != nil {
849		return x.FullyExplored
850	}
851	return false
852}
853
854// A Cloud Storage location.
855type IamPolicyAnalysisOutputConfig_GcsDestination struct {
856	state         protoimpl.MessageState
857	sizeCache     protoimpl.SizeCache
858	unknownFields protoimpl.UnknownFields
859
860	// Required. The uri of the Cloud Storage object. It's the same uri that is used by
861	// gsutil. For example: "gs://bucket_name/object_name". See [Viewing and
862	// Editing Object
863	// Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
864	// for more information.
865	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
866}
867
868func (x *IamPolicyAnalysisOutputConfig_GcsDestination) Reset() {
869	*x = IamPolicyAnalysisOutputConfig_GcsDestination{}
870	if protoimpl.UnsafeEnabled {
871		mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[11]
872		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
873		ms.StoreMessageInfo(mi)
874	}
875}
876
877func (x *IamPolicyAnalysisOutputConfig_GcsDestination) String() string {
878	return protoimpl.X.MessageStringOf(x)
879}
880
881func (*IamPolicyAnalysisOutputConfig_GcsDestination) ProtoMessage() {}
882
883func (x *IamPolicyAnalysisOutputConfig_GcsDestination) ProtoReflect() protoreflect.Message {
884	mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[11]
885	if protoimpl.UnsafeEnabled && x != nil {
886		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
887		if ms.LoadMessageInfo() == nil {
888			ms.StoreMessageInfo(mi)
889		}
890		return ms
891	}
892	return mi.MessageOf(x)
893}
894
895// Deprecated: Use IamPolicyAnalysisOutputConfig_GcsDestination.ProtoReflect.Descriptor instead.
896func (*IamPolicyAnalysisOutputConfig_GcsDestination) Descriptor() ([]byte, []int) {
897	return file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescGZIP(), []int{3, 0}
898}
899
900func (x *IamPolicyAnalysisOutputConfig_GcsDestination) GetUri() string {
901	if x != nil {
902		return x.Uri
903	}
904	return ""
905}
906
907// Contains request options.
908type ExportIamPolicyAnalysisRequest_Options struct {
909	state         protoimpl.MessageState
910	sizeCache     protoimpl.SizeCache
911	unknownFields protoimpl.UnknownFields
912
913	// Optional. If true, the identities section of the result will expand any
914	// Google groups appearing in an IAM policy binding.
915	//
916	// If [identity_selector][] is specified, the identity in the result will
917	// be determined by the selector, and this flag will have no effect.
918	//
919	// Default is false.
920	ExpandGroups bool `protobuf:"varint,1,opt,name=expand_groups,json=expandGroups,proto3" json:"expand_groups,omitempty"`
921	// Optional. If true, the access section of result will expand any roles
922	// appearing in IAM policy bindings to include their permissions.
923	//
924	// If [access_selector][] is specified, the access section of the result
925	// will be determined by the selector, and this flag will have no effect.
926	//
927	// Default is false.
928	ExpandRoles bool `protobuf:"varint,2,opt,name=expand_roles,json=expandRoles,proto3" json:"expand_roles,omitempty"`
929	// Optional. If true, the resource section of the result will expand any
930	// resource attached to an IAM policy to include resources lower in the
931	// resource hierarchy.
932	//
933	// For example, if the request analyzes for which resources user A has
934	// permission P, and the results include an IAM policy with P on a GCP
935	// folder, the results will also include resources in that folder with
936	// permission P.
937	//
938	// If [resource_selector][] is specified, the resource section of the result
939	// will be determined by the selector, and this flag will have no effect.
940	// Default is false.
941	ExpandResources bool `protobuf:"varint,3,opt,name=expand_resources,json=expandResources,proto3" json:"expand_resources,omitempty"`
942	// Optional. If true, the result will output resource edges, starting
943	// from the policy attached resource, to any expanded resources.
944	// Default is false.
945	OutputResourceEdges bool `protobuf:"varint,4,opt,name=output_resource_edges,json=outputResourceEdges,proto3" json:"output_resource_edges,omitempty"`
946	// Optional. If true, the result will output group identity edges, starting
947	// from the binding's group members, to any expanded identities.
948	// Default is false.
949	OutputGroupEdges bool `protobuf:"varint,5,opt,name=output_group_edges,json=outputGroupEdges,proto3" json:"output_group_edges,omitempty"`
950	// Optional. If true, the response will include access analysis from identities to
951	// resources via service account impersonation. This is a very expensive
952	// operation, because many derived queries will be executed.
953	//
954	// For example, if the request analyzes for which resources user A has
955	// permission P, and there's an IAM policy states user A has
956	// iam.serviceAccounts.getAccessToken permission to a service account SA,
957	// and there's another IAM policy states service account SA has permission P
958	// to a GCP folder F, then user A potentially has access to the GCP folder
959	// F. And those advanced analysis results will be included in
960	// [AnalyzeIamPolicyResponse.service_account_impersonation_analysis][google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis].
961	//
962	// Another example, if the request analyzes for who has
963	// permission P to a GCP folder F, and there's an IAM policy states user A
964	// has iam.serviceAccounts.actAs permission to a service account SA, and
965	// there's another IAM policy states service account SA has permission P to
966	// the GCP folder F, then user A potentially has access to the GCP folder
967	// F. And those advanced analysis results will be included in
968	// [AnalyzeIamPolicyResponse.service_account_impersonation_analysis][google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis].
969	//
970	// Default is false.
971	AnalyzeServiceAccountImpersonation bool `protobuf:"varint,6,opt,name=analyze_service_account_impersonation,json=analyzeServiceAccountImpersonation,proto3" json:"analyze_service_account_impersonation,omitempty"`
972}
973
974func (x *ExportIamPolicyAnalysisRequest_Options) Reset() {
975	*x = ExportIamPolicyAnalysisRequest_Options{}
976	if protoimpl.UnsafeEnabled {
977		mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[12]
978		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
979		ms.StoreMessageInfo(mi)
980	}
981}
982
983func (x *ExportIamPolicyAnalysisRequest_Options) String() string {
984	return protoimpl.X.MessageStringOf(x)
985}
986
987func (*ExportIamPolicyAnalysisRequest_Options) ProtoMessage() {}
988
989func (x *ExportIamPolicyAnalysisRequest_Options) ProtoReflect() protoreflect.Message {
990	mi := &file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[12]
991	if protoimpl.UnsafeEnabled && x != nil {
992		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
993		if ms.LoadMessageInfo() == nil {
994			ms.StoreMessageInfo(mi)
995		}
996		return ms
997	}
998	return mi.MessageOf(x)
999}
1000
1001// Deprecated: Use ExportIamPolicyAnalysisRequest_Options.ProtoReflect.Descriptor instead.
1002func (*ExportIamPolicyAnalysisRequest_Options) Descriptor() ([]byte, []int) {
1003	return file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescGZIP(), []int{4, 0}
1004}
1005
1006func (x *ExportIamPolicyAnalysisRequest_Options) GetExpandGroups() bool {
1007	if x != nil {
1008		return x.ExpandGroups
1009	}
1010	return false
1011}
1012
1013func (x *ExportIamPolicyAnalysisRequest_Options) GetExpandRoles() bool {
1014	if x != nil {
1015		return x.ExpandRoles
1016	}
1017	return false
1018}
1019
1020func (x *ExportIamPolicyAnalysisRequest_Options) GetExpandResources() bool {
1021	if x != nil {
1022		return x.ExpandResources
1023	}
1024	return false
1025}
1026
1027func (x *ExportIamPolicyAnalysisRequest_Options) GetOutputResourceEdges() bool {
1028	if x != nil {
1029		return x.OutputResourceEdges
1030	}
1031	return false
1032}
1033
1034func (x *ExportIamPolicyAnalysisRequest_Options) GetOutputGroupEdges() bool {
1035	if x != nil {
1036		return x.OutputGroupEdges
1037	}
1038	return false
1039}
1040
1041func (x *ExportIamPolicyAnalysisRequest_Options) GetAnalyzeServiceAccountImpersonation() bool {
1042	if x != nil {
1043		return x.AnalyzeServiceAccountImpersonation
1044	}
1045	return false
1046}
1047
1048var File_google_cloud_asset_v1p4beta1_asset_service_proto protoreflect.FileDescriptor
1049
1050var file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDesc = []byte{
1051	0x0a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
1052	0x73, 0x73, 0x65, 0x74, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61,
1053	0x73, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
1054	0x74, 0x6f, 0x12, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
1055	0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
1056	0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e,
1057	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
1058	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64,
1059	0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
1060	0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x73,
1061	0x73, 0x65, 0x74, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x73,
1062	0x73, 0x65, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x67, 0x6f, 0x6f, 0x67,
1063	0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
1064	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c,
1065	0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61,
1066	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f,
1067	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72,
1068	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f,
1069	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70,
1070	0x72, 0x6f, 0x74, 0x6f, 0x22, 0xea, 0x04, 0x0a, 0x16, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69,
1071	0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12,
1072	0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
1073	0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x77, 0x0a, 0x11,
1074	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f,
1075	0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1076	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70,
1077	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
1078	0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65,
1079	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x03,
1080	0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c,
1081	0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x77, 0x0a, 0x11, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74,
1082	0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
1083	0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
1084	0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
1085	0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69,
1086	0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53,
1087	0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x69, 0x64,
1088	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x71,
1089	0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f,
1090	0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1091	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70,
1092	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
1093	0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x63,
1094	0x63, 0x65, 0x73, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41,
1095	0x01, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f,
1096	0x72, 0x1a, 0x45, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c,
1097	0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x12, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x65,
1098	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
1099	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x66, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f,
1100	0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x33, 0x0a, 0x10, 0x49, 0x64, 0x65, 0x6e,
1101	0x74, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x08,
1102	0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
1103	0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x52, 0x0a,
1104	0x0e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12,
1105	0x19, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03,
1106	0xe0, 0x41, 0x01, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x70, 0x65,
1107	0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42,
1108	0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
1109	0x73, 0x22, 0xf8, 0x04, 0x0a, 0x17, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d,
1110	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x60, 0x0a,
1111	0x0e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18,
1112	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
1113	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
1114	0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e,
1115	0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02,
1116	0x52, 0x0d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12,
1117	0x5c, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
1118	0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
1119	0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
1120	0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
1121	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42,
1122	0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x9c, 0x03,
1123	0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x78, 0x70,
1124	0x61, 0x6e, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
1125	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x47, 0x72, 0x6f,
1126	0x75, 0x70, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x6f,
1127	0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b,
1128	0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x10, 0x65,
1129	0x78, 0x70, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18,
1130	0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x61,
1131	0x6e, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x15, 0x6f,
1132	0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65,
1133	0x64, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
1134	0x13, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45,
1135	0x64, 0x67, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x12, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x67,
1136	0x72, 0x6f, 0x75, 0x70, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
1137	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x47, 0x72, 0x6f,
1138	0x75, 0x70, 0x45, 0x64, 0x67, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x25, 0x61, 0x6e, 0x61, 0x6c, 0x79,
1139	0x7a, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75,
1140	0x6e, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1141	0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x22, 0x61, 0x6e, 0x61,
1142	0x6c, 0x79, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75,
1143	0x6e, 0x74, 0x49, 0x6d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
1144	0x4b, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d,
1145	0x65, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
1146	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72,
1147	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63,
1148	0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xc1, 0x05, 0x0a,
1149	0x18, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63,
1150	0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x0d, 0x6d, 0x61, 0x69,
1151	0x6e, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
1152	0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
1153	0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
1154	0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
1155	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69,
1156	0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x0c, 0x6d, 0x61, 0x69, 0x6e,
1157	0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x9d, 0x01, 0x0a, 0x26, 0x73, 0x65, 0x72,
1158	0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6d, 0x70,
1159	0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79,
1160	0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1161	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76,
1162	0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65,
1163	0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
1164	0x65, 0x2e, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79,
1165	0x73, 0x69, 0x73, 0x52, 0x23, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f,
1166	0x75, 0x6e, 0x74, 0x49, 0x6d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1167	0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x75, 0x6c, 0x6c,
1168	0x79, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
1169	0x52, 0x0d, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x64, 0x12,
1170	0x73, 0x0a, 0x13, 0x6e, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f,
1171	0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67,
1172	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65,
1173	0x74, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x61, 0x6d, 0x50,
1174	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73,
1175	0x75, 0x6c, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74,
1176	0x65, 0x52, 0x11, 0x6e, 0x6f, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x45, 0x72,
1177	0x72, 0x6f, 0x72, 0x73, 0x1a, 0xf9, 0x01, 0x0a, 0x11, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69,
1178	0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x5b, 0x0a, 0x0e, 0x61, 0x6e,
1179	0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01,
1180	0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
1181	0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
1182	0x31, 0x2e, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79,
1183	0x73, 0x69, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x0d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73,
1184	0x69, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x60, 0x0a, 0x10, 0x61, 0x6e, 0x61, 0x6c, 0x79,
1185	0x73, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
1186	0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
1187	0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
1188	0x2e, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73,
1189	0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73,
1190	0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x75, 0x6c,
1191	0x6c, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
1192	0x08, 0x52, 0x0d, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x64,
1193	0x22, 0xce, 0x01, 0x0a, 0x1d, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e,
1194	0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66,
1195	0x69, 0x67, 0x12, 0x75, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e,
1196	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f,
1197	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74,
1198	0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x61, 0x6d, 0x50, 0x6f,
1199	0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4f, 0x75, 0x74, 0x70,
1200	0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74,
1201	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65,
1202	0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x27, 0x0a, 0x0e, 0x47, 0x63, 0x73,
1203	0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x03, 0x75,
1204	0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75,
1205	0x72, 0x69, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
1206	0x6e, 0x22, 0xa0, 0x05, 0x0a, 0x1e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x61, 0x6d, 0x50,
1207	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71,
1208	0x75, 0x65, 0x73, 0x74, 0x12, 0x60, 0x0a, 0x0e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73,
1209	0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67,
1210	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65,
1211	0x74, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x61, 0x6d, 0x50,
1212	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x51, 0x75, 0x65,
1213	0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69,
1214	0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x63, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
1215	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1216	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70,
1217	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x61, 0x6d,
1218	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65,
1219	0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x03, 0xe0,
1220	0x41, 0x01, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x65, 0x0a, 0x0d, 0x6f,
1221	0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01,
1222	0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
1223	0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
1224	0x31, 0x2e, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79,
1225	0x73, 0x69, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42,
1226	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66,
1227	0x69, 0x67, 0x1a, 0xcf, 0x02, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28,
1228	0x0a, 0x0d, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18,
1229	0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x61,
1230	0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x61,
1231	0x6e, 0x64, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03,
1232	0xe0, 0x41, 0x01, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x73,
1233	0x12, 0x2e, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75,
1234	0x72, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
1235	0x0f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
1236	0x12, 0x37, 0x0a, 0x15, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75,
1237	0x72, 0x63, 0x65, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42,
1238	0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x6f,
1239	0x75, 0x72, 0x63, 0x65, 0x45, 0x64, 0x67, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x12, 0x6f, 0x75, 0x74,
1240	0x70, 0x75, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x73, 0x18,
1241	0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x70,
1242	0x75, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x64, 0x67, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x25,
1243	0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f,
1244	0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e,
1245	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01,
1246	0x52, 0x22, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
1247	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61,
1248	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0x0a, 0x1f, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49,
1249	0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73,
1250	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70,
1251	0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
1252	0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
1253	0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49,
1254	0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73,
1255	0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x6f, 0x75,
1256	0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x32, 0xe5, 0x04, 0x0a, 0x0c, 0x41,
1257	0x73, 0x73, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc2, 0x01, 0x0a, 0x10,
1258	0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
1259	0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
1260	0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
1261	0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
1262	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1263	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70,
1264	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61,
1265	0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
1266	0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
1267	0x74, 0x61, 0x31, 0x2f, 0x7b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x71, 0x75,
1268	0x65, 0x72, 0x79, 0x2e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x2f, 0x2a, 0x7d, 0x3a,
1269	0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
1270	0x12, 0xc0, 0x02, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f,
1271	0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x3c, 0x2e, 0x67,
1272	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65,
1273	0x74, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f,
1274	0x72, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79,
1275	0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f,
1276	0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e,
1277	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc7, 0x01, 0x82, 0xd3, 0xe4, 0x93,
1278	0x02, 0x43, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b,
1279	0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70,
1280	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6f, 0x72,
1281	0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73,
1282	0x69, 0x73, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x7b, 0x0a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1283	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70,
1284	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x61, 0x6d,
1285	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65,
1286	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
1287	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
1288	0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f,
1289	0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75,
1290	0x65, 0x73, 0x74, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x61, 0x73, 0x73,
1291	0x65, 0x74, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
1292	0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e,
1293	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61,
1294	0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
1295	0x72, 0x6d, 0x42, 0xb8, 0x01, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1296	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31,
1297	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x11, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x65,
1298	0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f,
1299	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f,
1300	0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
1301	0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2f,
1302	0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x73, 0x73, 0x65, 0x74, 0xaa,
1303	0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41,
1304	0x73, 0x73, 0x65, 0x74, 0x2e, 0x56, 0x31, 0x50, 0x34, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02,
1305	0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x73,
1306	0x73, 0x65, 0x74, 0x5c, 0x56, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70,
1307	0x72, 0x6f, 0x74, 0x6f, 0x33,
1308}
1309
1310var (
1311	file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescOnce sync.Once
1312	file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescData = file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDesc
1313)
1314
1315func file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescGZIP() []byte {
1316	file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescOnce.Do(func() {
1317		file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescData)
1318	})
1319	return file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDescData
1320}
1321
1322var file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
1323var file_google_cloud_asset_v1p4beta1_asset_service_proto_goTypes = []interface{}{
1324	(*IamPolicyAnalysisQuery)(nil),                       // 0: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery
1325	(*AnalyzeIamPolicyRequest)(nil),                      // 1: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest
1326	(*AnalyzeIamPolicyResponse)(nil),                     // 2: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse
1327	(*IamPolicyAnalysisOutputConfig)(nil),                // 3: google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig
1328	(*ExportIamPolicyAnalysisRequest)(nil),               // 4: google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest
1329	(*ExportIamPolicyAnalysisResponse)(nil),              // 5: google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisResponse
1330	(*IamPolicyAnalysisQuery_ResourceSelector)(nil),      // 6: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.ResourceSelector
1331	(*IamPolicyAnalysisQuery_IdentitySelector)(nil),      // 7: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IdentitySelector
1332	(*IamPolicyAnalysisQuery_AccessSelector)(nil),        // 8: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.AccessSelector
1333	(*AnalyzeIamPolicyRequest_Options)(nil),              // 9: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.Options
1334	(*AnalyzeIamPolicyResponse_IamPolicyAnalysis)(nil),   // 10: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IamPolicyAnalysis
1335	(*IamPolicyAnalysisOutputConfig_GcsDestination)(nil), // 11: google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig.GcsDestination
1336	(*ExportIamPolicyAnalysisRequest_Options)(nil),       // 12: google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.Options
1337	(*IamPolicyAnalysisResult_AnalysisState)(nil),        // 13: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.AnalysisState
1338	(*durationpb.Duration)(nil),                          // 14: google.protobuf.Duration
1339	(*IamPolicyAnalysisResult)(nil),                      // 15: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult
1340	(*longrunning.Operation)(nil),                        // 16: google.longrunning.Operation
1341}
1342var file_google_cloud_asset_v1p4beta1_asset_service_proto_depIdxs = []int32{
1343	6,  // 0: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.resource_selector:type_name -> google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.ResourceSelector
1344	7,  // 1: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.identity_selector:type_name -> google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IdentitySelector
1345	8,  // 2: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.access_selector:type_name -> google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.AccessSelector
1346	0,  // 3: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.analysis_query:type_name -> google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery
1347	9,  // 4: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.options:type_name -> google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.Options
1348	10, // 5: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.main_analysis:type_name -> google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IamPolicyAnalysis
1349	10, // 6: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis:type_name -> google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IamPolicyAnalysis
1350	13, // 7: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.non_critical_errors:type_name -> google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.AnalysisState
1351	11, // 8: google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig.gcs_destination:type_name -> google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig.GcsDestination
1352	0,  // 9: google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.analysis_query:type_name -> google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery
1353	12, // 10: google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.options:type_name -> google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.Options
1354	3,  // 11: google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.output_config:type_name -> google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig
1355	3,  // 12: google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisResponse.output_config:type_name -> google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig
1356	14, // 13: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.Options.execution_timeout:type_name -> google.protobuf.Duration
1357	0,  // 14: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_query:type_name -> google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery
1358	15, // 15: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results:type_name -> google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult
1359	1,  // 16: google.cloud.asset.v1p4beta1.AssetService.AnalyzeIamPolicy:input_type -> google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest
1360	4,  // 17: google.cloud.asset.v1p4beta1.AssetService.ExportIamPolicyAnalysis:input_type -> google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest
1361	2,  // 18: google.cloud.asset.v1p4beta1.AssetService.AnalyzeIamPolicy:output_type -> google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse
1362	16, // 19: google.cloud.asset.v1p4beta1.AssetService.ExportIamPolicyAnalysis:output_type -> google.longrunning.Operation
1363	18, // [18:20] is the sub-list for method output_type
1364	16, // [16:18] is the sub-list for method input_type
1365	16, // [16:16] is the sub-list for extension type_name
1366	16, // [16:16] is the sub-list for extension extendee
1367	0,  // [0:16] is the sub-list for field type_name
1368}
1369
1370func init() { file_google_cloud_asset_v1p4beta1_asset_service_proto_init() }
1371func file_google_cloud_asset_v1p4beta1_asset_service_proto_init() {
1372	if File_google_cloud_asset_v1p4beta1_asset_service_proto != nil {
1373		return
1374	}
1375	file_google_cloud_asset_v1p4beta1_assets_proto_init()
1376	if !protoimpl.UnsafeEnabled {
1377		file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
1378			switch v := v.(*IamPolicyAnalysisQuery); i {
1379			case 0:
1380				return &v.state
1381			case 1:
1382				return &v.sizeCache
1383			case 2:
1384				return &v.unknownFields
1385			default:
1386				return nil
1387			}
1388		}
1389		file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
1390			switch v := v.(*AnalyzeIamPolicyRequest); i {
1391			case 0:
1392				return &v.state
1393			case 1:
1394				return &v.sizeCache
1395			case 2:
1396				return &v.unknownFields
1397			default:
1398				return nil
1399			}
1400		}
1401		file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
1402			switch v := v.(*AnalyzeIamPolicyResponse); i {
1403			case 0:
1404				return &v.state
1405			case 1:
1406				return &v.sizeCache
1407			case 2:
1408				return &v.unknownFields
1409			default:
1410				return nil
1411			}
1412		}
1413		file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
1414			switch v := v.(*IamPolicyAnalysisOutputConfig); i {
1415			case 0:
1416				return &v.state
1417			case 1:
1418				return &v.sizeCache
1419			case 2:
1420				return &v.unknownFields
1421			default:
1422				return nil
1423			}
1424		}
1425		file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
1426			switch v := v.(*ExportIamPolicyAnalysisRequest); i {
1427			case 0:
1428				return &v.state
1429			case 1:
1430				return &v.sizeCache
1431			case 2:
1432				return &v.unknownFields
1433			default:
1434				return nil
1435			}
1436		}
1437		file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
1438			switch v := v.(*ExportIamPolicyAnalysisResponse); i {
1439			case 0:
1440				return &v.state
1441			case 1:
1442				return &v.sizeCache
1443			case 2:
1444				return &v.unknownFields
1445			default:
1446				return nil
1447			}
1448		}
1449		file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
1450			switch v := v.(*IamPolicyAnalysisQuery_ResourceSelector); i {
1451			case 0:
1452				return &v.state
1453			case 1:
1454				return &v.sizeCache
1455			case 2:
1456				return &v.unknownFields
1457			default:
1458				return nil
1459			}
1460		}
1461		file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
1462			switch v := v.(*IamPolicyAnalysisQuery_IdentitySelector); i {
1463			case 0:
1464				return &v.state
1465			case 1:
1466				return &v.sizeCache
1467			case 2:
1468				return &v.unknownFields
1469			default:
1470				return nil
1471			}
1472		}
1473		file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
1474			switch v := v.(*IamPolicyAnalysisQuery_AccessSelector); i {
1475			case 0:
1476				return &v.state
1477			case 1:
1478				return &v.sizeCache
1479			case 2:
1480				return &v.unknownFields
1481			default:
1482				return nil
1483			}
1484		}
1485		file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
1486			switch v := v.(*AnalyzeIamPolicyRequest_Options); i {
1487			case 0:
1488				return &v.state
1489			case 1:
1490				return &v.sizeCache
1491			case 2:
1492				return &v.unknownFields
1493			default:
1494				return nil
1495			}
1496		}
1497		file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
1498			switch v := v.(*AnalyzeIamPolicyResponse_IamPolicyAnalysis); i {
1499			case 0:
1500				return &v.state
1501			case 1:
1502				return &v.sizeCache
1503			case 2:
1504				return &v.unknownFields
1505			default:
1506				return nil
1507			}
1508		}
1509		file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
1510			switch v := v.(*IamPolicyAnalysisOutputConfig_GcsDestination); i {
1511			case 0:
1512				return &v.state
1513			case 1:
1514				return &v.sizeCache
1515			case 2:
1516				return &v.unknownFields
1517			default:
1518				return nil
1519			}
1520		}
1521		file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
1522			switch v := v.(*ExportIamPolicyAnalysisRequest_Options); i {
1523			case 0:
1524				return &v.state
1525			case 1:
1526				return &v.sizeCache
1527			case 2:
1528				return &v.unknownFields
1529			default:
1530				return nil
1531			}
1532		}
1533	}
1534	file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes[3].OneofWrappers = []interface{}{
1535		(*IamPolicyAnalysisOutputConfig_GcsDestination_)(nil),
1536	}
1537	type x struct{}
1538	out := protoimpl.TypeBuilder{
1539		File: protoimpl.DescBuilder{
1540			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1541			RawDescriptor: file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDesc,
1542			NumEnums:      0,
1543			NumMessages:   13,
1544			NumExtensions: 0,
1545			NumServices:   1,
1546		},
1547		GoTypes:           file_google_cloud_asset_v1p4beta1_asset_service_proto_goTypes,
1548		DependencyIndexes: file_google_cloud_asset_v1p4beta1_asset_service_proto_depIdxs,
1549		MessageInfos:      file_google_cloud_asset_v1p4beta1_asset_service_proto_msgTypes,
1550	}.Build()
1551	File_google_cloud_asset_v1p4beta1_asset_service_proto = out.File
1552	file_google_cloud_asset_v1p4beta1_asset_service_proto_rawDesc = nil
1553	file_google_cloud_asset_v1p4beta1_asset_service_proto_goTypes = nil
1554	file_google_cloud_asset_v1p4beta1_asset_service_proto_depIdxs = nil
1555}
1556
1557// Reference imports to suppress errors if they are not otherwise used.
1558var _ context.Context
1559var _ grpc.ClientConnInterface
1560
1561// This is a compile-time assertion to ensure that this generated file
1562// is compatible with the grpc package it is being compiled against.
1563const _ = grpc.SupportPackageIsVersion6
1564
1565// AssetServiceClient is the client API for AssetService service.
1566//
1567// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
1568type AssetServiceClient interface {
1569	// Analyzes IAM policies based on the specified request. Returns
1570	// a list of [IamPolicyAnalysisResult][google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult] matching the request.
1571	AnalyzeIamPolicy(ctx context.Context, in *AnalyzeIamPolicyRequest, opts ...grpc.CallOption) (*AnalyzeIamPolicyResponse, error)
1572	// Exports IAM policy analysis based on the specified request. This API
1573	// implements the [google.longrunning.Operation][google.longrunning.Operation] API allowing you to keep
1574	// track of the export. The metadata contains the request to help callers to
1575	// map responses to requests.
1576	ExportIamPolicyAnalysis(ctx context.Context, in *ExportIamPolicyAnalysisRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
1577}
1578
1579type assetServiceClient struct {
1580	cc grpc.ClientConnInterface
1581}
1582
1583func NewAssetServiceClient(cc grpc.ClientConnInterface) AssetServiceClient {
1584	return &assetServiceClient{cc}
1585}
1586
1587func (c *assetServiceClient) AnalyzeIamPolicy(ctx context.Context, in *AnalyzeIamPolicyRequest, opts ...grpc.CallOption) (*AnalyzeIamPolicyResponse, error) {
1588	out := new(AnalyzeIamPolicyResponse)
1589	err := c.cc.Invoke(ctx, "/google.cloud.asset.v1p4beta1.AssetService/AnalyzeIamPolicy", in, out, opts...)
1590	if err != nil {
1591		return nil, err
1592	}
1593	return out, nil
1594}
1595
1596func (c *assetServiceClient) ExportIamPolicyAnalysis(ctx context.Context, in *ExportIamPolicyAnalysisRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
1597	out := new(longrunning.Operation)
1598	err := c.cc.Invoke(ctx, "/google.cloud.asset.v1p4beta1.AssetService/ExportIamPolicyAnalysis", in, out, opts...)
1599	if err != nil {
1600		return nil, err
1601	}
1602	return out, nil
1603}
1604
1605// AssetServiceServer is the server API for AssetService service.
1606type AssetServiceServer interface {
1607	// Analyzes IAM policies based on the specified request. Returns
1608	// a list of [IamPolicyAnalysisResult][google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult] matching the request.
1609	AnalyzeIamPolicy(context.Context, *AnalyzeIamPolicyRequest) (*AnalyzeIamPolicyResponse, error)
1610	// Exports IAM policy analysis based on the specified request. This API
1611	// implements the [google.longrunning.Operation][google.longrunning.Operation] API allowing you to keep
1612	// track of the export. The metadata contains the request to help callers to
1613	// map responses to requests.
1614	ExportIamPolicyAnalysis(context.Context, *ExportIamPolicyAnalysisRequest) (*longrunning.Operation, error)
1615}
1616
1617// UnimplementedAssetServiceServer can be embedded to have forward compatible implementations.
1618type UnimplementedAssetServiceServer struct {
1619}
1620
1621func (*UnimplementedAssetServiceServer) AnalyzeIamPolicy(context.Context, *AnalyzeIamPolicyRequest) (*AnalyzeIamPolicyResponse, error) {
1622	return nil, status.Errorf(codes.Unimplemented, "method AnalyzeIamPolicy not implemented")
1623}
1624func (*UnimplementedAssetServiceServer) ExportIamPolicyAnalysis(context.Context, *ExportIamPolicyAnalysisRequest) (*longrunning.Operation, error) {
1625	return nil, status.Errorf(codes.Unimplemented, "method ExportIamPolicyAnalysis not implemented")
1626}
1627
1628func RegisterAssetServiceServer(s *grpc.Server, srv AssetServiceServer) {
1629	s.RegisterService(&_AssetService_serviceDesc, srv)
1630}
1631
1632func _AssetService_AnalyzeIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1633	in := new(AnalyzeIamPolicyRequest)
1634	if err := dec(in); err != nil {
1635		return nil, err
1636	}
1637	if interceptor == nil {
1638		return srv.(AssetServiceServer).AnalyzeIamPolicy(ctx, in)
1639	}
1640	info := &grpc.UnaryServerInfo{
1641		Server:     srv,
1642		FullMethod: "/google.cloud.asset.v1p4beta1.AssetService/AnalyzeIamPolicy",
1643	}
1644	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1645		return srv.(AssetServiceServer).AnalyzeIamPolicy(ctx, req.(*AnalyzeIamPolicyRequest))
1646	}
1647	return interceptor(ctx, in, info, handler)
1648}
1649
1650func _AssetService_ExportIamPolicyAnalysis_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1651	in := new(ExportIamPolicyAnalysisRequest)
1652	if err := dec(in); err != nil {
1653		return nil, err
1654	}
1655	if interceptor == nil {
1656		return srv.(AssetServiceServer).ExportIamPolicyAnalysis(ctx, in)
1657	}
1658	info := &grpc.UnaryServerInfo{
1659		Server:     srv,
1660		FullMethod: "/google.cloud.asset.v1p4beta1.AssetService/ExportIamPolicyAnalysis",
1661	}
1662	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1663		return srv.(AssetServiceServer).ExportIamPolicyAnalysis(ctx, req.(*ExportIamPolicyAnalysisRequest))
1664	}
1665	return interceptor(ctx, in, info, handler)
1666}
1667
1668var _AssetService_serviceDesc = grpc.ServiceDesc{
1669	ServiceName: "google.cloud.asset.v1p4beta1.AssetService",
1670	HandlerType: (*AssetServiceServer)(nil),
1671	Methods: []grpc.MethodDesc{
1672		{
1673			MethodName: "AnalyzeIamPolicy",
1674			Handler:    _AssetService_AnalyzeIamPolicy_Handler,
1675		},
1676		{
1677			MethodName: "ExportIamPolicyAnalysis",
1678			Handler:    _AssetService_ExportIamPolicyAnalysis_Handler,
1679		},
1680	},
1681	Streams:  []grpc.StreamDesc{},
1682	Metadata: "google/cloud/asset/v1p4beta1/asset_service.proto",
1683}
1684