1// Copyright 2021 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.26.0
18// 	protoc        v3.12.2
19// source: google/cloud/asset/v1/asset_service.proto
20
21package asset
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	_ "google.golang.org/genproto/googleapis/api/annotations"
29	longrunning "google.golang.org/genproto/googleapis/longrunning"
30	status "google.golang.org/genproto/googleapis/rpc/status"
31	expr "google.golang.org/genproto/googleapis/type/expr"
32	grpc "google.golang.org/grpc"
33	codes "google.golang.org/grpc/codes"
34	status1 "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	emptypb "google.golang.org/protobuf/types/known/emptypb"
39	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
40	_ "google.golang.org/protobuf/types/known/structpb"
41	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
42)
43
44const (
45	// Verify that this generated code is sufficiently up-to-date.
46	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
47	// Verify that runtime/protoimpl is sufficiently up-to-date.
48	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
49)
50
51// Asset content type.
52type ContentType int32
53
54const (
55	// Unspecified content type.
56	ContentType_CONTENT_TYPE_UNSPECIFIED ContentType = 0
57	// Resource metadata.
58	ContentType_RESOURCE ContentType = 1
59	// The actual IAM policy set on a resource.
60	ContentType_IAM_POLICY ContentType = 2
61	// The Cloud Organization Policy set on an asset.
62	ContentType_ORG_POLICY ContentType = 4
63	// The Cloud Access context manager Policy set on an asset.
64	ContentType_ACCESS_POLICY ContentType = 5
65	// The runtime OS Inventory information.
66	ContentType_OS_INVENTORY ContentType = 6
67	// The related resources.
68	ContentType_RELATIONSHIP ContentType = 7
69)
70
71// Enum value maps for ContentType.
72var (
73	ContentType_name = map[int32]string{
74		0: "CONTENT_TYPE_UNSPECIFIED",
75		1: "RESOURCE",
76		2: "IAM_POLICY",
77		4: "ORG_POLICY",
78		5: "ACCESS_POLICY",
79		6: "OS_INVENTORY",
80		7: "RELATIONSHIP",
81	}
82	ContentType_value = map[string]int32{
83		"CONTENT_TYPE_UNSPECIFIED": 0,
84		"RESOURCE":                 1,
85		"IAM_POLICY":               2,
86		"ORG_POLICY":               4,
87		"ACCESS_POLICY":            5,
88		"OS_INVENTORY":             6,
89		"RELATIONSHIP":             7,
90	}
91)
92
93func (x ContentType) Enum() *ContentType {
94	p := new(ContentType)
95	*p = x
96	return p
97}
98
99func (x ContentType) String() string {
100	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
101}
102
103func (ContentType) Descriptor() protoreflect.EnumDescriptor {
104	return file_google_cloud_asset_v1_asset_service_proto_enumTypes[0].Descriptor()
105}
106
107func (ContentType) Type() protoreflect.EnumType {
108	return &file_google_cloud_asset_v1_asset_service_proto_enumTypes[0]
109}
110
111func (x ContentType) Number() protoreflect.EnumNumber {
112	return protoreflect.EnumNumber(x)
113}
114
115// Deprecated: Use ContentType.Descriptor instead.
116func (ContentType) EnumDescriptor() ([]byte, []int) {
117	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{0}
118}
119
120// This enum is used to determine the partition key column when exporting
121// assets to BigQuery partitioned table(s). Note that, if the partition key is
122// a timestamp column, the actual partition is based on its date value
123// (expressed in UTC. see details in
124// https://cloud.google.com/bigquery/docs/partitioned-tables#date_timestamp_partitioned_tables).
125type PartitionSpec_PartitionKey int32
126
127const (
128	// Unspecified partition key. If used, it means using non-partitioned table.
129	PartitionSpec_PARTITION_KEY_UNSPECIFIED PartitionSpec_PartitionKey = 0
130	// The time when the snapshot is taken. If specified as partition key, the
131	// result table(s) is partitoned by the additional timestamp column,
132	// readTime. If [read_time] in ExportAssetsRequest is specified, the
133	// readTime column's value will be the same as it. Otherwise, its value will
134	// be the current time that is used to take the snapshot.
135	PartitionSpec_READ_TIME PartitionSpec_PartitionKey = 1
136	// The time when the request is received and started to be processed. If
137	// specified as partition key, the result table(s) is partitoned by the
138	// requestTime column, an additional timestamp column representing when the
139	// request was received.
140	PartitionSpec_REQUEST_TIME PartitionSpec_PartitionKey = 2
141)
142
143// Enum value maps for PartitionSpec_PartitionKey.
144var (
145	PartitionSpec_PartitionKey_name = map[int32]string{
146		0: "PARTITION_KEY_UNSPECIFIED",
147		1: "READ_TIME",
148		2: "REQUEST_TIME",
149	}
150	PartitionSpec_PartitionKey_value = map[string]int32{
151		"PARTITION_KEY_UNSPECIFIED": 0,
152		"READ_TIME":                 1,
153		"REQUEST_TIME":              2,
154	}
155)
156
157func (x PartitionSpec_PartitionKey) Enum() *PartitionSpec_PartitionKey {
158	p := new(PartitionSpec_PartitionKey)
159	*p = x
160	return p
161}
162
163func (x PartitionSpec_PartitionKey) String() string {
164	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
165}
166
167func (PartitionSpec_PartitionKey) Descriptor() protoreflect.EnumDescriptor {
168	return file_google_cloud_asset_v1_asset_service_proto_enumTypes[1].Descriptor()
169}
170
171func (PartitionSpec_PartitionKey) Type() protoreflect.EnumType {
172	return &file_google_cloud_asset_v1_asset_service_proto_enumTypes[1]
173}
174
175func (x PartitionSpec_PartitionKey) Number() protoreflect.EnumNumber {
176	return protoreflect.EnumNumber(x)
177}
178
179// Deprecated: Use PartitionSpec_PartitionKey.Descriptor instead.
180func (PartitionSpec_PartitionKey) EnumDescriptor() ([]byte, []int) {
181	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{18, 0}
182}
183
184// This enum determines the partition key column for the bigquery tables.
185// Partitioning can improve query performance and reduce query cost by
186// filtering partitions. Refer to
187// https://cloud.google.com/bigquery/docs/partitioned-tables for details.
188type IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey int32
189
190const (
191	// Unspecified partition key. Tables won't be partitioned using this
192	// option.
193	IamPolicyAnalysisOutputConfig_BigQueryDestination_PARTITION_KEY_UNSPECIFIED IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey = 0
194	// The time when the request is received. If specified as partition key,
195	// the result table(s) is partitoned by the RequestTime column, an
196	// additional timestamp column representing when the request was received.
197	IamPolicyAnalysisOutputConfig_BigQueryDestination_REQUEST_TIME IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey = 1
198)
199
200// Enum value maps for IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey.
201var (
202	IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey_name = map[int32]string{
203		0: "PARTITION_KEY_UNSPECIFIED",
204		1: "REQUEST_TIME",
205	}
206	IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey_value = map[string]int32{
207		"PARTITION_KEY_UNSPECIFIED": 0,
208		"REQUEST_TIME":              1,
209	}
210)
211
212func (x IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey) Enum() *IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey {
213	p := new(IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey)
214	*p = x
215	return p
216}
217
218func (x IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey) String() string {
219	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
220}
221
222func (IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey) Descriptor() protoreflect.EnumDescriptor {
223	return file_google_cloud_asset_v1_asset_service_proto_enumTypes[2].Descriptor()
224}
225
226func (IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey) Type() protoreflect.EnumType {
227	return &file_google_cloud_asset_v1_asset_service_proto_enumTypes[2]
228}
229
230func (x IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey) Number() protoreflect.EnumNumber {
231	return protoreflect.EnumNumber(x)
232}
233
234// Deprecated: Use IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey.Descriptor instead.
235func (IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey) EnumDescriptor() ([]byte, []int) {
236	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{29, 1, 0}
237}
238
239// View enum for supporting partial analysis responses.
240type AnalyzeMoveRequest_AnalysisView int32
241
242const (
243	// The default/unset value.
244	// The API will default to the FULL view.
245	AnalyzeMoveRequest_ANALYSIS_VIEW_UNSPECIFIED AnalyzeMoveRequest_AnalysisView = 0
246	// Full analysis including all level of impacts of the specified resource
247	// move.
248	AnalyzeMoveRequest_FULL AnalyzeMoveRequest_AnalysisView = 1
249	// Basic analysis only including blockers which will prevent the specified
250	// resource move at runtime.
251	AnalyzeMoveRequest_BASIC AnalyzeMoveRequest_AnalysisView = 2
252)
253
254// Enum value maps for AnalyzeMoveRequest_AnalysisView.
255var (
256	AnalyzeMoveRequest_AnalysisView_name = map[int32]string{
257		0: "ANALYSIS_VIEW_UNSPECIFIED",
258		1: "FULL",
259		2: "BASIC",
260	}
261	AnalyzeMoveRequest_AnalysisView_value = map[string]int32{
262		"ANALYSIS_VIEW_UNSPECIFIED": 0,
263		"FULL":                      1,
264		"BASIC":                     2,
265	}
266)
267
268func (x AnalyzeMoveRequest_AnalysisView) Enum() *AnalyzeMoveRequest_AnalysisView {
269	p := new(AnalyzeMoveRequest_AnalysisView)
270	*p = x
271	return p
272}
273
274func (x AnalyzeMoveRequest_AnalysisView) String() string {
275	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
276}
277
278func (AnalyzeMoveRequest_AnalysisView) Descriptor() protoreflect.EnumDescriptor {
279	return file_google_cloud_asset_v1_asset_service_proto_enumTypes[3].Descriptor()
280}
281
282func (AnalyzeMoveRequest_AnalysisView) Type() protoreflect.EnumType {
283	return &file_google_cloud_asset_v1_asset_service_proto_enumTypes[3]
284}
285
286func (x AnalyzeMoveRequest_AnalysisView) Number() protoreflect.EnumNumber {
287	return protoreflect.EnumNumber(x)
288}
289
290// Deprecated: Use AnalyzeMoveRequest_AnalysisView.Descriptor instead.
291func (AnalyzeMoveRequest_AnalysisView) EnumDescriptor() ([]byte, []int) {
292	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{32, 0}
293}
294
295// Represents the metadata of the longrunning operation for the
296// AnalyzeIamPolicyLongrunning rpc.
297type AnalyzeIamPolicyLongrunningMetadata struct {
298	state         protoimpl.MessageState
299	sizeCache     protoimpl.SizeCache
300	unknownFields protoimpl.UnknownFields
301
302	// Output only. The time the operation was created.
303	CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
304}
305
306func (x *AnalyzeIamPolicyLongrunningMetadata) Reset() {
307	*x = AnalyzeIamPolicyLongrunningMetadata{}
308	if protoimpl.UnsafeEnabled {
309		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[0]
310		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
311		ms.StoreMessageInfo(mi)
312	}
313}
314
315func (x *AnalyzeIamPolicyLongrunningMetadata) String() string {
316	return protoimpl.X.MessageStringOf(x)
317}
318
319func (*AnalyzeIamPolicyLongrunningMetadata) ProtoMessage() {}
320
321func (x *AnalyzeIamPolicyLongrunningMetadata) ProtoReflect() protoreflect.Message {
322	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[0]
323	if protoimpl.UnsafeEnabled && x != nil {
324		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
325		if ms.LoadMessageInfo() == nil {
326			ms.StoreMessageInfo(mi)
327		}
328		return ms
329	}
330	return mi.MessageOf(x)
331}
332
333// Deprecated: Use AnalyzeIamPolicyLongrunningMetadata.ProtoReflect.Descriptor instead.
334func (*AnalyzeIamPolicyLongrunningMetadata) Descriptor() ([]byte, []int) {
335	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{0}
336}
337
338func (x *AnalyzeIamPolicyLongrunningMetadata) GetCreateTime() *timestamppb.Timestamp {
339	if x != nil {
340		return x.CreateTime
341	}
342	return nil
343}
344
345// Export asset request.
346type ExportAssetsRequest struct {
347	state         protoimpl.MessageState
348	sizeCache     protoimpl.SizeCache
349	unknownFields protoimpl.UnknownFields
350
351	// Required. The relative name of the root asset. This can only be an
352	// organization number (such as "organizations/123"), a project ID (such as
353	// "projects/my-project-id"), or a project number (such as "projects/12345"),
354	// or a folder number (such as "folders/123").
355	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
356	// Timestamp to take an asset snapshot. This can only be set to a timestamp
357	// between the current time and the current time minus 35 days (inclusive).
358	// If not specified, the current time will be used. Due to delays in resource
359	// data collection and indexing, there is a volatile window during which
360	// running the same query may get different results.
361	ReadTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
362	// A list of asset types to take a snapshot for. For example:
363	// "compute.googleapis.com/Disk".
364	//
365	// Regular expressions are also supported. For example:
366	//
367	// * "compute.googleapis.com.*" snapshots resources whose asset type starts
368	// with "compute.googleapis.com".
369	// * ".*Instance" snapshots resources whose asset type ends with "Instance".
370	// * ".*Instance.*" snapshots resources whose asset type contains "Instance".
371	//
372	// See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported
373	// regular expression syntax. If the regular expression does not match any
374	// supported asset type, an INVALID_ARGUMENT error will be returned.
375	//
376	// If specified, only matching assets will be returned, otherwise, it will
377	// snapshot all asset types. See [Introduction to Cloud Asset
378	// Inventory](https://cloud.google.com/asset-inventory/docs/overview)
379	// for all supported asset types.
380	AssetTypes []string `protobuf:"bytes,3,rep,name=asset_types,json=assetTypes,proto3" json:"asset_types,omitempty"`
381	// Asset content type. If not specified, no content but the asset name will be
382	// returned.
383	ContentType ContentType `protobuf:"varint,4,opt,name=content_type,json=contentType,proto3,enum=google.cloud.asset.v1.ContentType" json:"content_type,omitempty"`
384	// Required. Output configuration indicating where the results will be output to.
385	OutputConfig *OutputConfig `protobuf:"bytes,5,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
386	// A list of relationship types to export, for example:
387	// `INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if
388	// content_type=RELATIONSHIP.
389	// * If specified:
390	// it snapshots specified relationships. It returns an error if
391	// any of the [relationship_types] doesn't belong to the supported
392	// relationship types of the [asset_types] or if any of the [asset_types]
393	// doesn't belong to the source types of the [relationship_types].
394	// * Otherwise:
395	// it snapshots the supported relationships for all [asset_types] or returns
396	// an error if any of the [asset_types] has no relationship support.
397	// An unspecified asset types field means all supported asset_types.
398	// See [Introduction to Cloud Asset
399	// Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all
400	// supported asset types and relationship types.
401	RelationshipTypes []string `protobuf:"bytes,6,rep,name=relationship_types,json=relationshipTypes,proto3" json:"relationship_types,omitempty"`
402}
403
404func (x *ExportAssetsRequest) Reset() {
405	*x = ExportAssetsRequest{}
406	if protoimpl.UnsafeEnabled {
407		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[1]
408		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
409		ms.StoreMessageInfo(mi)
410	}
411}
412
413func (x *ExportAssetsRequest) String() string {
414	return protoimpl.X.MessageStringOf(x)
415}
416
417func (*ExportAssetsRequest) ProtoMessage() {}
418
419func (x *ExportAssetsRequest) ProtoReflect() protoreflect.Message {
420	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[1]
421	if protoimpl.UnsafeEnabled && x != nil {
422		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
423		if ms.LoadMessageInfo() == nil {
424			ms.StoreMessageInfo(mi)
425		}
426		return ms
427	}
428	return mi.MessageOf(x)
429}
430
431// Deprecated: Use ExportAssetsRequest.ProtoReflect.Descriptor instead.
432func (*ExportAssetsRequest) Descriptor() ([]byte, []int) {
433	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{1}
434}
435
436func (x *ExportAssetsRequest) GetParent() string {
437	if x != nil {
438		return x.Parent
439	}
440	return ""
441}
442
443func (x *ExportAssetsRequest) GetReadTime() *timestamppb.Timestamp {
444	if x != nil {
445		return x.ReadTime
446	}
447	return nil
448}
449
450func (x *ExportAssetsRequest) GetAssetTypes() []string {
451	if x != nil {
452		return x.AssetTypes
453	}
454	return nil
455}
456
457func (x *ExportAssetsRequest) GetContentType() ContentType {
458	if x != nil {
459		return x.ContentType
460	}
461	return ContentType_CONTENT_TYPE_UNSPECIFIED
462}
463
464func (x *ExportAssetsRequest) GetOutputConfig() *OutputConfig {
465	if x != nil {
466		return x.OutputConfig
467	}
468	return nil
469}
470
471func (x *ExportAssetsRequest) GetRelationshipTypes() []string {
472	if x != nil {
473		return x.RelationshipTypes
474	}
475	return nil
476}
477
478// The export asset response. This message is returned by the
479// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] method in the returned
480// [google.longrunning.Operation.response][google.longrunning.Operation.response] field.
481type ExportAssetsResponse struct {
482	state         protoimpl.MessageState
483	sizeCache     protoimpl.SizeCache
484	unknownFields protoimpl.UnknownFields
485
486	// Time the snapshot was taken.
487	ReadTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
488	// Output configuration indicating where the results were output to.
489	OutputConfig *OutputConfig `protobuf:"bytes,2,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
490	// Output result indicating where the assets were exported to. For example, a
491	// set of actual Google Cloud Storage object uris where the assets are
492	// exported to. The uris can be different from what [output_config] has
493	// specified, as the service will split the output object into multiple ones
494	// once it exceeds a single Google Cloud Storage object limit.
495	OutputResult *OutputResult `protobuf:"bytes,3,opt,name=output_result,json=outputResult,proto3" json:"output_result,omitempty"`
496}
497
498func (x *ExportAssetsResponse) Reset() {
499	*x = ExportAssetsResponse{}
500	if protoimpl.UnsafeEnabled {
501		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[2]
502		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
503		ms.StoreMessageInfo(mi)
504	}
505}
506
507func (x *ExportAssetsResponse) String() string {
508	return protoimpl.X.MessageStringOf(x)
509}
510
511func (*ExportAssetsResponse) ProtoMessage() {}
512
513func (x *ExportAssetsResponse) ProtoReflect() protoreflect.Message {
514	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[2]
515	if protoimpl.UnsafeEnabled && x != nil {
516		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
517		if ms.LoadMessageInfo() == nil {
518			ms.StoreMessageInfo(mi)
519		}
520		return ms
521	}
522	return mi.MessageOf(x)
523}
524
525// Deprecated: Use ExportAssetsResponse.ProtoReflect.Descriptor instead.
526func (*ExportAssetsResponse) Descriptor() ([]byte, []int) {
527	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{2}
528}
529
530func (x *ExportAssetsResponse) GetReadTime() *timestamppb.Timestamp {
531	if x != nil {
532		return x.ReadTime
533	}
534	return nil
535}
536
537func (x *ExportAssetsResponse) GetOutputConfig() *OutputConfig {
538	if x != nil {
539		return x.OutputConfig
540	}
541	return nil
542}
543
544func (x *ExportAssetsResponse) GetOutputResult() *OutputResult {
545	if x != nil {
546		return x.OutputResult
547	}
548	return nil
549}
550
551// ListAssets request.
552type ListAssetsRequest struct {
553	state         protoimpl.MessageState
554	sizeCache     protoimpl.SizeCache
555	unknownFields protoimpl.UnknownFields
556
557	// Required. Name of the organization or project the assets belong to. Format:
558	// "organizations/[organization-number]" (such as "organizations/123"),
559	// "projects/[project-id]" (such as "projects/my-project-id"), or
560	// "projects/[project-number]" (such as "projects/12345").
561	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
562	// Timestamp to take an asset snapshot. This can only be set to a timestamp
563	// between the current time and the current time minus 35 days (inclusive).
564	// If not specified, the current time will be used. Due to delays in resource
565	// data collection and indexing, there is a volatile window during which
566	// running the same query may get different results.
567	ReadTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
568	// A list of asset types to take a snapshot for. For example:
569	// "compute.googleapis.com/Disk".
570	//
571	// Regular expression is also supported. For example:
572	//
573	// * "compute.googleapis.com.*" snapshots resources whose asset type starts
574	// with "compute.googleapis.com".
575	// * ".*Instance" snapshots resources whose asset type ends with "Instance".
576	// * ".*Instance.*" snapshots resources whose asset type contains "Instance".
577	//
578	// See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported
579	// regular expression syntax. If the regular expression does not match any
580	// supported asset type, an INVALID_ARGUMENT error will be returned.
581	//
582	// If specified, only matching assets will be returned, otherwise, it will
583	// snapshot all asset types. See [Introduction to Cloud Asset
584	// Inventory](https://cloud.google.com/asset-inventory/docs/overview)
585	// for all supported asset types.
586	AssetTypes []string `protobuf:"bytes,3,rep,name=asset_types,json=assetTypes,proto3" json:"asset_types,omitempty"`
587	// Asset content type. If not specified, no content but the asset name will
588	// be returned.
589	ContentType ContentType `protobuf:"varint,4,opt,name=content_type,json=contentType,proto3,enum=google.cloud.asset.v1.ContentType" json:"content_type,omitempty"`
590	// The maximum number of assets to be returned in a single response. Default
591	// is 100, minimum is 1, and maximum is 1000.
592	PageSize int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
593	// The `next_page_token` returned from the previous `ListAssetsResponse`, or
594	// unspecified for the first `ListAssetsRequest`. It is a continuation of a
595	// prior `ListAssets` call, and the API should return the next page of assets.
596	PageToken string `protobuf:"bytes,6,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
597	// A list of relationship types to output, for example:
598	// `INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if
599	// content_type=RELATIONSHIP.
600	// * If specified:
601	// it snapshots specified relationships. It returns an error if
602	// any of the [relationship_types] doesn't belong to the supported
603	// relationship types of the [asset_types] or if any of the [asset_types]
604	// doesn't belong to the source types of the [relationship_types].
605	// * Otherwise:
606	// it snapshots the supported relationships for all [asset_types] or returns
607	// an error if any of the [asset_types] has no relationship support.
608	// An unspecified asset types field means all supported asset_types.
609	// See [Introduction to Cloud Asset
610	// Inventory](https://cloud.google.com/asset-inventory/docs/overview)
611	// for all supported asset types and relationship types.
612	RelationshipTypes []string `protobuf:"bytes,7,rep,name=relationship_types,json=relationshipTypes,proto3" json:"relationship_types,omitempty"`
613}
614
615func (x *ListAssetsRequest) Reset() {
616	*x = ListAssetsRequest{}
617	if protoimpl.UnsafeEnabled {
618		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[3]
619		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
620		ms.StoreMessageInfo(mi)
621	}
622}
623
624func (x *ListAssetsRequest) String() string {
625	return protoimpl.X.MessageStringOf(x)
626}
627
628func (*ListAssetsRequest) ProtoMessage() {}
629
630func (x *ListAssetsRequest) ProtoReflect() protoreflect.Message {
631	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[3]
632	if protoimpl.UnsafeEnabled && x != nil {
633		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
634		if ms.LoadMessageInfo() == nil {
635			ms.StoreMessageInfo(mi)
636		}
637		return ms
638	}
639	return mi.MessageOf(x)
640}
641
642// Deprecated: Use ListAssetsRequest.ProtoReflect.Descriptor instead.
643func (*ListAssetsRequest) Descriptor() ([]byte, []int) {
644	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{3}
645}
646
647func (x *ListAssetsRequest) GetParent() string {
648	if x != nil {
649		return x.Parent
650	}
651	return ""
652}
653
654func (x *ListAssetsRequest) GetReadTime() *timestamppb.Timestamp {
655	if x != nil {
656		return x.ReadTime
657	}
658	return nil
659}
660
661func (x *ListAssetsRequest) GetAssetTypes() []string {
662	if x != nil {
663		return x.AssetTypes
664	}
665	return nil
666}
667
668func (x *ListAssetsRequest) GetContentType() ContentType {
669	if x != nil {
670		return x.ContentType
671	}
672	return ContentType_CONTENT_TYPE_UNSPECIFIED
673}
674
675func (x *ListAssetsRequest) GetPageSize() int32 {
676	if x != nil {
677		return x.PageSize
678	}
679	return 0
680}
681
682func (x *ListAssetsRequest) GetPageToken() string {
683	if x != nil {
684		return x.PageToken
685	}
686	return ""
687}
688
689func (x *ListAssetsRequest) GetRelationshipTypes() []string {
690	if x != nil {
691		return x.RelationshipTypes
692	}
693	return nil
694}
695
696// ListAssets response.
697type ListAssetsResponse struct {
698	state         protoimpl.MessageState
699	sizeCache     protoimpl.SizeCache
700	unknownFields protoimpl.UnknownFields
701
702	// Time the snapshot was taken.
703	ReadTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=read_time,json=readTime,proto3" json:"read_time,omitempty"`
704	// Assets.
705	Assets []*Asset `protobuf:"bytes,2,rep,name=assets,proto3" json:"assets,omitempty"`
706	// Token to retrieve the next page of results. It expires 72 hours after the
707	// page token for the first page is generated. Set to empty if there are no
708	// remaining results.
709	NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
710}
711
712func (x *ListAssetsResponse) Reset() {
713	*x = ListAssetsResponse{}
714	if protoimpl.UnsafeEnabled {
715		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[4]
716		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
717		ms.StoreMessageInfo(mi)
718	}
719}
720
721func (x *ListAssetsResponse) String() string {
722	return protoimpl.X.MessageStringOf(x)
723}
724
725func (*ListAssetsResponse) ProtoMessage() {}
726
727func (x *ListAssetsResponse) ProtoReflect() protoreflect.Message {
728	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[4]
729	if protoimpl.UnsafeEnabled && x != nil {
730		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
731		if ms.LoadMessageInfo() == nil {
732			ms.StoreMessageInfo(mi)
733		}
734		return ms
735	}
736	return mi.MessageOf(x)
737}
738
739// Deprecated: Use ListAssetsResponse.ProtoReflect.Descriptor instead.
740func (*ListAssetsResponse) Descriptor() ([]byte, []int) {
741	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{4}
742}
743
744func (x *ListAssetsResponse) GetReadTime() *timestamppb.Timestamp {
745	if x != nil {
746		return x.ReadTime
747	}
748	return nil
749}
750
751func (x *ListAssetsResponse) GetAssets() []*Asset {
752	if x != nil {
753		return x.Assets
754	}
755	return nil
756}
757
758func (x *ListAssetsResponse) GetNextPageToken() string {
759	if x != nil {
760		return x.NextPageToken
761	}
762	return ""
763}
764
765// Batch get assets history request.
766type BatchGetAssetsHistoryRequest struct {
767	state         protoimpl.MessageState
768	sizeCache     protoimpl.SizeCache
769	unknownFields protoimpl.UnknownFields
770
771	// Required. The relative name of the root asset. It can only be an
772	// organization number (such as "organizations/123"), a project ID (such as
773	// "projects/my-project-id")", or a project number (such as "projects/12345").
774	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
775	// A list of the full names of the assets.
776	// See: https://cloud.google.com/asset-inventory/docs/resource-name-format
777	// Example:
778	//
779	// `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.
780	//
781	// The request becomes a no-op if the asset name list is empty, and the max
782	// size of the asset name list is 100 in one request.
783	AssetNames []string `protobuf:"bytes,2,rep,name=asset_names,json=assetNames,proto3" json:"asset_names,omitempty"`
784	// Optional. The content type.
785	ContentType ContentType `protobuf:"varint,3,opt,name=content_type,json=contentType,proto3,enum=google.cloud.asset.v1.ContentType" json:"content_type,omitempty"`
786	// Optional. The time window for the asset history. Both start_time and
787	// end_time are optional and if set, it must be after the current time minus
788	// 35 days. If end_time is not set, it is default to current timestamp.
789	// If start_time is not set, the snapshot of the assets at end_time will be
790	// returned. The returned results contain all temporal assets whose time
791	// window overlap with read_time_window.
792	ReadTimeWindow *TimeWindow `protobuf:"bytes,4,opt,name=read_time_window,json=readTimeWindow,proto3" json:"read_time_window,omitempty"`
793	// Optional. A list of relationship types to output, for example:
794	// `INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if
795	// content_type=RELATIONSHIP.
796	// * If specified:
797	// it outputs specified relationships' history on the [asset_names]. It
798	// returns an error if any of the [relationship_types] doesn't belong to the
799	// supported relationship types of the [asset_names] or if any of the
800	// [asset_names]'s types doesn't belong to the source types of the
801	// [relationship_types].
802	// * Otherwise:
803	// it outputs the supported relationships' history on the [asset_names] or
804	// returns an error if any of the [asset_names]'s types has no relationship
805	// support.
806	// See [Introduction to Cloud Asset
807	// Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all
808	// supported asset types and relationship types.
809	RelationshipTypes []string `protobuf:"bytes,5,rep,name=relationship_types,json=relationshipTypes,proto3" json:"relationship_types,omitempty"`
810}
811
812func (x *BatchGetAssetsHistoryRequest) Reset() {
813	*x = BatchGetAssetsHistoryRequest{}
814	if protoimpl.UnsafeEnabled {
815		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[5]
816		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
817		ms.StoreMessageInfo(mi)
818	}
819}
820
821func (x *BatchGetAssetsHistoryRequest) String() string {
822	return protoimpl.X.MessageStringOf(x)
823}
824
825func (*BatchGetAssetsHistoryRequest) ProtoMessage() {}
826
827func (x *BatchGetAssetsHistoryRequest) ProtoReflect() protoreflect.Message {
828	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[5]
829	if protoimpl.UnsafeEnabled && x != nil {
830		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
831		if ms.LoadMessageInfo() == nil {
832			ms.StoreMessageInfo(mi)
833		}
834		return ms
835	}
836	return mi.MessageOf(x)
837}
838
839// Deprecated: Use BatchGetAssetsHistoryRequest.ProtoReflect.Descriptor instead.
840func (*BatchGetAssetsHistoryRequest) Descriptor() ([]byte, []int) {
841	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{5}
842}
843
844func (x *BatchGetAssetsHistoryRequest) GetParent() string {
845	if x != nil {
846		return x.Parent
847	}
848	return ""
849}
850
851func (x *BatchGetAssetsHistoryRequest) GetAssetNames() []string {
852	if x != nil {
853		return x.AssetNames
854	}
855	return nil
856}
857
858func (x *BatchGetAssetsHistoryRequest) GetContentType() ContentType {
859	if x != nil {
860		return x.ContentType
861	}
862	return ContentType_CONTENT_TYPE_UNSPECIFIED
863}
864
865func (x *BatchGetAssetsHistoryRequest) GetReadTimeWindow() *TimeWindow {
866	if x != nil {
867		return x.ReadTimeWindow
868	}
869	return nil
870}
871
872func (x *BatchGetAssetsHistoryRequest) GetRelationshipTypes() []string {
873	if x != nil {
874		return x.RelationshipTypes
875	}
876	return nil
877}
878
879// Batch get assets history response.
880type BatchGetAssetsHistoryResponse struct {
881	state         protoimpl.MessageState
882	sizeCache     protoimpl.SizeCache
883	unknownFields protoimpl.UnknownFields
884
885	// A list of assets with valid time windows.
886	Assets []*TemporalAsset `protobuf:"bytes,1,rep,name=assets,proto3" json:"assets,omitempty"`
887}
888
889func (x *BatchGetAssetsHistoryResponse) Reset() {
890	*x = BatchGetAssetsHistoryResponse{}
891	if protoimpl.UnsafeEnabled {
892		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[6]
893		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
894		ms.StoreMessageInfo(mi)
895	}
896}
897
898func (x *BatchGetAssetsHistoryResponse) String() string {
899	return protoimpl.X.MessageStringOf(x)
900}
901
902func (*BatchGetAssetsHistoryResponse) ProtoMessage() {}
903
904func (x *BatchGetAssetsHistoryResponse) ProtoReflect() protoreflect.Message {
905	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[6]
906	if protoimpl.UnsafeEnabled && x != nil {
907		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
908		if ms.LoadMessageInfo() == nil {
909			ms.StoreMessageInfo(mi)
910		}
911		return ms
912	}
913	return mi.MessageOf(x)
914}
915
916// Deprecated: Use BatchGetAssetsHistoryResponse.ProtoReflect.Descriptor instead.
917func (*BatchGetAssetsHistoryResponse) Descriptor() ([]byte, []int) {
918	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{6}
919}
920
921func (x *BatchGetAssetsHistoryResponse) GetAssets() []*TemporalAsset {
922	if x != nil {
923		return x.Assets
924	}
925	return nil
926}
927
928// Create asset feed request.
929type CreateFeedRequest struct {
930	state         protoimpl.MessageState
931	sizeCache     protoimpl.SizeCache
932	unknownFields protoimpl.UnknownFields
933
934	// Required. The name of the project/folder/organization where this feed
935	// should be created in. It can only be an organization number (such as
936	// "organizations/123"), a folder number (such as "folders/123"), a project ID
937	// (such as "projects/my-project-id")", or a project number (such as
938	// "projects/12345").
939	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
940	// Required. This is the client-assigned asset feed identifier and it needs to
941	// be unique under a specific parent project/folder/organization.
942	FeedId string `protobuf:"bytes,2,opt,name=feed_id,json=feedId,proto3" json:"feed_id,omitempty"`
943	// Required. The feed details. The field `name` must be empty and it will be generated
944	// in the format of:
945	// projects/project_number/feeds/feed_id
946	// folders/folder_number/feeds/feed_id
947	// organizations/organization_number/feeds/feed_id
948	Feed *Feed `protobuf:"bytes,3,opt,name=feed,proto3" json:"feed,omitempty"`
949}
950
951func (x *CreateFeedRequest) Reset() {
952	*x = CreateFeedRequest{}
953	if protoimpl.UnsafeEnabled {
954		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[7]
955		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
956		ms.StoreMessageInfo(mi)
957	}
958}
959
960func (x *CreateFeedRequest) String() string {
961	return protoimpl.X.MessageStringOf(x)
962}
963
964func (*CreateFeedRequest) ProtoMessage() {}
965
966func (x *CreateFeedRequest) ProtoReflect() protoreflect.Message {
967	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[7]
968	if protoimpl.UnsafeEnabled && x != nil {
969		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
970		if ms.LoadMessageInfo() == nil {
971			ms.StoreMessageInfo(mi)
972		}
973		return ms
974	}
975	return mi.MessageOf(x)
976}
977
978// Deprecated: Use CreateFeedRequest.ProtoReflect.Descriptor instead.
979func (*CreateFeedRequest) Descriptor() ([]byte, []int) {
980	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{7}
981}
982
983func (x *CreateFeedRequest) GetParent() string {
984	if x != nil {
985		return x.Parent
986	}
987	return ""
988}
989
990func (x *CreateFeedRequest) GetFeedId() string {
991	if x != nil {
992		return x.FeedId
993	}
994	return ""
995}
996
997func (x *CreateFeedRequest) GetFeed() *Feed {
998	if x != nil {
999		return x.Feed
1000	}
1001	return nil
1002}
1003
1004// Get asset feed request.
1005type GetFeedRequest struct {
1006	state         protoimpl.MessageState
1007	sizeCache     protoimpl.SizeCache
1008	unknownFields protoimpl.UnknownFields
1009
1010	// Required. The name of the Feed and it must be in the format of:
1011	// projects/project_number/feeds/feed_id
1012	// folders/folder_number/feeds/feed_id
1013	// organizations/organization_number/feeds/feed_id
1014	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1015}
1016
1017func (x *GetFeedRequest) Reset() {
1018	*x = GetFeedRequest{}
1019	if protoimpl.UnsafeEnabled {
1020		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[8]
1021		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1022		ms.StoreMessageInfo(mi)
1023	}
1024}
1025
1026func (x *GetFeedRequest) String() string {
1027	return protoimpl.X.MessageStringOf(x)
1028}
1029
1030func (*GetFeedRequest) ProtoMessage() {}
1031
1032func (x *GetFeedRequest) ProtoReflect() protoreflect.Message {
1033	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[8]
1034	if protoimpl.UnsafeEnabled && x != nil {
1035		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1036		if ms.LoadMessageInfo() == nil {
1037			ms.StoreMessageInfo(mi)
1038		}
1039		return ms
1040	}
1041	return mi.MessageOf(x)
1042}
1043
1044// Deprecated: Use GetFeedRequest.ProtoReflect.Descriptor instead.
1045func (*GetFeedRequest) Descriptor() ([]byte, []int) {
1046	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{8}
1047}
1048
1049func (x *GetFeedRequest) GetName() string {
1050	if x != nil {
1051		return x.Name
1052	}
1053	return ""
1054}
1055
1056// List asset feeds request.
1057type ListFeedsRequest struct {
1058	state         protoimpl.MessageState
1059	sizeCache     protoimpl.SizeCache
1060	unknownFields protoimpl.UnknownFields
1061
1062	// Required. The parent project/folder/organization whose feeds are to be
1063	// listed. It can only be using project/folder/organization number (such as
1064	// "folders/12345")", or a project ID (such as "projects/my-project-id").
1065	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1066}
1067
1068func (x *ListFeedsRequest) Reset() {
1069	*x = ListFeedsRequest{}
1070	if protoimpl.UnsafeEnabled {
1071		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[9]
1072		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1073		ms.StoreMessageInfo(mi)
1074	}
1075}
1076
1077func (x *ListFeedsRequest) String() string {
1078	return protoimpl.X.MessageStringOf(x)
1079}
1080
1081func (*ListFeedsRequest) ProtoMessage() {}
1082
1083func (x *ListFeedsRequest) ProtoReflect() protoreflect.Message {
1084	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[9]
1085	if protoimpl.UnsafeEnabled && x != nil {
1086		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1087		if ms.LoadMessageInfo() == nil {
1088			ms.StoreMessageInfo(mi)
1089		}
1090		return ms
1091	}
1092	return mi.MessageOf(x)
1093}
1094
1095// Deprecated: Use ListFeedsRequest.ProtoReflect.Descriptor instead.
1096func (*ListFeedsRequest) Descriptor() ([]byte, []int) {
1097	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{9}
1098}
1099
1100func (x *ListFeedsRequest) GetParent() string {
1101	if x != nil {
1102		return x.Parent
1103	}
1104	return ""
1105}
1106
1107type ListFeedsResponse struct {
1108	state         protoimpl.MessageState
1109	sizeCache     protoimpl.SizeCache
1110	unknownFields protoimpl.UnknownFields
1111
1112	// A list of feeds.
1113	Feeds []*Feed `protobuf:"bytes,1,rep,name=feeds,proto3" json:"feeds,omitempty"`
1114}
1115
1116func (x *ListFeedsResponse) Reset() {
1117	*x = ListFeedsResponse{}
1118	if protoimpl.UnsafeEnabled {
1119		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[10]
1120		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1121		ms.StoreMessageInfo(mi)
1122	}
1123}
1124
1125func (x *ListFeedsResponse) String() string {
1126	return protoimpl.X.MessageStringOf(x)
1127}
1128
1129func (*ListFeedsResponse) ProtoMessage() {}
1130
1131func (x *ListFeedsResponse) ProtoReflect() protoreflect.Message {
1132	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[10]
1133	if protoimpl.UnsafeEnabled && x != nil {
1134		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1135		if ms.LoadMessageInfo() == nil {
1136			ms.StoreMessageInfo(mi)
1137		}
1138		return ms
1139	}
1140	return mi.MessageOf(x)
1141}
1142
1143// Deprecated: Use ListFeedsResponse.ProtoReflect.Descriptor instead.
1144func (*ListFeedsResponse) Descriptor() ([]byte, []int) {
1145	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{10}
1146}
1147
1148func (x *ListFeedsResponse) GetFeeds() []*Feed {
1149	if x != nil {
1150		return x.Feeds
1151	}
1152	return nil
1153}
1154
1155// Update asset feed request.
1156type UpdateFeedRequest struct {
1157	state         protoimpl.MessageState
1158	sizeCache     protoimpl.SizeCache
1159	unknownFields protoimpl.UnknownFields
1160
1161	// Required. The new values of feed details. It must match an existing feed and the
1162	// field `name` must be in the format of:
1163	// projects/project_number/feeds/feed_id or
1164	// folders/folder_number/feeds/feed_id or
1165	// organizations/organization_number/feeds/feed_id.
1166	Feed *Feed `protobuf:"bytes,1,opt,name=feed,proto3" json:"feed,omitempty"`
1167	// Required. Only updates the `feed` fields indicated by this mask.
1168	// The field mask must not be empty, and it must not contain fields that
1169	// are immutable or only set by the server.
1170	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1171}
1172
1173func (x *UpdateFeedRequest) Reset() {
1174	*x = UpdateFeedRequest{}
1175	if protoimpl.UnsafeEnabled {
1176		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[11]
1177		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1178		ms.StoreMessageInfo(mi)
1179	}
1180}
1181
1182func (x *UpdateFeedRequest) String() string {
1183	return protoimpl.X.MessageStringOf(x)
1184}
1185
1186func (*UpdateFeedRequest) ProtoMessage() {}
1187
1188func (x *UpdateFeedRequest) ProtoReflect() protoreflect.Message {
1189	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[11]
1190	if protoimpl.UnsafeEnabled && x != nil {
1191		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1192		if ms.LoadMessageInfo() == nil {
1193			ms.StoreMessageInfo(mi)
1194		}
1195		return ms
1196	}
1197	return mi.MessageOf(x)
1198}
1199
1200// Deprecated: Use UpdateFeedRequest.ProtoReflect.Descriptor instead.
1201func (*UpdateFeedRequest) Descriptor() ([]byte, []int) {
1202	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{11}
1203}
1204
1205func (x *UpdateFeedRequest) GetFeed() *Feed {
1206	if x != nil {
1207		return x.Feed
1208	}
1209	return nil
1210}
1211
1212func (x *UpdateFeedRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
1213	if x != nil {
1214		return x.UpdateMask
1215	}
1216	return nil
1217}
1218
1219type DeleteFeedRequest struct {
1220	state         protoimpl.MessageState
1221	sizeCache     protoimpl.SizeCache
1222	unknownFields protoimpl.UnknownFields
1223
1224	// Required. The name of the feed and it must be in the format of:
1225	// projects/project_number/feeds/feed_id
1226	// folders/folder_number/feeds/feed_id
1227	// organizations/organization_number/feeds/feed_id
1228	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1229}
1230
1231func (x *DeleteFeedRequest) Reset() {
1232	*x = DeleteFeedRequest{}
1233	if protoimpl.UnsafeEnabled {
1234		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[12]
1235		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1236		ms.StoreMessageInfo(mi)
1237	}
1238}
1239
1240func (x *DeleteFeedRequest) String() string {
1241	return protoimpl.X.MessageStringOf(x)
1242}
1243
1244func (*DeleteFeedRequest) ProtoMessage() {}
1245
1246func (x *DeleteFeedRequest) ProtoReflect() protoreflect.Message {
1247	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[12]
1248	if protoimpl.UnsafeEnabled && x != nil {
1249		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1250		if ms.LoadMessageInfo() == nil {
1251			ms.StoreMessageInfo(mi)
1252		}
1253		return ms
1254	}
1255	return mi.MessageOf(x)
1256}
1257
1258// Deprecated: Use DeleteFeedRequest.ProtoReflect.Descriptor instead.
1259func (*DeleteFeedRequest) Descriptor() ([]byte, []int) {
1260	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{12}
1261}
1262
1263func (x *DeleteFeedRequest) GetName() string {
1264	if x != nil {
1265		return x.Name
1266	}
1267	return ""
1268}
1269
1270// Output configuration for export assets destination.
1271type OutputConfig struct {
1272	state         protoimpl.MessageState
1273	sizeCache     protoimpl.SizeCache
1274	unknownFields protoimpl.UnknownFields
1275
1276	// Asset export destination.
1277	//
1278	// Types that are assignable to Destination:
1279	//	*OutputConfig_GcsDestination
1280	//	*OutputConfig_BigqueryDestination
1281	Destination isOutputConfig_Destination `protobuf_oneof:"destination"`
1282}
1283
1284func (x *OutputConfig) Reset() {
1285	*x = OutputConfig{}
1286	if protoimpl.UnsafeEnabled {
1287		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[13]
1288		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1289		ms.StoreMessageInfo(mi)
1290	}
1291}
1292
1293func (x *OutputConfig) String() string {
1294	return protoimpl.X.MessageStringOf(x)
1295}
1296
1297func (*OutputConfig) ProtoMessage() {}
1298
1299func (x *OutputConfig) ProtoReflect() protoreflect.Message {
1300	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[13]
1301	if protoimpl.UnsafeEnabled && x != nil {
1302		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1303		if ms.LoadMessageInfo() == nil {
1304			ms.StoreMessageInfo(mi)
1305		}
1306		return ms
1307	}
1308	return mi.MessageOf(x)
1309}
1310
1311// Deprecated: Use OutputConfig.ProtoReflect.Descriptor instead.
1312func (*OutputConfig) Descriptor() ([]byte, []int) {
1313	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{13}
1314}
1315
1316func (m *OutputConfig) GetDestination() isOutputConfig_Destination {
1317	if m != nil {
1318		return m.Destination
1319	}
1320	return nil
1321}
1322
1323func (x *OutputConfig) GetGcsDestination() *GcsDestination {
1324	if x, ok := x.GetDestination().(*OutputConfig_GcsDestination); ok {
1325		return x.GcsDestination
1326	}
1327	return nil
1328}
1329
1330func (x *OutputConfig) GetBigqueryDestination() *BigQueryDestination {
1331	if x, ok := x.GetDestination().(*OutputConfig_BigqueryDestination); ok {
1332		return x.BigqueryDestination
1333	}
1334	return nil
1335}
1336
1337type isOutputConfig_Destination interface {
1338	isOutputConfig_Destination()
1339}
1340
1341type OutputConfig_GcsDestination struct {
1342	// Destination on Cloud Storage.
1343	GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"`
1344}
1345
1346type OutputConfig_BigqueryDestination struct {
1347	// Destination on BigQuery. The output table stores the fields in asset
1348	// proto as columns in BigQuery.
1349	BigqueryDestination *BigQueryDestination `protobuf:"bytes,2,opt,name=bigquery_destination,json=bigqueryDestination,proto3,oneof"`
1350}
1351
1352func (*OutputConfig_GcsDestination) isOutputConfig_Destination() {}
1353
1354func (*OutputConfig_BigqueryDestination) isOutputConfig_Destination() {}
1355
1356// Output result of export assets.
1357type OutputResult struct {
1358	state         protoimpl.MessageState
1359	sizeCache     protoimpl.SizeCache
1360	unknownFields protoimpl.UnknownFields
1361
1362	// Asset export result.
1363	//
1364	// Types that are assignable to Result:
1365	//	*OutputResult_GcsResult
1366	Result isOutputResult_Result `protobuf_oneof:"result"`
1367}
1368
1369func (x *OutputResult) Reset() {
1370	*x = OutputResult{}
1371	if protoimpl.UnsafeEnabled {
1372		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[14]
1373		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1374		ms.StoreMessageInfo(mi)
1375	}
1376}
1377
1378func (x *OutputResult) String() string {
1379	return protoimpl.X.MessageStringOf(x)
1380}
1381
1382func (*OutputResult) ProtoMessage() {}
1383
1384func (x *OutputResult) ProtoReflect() protoreflect.Message {
1385	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[14]
1386	if protoimpl.UnsafeEnabled && x != nil {
1387		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1388		if ms.LoadMessageInfo() == nil {
1389			ms.StoreMessageInfo(mi)
1390		}
1391		return ms
1392	}
1393	return mi.MessageOf(x)
1394}
1395
1396// Deprecated: Use OutputResult.ProtoReflect.Descriptor instead.
1397func (*OutputResult) Descriptor() ([]byte, []int) {
1398	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{14}
1399}
1400
1401func (m *OutputResult) GetResult() isOutputResult_Result {
1402	if m != nil {
1403		return m.Result
1404	}
1405	return nil
1406}
1407
1408func (x *OutputResult) GetGcsResult() *GcsOutputResult {
1409	if x, ok := x.GetResult().(*OutputResult_GcsResult); ok {
1410		return x.GcsResult
1411	}
1412	return nil
1413}
1414
1415type isOutputResult_Result interface {
1416	isOutputResult_Result()
1417}
1418
1419type OutputResult_GcsResult struct {
1420	// Export result on Cloud Storage.
1421	GcsResult *GcsOutputResult `protobuf:"bytes,1,opt,name=gcs_result,json=gcsResult,proto3,oneof"`
1422}
1423
1424func (*OutputResult_GcsResult) isOutputResult_Result() {}
1425
1426// A Cloud Storage output result.
1427type GcsOutputResult struct {
1428	state         protoimpl.MessageState
1429	sizeCache     protoimpl.SizeCache
1430	unknownFields protoimpl.UnknownFields
1431
1432	// List of uris of the Cloud Storage objects. Example:
1433	// "gs://bucket_name/object_name".
1434	Uris []string `protobuf:"bytes,1,rep,name=uris,proto3" json:"uris,omitempty"`
1435}
1436
1437func (x *GcsOutputResult) Reset() {
1438	*x = GcsOutputResult{}
1439	if protoimpl.UnsafeEnabled {
1440		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[15]
1441		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1442		ms.StoreMessageInfo(mi)
1443	}
1444}
1445
1446func (x *GcsOutputResult) String() string {
1447	return protoimpl.X.MessageStringOf(x)
1448}
1449
1450func (*GcsOutputResult) ProtoMessage() {}
1451
1452func (x *GcsOutputResult) ProtoReflect() protoreflect.Message {
1453	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[15]
1454	if protoimpl.UnsafeEnabled && x != nil {
1455		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1456		if ms.LoadMessageInfo() == nil {
1457			ms.StoreMessageInfo(mi)
1458		}
1459		return ms
1460	}
1461	return mi.MessageOf(x)
1462}
1463
1464// Deprecated: Use GcsOutputResult.ProtoReflect.Descriptor instead.
1465func (*GcsOutputResult) Descriptor() ([]byte, []int) {
1466	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{15}
1467}
1468
1469func (x *GcsOutputResult) GetUris() []string {
1470	if x != nil {
1471		return x.Uris
1472	}
1473	return nil
1474}
1475
1476// A Cloud Storage location.
1477type GcsDestination struct {
1478	state         protoimpl.MessageState
1479	sizeCache     protoimpl.SizeCache
1480	unknownFields protoimpl.UnknownFields
1481
1482	// Required.
1483	//
1484	// Types that are assignable to ObjectUri:
1485	//	*GcsDestination_Uri
1486	//	*GcsDestination_UriPrefix
1487	ObjectUri isGcsDestination_ObjectUri `protobuf_oneof:"object_uri"`
1488}
1489
1490func (x *GcsDestination) Reset() {
1491	*x = GcsDestination{}
1492	if protoimpl.UnsafeEnabled {
1493		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[16]
1494		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1495		ms.StoreMessageInfo(mi)
1496	}
1497}
1498
1499func (x *GcsDestination) String() string {
1500	return protoimpl.X.MessageStringOf(x)
1501}
1502
1503func (*GcsDestination) ProtoMessage() {}
1504
1505func (x *GcsDestination) ProtoReflect() protoreflect.Message {
1506	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[16]
1507	if protoimpl.UnsafeEnabled && x != nil {
1508		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1509		if ms.LoadMessageInfo() == nil {
1510			ms.StoreMessageInfo(mi)
1511		}
1512		return ms
1513	}
1514	return mi.MessageOf(x)
1515}
1516
1517// Deprecated: Use GcsDestination.ProtoReflect.Descriptor instead.
1518func (*GcsDestination) Descriptor() ([]byte, []int) {
1519	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{16}
1520}
1521
1522func (m *GcsDestination) GetObjectUri() isGcsDestination_ObjectUri {
1523	if m != nil {
1524		return m.ObjectUri
1525	}
1526	return nil
1527}
1528
1529func (x *GcsDestination) GetUri() string {
1530	if x, ok := x.GetObjectUri().(*GcsDestination_Uri); ok {
1531		return x.Uri
1532	}
1533	return ""
1534}
1535
1536func (x *GcsDestination) GetUriPrefix() string {
1537	if x, ok := x.GetObjectUri().(*GcsDestination_UriPrefix); ok {
1538		return x.UriPrefix
1539	}
1540	return ""
1541}
1542
1543type isGcsDestination_ObjectUri interface {
1544	isGcsDestination_ObjectUri()
1545}
1546
1547type GcsDestination_Uri struct {
1548	// The uri of the Cloud Storage object. It's the same uri that is used by
1549	// gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
1550	// Editing Object
1551	// Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
1552	// for more information.
1553	//
1554	// If the specified Cloud Storage object already exists and there is no
1555	// [hold](https://cloud.google.com/storage/docs/object-holds), it will be
1556	// overwritten with the exported result.
1557	Uri string `protobuf:"bytes,1,opt,name=uri,proto3,oneof"`
1558}
1559
1560type GcsDestination_UriPrefix struct {
1561	// The uri prefix of all generated Cloud Storage objects. Example:
1562	// "gs://bucket_name/object_name_prefix". Each object uri is in format:
1563	// "gs://bucket_name/object_name_prefix/<asset type>/<shard number> and only
1564	// contains assets for that type. <shard number> starts from 0. Example:
1565	// "gs://bucket_name/object_name_prefix/compute.googleapis.com/Disk/0" is
1566	// the first shard of output objects containing all
1567	// compute.googleapis.com/Disk assets. An INVALID_ARGUMENT error will be
1568	// returned if file with the same name "gs://bucket_name/object_name_prefix"
1569	// already exists.
1570	UriPrefix string `protobuf:"bytes,2,opt,name=uri_prefix,json=uriPrefix,proto3,oneof"`
1571}
1572
1573func (*GcsDestination_Uri) isGcsDestination_ObjectUri() {}
1574
1575func (*GcsDestination_UriPrefix) isGcsDestination_ObjectUri() {}
1576
1577// A BigQuery destination for exporting assets to.
1578type BigQueryDestination struct {
1579	state         protoimpl.MessageState
1580	sizeCache     protoimpl.SizeCache
1581	unknownFields protoimpl.UnknownFields
1582
1583	// Required. The BigQuery dataset in format
1584	// "projects/projectId/datasets/datasetId", to which the snapshot result
1585	// should be exported. If this dataset does not exist, the export call returns
1586	// an INVALID_ARGUMENT error.
1587	Dataset string `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"`
1588	// Required. The BigQuery table to which the snapshot result should be
1589	// written. If this table does not exist, a new table with the given name
1590	// will be created.
1591	Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"`
1592	// If the destination table already exists and this flag is `TRUE`, the
1593	// table will be overwritten by the contents of assets snapshot. If the flag
1594	// is `FALSE` or unset and the destination table already exists, the export
1595	// call returns an INVALID_ARGUMEMT error.
1596	Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"`
1597	// [partition_spec] determines whether to export to partitioned table(s) and
1598	// how to partition the data.
1599	//
1600	// If [partition_spec] is unset or [partition_spec.partition_key] is unset or
1601	// `PARTITION_KEY_UNSPECIFIED`, the snapshot results will be exported to
1602	// non-partitioned table(s). [force] will decide whether to overwrite existing
1603	// table(s).
1604	//
1605	// If [partition_spec] is specified. First, the snapshot results will be
1606	// written to partitioned table(s) with two additional timestamp columns,
1607	// readTime and requestTime, one of which will be the partition key. Secondly,
1608	// in the case when any destination table already exists, it will first try to
1609	// update existing table's schema as necessary by appending additional
1610	// columns. Then, if [force] is `TRUE`, the corresponding partition will be
1611	// overwritten by the snapshot results (data in different partitions will
1612	// remain intact); if [force] is unset or `FALSE`, it will append the data. An
1613	// error will be returned if the schema update or data appension fails.
1614	PartitionSpec *PartitionSpec `protobuf:"bytes,4,opt,name=partition_spec,json=partitionSpec,proto3" json:"partition_spec,omitempty"`
1615	// If this flag is `TRUE`, the snapshot results will be written to one or
1616	// multiple tables, each of which contains results of one asset type. The
1617	// [force] and [partition_spec] fields will apply to each of them.
1618	//
1619	// Field [table] will be concatenated with "_" and the asset type names (see
1620	// https://cloud.google.com/asset-inventory/docs/supported-asset-types for
1621	// supported asset types) to construct per-asset-type table names, in which
1622	// all non-alphanumeric characters like "." and "/" will be substituted by
1623	// "_". Example: if field [table] is "mytable" and snapshot results
1624	// contain "storage.googleapis.com/Bucket" assets, the corresponding table
1625	// name will be "mytable_storage_googleapis_com_Bucket". If any of these
1626	// tables does not exist, a new table with the concatenated name will be
1627	// created.
1628	//
1629	// When [content_type] in the ExportAssetsRequest is `RESOURCE`, the schema of
1630	// each table will include RECORD-type columns mapped to the nested fields in
1631	// the Asset.resource.data field of that asset type (up to the 15 nested level
1632	// BigQuery supports
1633	// (https://cloud.google.com/bigquery/docs/nested-repeated#limitations)). The
1634	// fields in >15 nested levels will be stored in JSON format string as a child
1635	// column of its parent RECORD column.
1636	//
1637	// If error occurs when exporting to any table, the whole export call will
1638	// return an error but the export results that already succeed will persist.
1639	// Example: if exporting to table_type_A succeeds when exporting to
1640	// table_type_B fails during one export call, the results in table_type_A will
1641	// persist and there will not be partial results persisting in a table.
1642	SeparateTablesPerAssetType bool `protobuf:"varint,5,opt,name=separate_tables_per_asset_type,json=separateTablesPerAssetType,proto3" json:"separate_tables_per_asset_type,omitempty"`
1643}
1644
1645func (x *BigQueryDestination) Reset() {
1646	*x = BigQueryDestination{}
1647	if protoimpl.UnsafeEnabled {
1648		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[17]
1649		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1650		ms.StoreMessageInfo(mi)
1651	}
1652}
1653
1654func (x *BigQueryDestination) String() string {
1655	return protoimpl.X.MessageStringOf(x)
1656}
1657
1658func (*BigQueryDestination) ProtoMessage() {}
1659
1660func (x *BigQueryDestination) ProtoReflect() protoreflect.Message {
1661	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[17]
1662	if protoimpl.UnsafeEnabled && x != nil {
1663		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1664		if ms.LoadMessageInfo() == nil {
1665			ms.StoreMessageInfo(mi)
1666		}
1667		return ms
1668	}
1669	return mi.MessageOf(x)
1670}
1671
1672// Deprecated: Use BigQueryDestination.ProtoReflect.Descriptor instead.
1673func (*BigQueryDestination) Descriptor() ([]byte, []int) {
1674	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{17}
1675}
1676
1677func (x *BigQueryDestination) GetDataset() string {
1678	if x != nil {
1679		return x.Dataset
1680	}
1681	return ""
1682}
1683
1684func (x *BigQueryDestination) GetTable() string {
1685	if x != nil {
1686		return x.Table
1687	}
1688	return ""
1689}
1690
1691func (x *BigQueryDestination) GetForce() bool {
1692	if x != nil {
1693		return x.Force
1694	}
1695	return false
1696}
1697
1698func (x *BigQueryDestination) GetPartitionSpec() *PartitionSpec {
1699	if x != nil {
1700		return x.PartitionSpec
1701	}
1702	return nil
1703}
1704
1705func (x *BigQueryDestination) GetSeparateTablesPerAssetType() bool {
1706	if x != nil {
1707		return x.SeparateTablesPerAssetType
1708	}
1709	return false
1710}
1711
1712// Specifications of BigQuery partitioned table as export destination.
1713type PartitionSpec struct {
1714	state         protoimpl.MessageState
1715	sizeCache     protoimpl.SizeCache
1716	unknownFields protoimpl.UnknownFields
1717
1718	// The partition key for BigQuery partitioned table.
1719	PartitionKey PartitionSpec_PartitionKey `protobuf:"varint,1,opt,name=partition_key,json=partitionKey,proto3,enum=google.cloud.asset.v1.PartitionSpec_PartitionKey" json:"partition_key,omitempty"`
1720}
1721
1722func (x *PartitionSpec) Reset() {
1723	*x = PartitionSpec{}
1724	if protoimpl.UnsafeEnabled {
1725		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[18]
1726		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1727		ms.StoreMessageInfo(mi)
1728	}
1729}
1730
1731func (x *PartitionSpec) String() string {
1732	return protoimpl.X.MessageStringOf(x)
1733}
1734
1735func (*PartitionSpec) ProtoMessage() {}
1736
1737func (x *PartitionSpec) ProtoReflect() protoreflect.Message {
1738	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[18]
1739	if protoimpl.UnsafeEnabled && x != nil {
1740		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1741		if ms.LoadMessageInfo() == nil {
1742			ms.StoreMessageInfo(mi)
1743		}
1744		return ms
1745	}
1746	return mi.MessageOf(x)
1747}
1748
1749// Deprecated: Use PartitionSpec.ProtoReflect.Descriptor instead.
1750func (*PartitionSpec) Descriptor() ([]byte, []int) {
1751	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{18}
1752}
1753
1754func (x *PartitionSpec) GetPartitionKey() PartitionSpec_PartitionKey {
1755	if x != nil {
1756		return x.PartitionKey
1757	}
1758	return PartitionSpec_PARTITION_KEY_UNSPECIFIED
1759}
1760
1761// A Pub/Sub destination.
1762type PubsubDestination struct {
1763	state         protoimpl.MessageState
1764	sizeCache     protoimpl.SizeCache
1765	unknownFields protoimpl.UnknownFields
1766
1767	// The name of the Pub/Sub topic to publish to.
1768	// Example: `projects/PROJECT_ID/topics/TOPIC_ID`.
1769	Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
1770}
1771
1772func (x *PubsubDestination) Reset() {
1773	*x = PubsubDestination{}
1774	if protoimpl.UnsafeEnabled {
1775		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[19]
1776		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1777		ms.StoreMessageInfo(mi)
1778	}
1779}
1780
1781func (x *PubsubDestination) String() string {
1782	return protoimpl.X.MessageStringOf(x)
1783}
1784
1785func (*PubsubDestination) ProtoMessage() {}
1786
1787func (x *PubsubDestination) ProtoReflect() protoreflect.Message {
1788	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[19]
1789	if protoimpl.UnsafeEnabled && x != nil {
1790		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1791		if ms.LoadMessageInfo() == nil {
1792			ms.StoreMessageInfo(mi)
1793		}
1794		return ms
1795	}
1796	return mi.MessageOf(x)
1797}
1798
1799// Deprecated: Use PubsubDestination.ProtoReflect.Descriptor instead.
1800func (*PubsubDestination) Descriptor() ([]byte, []int) {
1801	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{19}
1802}
1803
1804func (x *PubsubDestination) GetTopic() string {
1805	if x != nil {
1806		return x.Topic
1807	}
1808	return ""
1809}
1810
1811// Output configuration for asset feed destination.
1812type FeedOutputConfig struct {
1813	state         protoimpl.MessageState
1814	sizeCache     protoimpl.SizeCache
1815	unknownFields protoimpl.UnknownFields
1816
1817	// Asset feed destination.
1818	//
1819	// Types that are assignable to Destination:
1820	//	*FeedOutputConfig_PubsubDestination
1821	Destination isFeedOutputConfig_Destination `protobuf_oneof:"destination"`
1822}
1823
1824func (x *FeedOutputConfig) Reset() {
1825	*x = FeedOutputConfig{}
1826	if protoimpl.UnsafeEnabled {
1827		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[20]
1828		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1829		ms.StoreMessageInfo(mi)
1830	}
1831}
1832
1833func (x *FeedOutputConfig) String() string {
1834	return protoimpl.X.MessageStringOf(x)
1835}
1836
1837func (*FeedOutputConfig) ProtoMessage() {}
1838
1839func (x *FeedOutputConfig) ProtoReflect() protoreflect.Message {
1840	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[20]
1841	if protoimpl.UnsafeEnabled && x != nil {
1842		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1843		if ms.LoadMessageInfo() == nil {
1844			ms.StoreMessageInfo(mi)
1845		}
1846		return ms
1847	}
1848	return mi.MessageOf(x)
1849}
1850
1851// Deprecated: Use FeedOutputConfig.ProtoReflect.Descriptor instead.
1852func (*FeedOutputConfig) Descriptor() ([]byte, []int) {
1853	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{20}
1854}
1855
1856func (m *FeedOutputConfig) GetDestination() isFeedOutputConfig_Destination {
1857	if m != nil {
1858		return m.Destination
1859	}
1860	return nil
1861}
1862
1863func (x *FeedOutputConfig) GetPubsubDestination() *PubsubDestination {
1864	if x, ok := x.GetDestination().(*FeedOutputConfig_PubsubDestination); ok {
1865		return x.PubsubDestination
1866	}
1867	return nil
1868}
1869
1870type isFeedOutputConfig_Destination interface {
1871	isFeedOutputConfig_Destination()
1872}
1873
1874type FeedOutputConfig_PubsubDestination struct {
1875	// Destination on Pub/Sub.
1876	PubsubDestination *PubsubDestination `protobuf:"bytes,1,opt,name=pubsub_destination,json=pubsubDestination,proto3,oneof"`
1877}
1878
1879func (*FeedOutputConfig_PubsubDestination) isFeedOutputConfig_Destination() {}
1880
1881// An asset feed used to export asset updates to a destinations.
1882// An asset feed filter controls what updates are exported.
1883// The asset feed must be created within a project, organization, or
1884// folder. Supported destinations are:
1885// Pub/Sub topics.
1886type Feed struct {
1887	state         protoimpl.MessageState
1888	sizeCache     protoimpl.SizeCache
1889	unknownFields protoimpl.UnknownFields
1890
1891	// Required. The format will be
1892	// projects/{project_number}/feeds/{client-assigned_feed_identifier} or
1893	// folders/{folder_number}/feeds/{client-assigned_feed_identifier} or
1894	// organizations/{organization_number}/feeds/{client-assigned_feed_identifier}
1895	//
1896	// The client-assigned feed identifier must be unique within the parent
1897	// project/folder/organization.
1898	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1899	// A list of the full names of the assets to receive updates. You must specify
1900	// either or both of asset_names and asset_types. Only asset updates matching
1901	// specified asset_names or asset_types are exported to the feed.
1902	// Example:
1903	// `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.
1904	// See [Resource
1905	// Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
1906	// for more info.
1907	AssetNames []string `protobuf:"bytes,2,rep,name=asset_names,json=assetNames,proto3" json:"asset_names,omitempty"`
1908	// A list of types of the assets to receive updates. You must specify either
1909	// or both of asset_names and asset_types. Only asset updates matching
1910	// specified asset_names or asset_types are exported to the feed.
1911	// Example: `"compute.googleapis.com/Disk"`
1912	//
1913	// See [this
1914	// topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
1915	// for a list of all supported asset types.
1916	AssetTypes []string `protobuf:"bytes,3,rep,name=asset_types,json=assetTypes,proto3" json:"asset_types,omitempty"`
1917	// Asset content type. If not specified, no content but the asset name and
1918	// type will be returned.
1919	ContentType ContentType `protobuf:"varint,4,opt,name=content_type,json=contentType,proto3,enum=google.cloud.asset.v1.ContentType" json:"content_type,omitempty"`
1920	// Required. Feed output configuration defining where the asset updates are
1921	// published to.
1922	FeedOutputConfig *FeedOutputConfig `protobuf:"bytes,5,opt,name=feed_output_config,json=feedOutputConfig,proto3" json:"feed_output_config,omitempty"`
1923	// A condition which determines whether an asset update should be published.
1924	// If specified, an asset will be returned only when the expression evaluates
1925	// to true.
1926	// When set, `expression` field in the `Expr` must be a valid [CEL expression]
1927	// (https://github.com/google/cel-spec) on a TemporalAsset with name
1928	// `temporal_asset`. Example: a Feed with expression ("temporal_asset.deleted
1929	// == true") will only publish Asset deletions. Other fields of `Expr` are
1930	// optional.
1931	//
1932	// See our [user
1933	// guide](https://cloud.google.com/asset-inventory/docs/monitoring-asset-changes-with-condition)
1934	// for detailed instructions.
1935	Condition *expr.Expr `protobuf:"bytes,6,opt,name=condition,proto3" json:"condition,omitempty"`
1936	// A list of relationship types to output, for example:
1937	// `INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if
1938	// content_type=RELATIONSHIP.
1939	// * If specified:
1940	// it outputs specified relationship updates on the [asset_names] or the
1941	// [asset_types]. It returns an error if any of the [relationship_types]
1942	// doesn't belong to the supported relationship types of the [asset_names] or
1943	// [asset_types], or any of the [asset_names] or the [asset_types] doesn't
1944	// belong to the source types of the [relationship_types].
1945	// * Otherwise:
1946	// it outputs the supported relationships of the types of [asset_names] and
1947	// [asset_types] or returns an error if any of the [asset_names] or the
1948	// [asset_types] has no replationship support.
1949	// See [Introduction to Cloud Asset
1950	// Inventory](https://cloud.google.com/asset-inventory/docs/overview)
1951	// for all supported asset types and relationship types.
1952	RelationshipTypes []string `protobuf:"bytes,7,rep,name=relationship_types,json=relationshipTypes,proto3" json:"relationship_types,omitempty"`
1953}
1954
1955func (x *Feed) Reset() {
1956	*x = Feed{}
1957	if protoimpl.UnsafeEnabled {
1958		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[21]
1959		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1960		ms.StoreMessageInfo(mi)
1961	}
1962}
1963
1964func (x *Feed) String() string {
1965	return protoimpl.X.MessageStringOf(x)
1966}
1967
1968func (*Feed) ProtoMessage() {}
1969
1970func (x *Feed) ProtoReflect() protoreflect.Message {
1971	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[21]
1972	if protoimpl.UnsafeEnabled && x != nil {
1973		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1974		if ms.LoadMessageInfo() == nil {
1975			ms.StoreMessageInfo(mi)
1976		}
1977		return ms
1978	}
1979	return mi.MessageOf(x)
1980}
1981
1982// Deprecated: Use Feed.ProtoReflect.Descriptor instead.
1983func (*Feed) Descriptor() ([]byte, []int) {
1984	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{21}
1985}
1986
1987func (x *Feed) GetName() string {
1988	if x != nil {
1989		return x.Name
1990	}
1991	return ""
1992}
1993
1994func (x *Feed) GetAssetNames() []string {
1995	if x != nil {
1996		return x.AssetNames
1997	}
1998	return nil
1999}
2000
2001func (x *Feed) GetAssetTypes() []string {
2002	if x != nil {
2003		return x.AssetTypes
2004	}
2005	return nil
2006}
2007
2008func (x *Feed) GetContentType() ContentType {
2009	if x != nil {
2010		return x.ContentType
2011	}
2012	return ContentType_CONTENT_TYPE_UNSPECIFIED
2013}
2014
2015func (x *Feed) GetFeedOutputConfig() *FeedOutputConfig {
2016	if x != nil {
2017		return x.FeedOutputConfig
2018	}
2019	return nil
2020}
2021
2022func (x *Feed) GetCondition() *expr.Expr {
2023	if x != nil {
2024		return x.Condition
2025	}
2026	return nil
2027}
2028
2029func (x *Feed) GetRelationshipTypes() []string {
2030	if x != nil {
2031		return x.RelationshipTypes
2032	}
2033	return nil
2034}
2035
2036// Search all resources request.
2037type SearchAllResourcesRequest struct {
2038	state         protoimpl.MessageState
2039	sizeCache     protoimpl.SizeCache
2040	unknownFields protoimpl.UnknownFields
2041
2042	// Required. A scope can be a project, a folder, or an organization. The search is
2043	// limited to the resources within the `scope`. The caller must be granted the
2044	// [`cloudasset.assets.searchAllResources`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
2045	// permission on the desired scope.
2046	//
2047	// The allowed values are:
2048	//
2049	// * projects/{PROJECT_ID} (e.g., "projects/foo-bar")
2050	// * projects/{PROJECT_NUMBER} (e.g., "projects/12345678")
2051	// * folders/{FOLDER_NUMBER} (e.g., "folders/1234567")
2052	// * organizations/{ORGANIZATION_NUMBER} (e.g., "organizations/123456")
2053	Scope string `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"`
2054	// Optional. The query statement. See [how to construct a
2055	// query](https://cloud.google.com/asset-inventory/docs/searching-resources#how_to_construct_a_query)
2056	// for more information. If not specified or empty, it will search all the
2057	// resources within the specified `scope`.
2058	//
2059	// Examples:
2060	//
2061	// * `name:Important` to find Cloud resources whose name contains
2062	//   "Important" as a word.
2063	// * `name=Important` to find the Cloud resource whose name is exactly
2064	//   "Important".
2065	// * `displayName:Impor*` to find Cloud resources whose display name
2066	//   contains "Impor" as a prefix of any word in the field.
2067	// * `location:us-west*` to find Cloud resources whose location contains both
2068	//   "us" and "west" as prefixes.
2069	// * `labels:prod` to find Cloud resources whose labels contain "prod" as
2070	//   a key or value.
2071	// * `labels.env:prod` to find Cloud resources that have a label "env"
2072	//   and its value is "prod".
2073	// * `labels.env:*` to find Cloud resources that have a label "env".
2074	// * `kmsKey:key` to find Cloud resources encrypted with a customer-managed
2075	//   encryption key whose name contains the word "key".
2076	// * `state:ACTIVE` to find Cloud resources whose state contains "ACTIVE" as a
2077	//   word.
2078	// * `NOT state:ACTIVE` to find Cloud resources whose state doesn't contain
2079	//   "ACTIVE" as a word.
2080	// * `createTime<1609459200` to find Cloud resources that were created before
2081	//   "2021-01-01 00:00:00 UTC". 1609459200 is the epoch timestamp of
2082	//   "2021-01-01 00:00:00 UTC" in seconds.
2083	// * `updateTime>1609459200` to find Cloud resources that were updated after
2084	//   "2021-01-01 00:00:00 UTC". 1609459200 is the epoch timestamp of
2085	//   "2021-01-01 00:00:00 UTC" in seconds.
2086	// * `Important` to find Cloud resources that contain "Important" as a word
2087	//   in any of the searchable fields.
2088	// * `Impor*` to find Cloud resources that contain "Impor" as a prefix of any
2089	//   word in any of the searchable fields.
2090	// * `Important location:(us-west1 OR global)` to find Cloud
2091	//   resources that contain "Important" as a word in any of the searchable
2092	//   fields and are also located in the "us-west1" region or the "global"
2093	//   location.
2094	Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"`
2095	// Optional. A list of asset types that this request searches for. If empty, it will
2096	// search all the [searchable asset
2097	// types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
2098	//
2099	// Regular expressions are also supported. For example:
2100	//
2101	// * "compute.googleapis.com.*" snapshots resources whose asset type starts
2102	// with "compute.googleapis.com".
2103	// * ".*Instance" snapshots resources whose asset type ends with "Instance".
2104	// * ".*Instance.*" snapshots resources whose asset type contains "Instance".
2105	//
2106	// See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported
2107	// regular expression syntax. If the regular expression does not match any
2108	// supported asset type, an INVALID_ARGUMENT error will be returned.
2109	AssetTypes []string `protobuf:"bytes,3,rep,name=asset_types,json=assetTypes,proto3" json:"asset_types,omitempty"`
2110	// Optional. The page size for search result pagination. Page size is capped at 500 even
2111	// if a larger value is given. If set to zero, server will pick an appropriate
2112	// default. Returned results may be fewer than requested. When this happens,
2113	// there could be more results as long as `next_page_token` is returned.
2114	PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
2115	// Optional. If present, then retrieve the next batch of results from the preceding call
2116	// to this method. `page_token` must be the value of `next_page_token` from
2117	// the previous response. The values of all other method parameters, must be
2118	// identical to those in the previous call.
2119	PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
2120	// Optional. A comma-separated list of fields specifying the sorting order of the
2121	// results. The default order is ascending. Add " DESC" after the field name
2122	// to indicate descending order. Redundant space characters are ignored.
2123	// Example: "location DESC, name".
2124	// Only singular primitive fields in the response are sortable:
2125	//
2126	//   * name
2127	//   * assetType
2128	//   * project
2129	//   * displayName
2130	//   * description
2131	//   * location
2132	//   * kmsKey
2133	//   * createTime
2134	//   * updateTime
2135	//   * state
2136	//   * parentFullResourceName
2137	//   * parentAssetType
2138	//
2139	// All the other fields such as repeated fields (e.g., `networkTags`), map
2140	// fields (e.g., `labels`) and struct fields (e.g., `additionalAttributes`)
2141	// are not supported.
2142	OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
2143	// Optional. A comma-separated list of fields specifying which fields to be returned in
2144	// ResourceSearchResult. Only '*' or combination of top level fields can be
2145	// specified. Field names of both snake_case and camelCase are supported.
2146	// Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
2147	//
2148	// The read_mask paths must be valid field paths listed but not limited to
2149	// (both snake_case and camelCase are supported):
2150	//
2151	//   * name
2152	//   * assetType
2153	//   * project
2154	//   * displayName
2155	//   * description
2156	//   * location
2157	//   * labels
2158	//   * networkTags
2159	//   * kmsKey
2160	//   * createTime
2161	//   * updateTime
2162	//   * state
2163	//   * additionalAttributes
2164	//   * versionedResources
2165	//
2166	// If read_mask is not specified, all fields except versionedResources will
2167	// be returned.
2168	// If only '*' is specified, all fields including versionedResources will be
2169	// returned.
2170	// Any invalid field path will trigger INVALID_ARGUMENT error.
2171	ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,8,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"`
2172}
2173
2174func (x *SearchAllResourcesRequest) Reset() {
2175	*x = SearchAllResourcesRequest{}
2176	if protoimpl.UnsafeEnabled {
2177		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[22]
2178		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2179		ms.StoreMessageInfo(mi)
2180	}
2181}
2182
2183func (x *SearchAllResourcesRequest) String() string {
2184	return protoimpl.X.MessageStringOf(x)
2185}
2186
2187func (*SearchAllResourcesRequest) ProtoMessage() {}
2188
2189func (x *SearchAllResourcesRequest) ProtoReflect() protoreflect.Message {
2190	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[22]
2191	if protoimpl.UnsafeEnabled && x != nil {
2192		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2193		if ms.LoadMessageInfo() == nil {
2194			ms.StoreMessageInfo(mi)
2195		}
2196		return ms
2197	}
2198	return mi.MessageOf(x)
2199}
2200
2201// Deprecated: Use SearchAllResourcesRequest.ProtoReflect.Descriptor instead.
2202func (*SearchAllResourcesRequest) Descriptor() ([]byte, []int) {
2203	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{22}
2204}
2205
2206func (x *SearchAllResourcesRequest) GetScope() string {
2207	if x != nil {
2208		return x.Scope
2209	}
2210	return ""
2211}
2212
2213func (x *SearchAllResourcesRequest) GetQuery() string {
2214	if x != nil {
2215		return x.Query
2216	}
2217	return ""
2218}
2219
2220func (x *SearchAllResourcesRequest) GetAssetTypes() []string {
2221	if x != nil {
2222		return x.AssetTypes
2223	}
2224	return nil
2225}
2226
2227func (x *SearchAllResourcesRequest) GetPageSize() int32 {
2228	if x != nil {
2229		return x.PageSize
2230	}
2231	return 0
2232}
2233
2234func (x *SearchAllResourcesRequest) GetPageToken() string {
2235	if x != nil {
2236		return x.PageToken
2237	}
2238	return ""
2239}
2240
2241func (x *SearchAllResourcesRequest) GetOrderBy() string {
2242	if x != nil {
2243		return x.OrderBy
2244	}
2245	return ""
2246}
2247
2248func (x *SearchAllResourcesRequest) GetReadMask() *fieldmaskpb.FieldMask {
2249	if x != nil {
2250		return x.ReadMask
2251	}
2252	return nil
2253}
2254
2255// Search all resources response.
2256type SearchAllResourcesResponse struct {
2257	state         protoimpl.MessageState
2258	sizeCache     protoimpl.SizeCache
2259	unknownFields protoimpl.UnknownFields
2260
2261	// A list of Resources that match the search query. It contains the resource
2262	// standard metadata information.
2263	Results []*ResourceSearchResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
2264	// If there are more results than those appearing in this response, then
2265	// `next_page_token` is included. To get the next set of results, call this
2266	// method again using the value of `next_page_token` as `page_token`.
2267	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
2268}
2269
2270func (x *SearchAllResourcesResponse) Reset() {
2271	*x = SearchAllResourcesResponse{}
2272	if protoimpl.UnsafeEnabled {
2273		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[23]
2274		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2275		ms.StoreMessageInfo(mi)
2276	}
2277}
2278
2279func (x *SearchAllResourcesResponse) String() string {
2280	return protoimpl.X.MessageStringOf(x)
2281}
2282
2283func (*SearchAllResourcesResponse) ProtoMessage() {}
2284
2285func (x *SearchAllResourcesResponse) ProtoReflect() protoreflect.Message {
2286	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[23]
2287	if protoimpl.UnsafeEnabled && x != nil {
2288		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2289		if ms.LoadMessageInfo() == nil {
2290			ms.StoreMessageInfo(mi)
2291		}
2292		return ms
2293	}
2294	return mi.MessageOf(x)
2295}
2296
2297// Deprecated: Use SearchAllResourcesResponse.ProtoReflect.Descriptor instead.
2298func (*SearchAllResourcesResponse) Descriptor() ([]byte, []int) {
2299	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{23}
2300}
2301
2302func (x *SearchAllResourcesResponse) GetResults() []*ResourceSearchResult {
2303	if x != nil {
2304		return x.Results
2305	}
2306	return nil
2307}
2308
2309func (x *SearchAllResourcesResponse) GetNextPageToken() string {
2310	if x != nil {
2311		return x.NextPageToken
2312	}
2313	return ""
2314}
2315
2316// Search all IAM policies request.
2317type SearchAllIamPoliciesRequest struct {
2318	state         protoimpl.MessageState
2319	sizeCache     protoimpl.SizeCache
2320	unknownFields protoimpl.UnknownFields
2321
2322	// Required. A scope can be a project, a folder, or an organization. The search is
2323	// limited to the IAM policies within the `scope`. The caller must be granted
2324	// the
2325	// [`cloudasset.assets.searchAllIamPolicies`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
2326	// permission on the desired scope.
2327	//
2328	// The allowed values are:
2329	//
2330	// * projects/{PROJECT_ID} (e.g., "projects/foo-bar")
2331	// * projects/{PROJECT_NUMBER} (e.g., "projects/12345678")
2332	// * folders/{FOLDER_NUMBER} (e.g., "folders/1234567")
2333	// * organizations/{ORGANIZATION_NUMBER} (e.g., "organizations/123456")
2334	Scope string `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"`
2335	// Optional. The query statement. See [how to construct a
2336	// query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query)
2337	// for more information. If not specified or empty, it will search all the
2338	// IAM policies within the specified `scope`. Note that the query string is
2339	// compared against each Cloud IAM policy binding, including its members,
2340	// roles, and Cloud IAM conditions. The returned Cloud IAM policies will only
2341	// contain the bindings that match your query. To learn more about the IAM
2342	// policy structure, see [IAM policy
2343	// doc](https://cloud.google.com/iam/docs/policies#structure).
2344	//
2345	// Examples:
2346	//
2347	// * `policy:amy@gmail.com` to find IAM policy bindings that specify user
2348	//   "amy@gmail.com".
2349	// * `policy:roles/compute.admin` to find IAM policy bindings that specify
2350	//   the Compute Admin role.
2351	// * `policy:comp*` to find IAM policy bindings that contain "comp" as a
2352	//   prefix of any word in the binding.
2353	// * `policy.role.permissions:storage.buckets.update` to find IAM policy
2354	//   bindings that specify a role containing "storage.buckets.update"
2355	//   permission. Note that if callers don't have `iam.roles.get` access to a
2356	//   role's included permissions, policy bindings that specify this role will
2357	//   be dropped from the search results.
2358	// * `policy.role.permissions:upd*` to find IAM policy bindings that specify a
2359	//   role containing "upd" as a prefix of any word in the role permission.
2360	//   Note that if callers don't have `iam.roles.get` access to a role's
2361	//   included permissions, policy bindings that specify this role will be
2362	//   dropped from the search results.
2363	// * `resource:organizations/123456` to find IAM policy bindings
2364	//   that are set on "organizations/123456".
2365	// * `resource=//cloudresourcemanager.googleapis.com/projects/myproject` to
2366	//   find IAM policy bindings that are set on the project named "myproject".
2367	// * `Important` to find IAM policy bindings that contain "Important" as a
2368	//   word in any of the searchable fields (except for the included
2369	//   permissions).
2370	// * `resource:(instance1 OR instance2) policy:amy` to find
2371	//   IAM policy bindings that are set on resources "instance1" or
2372	//   "instance2" and also specify user "amy".
2373	// * `roles:roles/compute.admin` to find IAM policy bindings that specify the
2374	//   Compute Admin role.
2375	// * `memberTypes:user` to find IAM policy bindings that contain the "user"
2376	//   member type.
2377	Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"`
2378	// Optional. The page size for search result pagination. Page size is capped at 500 even
2379	// if a larger value is given. If set to zero, server will pick an appropriate
2380	// default. Returned results may be fewer than requested. When this happens,
2381	// there could be more results as long as `next_page_token` is returned.
2382	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
2383	// Optional. If present, retrieve the next batch of results from the preceding call to
2384	// this method. `page_token` must be the value of `next_page_token` from the
2385	// previous response. The values of all other method parameters must be
2386	// identical to those in the previous call.
2387	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
2388	// Optional. A list of asset types that the IAM policies are attached to. If empty, it
2389	// will search the IAM policies that are attached to all the [searchable asset
2390	// types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
2391	//
2392	// Regular expressions are also supported. For example:
2393	//
2394	// * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
2395	// starts with "compute.googleapis.com".
2396	// * ".*Instance" snapshots IAM policies attached to asset type ends with
2397	// "Instance".
2398	// * ".*Instance.*" snapshots IAM policies attached to asset type contains
2399	// "Instance".
2400	//
2401	// See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported
2402	// regular expression syntax. If the regular expression does not match any
2403	// supported asset type, an INVALID_ARGUMENT error will be returned.
2404	AssetTypes []string `protobuf:"bytes,5,rep,name=asset_types,json=assetTypes,proto3" json:"asset_types,omitempty"`
2405	// Optional. A comma-separated list of fields specifying the sorting order of the
2406	// results. The default order is ascending. Add " DESC" after the field name
2407	// to indicate descending order. Redundant space characters are ignored.
2408	// Example: "assetType DESC, resource".
2409	// Only singular primitive fields in the response are sortable:
2410	//   * resource
2411	//   * assetType
2412	//   * project
2413	// All the other fields such as repeated fields (e.g., `folders`) and
2414	// non-primitive fields (e.g., `policy`) are not supported.
2415	OrderBy string `protobuf:"bytes,7,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
2416}
2417
2418func (x *SearchAllIamPoliciesRequest) Reset() {
2419	*x = SearchAllIamPoliciesRequest{}
2420	if protoimpl.UnsafeEnabled {
2421		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[24]
2422		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2423		ms.StoreMessageInfo(mi)
2424	}
2425}
2426
2427func (x *SearchAllIamPoliciesRequest) String() string {
2428	return protoimpl.X.MessageStringOf(x)
2429}
2430
2431func (*SearchAllIamPoliciesRequest) ProtoMessage() {}
2432
2433func (x *SearchAllIamPoliciesRequest) ProtoReflect() protoreflect.Message {
2434	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[24]
2435	if protoimpl.UnsafeEnabled && x != nil {
2436		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2437		if ms.LoadMessageInfo() == nil {
2438			ms.StoreMessageInfo(mi)
2439		}
2440		return ms
2441	}
2442	return mi.MessageOf(x)
2443}
2444
2445// Deprecated: Use SearchAllIamPoliciesRequest.ProtoReflect.Descriptor instead.
2446func (*SearchAllIamPoliciesRequest) Descriptor() ([]byte, []int) {
2447	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{24}
2448}
2449
2450func (x *SearchAllIamPoliciesRequest) GetScope() string {
2451	if x != nil {
2452		return x.Scope
2453	}
2454	return ""
2455}
2456
2457func (x *SearchAllIamPoliciesRequest) GetQuery() string {
2458	if x != nil {
2459		return x.Query
2460	}
2461	return ""
2462}
2463
2464func (x *SearchAllIamPoliciesRequest) GetPageSize() int32 {
2465	if x != nil {
2466		return x.PageSize
2467	}
2468	return 0
2469}
2470
2471func (x *SearchAllIamPoliciesRequest) GetPageToken() string {
2472	if x != nil {
2473		return x.PageToken
2474	}
2475	return ""
2476}
2477
2478func (x *SearchAllIamPoliciesRequest) GetAssetTypes() []string {
2479	if x != nil {
2480		return x.AssetTypes
2481	}
2482	return nil
2483}
2484
2485func (x *SearchAllIamPoliciesRequest) GetOrderBy() string {
2486	if x != nil {
2487		return x.OrderBy
2488	}
2489	return ""
2490}
2491
2492// Search all IAM policies response.
2493type SearchAllIamPoliciesResponse struct {
2494	state         protoimpl.MessageState
2495	sizeCache     protoimpl.SizeCache
2496	unknownFields protoimpl.UnknownFields
2497
2498	// A list of IamPolicy that match the search query. Related information such
2499	// as the associated resource is returned along with the policy.
2500	Results []*IamPolicySearchResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
2501	// Set if there are more results than those appearing in this response; to get
2502	// the next set of results, call this method again, using this value as the
2503	// `page_token`.
2504	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
2505}
2506
2507func (x *SearchAllIamPoliciesResponse) Reset() {
2508	*x = SearchAllIamPoliciesResponse{}
2509	if protoimpl.UnsafeEnabled {
2510		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[25]
2511		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2512		ms.StoreMessageInfo(mi)
2513	}
2514}
2515
2516func (x *SearchAllIamPoliciesResponse) String() string {
2517	return protoimpl.X.MessageStringOf(x)
2518}
2519
2520func (*SearchAllIamPoliciesResponse) ProtoMessage() {}
2521
2522func (x *SearchAllIamPoliciesResponse) ProtoReflect() protoreflect.Message {
2523	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[25]
2524	if protoimpl.UnsafeEnabled && x != nil {
2525		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2526		if ms.LoadMessageInfo() == nil {
2527			ms.StoreMessageInfo(mi)
2528		}
2529		return ms
2530	}
2531	return mi.MessageOf(x)
2532}
2533
2534// Deprecated: Use SearchAllIamPoliciesResponse.ProtoReflect.Descriptor instead.
2535func (*SearchAllIamPoliciesResponse) Descriptor() ([]byte, []int) {
2536	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{25}
2537}
2538
2539func (x *SearchAllIamPoliciesResponse) GetResults() []*IamPolicySearchResult {
2540	if x != nil {
2541		return x.Results
2542	}
2543	return nil
2544}
2545
2546func (x *SearchAllIamPoliciesResponse) GetNextPageToken() string {
2547	if x != nil {
2548		return x.NextPageToken
2549	}
2550	return ""
2551}
2552
2553// ## IAM policy analysis query message.
2554type IamPolicyAnalysisQuery struct {
2555	state         protoimpl.MessageState
2556	sizeCache     protoimpl.SizeCache
2557	unknownFields protoimpl.UnknownFields
2558
2559	// Required. The relative name of the root asset. Only resources and IAM policies within
2560	// the scope will be analyzed.
2561	//
2562	// This can only be an organization number (such as "organizations/123"), a
2563	// folder number (such as "folders/123"), a project ID (such as
2564	// "projects/my-project-id"), or a project number (such as "projects/12345").
2565	//
2566	// To know how to get organization id, visit [here
2567	// ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
2568	//
2569	// To know how to get folder or project id, visit [here
2570	// ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).
2571	Scope string `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"`
2572	// Optional. Specifies a resource for analysis.
2573	ResourceSelector *IamPolicyAnalysisQuery_ResourceSelector `protobuf:"bytes,2,opt,name=resource_selector,json=resourceSelector,proto3" json:"resource_selector,omitempty"`
2574	// Optional. Specifies an identity for analysis.
2575	IdentitySelector *IamPolicyAnalysisQuery_IdentitySelector `protobuf:"bytes,3,opt,name=identity_selector,json=identitySelector,proto3" json:"identity_selector,omitempty"`
2576	// Optional. Specifies roles or permissions for analysis. This is optional.
2577	AccessSelector *IamPolicyAnalysisQuery_AccessSelector `protobuf:"bytes,4,opt,name=access_selector,json=accessSelector,proto3" json:"access_selector,omitempty"`
2578	// Optional. The query options.
2579	Options *IamPolicyAnalysisQuery_Options `protobuf:"bytes,5,opt,name=options,proto3" json:"options,omitempty"`
2580	// Optional. The hypothetical context for IAM conditions evaluation.
2581	ConditionContext *IamPolicyAnalysisQuery_ConditionContext `protobuf:"bytes,6,opt,name=condition_context,json=conditionContext,proto3" json:"condition_context,omitempty"`
2582}
2583
2584func (x *IamPolicyAnalysisQuery) Reset() {
2585	*x = IamPolicyAnalysisQuery{}
2586	if protoimpl.UnsafeEnabled {
2587		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[26]
2588		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2589		ms.StoreMessageInfo(mi)
2590	}
2591}
2592
2593func (x *IamPolicyAnalysisQuery) String() string {
2594	return protoimpl.X.MessageStringOf(x)
2595}
2596
2597func (*IamPolicyAnalysisQuery) ProtoMessage() {}
2598
2599func (x *IamPolicyAnalysisQuery) ProtoReflect() protoreflect.Message {
2600	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[26]
2601	if protoimpl.UnsafeEnabled && x != nil {
2602		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2603		if ms.LoadMessageInfo() == nil {
2604			ms.StoreMessageInfo(mi)
2605		}
2606		return ms
2607	}
2608	return mi.MessageOf(x)
2609}
2610
2611// Deprecated: Use IamPolicyAnalysisQuery.ProtoReflect.Descriptor instead.
2612func (*IamPolicyAnalysisQuery) Descriptor() ([]byte, []int) {
2613	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{26}
2614}
2615
2616func (x *IamPolicyAnalysisQuery) GetScope() string {
2617	if x != nil {
2618		return x.Scope
2619	}
2620	return ""
2621}
2622
2623func (x *IamPolicyAnalysisQuery) GetResourceSelector() *IamPolicyAnalysisQuery_ResourceSelector {
2624	if x != nil {
2625		return x.ResourceSelector
2626	}
2627	return nil
2628}
2629
2630func (x *IamPolicyAnalysisQuery) GetIdentitySelector() *IamPolicyAnalysisQuery_IdentitySelector {
2631	if x != nil {
2632		return x.IdentitySelector
2633	}
2634	return nil
2635}
2636
2637func (x *IamPolicyAnalysisQuery) GetAccessSelector() *IamPolicyAnalysisQuery_AccessSelector {
2638	if x != nil {
2639		return x.AccessSelector
2640	}
2641	return nil
2642}
2643
2644func (x *IamPolicyAnalysisQuery) GetOptions() *IamPolicyAnalysisQuery_Options {
2645	if x != nil {
2646		return x.Options
2647	}
2648	return nil
2649}
2650
2651func (x *IamPolicyAnalysisQuery) GetConditionContext() *IamPolicyAnalysisQuery_ConditionContext {
2652	if x != nil {
2653		return x.ConditionContext
2654	}
2655	return nil
2656}
2657
2658// A request message for [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy].
2659type AnalyzeIamPolicyRequest struct {
2660	state         protoimpl.MessageState
2661	sizeCache     protoimpl.SizeCache
2662	unknownFields protoimpl.UnknownFields
2663
2664	// Required. The request query.
2665	AnalysisQuery *IamPolicyAnalysisQuery `protobuf:"bytes,1,opt,name=analysis_query,json=analysisQuery,proto3" json:"analysis_query,omitempty"`
2666	// Optional. Amount of time executable has to complete.  See JSON representation of
2667	// [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
2668	//
2669	// If this field is set with a value less than the RPC deadline, and the
2670	// execution of your query hasn't finished in the specified
2671	// execution timeout,  you will get a response with partial result.
2672	// Otherwise, your query's execution will continue until the RPC deadline.
2673	// If it's not finished until then, you will get a  DEADLINE_EXCEEDED error.
2674	//
2675	// Default is empty.
2676	ExecutionTimeout *durationpb.Duration `protobuf:"bytes,2,opt,name=execution_timeout,json=executionTimeout,proto3" json:"execution_timeout,omitempty"`
2677}
2678
2679func (x *AnalyzeIamPolicyRequest) Reset() {
2680	*x = AnalyzeIamPolicyRequest{}
2681	if protoimpl.UnsafeEnabled {
2682		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[27]
2683		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2684		ms.StoreMessageInfo(mi)
2685	}
2686}
2687
2688func (x *AnalyzeIamPolicyRequest) String() string {
2689	return protoimpl.X.MessageStringOf(x)
2690}
2691
2692func (*AnalyzeIamPolicyRequest) ProtoMessage() {}
2693
2694func (x *AnalyzeIamPolicyRequest) ProtoReflect() protoreflect.Message {
2695	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[27]
2696	if protoimpl.UnsafeEnabled && x != nil {
2697		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2698		if ms.LoadMessageInfo() == nil {
2699			ms.StoreMessageInfo(mi)
2700		}
2701		return ms
2702	}
2703	return mi.MessageOf(x)
2704}
2705
2706// Deprecated: Use AnalyzeIamPolicyRequest.ProtoReflect.Descriptor instead.
2707func (*AnalyzeIamPolicyRequest) Descriptor() ([]byte, []int) {
2708	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{27}
2709}
2710
2711func (x *AnalyzeIamPolicyRequest) GetAnalysisQuery() *IamPolicyAnalysisQuery {
2712	if x != nil {
2713		return x.AnalysisQuery
2714	}
2715	return nil
2716}
2717
2718func (x *AnalyzeIamPolicyRequest) GetExecutionTimeout() *durationpb.Duration {
2719	if x != nil {
2720		return x.ExecutionTimeout
2721	}
2722	return nil
2723}
2724
2725// A response message for [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy].
2726type AnalyzeIamPolicyResponse struct {
2727	state         protoimpl.MessageState
2728	sizeCache     protoimpl.SizeCache
2729	unknownFields protoimpl.UnknownFields
2730
2731	// The main analysis that matches the original request.
2732	MainAnalysis *AnalyzeIamPolicyResponse_IamPolicyAnalysis `protobuf:"bytes,1,opt,name=main_analysis,json=mainAnalysis,proto3" json:"main_analysis,omitempty"`
2733	// The service account impersonation analysis if
2734	// [AnalyzeIamPolicyRequest.analyze_service_account_impersonation][] is
2735	// enabled.
2736	ServiceAccountImpersonationAnalysis []*AnalyzeIamPolicyResponse_IamPolicyAnalysis `protobuf:"bytes,2,rep,name=service_account_impersonation_analysis,json=serviceAccountImpersonationAnalysis,proto3" json:"service_account_impersonation_analysis,omitempty"`
2737	// Represents whether all entries in the [main_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.main_analysis] and
2738	// [service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis] have been fully explored to
2739	// answer the query in the request.
2740	FullyExplored bool `protobuf:"varint,3,opt,name=fully_explored,json=fullyExplored,proto3" json:"fully_explored,omitempty"`
2741}
2742
2743func (x *AnalyzeIamPolicyResponse) Reset() {
2744	*x = AnalyzeIamPolicyResponse{}
2745	if protoimpl.UnsafeEnabled {
2746		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[28]
2747		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2748		ms.StoreMessageInfo(mi)
2749	}
2750}
2751
2752func (x *AnalyzeIamPolicyResponse) String() string {
2753	return protoimpl.X.MessageStringOf(x)
2754}
2755
2756func (*AnalyzeIamPolicyResponse) ProtoMessage() {}
2757
2758func (x *AnalyzeIamPolicyResponse) ProtoReflect() protoreflect.Message {
2759	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[28]
2760	if protoimpl.UnsafeEnabled && x != nil {
2761		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2762		if ms.LoadMessageInfo() == nil {
2763			ms.StoreMessageInfo(mi)
2764		}
2765		return ms
2766	}
2767	return mi.MessageOf(x)
2768}
2769
2770// Deprecated: Use AnalyzeIamPolicyResponse.ProtoReflect.Descriptor instead.
2771func (*AnalyzeIamPolicyResponse) Descriptor() ([]byte, []int) {
2772	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{28}
2773}
2774
2775func (x *AnalyzeIamPolicyResponse) GetMainAnalysis() *AnalyzeIamPolicyResponse_IamPolicyAnalysis {
2776	if x != nil {
2777		return x.MainAnalysis
2778	}
2779	return nil
2780}
2781
2782func (x *AnalyzeIamPolicyResponse) GetServiceAccountImpersonationAnalysis() []*AnalyzeIamPolicyResponse_IamPolicyAnalysis {
2783	if x != nil {
2784		return x.ServiceAccountImpersonationAnalysis
2785	}
2786	return nil
2787}
2788
2789func (x *AnalyzeIamPolicyResponse) GetFullyExplored() bool {
2790	if x != nil {
2791		return x.FullyExplored
2792	}
2793	return false
2794}
2795
2796// Output configuration for export IAM policy analysis destination.
2797type IamPolicyAnalysisOutputConfig struct {
2798	state         protoimpl.MessageState
2799	sizeCache     protoimpl.SizeCache
2800	unknownFields protoimpl.UnknownFields
2801
2802	// IAM policy analysis export destination.
2803	//
2804	// Types that are assignable to Destination:
2805	//	*IamPolicyAnalysisOutputConfig_GcsDestination_
2806	//	*IamPolicyAnalysisOutputConfig_BigqueryDestination
2807	Destination isIamPolicyAnalysisOutputConfig_Destination `protobuf_oneof:"destination"`
2808}
2809
2810func (x *IamPolicyAnalysisOutputConfig) Reset() {
2811	*x = IamPolicyAnalysisOutputConfig{}
2812	if protoimpl.UnsafeEnabled {
2813		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[29]
2814		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2815		ms.StoreMessageInfo(mi)
2816	}
2817}
2818
2819func (x *IamPolicyAnalysisOutputConfig) String() string {
2820	return protoimpl.X.MessageStringOf(x)
2821}
2822
2823func (*IamPolicyAnalysisOutputConfig) ProtoMessage() {}
2824
2825func (x *IamPolicyAnalysisOutputConfig) ProtoReflect() protoreflect.Message {
2826	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[29]
2827	if protoimpl.UnsafeEnabled && x != nil {
2828		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2829		if ms.LoadMessageInfo() == nil {
2830			ms.StoreMessageInfo(mi)
2831		}
2832		return ms
2833	}
2834	return mi.MessageOf(x)
2835}
2836
2837// Deprecated: Use IamPolicyAnalysisOutputConfig.ProtoReflect.Descriptor instead.
2838func (*IamPolicyAnalysisOutputConfig) Descriptor() ([]byte, []int) {
2839	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{29}
2840}
2841
2842func (m *IamPolicyAnalysisOutputConfig) GetDestination() isIamPolicyAnalysisOutputConfig_Destination {
2843	if m != nil {
2844		return m.Destination
2845	}
2846	return nil
2847}
2848
2849func (x *IamPolicyAnalysisOutputConfig) GetGcsDestination() *IamPolicyAnalysisOutputConfig_GcsDestination {
2850	if x, ok := x.GetDestination().(*IamPolicyAnalysisOutputConfig_GcsDestination_); ok {
2851		return x.GcsDestination
2852	}
2853	return nil
2854}
2855
2856func (x *IamPolicyAnalysisOutputConfig) GetBigqueryDestination() *IamPolicyAnalysisOutputConfig_BigQueryDestination {
2857	if x, ok := x.GetDestination().(*IamPolicyAnalysisOutputConfig_BigqueryDestination); ok {
2858		return x.BigqueryDestination
2859	}
2860	return nil
2861}
2862
2863type isIamPolicyAnalysisOutputConfig_Destination interface {
2864	isIamPolicyAnalysisOutputConfig_Destination()
2865}
2866
2867type IamPolicyAnalysisOutputConfig_GcsDestination_ struct {
2868	// Destination on Cloud Storage.
2869	GcsDestination *IamPolicyAnalysisOutputConfig_GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"`
2870}
2871
2872type IamPolicyAnalysisOutputConfig_BigqueryDestination struct {
2873	// Destination on BigQuery.
2874	BigqueryDestination *IamPolicyAnalysisOutputConfig_BigQueryDestination `protobuf:"bytes,2,opt,name=bigquery_destination,json=bigqueryDestination,proto3,oneof"`
2875}
2876
2877func (*IamPolicyAnalysisOutputConfig_GcsDestination_) isIamPolicyAnalysisOutputConfig_Destination() {}
2878
2879func (*IamPolicyAnalysisOutputConfig_BigqueryDestination) isIamPolicyAnalysisOutputConfig_Destination() {
2880}
2881
2882// A request message for [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning].
2883type AnalyzeIamPolicyLongrunningRequest struct {
2884	state         protoimpl.MessageState
2885	sizeCache     protoimpl.SizeCache
2886	unknownFields protoimpl.UnknownFields
2887
2888	// Required. The request query.
2889	AnalysisQuery *IamPolicyAnalysisQuery `protobuf:"bytes,1,opt,name=analysis_query,json=analysisQuery,proto3" json:"analysis_query,omitempty"`
2890	// Required. Output configuration indicating where the results will be output to.
2891	OutputConfig *IamPolicyAnalysisOutputConfig `protobuf:"bytes,2,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2892}
2893
2894func (x *AnalyzeIamPolicyLongrunningRequest) Reset() {
2895	*x = AnalyzeIamPolicyLongrunningRequest{}
2896	if protoimpl.UnsafeEnabled {
2897		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[30]
2898		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2899		ms.StoreMessageInfo(mi)
2900	}
2901}
2902
2903func (x *AnalyzeIamPolicyLongrunningRequest) String() string {
2904	return protoimpl.X.MessageStringOf(x)
2905}
2906
2907func (*AnalyzeIamPolicyLongrunningRequest) ProtoMessage() {}
2908
2909func (x *AnalyzeIamPolicyLongrunningRequest) ProtoReflect() protoreflect.Message {
2910	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[30]
2911	if protoimpl.UnsafeEnabled && x != nil {
2912		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2913		if ms.LoadMessageInfo() == nil {
2914			ms.StoreMessageInfo(mi)
2915		}
2916		return ms
2917	}
2918	return mi.MessageOf(x)
2919}
2920
2921// Deprecated: Use AnalyzeIamPolicyLongrunningRequest.ProtoReflect.Descriptor instead.
2922func (*AnalyzeIamPolicyLongrunningRequest) Descriptor() ([]byte, []int) {
2923	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{30}
2924}
2925
2926func (x *AnalyzeIamPolicyLongrunningRequest) GetAnalysisQuery() *IamPolicyAnalysisQuery {
2927	if x != nil {
2928		return x.AnalysisQuery
2929	}
2930	return nil
2931}
2932
2933func (x *AnalyzeIamPolicyLongrunningRequest) GetOutputConfig() *IamPolicyAnalysisOutputConfig {
2934	if x != nil {
2935		return x.OutputConfig
2936	}
2937	return nil
2938}
2939
2940// A response message for [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning].
2941type AnalyzeIamPolicyLongrunningResponse struct {
2942	state         protoimpl.MessageState
2943	sizeCache     protoimpl.SizeCache
2944	unknownFields protoimpl.UnknownFields
2945}
2946
2947func (x *AnalyzeIamPolicyLongrunningResponse) Reset() {
2948	*x = AnalyzeIamPolicyLongrunningResponse{}
2949	if protoimpl.UnsafeEnabled {
2950		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[31]
2951		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2952		ms.StoreMessageInfo(mi)
2953	}
2954}
2955
2956func (x *AnalyzeIamPolicyLongrunningResponse) String() string {
2957	return protoimpl.X.MessageStringOf(x)
2958}
2959
2960func (*AnalyzeIamPolicyLongrunningResponse) ProtoMessage() {}
2961
2962func (x *AnalyzeIamPolicyLongrunningResponse) ProtoReflect() protoreflect.Message {
2963	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[31]
2964	if protoimpl.UnsafeEnabled && x != nil {
2965		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2966		if ms.LoadMessageInfo() == nil {
2967			ms.StoreMessageInfo(mi)
2968		}
2969		return ms
2970	}
2971	return mi.MessageOf(x)
2972}
2973
2974// Deprecated: Use AnalyzeIamPolicyLongrunningResponse.ProtoReflect.Descriptor instead.
2975func (*AnalyzeIamPolicyLongrunningResponse) Descriptor() ([]byte, []int) {
2976	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{31}
2977}
2978
2979// The request message for performing resource move analysis.
2980type AnalyzeMoveRequest struct {
2981	state         protoimpl.MessageState
2982	sizeCache     protoimpl.SizeCache
2983	unknownFields protoimpl.UnknownFields
2984
2985	// Required. Name of the resource to perform the analysis against.
2986	// Only GCP Project are supported as of today. Hence, this can only be Project
2987	// ID (such as "projects/my-project-id") or a Project Number (such as
2988	// "projects/12345").
2989	Resource string `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
2990	// Required. Name of the GCP Folder or Organization to reparent the target
2991	// resource. The analysis will be performed against hypothetically moving the
2992	// resource to this specified desitination parent. This can only be a Folder
2993	// number (such as "folders/123") or an Organization number (such as
2994	// "organizations/123").
2995	DestinationParent string `protobuf:"bytes,2,opt,name=destination_parent,json=destinationParent,proto3" json:"destination_parent,omitempty"`
2996	// Analysis view indicating what information should be included in the
2997	// analysis response. If unspecified, the default view is FULL.
2998	View AnalyzeMoveRequest_AnalysisView `protobuf:"varint,3,opt,name=view,proto3,enum=google.cloud.asset.v1.AnalyzeMoveRequest_AnalysisView" json:"view,omitempty"`
2999}
3000
3001func (x *AnalyzeMoveRequest) Reset() {
3002	*x = AnalyzeMoveRequest{}
3003	if protoimpl.UnsafeEnabled {
3004		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[32]
3005		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3006		ms.StoreMessageInfo(mi)
3007	}
3008}
3009
3010func (x *AnalyzeMoveRequest) String() string {
3011	return protoimpl.X.MessageStringOf(x)
3012}
3013
3014func (*AnalyzeMoveRequest) ProtoMessage() {}
3015
3016func (x *AnalyzeMoveRequest) ProtoReflect() protoreflect.Message {
3017	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[32]
3018	if protoimpl.UnsafeEnabled && x != nil {
3019		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3020		if ms.LoadMessageInfo() == nil {
3021			ms.StoreMessageInfo(mi)
3022		}
3023		return ms
3024	}
3025	return mi.MessageOf(x)
3026}
3027
3028// Deprecated: Use AnalyzeMoveRequest.ProtoReflect.Descriptor instead.
3029func (*AnalyzeMoveRequest) Descriptor() ([]byte, []int) {
3030	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{32}
3031}
3032
3033func (x *AnalyzeMoveRequest) GetResource() string {
3034	if x != nil {
3035		return x.Resource
3036	}
3037	return ""
3038}
3039
3040func (x *AnalyzeMoveRequest) GetDestinationParent() string {
3041	if x != nil {
3042		return x.DestinationParent
3043	}
3044	return ""
3045}
3046
3047func (x *AnalyzeMoveRequest) GetView() AnalyzeMoveRequest_AnalysisView {
3048	if x != nil {
3049		return x.View
3050	}
3051	return AnalyzeMoveRequest_ANALYSIS_VIEW_UNSPECIFIED
3052}
3053
3054// The response message for resource move analysis.
3055type AnalyzeMoveResponse struct {
3056	state         protoimpl.MessageState
3057	sizeCache     protoimpl.SizeCache
3058	unknownFields protoimpl.UnknownFields
3059
3060	// The list of analyses returned from performing the intended resource move
3061	// analysis. The analysis is grouped by different Cloud services.
3062	MoveAnalysis []*MoveAnalysis `protobuf:"bytes,1,rep,name=move_analysis,json=moveAnalysis,proto3" json:"move_analysis,omitempty"`
3063}
3064
3065func (x *AnalyzeMoveResponse) Reset() {
3066	*x = AnalyzeMoveResponse{}
3067	if protoimpl.UnsafeEnabled {
3068		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[33]
3069		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3070		ms.StoreMessageInfo(mi)
3071	}
3072}
3073
3074func (x *AnalyzeMoveResponse) String() string {
3075	return protoimpl.X.MessageStringOf(x)
3076}
3077
3078func (*AnalyzeMoveResponse) ProtoMessage() {}
3079
3080func (x *AnalyzeMoveResponse) ProtoReflect() protoreflect.Message {
3081	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[33]
3082	if protoimpl.UnsafeEnabled && x != nil {
3083		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3084		if ms.LoadMessageInfo() == nil {
3085			ms.StoreMessageInfo(mi)
3086		}
3087		return ms
3088	}
3089	return mi.MessageOf(x)
3090}
3091
3092// Deprecated: Use AnalyzeMoveResponse.ProtoReflect.Descriptor instead.
3093func (*AnalyzeMoveResponse) Descriptor() ([]byte, []int) {
3094	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{33}
3095}
3096
3097func (x *AnalyzeMoveResponse) GetMoveAnalysis() []*MoveAnalysis {
3098	if x != nil {
3099		return x.MoveAnalysis
3100	}
3101	return nil
3102}
3103
3104// A message to group the analysis information.
3105type MoveAnalysis struct {
3106	state         protoimpl.MessageState
3107	sizeCache     protoimpl.SizeCache
3108	unknownFields protoimpl.UnknownFields
3109
3110	// The user friendly display name of the analysis. E.g. IAM, Organization
3111	// Policy etc.
3112	DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
3113	// Types that are assignable to Result:
3114	//	*MoveAnalysis_Analysis
3115	//	*MoveAnalysis_Error
3116	Result isMoveAnalysis_Result `protobuf_oneof:"result"`
3117}
3118
3119func (x *MoveAnalysis) Reset() {
3120	*x = MoveAnalysis{}
3121	if protoimpl.UnsafeEnabled {
3122		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[34]
3123		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3124		ms.StoreMessageInfo(mi)
3125	}
3126}
3127
3128func (x *MoveAnalysis) String() string {
3129	return protoimpl.X.MessageStringOf(x)
3130}
3131
3132func (*MoveAnalysis) ProtoMessage() {}
3133
3134func (x *MoveAnalysis) ProtoReflect() protoreflect.Message {
3135	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[34]
3136	if protoimpl.UnsafeEnabled && x != nil {
3137		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3138		if ms.LoadMessageInfo() == nil {
3139			ms.StoreMessageInfo(mi)
3140		}
3141		return ms
3142	}
3143	return mi.MessageOf(x)
3144}
3145
3146// Deprecated: Use MoveAnalysis.ProtoReflect.Descriptor instead.
3147func (*MoveAnalysis) Descriptor() ([]byte, []int) {
3148	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{34}
3149}
3150
3151func (x *MoveAnalysis) GetDisplayName() string {
3152	if x != nil {
3153		return x.DisplayName
3154	}
3155	return ""
3156}
3157
3158func (m *MoveAnalysis) GetResult() isMoveAnalysis_Result {
3159	if m != nil {
3160		return m.Result
3161	}
3162	return nil
3163}
3164
3165func (x *MoveAnalysis) GetAnalysis() *MoveAnalysisResult {
3166	if x, ok := x.GetResult().(*MoveAnalysis_Analysis); ok {
3167		return x.Analysis
3168	}
3169	return nil
3170}
3171
3172func (x *MoveAnalysis) GetError() *status.Status {
3173	if x, ok := x.GetResult().(*MoveAnalysis_Error); ok {
3174		return x.Error
3175	}
3176	return nil
3177}
3178
3179type isMoveAnalysis_Result interface {
3180	isMoveAnalysis_Result()
3181}
3182
3183type MoveAnalysis_Analysis struct {
3184	// Analysis result of moving the target resource.
3185	Analysis *MoveAnalysisResult `protobuf:"bytes,2,opt,name=analysis,proto3,oneof"`
3186}
3187
3188type MoveAnalysis_Error struct {
3189	// Description of error encountered when performing the analysis.
3190	Error *status.Status `protobuf:"bytes,3,opt,name=error,proto3,oneof"`
3191}
3192
3193func (*MoveAnalysis_Analysis) isMoveAnalysis_Result() {}
3194
3195func (*MoveAnalysis_Error) isMoveAnalysis_Result() {}
3196
3197// An analysis result including blockers and warnings.
3198type MoveAnalysisResult struct {
3199	state         protoimpl.MessageState
3200	sizeCache     protoimpl.SizeCache
3201	unknownFields protoimpl.UnknownFields
3202
3203	// Blocking information that would prevent the target resource from moving
3204	// to the specified destination at runtime.
3205	Blockers []*MoveImpact `protobuf:"bytes,1,rep,name=blockers,proto3" json:"blockers,omitempty"`
3206	// Warning information indicating that moving the target resource to the
3207	// specified destination might be unsafe. This can include important policy
3208	// information and configuration changes, but will not block moves at runtime.
3209	Warnings []*MoveImpact `protobuf:"bytes,2,rep,name=warnings,proto3" json:"warnings,omitempty"`
3210}
3211
3212func (x *MoveAnalysisResult) Reset() {
3213	*x = MoveAnalysisResult{}
3214	if protoimpl.UnsafeEnabled {
3215		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[35]
3216		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3217		ms.StoreMessageInfo(mi)
3218	}
3219}
3220
3221func (x *MoveAnalysisResult) String() string {
3222	return protoimpl.X.MessageStringOf(x)
3223}
3224
3225func (*MoveAnalysisResult) ProtoMessage() {}
3226
3227func (x *MoveAnalysisResult) ProtoReflect() protoreflect.Message {
3228	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[35]
3229	if protoimpl.UnsafeEnabled && x != nil {
3230		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3231		if ms.LoadMessageInfo() == nil {
3232			ms.StoreMessageInfo(mi)
3233		}
3234		return ms
3235	}
3236	return mi.MessageOf(x)
3237}
3238
3239// Deprecated: Use MoveAnalysisResult.ProtoReflect.Descriptor instead.
3240func (*MoveAnalysisResult) Descriptor() ([]byte, []int) {
3241	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{35}
3242}
3243
3244func (x *MoveAnalysisResult) GetBlockers() []*MoveImpact {
3245	if x != nil {
3246		return x.Blockers
3247	}
3248	return nil
3249}
3250
3251func (x *MoveAnalysisResult) GetWarnings() []*MoveImpact {
3252	if x != nil {
3253		return x.Warnings
3254	}
3255	return nil
3256}
3257
3258// A message to group impacts of moving the target resource.
3259type MoveImpact struct {
3260	state         protoimpl.MessageState
3261	sizeCache     protoimpl.SizeCache
3262	unknownFields protoimpl.UnknownFields
3263
3264	// User friendly impact detail in a free form message.
3265	Detail string `protobuf:"bytes,1,opt,name=detail,proto3" json:"detail,omitempty"`
3266}
3267
3268func (x *MoveImpact) Reset() {
3269	*x = MoveImpact{}
3270	if protoimpl.UnsafeEnabled {
3271		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[36]
3272		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3273		ms.StoreMessageInfo(mi)
3274	}
3275}
3276
3277func (x *MoveImpact) String() string {
3278	return protoimpl.X.MessageStringOf(x)
3279}
3280
3281func (*MoveImpact) ProtoMessage() {}
3282
3283func (x *MoveImpact) ProtoReflect() protoreflect.Message {
3284	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[36]
3285	if protoimpl.UnsafeEnabled && x != nil {
3286		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3287		if ms.LoadMessageInfo() == nil {
3288			ms.StoreMessageInfo(mi)
3289		}
3290		return ms
3291	}
3292	return mi.MessageOf(x)
3293}
3294
3295// Deprecated: Use MoveImpact.ProtoReflect.Descriptor instead.
3296func (*MoveImpact) Descriptor() ([]byte, []int) {
3297	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{36}
3298}
3299
3300func (x *MoveImpact) GetDetail() string {
3301	if x != nil {
3302		return x.Detail
3303	}
3304	return ""
3305}
3306
3307// Specifies the resource to analyze for access policies, which may be set
3308// directly on the resource, or on ancestors such as organizations, folders or
3309// projects.
3310type IamPolicyAnalysisQuery_ResourceSelector struct {
3311	state         protoimpl.MessageState
3312	sizeCache     protoimpl.SizeCache
3313	unknownFields protoimpl.UnknownFields
3314
3315	// Required. The [full resource name]
3316	// (https://cloud.google.com/asset-inventory/docs/resource-name-format)
3317	// of a resource of [supported resource
3318	// types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).
3319	FullResourceName string `protobuf:"bytes,1,opt,name=full_resource_name,json=fullResourceName,proto3" json:"full_resource_name,omitempty"`
3320}
3321
3322func (x *IamPolicyAnalysisQuery_ResourceSelector) Reset() {
3323	*x = IamPolicyAnalysisQuery_ResourceSelector{}
3324	if protoimpl.UnsafeEnabled {
3325		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[37]
3326		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3327		ms.StoreMessageInfo(mi)
3328	}
3329}
3330
3331func (x *IamPolicyAnalysisQuery_ResourceSelector) String() string {
3332	return protoimpl.X.MessageStringOf(x)
3333}
3334
3335func (*IamPolicyAnalysisQuery_ResourceSelector) ProtoMessage() {}
3336
3337func (x *IamPolicyAnalysisQuery_ResourceSelector) ProtoReflect() protoreflect.Message {
3338	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[37]
3339	if protoimpl.UnsafeEnabled && x != nil {
3340		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3341		if ms.LoadMessageInfo() == nil {
3342			ms.StoreMessageInfo(mi)
3343		}
3344		return ms
3345	}
3346	return mi.MessageOf(x)
3347}
3348
3349// Deprecated: Use IamPolicyAnalysisQuery_ResourceSelector.ProtoReflect.Descriptor instead.
3350func (*IamPolicyAnalysisQuery_ResourceSelector) Descriptor() ([]byte, []int) {
3351	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{26, 0}
3352}
3353
3354func (x *IamPolicyAnalysisQuery_ResourceSelector) GetFullResourceName() string {
3355	if x != nil {
3356		return x.FullResourceName
3357	}
3358	return ""
3359}
3360
3361// Specifies an identity for which to determine resource access, based on
3362// roles assigned either directly to them or to the groups they belong to,
3363// directly or indirectly.
3364type IamPolicyAnalysisQuery_IdentitySelector struct {
3365	state         protoimpl.MessageState
3366	sizeCache     protoimpl.SizeCache
3367	unknownFields protoimpl.UnknownFields
3368
3369	// Required. The identity appear in the form of members in
3370	// [IAM policy
3371	// binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
3372	//
3373	// The examples of supported forms are:
3374	// "user:mike@example.com",
3375	// "group:admins@example.com",
3376	// "domain:google.com",
3377	// "serviceAccount:my-project-id@appspot.gserviceaccount.com".
3378	//
3379	// Notice that wildcard characters (such as * and ?) are not supported.
3380	// You must give a specific identity.
3381	Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"`
3382}
3383
3384func (x *IamPolicyAnalysisQuery_IdentitySelector) Reset() {
3385	*x = IamPolicyAnalysisQuery_IdentitySelector{}
3386	if protoimpl.UnsafeEnabled {
3387		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[38]
3388		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3389		ms.StoreMessageInfo(mi)
3390	}
3391}
3392
3393func (x *IamPolicyAnalysisQuery_IdentitySelector) String() string {
3394	return protoimpl.X.MessageStringOf(x)
3395}
3396
3397func (*IamPolicyAnalysisQuery_IdentitySelector) ProtoMessage() {}
3398
3399func (x *IamPolicyAnalysisQuery_IdentitySelector) ProtoReflect() protoreflect.Message {
3400	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[38]
3401	if protoimpl.UnsafeEnabled && x != nil {
3402		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3403		if ms.LoadMessageInfo() == nil {
3404			ms.StoreMessageInfo(mi)
3405		}
3406		return ms
3407	}
3408	return mi.MessageOf(x)
3409}
3410
3411// Deprecated: Use IamPolicyAnalysisQuery_IdentitySelector.ProtoReflect.Descriptor instead.
3412func (*IamPolicyAnalysisQuery_IdentitySelector) Descriptor() ([]byte, []int) {
3413	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{26, 1}
3414}
3415
3416func (x *IamPolicyAnalysisQuery_IdentitySelector) GetIdentity() string {
3417	if x != nil {
3418		return x.Identity
3419	}
3420	return ""
3421}
3422
3423// Specifies roles and/or permissions to analyze, to determine both the
3424// identities possessing them and the resources they control. If multiple
3425// values are specified, results will include roles or permissions matching
3426// any of them. The total number of roles and permissions should be equal or
3427// less than 10.
3428type IamPolicyAnalysisQuery_AccessSelector struct {
3429	state         protoimpl.MessageState
3430	sizeCache     protoimpl.SizeCache
3431	unknownFields protoimpl.UnknownFields
3432
3433	// Optional. The roles to appear in result.
3434	Roles []string `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"`
3435	// Optional. The permissions to appear in result.
3436	Permissions []string `protobuf:"bytes,2,rep,name=permissions,proto3" json:"permissions,omitempty"`
3437}
3438
3439func (x *IamPolicyAnalysisQuery_AccessSelector) Reset() {
3440	*x = IamPolicyAnalysisQuery_AccessSelector{}
3441	if protoimpl.UnsafeEnabled {
3442		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[39]
3443		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3444		ms.StoreMessageInfo(mi)
3445	}
3446}
3447
3448func (x *IamPolicyAnalysisQuery_AccessSelector) String() string {
3449	return protoimpl.X.MessageStringOf(x)
3450}
3451
3452func (*IamPolicyAnalysisQuery_AccessSelector) ProtoMessage() {}
3453
3454func (x *IamPolicyAnalysisQuery_AccessSelector) ProtoReflect() protoreflect.Message {
3455	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[39]
3456	if protoimpl.UnsafeEnabled && x != nil {
3457		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3458		if ms.LoadMessageInfo() == nil {
3459			ms.StoreMessageInfo(mi)
3460		}
3461		return ms
3462	}
3463	return mi.MessageOf(x)
3464}
3465
3466// Deprecated: Use IamPolicyAnalysisQuery_AccessSelector.ProtoReflect.Descriptor instead.
3467func (*IamPolicyAnalysisQuery_AccessSelector) Descriptor() ([]byte, []int) {
3468	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{26, 2}
3469}
3470
3471func (x *IamPolicyAnalysisQuery_AccessSelector) GetRoles() []string {
3472	if x != nil {
3473		return x.Roles
3474	}
3475	return nil
3476}
3477
3478func (x *IamPolicyAnalysisQuery_AccessSelector) GetPermissions() []string {
3479	if x != nil {
3480		return x.Permissions
3481	}
3482	return nil
3483}
3484
3485// Contains query options.
3486type IamPolicyAnalysisQuery_Options struct {
3487	state         protoimpl.MessageState
3488	sizeCache     protoimpl.SizeCache
3489	unknownFields protoimpl.UnknownFields
3490
3491	// Optional. If true, the identities section of the result will expand any
3492	// Google groups appearing in an IAM policy binding.
3493	//
3494	// If [IamPolicyAnalysisQuery.identity_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.identity_selector] is specified, the
3495	// identity in the result will be determined by the selector, and this flag
3496	// is not allowed to set.
3497	//
3498	// Default is false.
3499	ExpandGroups bool `protobuf:"varint,1,opt,name=expand_groups,json=expandGroups,proto3" json:"expand_groups,omitempty"`
3500	// Optional. If true, the access section of result will expand any roles
3501	// appearing in IAM policy bindings to include their permissions.
3502	//
3503	// If [IamPolicyAnalysisQuery.access_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.access_selector] is specified, the access
3504	// section of the result will be determined by the selector, and this flag
3505	// is not allowed to set.
3506	//
3507	// Default is false.
3508	ExpandRoles bool `protobuf:"varint,2,opt,name=expand_roles,json=expandRoles,proto3" json:"expand_roles,omitempty"`
3509	// Optional. If true and [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector] is not
3510	// specified, the resource section of the result will expand any resource
3511	// attached to an IAM policy to include resources lower in the resource
3512	// hierarchy.
3513	//
3514	// For example, if the request analyzes for which resources user A has
3515	// permission P, and the results include an IAM policy with P on a GCP
3516	// folder, the results will also include resources in that folder with
3517	// permission P.
3518	//
3519	// If true and [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector] is specified,
3520	// the resource section of the result will expand the specified resource to
3521	// include resources lower in the resource hierarchy. Only project or
3522	// lower resources are supported. Folder and organization resource cannot be
3523	// used together with this option.
3524	//
3525	// For example, if the request analyzes for which users have permission P on
3526	// a GCP project with this option enabled, the results will include all
3527	// users who have permission P on that project or any lower resource.
3528	//
3529	// Default is false.
3530	ExpandResources bool `protobuf:"varint,3,opt,name=expand_resources,json=expandResources,proto3" json:"expand_resources,omitempty"`
3531	// Optional. If true, the result will output resource edges, starting
3532	// from the policy attached resource, to any expanded resources.
3533	// Default is false.
3534	OutputResourceEdges bool `protobuf:"varint,4,opt,name=output_resource_edges,json=outputResourceEdges,proto3" json:"output_resource_edges,omitempty"`
3535	// Optional. If true, the result will output group identity edges, starting
3536	// from the binding's group members, to any expanded identities.
3537	// Default is false.
3538	OutputGroupEdges bool `protobuf:"varint,5,opt,name=output_group_edges,json=outputGroupEdges,proto3" json:"output_group_edges,omitempty"`
3539	// Optional. If true, the response will include access analysis from identities to
3540	// resources via service account impersonation. This is a very expensive
3541	// operation, because many derived queries will be executed. We highly
3542	// recommend you use [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning] rpc
3543	// instead.
3544	//
3545	// For example, if the request analyzes for which resources user A has
3546	// permission P, and there's an IAM policy states user A has
3547	// iam.serviceAccounts.getAccessToken permission to a service account SA,
3548	// and there's another IAM policy states service account SA has permission P
3549	// to a GCP folder F, then user A potentially has access to the GCP folder
3550	// F. And those advanced analysis results will be included in
3551	// [AnalyzeIamPolicyResponse.service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis].
3552	//
3553	// Another example, if the request analyzes for who has
3554	// permission P to a GCP folder F, and there's an IAM policy states user A
3555	// has iam.serviceAccounts.actAs permission to a service account SA, and
3556	// there's another IAM policy states service account SA has permission P to
3557	// the GCP folder F, then user A potentially has access to the GCP folder
3558	// F. And those advanced analysis results will be included in
3559	// [AnalyzeIamPolicyResponse.service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis].
3560	//
3561	// Default is false.
3562	AnalyzeServiceAccountImpersonation bool `protobuf:"varint,6,opt,name=analyze_service_account_impersonation,json=analyzeServiceAccountImpersonation,proto3" json:"analyze_service_account_impersonation,omitempty"`
3563}
3564
3565func (x *IamPolicyAnalysisQuery_Options) Reset() {
3566	*x = IamPolicyAnalysisQuery_Options{}
3567	if protoimpl.UnsafeEnabled {
3568		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[40]
3569		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3570		ms.StoreMessageInfo(mi)
3571	}
3572}
3573
3574func (x *IamPolicyAnalysisQuery_Options) String() string {
3575	return protoimpl.X.MessageStringOf(x)
3576}
3577
3578func (*IamPolicyAnalysisQuery_Options) ProtoMessage() {}
3579
3580func (x *IamPolicyAnalysisQuery_Options) ProtoReflect() protoreflect.Message {
3581	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[40]
3582	if protoimpl.UnsafeEnabled && x != nil {
3583		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3584		if ms.LoadMessageInfo() == nil {
3585			ms.StoreMessageInfo(mi)
3586		}
3587		return ms
3588	}
3589	return mi.MessageOf(x)
3590}
3591
3592// Deprecated: Use IamPolicyAnalysisQuery_Options.ProtoReflect.Descriptor instead.
3593func (*IamPolicyAnalysisQuery_Options) Descriptor() ([]byte, []int) {
3594	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{26, 3}
3595}
3596
3597func (x *IamPolicyAnalysisQuery_Options) GetExpandGroups() bool {
3598	if x != nil {
3599		return x.ExpandGroups
3600	}
3601	return false
3602}
3603
3604func (x *IamPolicyAnalysisQuery_Options) GetExpandRoles() bool {
3605	if x != nil {
3606		return x.ExpandRoles
3607	}
3608	return false
3609}
3610
3611func (x *IamPolicyAnalysisQuery_Options) GetExpandResources() bool {
3612	if x != nil {
3613		return x.ExpandResources
3614	}
3615	return false
3616}
3617
3618func (x *IamPolicyAnalysisQuery_Options) GetOutputResourceEdges() bool {
3619	if x != nil {
3620		return x.OutputResourceEdges
3621	}
3622	return false
3623}
3624
3625func (x *IamPolicyAnalysisQuery_Options) GetOutputGroupEdges() bool {
3626	if x != nil {
3627		return x.OutputGroupEdges
3628	}
3629	return false
3630}
3631
3632func (x *IamPolicyAnalysisQuery_Options) GetAnalyzeServiceAccountImpersonation() bool {
3633	if x != nil {
3634		return x.AnalyzeServiceAccountImpersonation
3635	}
3636	return false
3637}
3638
3639// The IAM conditions context.
3640type IamPolicyAnalysisQuery_ConditionContext struct {
3641	state         protoimpl.MessageState
3642	sizeCache     protoimpl.SizeCache
3643	unknownFields protoimpl.UnknownFields
3644
3645	// The IAM conditions time context.
3646	//
3647	// Types that are assignable to TimeContext:
3648	//	*IamPolicyAnalysisQuery_ConditionContext_AccessTime
3649	TimeContext isIamPolicyAnalysisQuery_ConditionContext_TimeContext `protobuf_oneof:"TimeContext"`
3650}
3651
3652func (x *IamPolicyAnalysisQuery_ConditionContext) Reset() {
3653	*x = IamPolicyAnalysisQuery_ConditionContext{}
3654	if protoimpl.UnsafeEnabled {
3655		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[41]
3656		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3657		ms.StoreMessageInfo(mi)
3658	}
3659}
3660
3661func (x *IamPolicyAnalysisQuery_ConditionContext) String() string {
3662	return protoimpl.X.MessageStringOf(x)
3663}
3664
3665func (*IamPolicyAnalysisQuery_ConditionContext) ProtoMessage() {}
3666
3667func (x *IamPolicyAnalysisQuery_ConditionContext) ProtoReflect() protoreflect.Message {
3668	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[41]
3669	if protoimpl.UnsafeEnabled && x != nil {
3670		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3671		if ms.LoadMessageInfo() == nil {
3672			ms.StoreMessageInfo(mi)
3673		}
3674		return ms
3675	}
3676	return mi.MessageOf(x)
3677}
3678
3679// Deprecated: Use IamPolicyAnalysisQuery_ConditionContext.ProtoReflect.Descriptor instead.
3680func (*IamPolicyAnalysisQuery_ConditionContext) Descriptor() ([]byte, []int) {
3681	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{26, 4}
3682}
3683
3684func (m *IamPolicyAnalysisQuery_ConditionContext) GetTimeContext() isIamPolicyAnalysisQuery_ConditionContext_TimeContext {
3685	if m != nil {
3686		return m.TimeContext
3687	}
3688	return nil
3689}
3690
3691func (x *IamPolicyAnalysisQuery_ConditionContext) GetAccessTime() *timestamppb.Timestamp {
3692	if x, ok := x.GetTimeContext().(*IamPolicyAnalysisQuery_ConditionContext_AccessTime); ok {
3693		return x.AccessTime
3694	}
3695	return nil
3696}
3697
3698type isIamPolicyAnalysisQuery_ConditionContext_TimeContext interface {
3699	isIamPolicyAnalysisQuery_ConditionContext_TimeContext()
3700}
3701
3702type IamPolicyAnalysisQuery_ConditionContext_AccessTime struct {
3703	// The hypothetical access timestamp to evaluate IAM conditions. Note that
3704	// this value must not be earlier than the current time; otherwise, an
3705	// INVALID_ARGUMENT error will be returned.
3706	AccessTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=access_time,json=accessTime,proto3,oneof"`
3707}
3708
3709func (*IamPolicyAnalysisQuery_ConditionContext_AccessTime) isIamPolicyAnalysisQuery_ConditionContext_TimeContext() {
3710}
3711
3712// An analysis message to group the query and results.
3713type AnalyzeIamPolicyResponse_IamPolicyAnalysis struct {
3714	state         protoimpl.MessageState
3715	sizeCache     protoimpl.SizeCache
3716	unknownFields protoimpl.UnknownFields
3717
3718	// The analysis query.
3719	AnalysisQuery *IamPolicyAnalysisQuery `protobuf:"bytes,1,opt,name=analysis_query,json=analysisQuery,proto3" json:"analysis_query,omitempty"`
3720	// A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
3721	// empty if no result is found.
3722	AnalysisResults []*IamPolicyAnalysisResult `protobuf:"bytes,2,rep,name=analysis_results,json=analysisResults,proto3" json:"analysis_results,omitempty"`
3723	// Represents whether all entries in the [analysis_results][google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results] have been
3724	// fully explored to answer the query.
3725	FullyExplored bool `protobuf:"varint,3,opt,name=fully_explored,json=fullyExplored,proto3" json:"fully_explored,omitempty"`
3726	// A list of non-critical errors happened during the query handling.
3727	NonCriticalErrors []*IamPolicyAnalysisState `protobuf:"bytes,5,rep,name=non_critical_errors,json=nonCriticalErrors,proto3" json:"non_critical_errors,omitempty"`
3728}
3729
3730func (x *AnalyzeIamPolicyResponse_IamPolicyAnalysis) Reset() {
3731	*x = AnalyzeIamPolicyResponse_IamPolicyAnalysis{}
3732	if protoimpl.UnsafeEnabled {
3733		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[42]
3734		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3735		ms.StoreMessageInfo(mi)
3736	}
3737}
3738
3739func (x *AnalyzeIamPolicyResponse_IamPolicyAnalysis) String() string {
3740	return protoimpl.X.MessageStringOf(x)
3741}
3742
3743func (*AnalyzeIamPolicyResponse_IamPolicyAnalysis) ProtoMessage() {}
3744
3745func (x *AnalyzeIamPolicyResponse_IamPolicyAnalysis) ProtoReflect() protoreflect.Message {
3746	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[42]
3747	if protoimpl.UnsafeEnabled && x != nil {
3748		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3749		if ms.LoadMessageInfo() == nil {
3750			ms.StoreMessageInfo(mi)
3751		}
3752		return ms
3753	}
3754	return mi.MessageOf(x)
3755}
3756
3757// Deprecated: Use AnalyzeIamPolicyResponse_IamPolicyAnalysis.ProtoReflect.Descriptor instead.
3758func (*AnalyzeIamPolicyResponse_IamPolicyAnalysis) Descriptor() ([]byte, []int) {
3759	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{28, 0}
3760}
3761
3762func (x *AnalyzeIamPolicyResponse_IamPolicyAnalysis) GetAnalysisQuery() *IamPolicyAnalysisQuery {
3763	if x != nil {
3764		return x.AnalysisQuery
3765	}
3766	return nil
3767}
3768
3769func (x *AnalyzeIamPolicyResponse_IamPolicyAnalysis) GetAnalysisResults() []*IamPolicyAnalysisResult {
3770	if x != nil {
3771		return x.AnalysisResults
3772	}
3773	return nil
3774}
3775
3776func (x *AnalyzeIamPolicyResponse_IamPolicyAnalysis) GetFullyExplored() bool {
3777	if x != nil {
3778		return x.FullyExplored
3779	}
3780	return false
3781}
3782
3783func (x *AnalyzeIamPolicyResponse_IamPolicyAnalysis) GetNonCriticalErrors() []*IamPolicyAnalysisState {
3784	if x != nil {
3785		return x.NonCriticalErrors
3786	}
3787	return nil
3788}
3789
3790// A Cloud Storage location.
3791type IamPolicyAnalysisOutputConfig_GcsDestination struct {
3792	state         protoimpl.MessageState
3793	sizeCache     protoimpl.SizeCache
3794	unknownFields protoimpl.UnknownFields
3795
3796	// Required. The uri of the Cloud Storage object. It's the same uri that is used by
3797	// gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
3798	// Editing Object
3799	// Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
3800	// for more information.
3801	//
3802	// If the specified Cloud Storage object already exists and there is no
3803	// [hold](https://cloud.google.com/storage/docs/object-holds), it will be
3804	// overwritten with the analysis result.
3805	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
3806}
3807
3808func (x *IamPolicyAnalysisOutputConfig_GcsDestination) Reset() {
3809	*x = IamPolicyAnalysisOutputConfig_GcsDestination{}
3810	if protoimpl.UnsafeEnabled {
3811		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[43]
3812		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3813		ms.StoreMessageInfo(mi)
3814	}
3815}
3816
3817func (x *IamPolicyAnalysisOutputConfig_GcsDestination) String() string {
3818	return protoimpl.X.MessageStringOf(x)
3819}
3820
3821func (*IamPolicyAnalysisOutputConfig_GcsDestination) ProtoMessage() {}
3822
3823func (x *IamPolicyAnalysisOutputConfig_GcsDestination) ProtoReflect() protoreflect.Message {
3824	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[43]
3825	if protoimpl.UnsafeEnabled && x != nil {
3826		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3827		if ms.LoadMessageInfo() == nil {
3828			ms.StoreMessageInfo(mi)
3829		}
3830		return ms
3831	}
3832	return mi.MessageOf(x)
3833}
3834
3835// Deprecated: Use IamPolicyAnalysisOutputConfig_GcsDestination.ProtoReflect.Descriptor instead.
3836func (*IamPolicyAnalysisOutputConfig_GcsDestination) Descriptor() ([]byte, []int) {
3837	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{29, 0}
3838}
3839
3840func (x *IamPolicyAnalysisOutputConfig_GcsDestination) GetUri() string {
3841	if x != nil {
3842		return x.Uri
3843	}
3844	return ""
3845}
3846
3847// A BigQuery destination.
3848type IamPolicyAnalysisOutputConfig_BigQueryDestination struct {
3849	state         protoimpl.MessageState
3850	sizeCache     protoimpl.SizeCache
3851	unknownFields protoimpl.UnknownFields
3852
3853	// Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId",
3854	// to which the analysis results should be exported. If this dataset does
3855	// not exist, the export call will return an INVALID_ARGUMENT error.
3856	Dataset string `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"`
3857	// Required. The prefix of the BigQuery tables to which the analysis results will be
3858	// written. Tables will be created based on this table_prefix if not exist:
3859	// * <table_prefix>_analysis table will contain export operation's metadata.
3860	// * <table_prefix>_analysis_result will contain all the
3861	//   [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult].
3862	// When [partition_key] is specified, both tables will be partitioned based
3863	// on the [partition_key].
3864	TablePrefix string `protobuf:"bytes,2,opt,name=table_prefix,json=tablePrefix,proto3" json:"table_prefix,omitempty"`
3865	// The partition key for BigQuery partitioned table.
3866	PartitionKey IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey `protobuf:"varint,3,opt,name=partition_key,json=partitionKey,proto3,enum=google.cloud.asset.v1.IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey" json:"partition_key,omitempty"`
3867	// Optional. Specifies the action that occurs if the destination table or partition
3868	// already exists. The following values are supported:
3869	//
3870	// * WRITE_TRUNCATE: If the table or partition already exists, BigQuery
3871	// overwrites the entire table or all the partitions data.
3872	// * WRITE_APPEND: If the table or partition already exists, BigQuery
3873	// appends the data to the table or the latest partition.
3874	// * WRITE_EMPTY: If the table already exists and contains data, an error is
3875	// returned.
3876	//
3877	// The default value is WRITE_APPEND. Each action is atomic and only occurs
3878	// if BigQuery is able to complete the job successfully. Details are at
3879	// https://cloud.google.com/bigquery/docs/loading-data-local#appending_to_or_overwriting_a_table_using_a_local_file.
3880	WriteDisposition string `protobuf:"bytes,4,opt,name=write_disposition,json=writeDisposition,proto3" json:"write_disposition,omitempty"`
3881}
3882
3883func (x *IamPolicyAnalysisOutputConfig_BigQueryDestination) Reset() {
3884	*x = IamPolicyAnalysisOutputConfig_BigQueryDestination{}
3885	if protoimpl.UnsafeEnabled {
3886		mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[44]
3887		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3888		ms.StoreMessageInfo(mi)
3889	}
3890}
3891
3892func (x *IamPolicyAnalysisOutputConfig_BigQueryDestination) String() string {
3893	return protoimpl.X.MessageStringOf(x)
3894}
3895
3896func (*IamPolicyAnalysisOutputConfig_BigQueryDestination) ProtoMessage() {}
3897
3898func (x *IamPolicyAnalysisOutputConfig_BigQueryDestination) ProtoReflect() protoreflect.Message {
3899	mi := &file_google_cloud_asset_v1_asset_service_proto_msgTypes[44]
3900	if protoimpl.UnsafeEnabled && x != nil {
3901		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3902		if ms.LoadMessageInfo() == nil {
3903			ms.StoreMessageInfo(mi)
3904		}
3905		return ms
3906	}
3907	return mi.MessageOf(x)
3908}
3909
3910// Deprecated: Use IamPolicyAnalysisOutputConfig_BigQueryDestination.ProtoReflect.Descriptor instead.
3911func (*IamPolicyAnalysisOutputConfig_BigQueryDestination) Descriptor() ([]byte, []int) {
3912	return file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP(), []int{29, 1}
3913}
3914
3915func (x *IamPolicyAnalysisOutputConfig_BigQueryDestination) GetDataset() string {
3916	if x != nil {
3917		return x.Dataset
3918	}
3919	return ""
3920}
3921
3922func (x *IamPolicyAnalysisOutputConfig_BigQueryDestination) GetTablePrefix() string {
3923	if x != nil {
3924		return x.TablePrefix
3925	}
3926	return ""
3927}
3928
3929func (x *IamPolicyAnalysisOutputConfig_BigQueryDestination) GetPartitionKey() IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey {
3930	if x != nil {
3931		return x.PartitionKey
3932	}
3933	return IamPolicyAnalysisOutputConfig_BigQueryDestination_PARTITION_KEY_UNSPECIFIED
3934}
3935
3936func (x *IamPolicyAnalysisOutputConfig_BigQueryDestination) GetWriteDisposition() string {
3937	if x != nil {
3938		return x.WriteDisposition
3939	}
3940	return ""
3941}
3942
3943var File_google_cloud_asset_v1_asset_service_proto protoreflect.FileDescriptor
3944
3945var file_google_cloud_asset_v1_asset_service_proto_rawDesc = []byte{
3946	0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
3947	0x73, 0x73, 0x65, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x65,
3948	0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x67, 0x6f, 0x6f,
3949	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e,
3950	0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61,
3951	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3952	0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69,
3953	0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3954	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61,
3955	0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67,
3956	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e,
3957	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,
3958	0x6f, 0x75, 0x64, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x73, 0x73,
3959	0x65, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3960	0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70,
3961	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e,
3962	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
3963	0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b,
3964	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
3965	0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f,
3966	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65,
3967	0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67,
3968	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73,
3969	0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f,
3970	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d,
3971	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f,
3972	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e,
3973	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79,
3974	0x70, 0x65, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a,
3975	0x23, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63,
3976	0x79, 0x4c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61,
3977	0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74,
3978	0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3979	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
3980	0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61,
3981	0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xf5, 0x02, 0x0a, 0x13, 0x45, 0x78, 0x70, 0x6f, 0x72,
3982	0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f,
3983	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27,
3984	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x12, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x61, 0x73, 0x73,
3985	0x65, 0x74, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
3986	0x6d, 0x2f, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
3987	0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
3988	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3989	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08,
3990	0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x65,
3991	0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61,
3992	0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x0c, 0x63, 0x6f, 0x6e,
3993	0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32,
3994	0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
3995	0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54,
3996	0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65,
3997	0x12, 0x4d, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
3998	0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3999	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e,
4000	0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41,
4001	0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
4002	0x2d, 0x0a, 0x12, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x5f,
4003	0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x6c,
4004	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xe3,
4005	0x01, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52,
4006	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f,
4007	0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
4008	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
4009	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65,
4010	0x12, 0x48, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
4011	0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4012	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e,
4013	0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x6f, 0x75,
4014	0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x0d, 0x6f, 0x75,
4015	0x74, 0x70, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
4016	0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4017	0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74,
4018	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65,
4019	0x73, 0x75, 0x6c, 0x74, 0x22, 0xe0, 0x02, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x73, 0x73,
4020	0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61,
4021	0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa,
4022	0x41, 0x21, 0x12, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x67,
4023	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x73,
4024	0x73, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x72,
4025	0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
4026	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
4027	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64,
4028	0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x79,
4029	0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74,
4030	0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
4031	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x6f,
4032	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74,
4033	0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52,
4034	0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09,
4035	0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
4036	0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67,
4037	0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70,
4038	0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x6c, 0x61,
4039	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x07,
4040	0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68,
4041	0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74,
4042	0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37,
4043	0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
4044	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
4045	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x72,
4046	0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74,
4047	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4048	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e,
4049	0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x26, 0x0a,
4050	0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
4051	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65,
4052	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd2, 0x02, 0x0a, 0x1c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47,
4053	0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52,
4054	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
4055	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x12, 0x1f,
4056	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4057	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52,
4058	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74,
4059	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x73,
4060	0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74,
4061	0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22,
4062	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73,
4063	0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79,
4064	0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
4065	0x54, 0x79, 0x70, 0x65, 0x12, 0x50, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d,
4066	0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
4067	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73,
4068	0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f,
4069	0x77, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65,
4070	0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x32, 0x0a, 0x12, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69,
4071	0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03,
4072	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f,
4073	0x6e, 0x73, 0x68, 0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x5d, 0x0a, 0x1d, 0x42, 0x61,
4074	0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x48, 0x69, 0x73, 0x74,
4075	0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x61,
4076	0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f,
4077	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74,
4078	0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x41, 0x73, 0x73, 0x65,
4079	0x74, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x11, 0x43, 0x72,
4080	0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
4081	0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
4082	0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x07,
4083	0x66, 0x65, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
4084	0x41, 0x02, 0x52, 0x06, 0x66, 0x65, 0x65, 0x64, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x04, 0x66, 0x65,
4085	0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4086	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31,
4087	0x2e, 0x46, 0x65, 0x65, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x66, 0x65, 0x65, 0x64,
4088	0x22, 0x4c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x46, 0x65, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
4089	0x73, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
4090	0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x61,
4091	0x73, 0x73, 0x65, 0x74, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
4092	0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x65, 0x64, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2f,
4093	0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
4094	0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
4095	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22,
4096	0x46, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70,
4097	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x05, 0x66, 0x65, 0x65, 0x64, 0x73, 0x18, 0x01, 0x20,
4098	0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
4099	0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x65, 0x64,
4100	0x52, 0x05, 0x66, 0x65, 0x65, 0x64, 0x73, 0x22, 0x8b, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61,
4101	0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a,
4102	0x04, 0x66, 0x65, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
4103	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74,
4104	0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x66,
4105	0x65, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61,
4106	0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4107	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
4108	0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74,
4109	0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x4f, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46,
4110	0x65, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x6e, 0x61,
4111	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20,
4112	0x0a, 0x1e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x67, 0x6f, 0x6f,
4113	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x65, 0x64,
4114	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75,
4115	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64,
4116	0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
4117	0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
4118	0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74,
4119	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65,
4120	0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x14, 0x62, 0x69, 0x67,
4121	0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
4122	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4123	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e,
4124	0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
4125	0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x44,
4126	0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65,
4127	0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x61, 0x0a, 0x0c, 0x4f, 0x75, 0x74,
4128	0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x67, 0x63, 0x73,
4129	0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
4130	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73,
4131	0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52,
4132	0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x52, 0x65, 0x73, 0x75,
4133	0x6c, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x25, 0x0a, 0x0f,
4134	0x47, 0x63, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
4135	0x12, 0x0a, 0x04, 0x75, 0x72, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x75,
4136	0x72, 0x69, 0x73, 0x22, 0x53, 0x0a, 0x0e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e,
4137	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01,
4138	0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0a, 0x75, 0x72, 0x69,
4139	0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
4140	0x09, 0x75, 0x72, 0x69, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x0c, 0x0a, 0x0a, 0x6f, 0x62,
4141	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x22, 0xf6, 0x01, 0x0a, 0x13, 0x42, 0x69, 0x67,
4142	0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4143	0x12, 0x1d, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
4144	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12,
4145	0x19, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
4146	0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f,
4147	0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65,
4148	0x12, 0x4b, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70,
4149	0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4150	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31,
4151	0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0d,
4152	0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x42, 0x0a,
4153	0x1e, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73,
4154	0x5f, 0x70, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
4155	0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x54,
4156	0x61, 0x62, 0x6c, 0x65, 0x73, 0x50, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70,
4157	0x65, 0x22, 0xb7, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53,
4158	0x70, 0x65, 0x63, 0x12, 0x56, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e,
4159	0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f,
4160	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e,
4161	0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63,
4162	0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x0c, 0x70,
4163	0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x22, 0x4e, 0x0a, 0x0c, 0x50,
4164	0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x19, 0x50,
4165	0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53,
4166	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45,
4167	0x41, 0x44, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x51,
4168	0x55, 0x45, 0x53, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x22, 0x29, 0x0a, 0x11, 0x50,
4169	0x75, 0x62, 0x73, 0x75, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4170	0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
4171	0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x7c, 0x0a, 0x10, 0x46, 0x65, 0x65, 0x64, 0x4f, 0x75,
4172	0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x59, 0x0a, 0x12, 0x70, 0x75,
4173	0x62, 0x73, 0x75, 0x62, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4174	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4175	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50,
4176	0x75, 0x62, 0x73, 0x75, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4177	0x48, 0x00, 0x52, 0x11, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e,
4178	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61,
4179	0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf8, 0x03, 0x0a, 0x04, 0x46, 0x65, 0x65, 0x64, 0x12, 0x17, 0x0a,
4180	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
4181	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f,
4182	0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x73, 0x73,
4183	0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74,
4184	0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x73,
4185	0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74,
4186	0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22,
4187	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73,
4188	0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79,
4189	0x70, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12,
4190	0x5a, 0x0a, 0x12, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63,
4191	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f,
4192	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74,
4193	0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f,
4194	0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x66, 0x65, 0x65, 0x64, 0x4f,
4195	0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x09, 0x63,
4196	0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
4197	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x45, 0x78, 0x70,
4198	0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x12,
4199	0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x74, 0x79, 0x70,
4200	0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69,
4201	0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x91, 0x01, 0xea, 0x41,
4202	0x8d, 0x01, 0x0a, 0x1e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x67,
4203	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65,
4204	0x65, 0x64, 0x12, 0x1f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72,
4205	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x73, 0x2f, 0x7b, 0x66, 0x65,
4206	0x65, 0x64, 0x7d, 0x12, 0x1d, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x66, 0x6f,
4207	0x6c, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x65,
4208	0x64, 0x7d, 0x12, 0x29, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4209	0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d,
4210	0x2f, 0x66, 0x65, 0x65, 0x64, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x65, 0x64, 0x7d, 0x20, 0x01, 0x22,
4211	0x9b, 0x02, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73,
4212	0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a,
4213	0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
4214	0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72,
4215	0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x71, 0x75,
4216	0x65, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70,
4217	0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x61,
4218	0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67,
4219	0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41,
4220	0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70,
4221	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42,
4222	0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
4223	0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28,
4224	0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12,
4225	0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x08, 0x20, 0x01,
4226	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
4227	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03,
4228	0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x8b, 0x01,
4229	0x0a, 0x1a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75,
4230	0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x07,
4231	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
4232	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73,
4233	0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65,
4234	0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75,
4235	0x6c, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65,
4236	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65,
4237	0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xdf, 0x01, 0x0a, 0x1b,
4238	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69,
4239	0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x73,
4240	0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
4241	0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18,
4242	0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72,
4243	0x79, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03,
4244	0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53,
4245	0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
4246	0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61,
4247	0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74,
4248	0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
4249	0x01, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1e, 0x0a,
4250	0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42,
4251	0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x8e, 0x01,
4252	0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x49, 0x61, 0x6d, 0x50, 0x6f,
4253	0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46,
4254	0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
4255	0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
4256	0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63,
4257	0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72,
4258	0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70,
4259	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
4260	0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xcf,
4261	0x09, 0x0a, 0x16, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c,
4262	0x79, 0x73, 0x69, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x63, 0x6f,
4263	0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x73,
4264	0x63, 0x6f, 0x70, 0x65, 0x12, 0x70, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
4265	0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
4266	0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
4267	0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63,
4268	0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52,
4269	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42,
4270	0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65,
4271	0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x70, 0x0a, 0x11, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
4272	0x74, 0x79, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
4273	0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4274	0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c,
4275	0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79,
4276	0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f,
4277	0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
4278	0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x6a, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65,
4279	0x73, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28,
4280	0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4281	0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c,
4282	0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79,
4283	0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42,
4284	0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x65, 0x6c, 0x65,
4285	0x63, 0x74, 0x6f, 0x72, 0x12, 0x54, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
4286	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
4287	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x61,
4288	0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x51,
4289	0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x03, 0xe0, 0x41,
4290	0x01, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x70, 0x0a, 0x11, 0x63, 0x6f,
4291	0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18,
4292	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
4293	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x61,
4294	0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x51,
4295	0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
4296	0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x64,
4297	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x45, 0x0a, 0x10,
4298	0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72,
4299	0x12, 0x31, 0x0a, 0x12, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
4300	0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
4301	0x02, 0x52, 0x10, 0x66, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e,
4302	0x61, 0x6d, 0x65, 0x1a, 0x33, 0x0a, 0x10, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53,
4303	0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74,
4304	0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08,
4305	0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x52, 0x0a, 0x0e, 0x41, 0x63, 0x63, 0x65,
4306	0x73, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x72, 0x6f,
4307	0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05,
4308	0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
4309	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
4310	0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xcf, 0x02, 0x0a,
4311	0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x61,
4312	0x6e, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42,
4313	0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75,
4314	0x70, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x6f, 0x6c,
4315	0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x65,
4316	0x78, 0x70, 0x61, 0x6e, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x10, 0x65, 0x78,
4317	0x70, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03,
4318	0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x61, 0x6e,
4319	0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x15, 0x6f, 0x75,
4320	0x74, 0x70, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x64,
4321	0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13,
4322	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x64,
4323	0x67, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x12, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x67, 0x72,
4324	0x6f, 0x75, 0x70, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42,
4325	0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x47, 0x72, 0x6f, 0x75,
4326	0x70, 0x45, 0x64, 0x67, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x25, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a,
4327	0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
4328	0x74, 0x5f, 0x69, 0x6d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
4329	0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x22, 0x61, 0x6e, 0x61, 0x6c,
4330	0x79, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
4331	0x74, 0x49, 0x6d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x60,
4332	0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65,
4333	0x78, 0x74, 0x12, 0x3d, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d,
4334	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4335	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
4336	0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d,
4337	0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
4338	0x22, 0xc1, 0x01, 0x0a, 0x17, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50,
4339	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x59, 0x0a, 0x0e,
4340	0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01,
4341	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
4342	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x61, 0x6d,
4343	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x51, 0x75,
4344	0x65, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73,
4345	0x69, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4b, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75,
4346	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01,
4347	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
4348	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0,
4349	0x41, 0x01, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d,
4350	0x65, 0x6f, 0x75, 0x74, 0x22, 0x8f, 0x05, 0x0a, 0x18, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65,
4351	0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
4352	0x65, 0x12, 0x66, 0x0a, 0x0d, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73,
4353	0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4354	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31,
4355	0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63,
4356	0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c,
4357	0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x0c, 0x6d, 0x61, 0x69,
4358	0x6e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x96, 0x01, 0x0a, 0x26, 0x73, 0x65,
4359	0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6d,
4360	0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x61, 0x6c,
4361	0x79, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f,
4362	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e,
4363	0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c,
4364	0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x61, 0x6d, 0x50,
4365	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x23, 0x73,
4366	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6d, 0x70,
4367	0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73,
4368	0x69, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x6c,
4369	0x6f, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x66, 0x75, 0x6c, 0x6c,
4370	0x79, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x64, 0x1a, 0xca, 0x02, 0x0a, 0x11, 0x49, 0x61,
4371	0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12,
4372	0x54, 0x0a, 0x0e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x71, 0x75, 0x65, 0x72,
4373	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4374	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e,
4375	0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69,
4376	0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x0d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73,
4377	0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x59, 0x0a, 0x10, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69,
4378	0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
4379	0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
4380	0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63,
4381	0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
4382	0x0f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
4383	0x12, 0x25, 0x0a, 0x0e, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72,
4384	0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x45,
4385	0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x64, 0x12, 0x5d, 0x0a, 0x13, 0x6e, 0x6f, 0x6e, 0x5f, 0x63,
4386	0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x05,
4387	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
4388	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x61, 0x6d,
4389	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x53, 0x74,
4390	0x61, 0x74, 0x65, 0x52, 0x11, 0x6e, 0x6f, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c,
4391	0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x94, 0x05, 0x0a, 0x1d, 0x49, 0x61, 0x6d, 0x50, 0x6f,
4392	0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4f, 0x75, 0x74, 0x70,
4393	0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6e, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f,
4394	0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
4395	0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4396	0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c,
4397	0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75,
4398	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69,
4399	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73,
4400	0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7d, 0x0a, 0x14, 0x62, 0x69, 0x67, 0x71,
4401	0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4402	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4403	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49,
4404	0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73,
4405	0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x69, 0x67,
4406	0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4407	0x48, 0x00, 0x52, 0x13, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74,
4408	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x27, 0x0a, 0x0e, 0x47, 0x63, 0x73, 0x44, 0x65,
4409	0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69,
4410	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69,
4411	0x1a, 0xcb, 0x02, 0x0a, 0x13, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73,
4412	0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61,
4413	0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07,
4414	0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65,
4415	0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
4416	0x41, 0x02, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12,
4417	0x7a, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79,
4418	0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x55, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4419	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49,
4420	0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73,
4421	0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x69, 0x67,
4422	0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4423	0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x0c, 0x70,
4424	0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x11, 0x77,
4425	0x72, 0x69, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
4426	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x77, 0x72, 0x69,
4427	0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3f, 0x0a,
4428	0x0c, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a,
4429	0x19, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x55,
4430	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c,
4431	0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x01, 0x42, 0x0d,
4432	0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdf, 0x01,
4433	0x0a, 0x22, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69,
4434	0x63, 0x79, 0x4c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71,
4435	0x75, 0x65, 0x73, 0x74, 0x12, 0x59, 0x0a, 0x0e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73,
4436	0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67,
4437	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65,
4438	0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e,
4439	0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02,
4440	0x52, 0x0d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12,
4441	0x5e, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
4442	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4443	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49,
4444	0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73,
4445	0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41,
4446	0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22,
4447	0x25, 0x0a, 0x23, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c,
4448	0x69, 0x63, 0x79, 0x4c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65,
4449	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf9, 0x01, 0x0a, 0x12, 0x41, 0x6e, 0x61, 0x6c, 0x79,
4450	0x7a, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a,
4451	0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
4452	0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x32,
4453	0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61,
4454	0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
4455	0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x65,
4456	0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
4457	0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
4458	0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65,
4459	0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c,
4460	0x79, 0x73, 0x69, 0x73, 0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x22, 0x42,
4461	0x0a, 0x0c, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1d,
4462	0x0a, 0x19, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x53, 0x49, 0x53, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f,
4463	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a,
4464	0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x41, 0x53, 0x49, 0x43,
4465	0x10, 0x02, 0x22, 0x5f, 0x0a, 0x13, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x4d, 0x6f, 0x76,
4466	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x6d, 0x6f, 0x76,
4467	0x65, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
4468	0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
4469	0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x41, 0x6e, 0x61,
4470	0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x0c, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6e, 0x61, 0x6c, 0x79,
4471	0x73, 0x69, 0x73, 0x22, 0xb0, 0x01, 0x0a, 0x0c, 0x4d, 0x6f, 0x76, 0x65, 0x41, 0x6e, 0x61, 0x6c,
4472	0x79, 0x73, 0x69, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f,
4473	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70,
4474	0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x08, 0x61, 0x6e, 0x61, 0x6c, 0x79,
4475	0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4476	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76,
4477	0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65,
4478	0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73,
4479	0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
4480	0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61,
4481	0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x08, 0x0a, 0x06,
4482	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x92, 0x01, 0x0a, 0x12, 0x4d, 0x6f, 0x76, 0x65, 0x41,
4483	0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3d, 0x0a,
4484	0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
4485	0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
4486	0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x49, 0x6d, 0x70, 0x61,
4487	0x63, 0x74, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x08,
4488	0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21,
4489	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73,
4490	0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x49, 0x6d, 0x70, 0x61, 0x63,
4491	0x74, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x24, 0x0a, 0x0a, 0x4d,
4492	0x6f, 0x76, 0x65, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74,
4493	0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69,
4494	0x6c, 0x2a, 0x90, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70,
4495	0x65, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50,
4496	0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
4497	0x0c, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a,
4498	0x0a, 0x49, 0x41, 0x4d, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x02, 0x12, 0x0e, 0x0a,
4499	0x0a, 0x4f, 0x52, 0x47, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x04, 0x12, 0x11, 0x0a,
4500	0x0d, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x05,
4501	0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x53, 0x5f, 0x49, 0x4e, 0x56, 0x45, 0x4e, 0x54, 0x4f, 0x52, 0x59,
4502	0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x48,
4503	0x49, 0x50, 0x10, 0x07, 0x32, 0xf7, 0x11, 0x0a, 0x0c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x65,
4504	0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xde, 0x01, 0x0a, 0x0c, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74,
4505	0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4506	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x45,
4507	0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
4508	0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67,
4509	0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
4510	0x6e, 0x22, 0x82, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f, 0x76, 0x31, 0x2f,
4511	0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70,
4512	0x6f, 0x72, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x57, 0x0a,
4513	0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73,
4514	0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x73, 0x73,
4515	0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x67, 0x6f, 0x6f,
4516	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e,
4517	0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52,
4518	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x8b, 0x01, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x41,
4519	0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
4520	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69,
4521	0x73, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
4522	0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
4523	0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x73, 0x73, 0x65,
4524	0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93,
4525	0x02, 0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d,
4526	0x2a, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61,
4527	0x72, 0x65, 0x6e, 0x74, 0x12, 0xb2, 0x01, 0x0a, 0x15, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65,
4528	0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x33,
4529	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73,
4530	0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x41,
4531	0x73, 0x73, 0x65, 0x74, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75,
4532	0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
4533	0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63,
4534	0x68, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72,
4535	0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02,
4536	0x28, 0x12, 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a,
4537	0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65,
4538	0x74, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x7f, 0x0a, 0x0a, 0x43, 0x72, 0x65,
4539	0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4540	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e,
4541	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
4542	0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4543	0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x22, 0x2a,
4544	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x16, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72,
4545	0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x73, 0x3a, 0x01,
4546	0x2a, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x74, 0x0a, 0x07, 0x47, 0x65,
4547	0x74, 0x46, 0x65, 0x65, 0x64, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
4548	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
4549	0x74, 0x46, 0x65, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67,
4550	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65,
4551	0x74, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02,
4552	0x18, 0x12, 0x16, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a,
4553	0x2f, 0x66, 0x65, 0x65, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65,
4554	0x12, 0x87, 0x01, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x73, 0x12, 0x27,
4555	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73,
4556	0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x73,
4557	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4558	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e,
4559	0x4c, 0x69, 0x73, 0x74, 0x46, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
4560	0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
4561	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x65, 0x65, 0x64,
4562	0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x82, 0x01, 0x0a, 0x0a, 0x55,
4563	0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4564	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76,
4565	0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
4566	0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
4567	0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x65, 0x64,
4568	0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x32, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x66,
4569	0x65, 0x65, 0x64, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x65,
4570	0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x66, 0x65, 0x65, 0x64, 0x12,
4571	0x75, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x12, 0x28, 0x2e,
4572	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73,
4573	0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64,
4574	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4575	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
4576	0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x2a, 0x16, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61,
4577	0x6d, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0xda,
4578	0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xbf, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63,
4579	0x68, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x30, 0x2e,
4580	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73,
4581	0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x52,
4582	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
4583	0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
4584	0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6c,
4585	0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
4586	0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f,
4587	0x7b, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x61, 0x72,
4588	0x63, 0x68, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0xda, 0x41,
4589	0x17, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x2c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2c, 0x61, 0x73, 0x73,
4590	0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0xbb, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x61,
4591	0x72, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65,
4592	0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4593	0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
4594	0x41, 0x6c, 0x6c, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65,
4595	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
4596	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65,
4597	0x61, 0x72, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69,
4598	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93,
4599	0x02, 0x26, 0x12, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x2a,
4600	0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6c, 0x6c, 0x49, 0x61, 0x6d,
4601	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0xda, 0x41, 0x0b, 0x73, 0x63, 0x6f, 0x70, 0x65,
4602	0x2c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0xac, 0x01, 0x0a, 0x10, 0x41, 0x6e, 0x61, 0x6c, 0x79,
4603	0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2e, 0x2e, 0x67, 0x6f,
4604	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74,
4605	0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50, 0x6f,
4606	0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f,
4607	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74,
4608	0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50, 0x6f,
4609	0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3,
4610	0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x61, 0x6e, 0x61, 0x6c, 0x79,
4611	0x73, 0x69, 0x73, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x3d,
4612	0x2a, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50,
4613	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xb8, 0x02, 0x0a, 0x1b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a,
4614	0x65, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x6f, 0x6e, 0x67, 0x72, 0x75,
4615	0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
4616	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e,
4617	0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x6f,
4618	0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4619	0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75,
4620	0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
4621	0xbe, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x61,
4622	0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x73, 0x63,
4623	0x6f, 0x70, 0x65, 0x3d, 0x2a, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65,
4624	0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e,
4625	0x6e, 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x76, 0x0a, 0x39, 0x67, 0x6f, 0x6f, 0x67,
4626	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76,
4627	0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69,
4628	0x63, 0x79, 0x4c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73,
4629	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
4630	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61,
4631	0x6c, 0x79, 0x7a, 0x65, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x6f, 0x6e,
4632	0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
4633	0x12, 0x8c, 0x01, 0x0a, 0x0b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x4d, 0x6f, 0x76, 0x65,
4634	0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
4635	0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65,
4636	0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f,
4637	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74,
4638	0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x52,
4639	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12,
4640	0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x2a,
4641	0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x1a,
4642	0x4d, 0xca, 0x41, 0x19, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x67,
4643	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e,
4644	0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4645	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f,
4646	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x9c,
4647	0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
4648	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x11, 0x41, 0x73,
4649	0x73, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
4650	0x01, 0x5a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67,
4651	0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f,
4652	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
4653	0x73, 0x73, 0x65, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x73, 0x73, 0x65, 0x74, 0xaa, 0x02, 0x15,
4654	0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x73, 0x73,
4655	0x65, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x15, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43,
4656	0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70,
4657	0x72, 0x6f, 0x74, 0x6f, 0x33,
4658}
4659
4660var (
4661	file_google_cloud_asset_v1_asset_service_proto_rawDescOnce sync.Once
4662	file_google_cloud_asset_v1_asset_service_proto_rawDescData = file_google_cloud_asset_v1_asset_service_proto_rawDesc
4663)
4664
4665func file_google_cloud_asset_v1_asset_service_proto_rawDescGZIP() []byte {
4666	file_google_cloud_asset_v1_asset_service_proto_rawDescOnce.Do(func() {
4667		file_google_cloud_asset_v1_asset_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_asset_v1_asset_service_proto_rawDescData)
4668	})
4669	return file_google_cloud_asset_v1_asset_service_proto_rawDescData
4670}
4671
4672var file_google_cloud_asset_v1_asset_service_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
4673var file_google_cloud_asset_v1_asset_service_proto_msgTypes = make([]protoimpl.MessageInfo, 45)
4674var file_google_cloud_asset_v1_asset_service_proto_goTypes = []interface{}{
4675	(ContentType)(0),                // 0: google.cloud.asset.v1.ContentType
4676	(PartitionSpec_PartitionKey)(0), // 1: google.cloud.asset.v1.PartitionSpec.PartitionKey
4677	(IamPolicyAnalysisOutputConfig_BigQueryDestination_PartitionKey)(0), // 2: google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination.PartitionKey
4678	(AnalyzeMoveRequest_AnalysisView)(0),                                // 3: google.cloud.asset.v1.AnalyzeMoveRequest.AnalysisView
4679	(*AnalyzeIamPolicyLongrunningMetadata)(nil),                         // 4: google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata
4680	(*ExportAssetsRequest)(nil),                                         // 5: google.cloud.asset.v1.ExportAssetsRequest
4681	(*ExportAssetsResponse)(nil),                                        // 6: google.cloud.asset.v1.ExportAssetsResponse
4682	(*ListAssetsRequest)(nil),                                           // 7: google.cloud.asset.v1.ListAssetsRequest
4683	(*ListAssetsResponse)(nil),                                          // 8: google.cloud.asset.v1.ListAssetsResponse
4684	(*BatchGetAssetsHistoryRequest)(nil),                                // 9: google.cloud.asset.v1.BatchGetAssetsHistoryRequest
4685	(*BatchGetAssetsHistoryResponse)(nil),                               // 10: google.cloud.asset.v1.BatchGetAssetsHistoryResponse
4686	(*CreateFeedRequest)(nil),                                           // 11: google.cloud.asset.v1.CreateFeedRequest
4687	(*GetFeedRequest)(nil),                                              // 12: google.cloud.asset.v1.GetFeedRequest
4688	(*ListFeedsRequest)(nil),                                            // 13: google.cloud.asset.v1.ListFeedsRequest
4689	(*ListFeedsResponse)(nil),                                           // 14: google.cloud.asset.v1.ListFeedsResponse
4690	(*UpdateFeedRequest)(nil),                                           // 15: google.cloud.asset.v1.UpdateFeedRequest
4691	(*DeleteFeedRequest)(nil),                                           // 16: google.cloud.asset.v1.DeleteFeedRequest
4692	(*OutputConfig)(nil),                                                // 17: google.cloud.asset.v1.OutputConfig
4693	(*OutputResult)(nil),                                                // 18: google.cloud.asset.v1.OutputResult
4694	(*GcsOutputResult)(nil),                                             // 19: google.cloud.asset.v1.GcsOutputResult
4695	(*GcsDestination)(nil),                                              // 20: google.cloud.asset.v1.GcsDestination
4696	(*BigQueryDestination)(nil),                                         // 21: google.cloud.asset.v1.BigQueryDestination
4697	(*PartitionSpec)(nil),                                               // 22: google.cloud.asset.v1.PartitionSpec
4698	(*PubsubDestination)(nil),                                           // 23: google.cloud.asset.v1.PubsubDestination
4699	(*FeedOutputConfig)(nil),                                            // 24: google.cloud.asset.v1.FeedOutputConfig
4700	(*Feed)(nil),                                                        // 25: google.cloud.asset.v1.Feed
4701	(*SearchAllResourcesRequest)(nil),                                   // 26: google.cloud.asset.v1.SearchAllResourcesRequest
4702	(*SearchAllResourcesResponse)(nil),                                  // 27: google.cloud.asset.v1.SearchAllResourcesResponse
4703	(*SearchAllIamPoliciesRequest)(nil),                                 // 28: google.cloud.asset.v1.SearchAllIamPoliciesRequest
4704	(*SearchAllIamPoliciesResponse)(nil),                                // 29: google.cloud.asset.v1.SearchAllIamPoliciesResponse
4705	(*IamPolicyAnalysisQuery)(nil),                                      // 30: google.cloud.asset.v1.IamPolicyAnalysisQuery
4706	(*AnalyzeIamPolicyRequest)(nil),                                     // 31: google.cloud.asset.v1.AnalyzeIamPolicyRequest
4707	(*AnalyzeIamPolicyResponse)(nil),                                    // 32: google.cloud.asset.v1.AnalyzeIamPolicyResponse
4708	(*IamPolicyAnalysisOutputConfig)(nil),                               // 33: google.cloud.asset.v1.IamPolicyAnalysisOutputConfig
4709	(*AnalyzeIamPolicyLongrunningRequest)(nil),                          // 34: google.cloud.asset.v1.AnalyzeIamPolicyLongrunningRequest
4710	(*AnalyzeIamPolicyLongrunningResponse)(nil),                         // 35: google.cloud.asset.v1.AnalyzeIamPolicyLongrunningResponse
4711	(*AnalyzeMoveRequest)(nil),                                          // 36: google.cloud.asset.v1.AnalyzeMoveRequest
4712	(*AnalyzeMoveResponse)(nil),                                         // 37: google.cloud.asset.v1.AnalyzeMoveResponse
4713	(*MoveAnalysis)(nil),                                                // 38: google.cloud.asset.v1.MoveAnalysis
4714	(*MoveAnalysisResult)(nil),                                          // 39: google.cloud.asset.v1.MoveAnalysisResult
4715	(*MoveImpact)(nil),                                                  // 40: google.cloud.asset.v1.MoveImpact
4716	(*IamPolicyAnalysisQuery_ResourceSelector)(nil),                     // 41: google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector
4717	(*IamPolicyAnalysisQuery_IdentitySelector)(nil),                     // 42: google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector
4718	(*IamPolicyAnalysisQuery_AccessSelector)(nil),                       // 43: google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector
4719	(*IamPolicyAnalysisQuery_Options)(nil),                              // 44: google.cloud.asset.v1.IamPolicyAnalysisQuery.Options
4720	(*IamPolicyAnalysisQuery_ConditionContext)(nil),                     // 45: google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext
4721	(*AnalyzeIamPolicyResponse_IamPolicyAnalysis)(nil),                  // 46: google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis
4722	(*IamPolicyAnalysisOutputConfig_GcsDestination)(nil),                // 47: google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.GcsDestination
4723	(*IamPolicyAnalysisOutputConfig_BigQueryDestination)(nil),           // 48: google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination
4724	(*timestamppb.Timestamp)(nil),                                       // 49: google.protobuf.Timestamp
4725	(*Asset)(nil),                                                       // 50: google.cloud.asset.v1.Asset
4726	(*TimeWindow)(nil),                                                  // 51: google.cloud.asset.v1.TimeWindow
4727	(*TemporalAsset)(nil),                                               // 52: google.cloud.asset.v1.TemporalAsset
4728	(*fieldmaskpb.FieldMask)(nil),                                       // 53: google.protobuf.FieldMask
4729	(*expr.Expr)(nil),                                                   // 54: google.type.Expr
4730	(*ResourceSearchResult)(nil),                                        // 55: google.cloud.asset.v1.ResourceSearchResult
4731	(*IamPolicySearchResult)(nil),                                       // 56: google.cloud.asset.v1.IamPolicySearchResult
4732	(*durationpb.Duration)(nil),                                         // 57: google.protobuf.Duration
4733	(*status.Status)(nil),                                               // 58: google.rpc.Status
4734	(*IamPolicyAnalysisResult)(nil),                                     // 59: google.cloud.asset.v1.IamPolicyAnalysisResult
4735	(*IamPolicyAnalysisState)(nil),                                      // 60: google.cloud.asset.v1.IamPolicyAnalysisState
4736	(*longrunning.Operation)(nil),                                       // 61: google.longrunning.Operation
4737	(*emptypb.Empty)(nil),                                               // 62: google.protobuf.Empty
4738}
4739var file_google_cloud_asset_v1_asset_service_proto_depIdxs = []int32{
4740	49, // 0: google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata.create_time:type_name -> google.protobuf.Timestamp
4741	49, // 1: google.cloud.asset.v1.ExportAssetsRequest.read_time:type_name -> google.protobuf.Timestamp
4742	0,  // 2: google.cloud.asset.v1.ExportAssetsRequest.content_type:type_name -> google.cloud.asset.v1.ContentType
4743	17, // 3: google.cloud.asset.v1.ExportAssetsRequest.output_config:type_name -> google.cloud.asset.v1.OutputConfig
4744	49, // 4: google.cloud.asset.v1.ExportAssetsResponse.read_time:type_name -> google.protobuf.Timestamp
4745	17, // 5: google.cloud.asset.v1.ExportAssetsResponse.output_config:type_name -> google.cloud.asset.v1.OutputConfig
4746	18, // 6: google.cloud.asset.v1.ExportAssetsResponse.output_result:type_name -> google.cloud.asset.v1.OutputResult
4747	49, // 7: google.cloud.asset.v1.ListAssetsRequest.read_time:type_name -> google.protobuf.Timestamp
4748	0,  // 8: google.cloud.asset.v1.ListAssetsRequest.content_type:type_name -> google.cloud.asset.v1.ContentType
4749	49, // 9: google.cloud.asset.v1.ListAssetsResponse.read_time:type_name -> google.protobuf.Timestamp
4750	50, // 10: google.cloud.asset.v1.ListAssetsResponse.assets:type_name -> google.cloud.asset.v1.Asset
4751	0,  // 11: google.cloud.asset.v1.BatchGetAssetsHistoryRequest.content_type:type_name -> google.cloud.asset.v1.ContentType
4752	51, // 12: google.cloud.asset.v1.BatchGetAssetsHistoryRequest.read_time_window:type_name -> google.cloud.asset.v1.TimeWindow
4753	52, // 13: google.cloud.asset.v1.BatchGetAssetsHistoryResponse.assets:type_name -> google.cloud.asset.v1.TemporalAsset
4754	25, // 14: google.cloud.asset.v1.CreateFeedRequest.feed:type_name -> google.cloud.asset.v1.Feed
4755	25, // 15: google.cloud.asset.v1.ListFeedsResponse.feeds:type_name -> google.cloud.asset.v1.Feed
4756	25, // 16: google.cloud.asset.v1.UpdateFeedRequest.feed:type_name -> google.cloud.asset.v1.Feed
4757	53, // 17: google.cloud.asset.v1.UpdateFeedRequest.update_mask:type_name -> google.protobuf.FieldMask
4758	20, // 18: google.cloud.asset.v1.OutputConfig.gcs_destination:type_name -> google.cloud.asset.v1.GcsDestination
4759	21, // 19: google.cloud.asset.v1.OutputConfig.bigquery_destination:type_name -> google.cloud.asset.v1.BigQueryDestination
4760	19, // 20: google.cloud.asset.v1.OutputResult.gcs_result:type_name -> google.cloud.asset.v1.GcsOutputResult
4761	22, // 21: google.cloud.asset.v1.BigQueryDestination.partition_spec:type_name -> google.cloud.asset.v1.PartitionSpec
4762	1,  // 22: google.cloud.asset.v1.PartitionSpec.partition_key:type_name -> google.cloud.asset.v1.PartitionSpec.PartitionKey
4763	23, // 23: google.cloud.asset.v1.FeedOutputConfig.pubsub_destination:type_name -> google.cloud.asset.v1.PubsubDestination
4764	0,  // 24: google.cloud.asset.v1.Feed.content_type:type_name -> google.cloud.asset.v1.ContentType
4765	24, // 25: google.cloud.asset.v1.Feed.feed_output_config:type_name -> google.cloud.asset.v1.FeedOutputConfig
4766	54, // 26: google.cloud.asset.v1.Feed.condition:type_name -> google.type.Expr
4767	53, // 27: google.cloud.asset.v1.SearchAllResourcesRequest.read_mask:type_name -> google.protobuf.FieldMask
4768	55, // 28: google.cloud.asset.v1.SearchAllResourcesResponse.results:type_name -> google.cloud.asset.v1.ResourceSearchResult
4769	56, // 29: google.cloud.asset.v1.SearchAllIamPoliciesResponse.results:type_name -> google.cloud.asset.v1.IamPolicySearchResult
4770	41, // 30: google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector:type_name -> google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector
4771	42, // 31: google.cloud.asset.v1.IamPolicyAnalysisQuery.identity_selector:type_name -> google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector
4772	43, // 32: google.cloud.asset.v1.IamPolicyAnalysisQuery.access_selector:type_name -> google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector
4773	44, // 33: google.cloud.asset.v1.IamPolicyAnalysisQuery.options:type_name -> google.cloud.asset.v1.IamPolicyAnalysisQuery.Options
4774	45, // 34: google.cloud.asset.v1.IamPolicyAnalysisQuery.condition_context:type_name -> google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext
4775	30, // 35: google.cloud.asset.v1.AnalyzeIamPolicyRequest.analysis_query:type_name -> google.cloud.asset.v1.IamPolicyAnalysisQuery
4776	57, // 36: google.cloud.asset.v1.AnalyzeIamPolicyRequest.execution_timeout:type_name -> google.protobuf.Duration
4777	46, // 37: google.cloud.asset.v1.AnalyzeIamPolicyResponse.main_analysis:type_name -> google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis
4778	46, // 38: google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis:type_name -> google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis
4779	47, // 39: google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.gcs_destination:type_name -> google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.GcsDestination
4780	48, // 40: google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.bigquery_destination:type_name -> google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination
4781	30, // 41: google.cloud.asset.v1.AnalyzeIamPolicyLongrunningRequest.analysis_query:type_name -> google.cloud.asset.v1.IamPolicyAnalysisQuery
4782	33, // 42: google.cloud.asset.v1.AnalyzeIamPolicyLongrunningRequest.output_config:type_name -> google.cloud.asset.v1.IamPolicyAnalysisOutputConfig
4783	3,  // 43: google.cloud.asset.v1.AnalyzeMoveRequest.view:type_name -> google.cloud.asset.v1.AnalyzeMoveRequest.AnalysisView
4784	38, // 44: google.cloud.asset.v1.AnalyzeMoveResponse.move_analysis:type_name -> google.cloud.asset.v1.MoveAnalysis
4785	39, // 45: google.cloud.asset.v1.MoveAnalysis.analysis:type_name -> google.cloud.asset.v1.MoveAnalysisResult
4786	58, // 46: google.cloud.asset.v1.MoveAnalysis.error:type_name -> google.rpc.Status
4787	40, // 47: google.cloud.asset.v1.MoveAnalysisResult.blockers:type_name -> google.cloud.asset.v1.MoveImpact
4788	40, // 48: google.cloud.asset.v1.MoveAnalysisResult.warnings:type_name -> google.cloud.asset.v1.MoveImpact
4789	49, // 49: google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext.access_time:type_name -> google.protobuf.Timestamp
4790	30, // 50: google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_query:type_name -> google.cloud.asset.v1.IamPolicyAnalysisQuery
4791	59, // 51: google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results:type_name -> google.cloud.asset.v1.IamPolicyAnalysisResult
4792	60, // 52: google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.non_critical_errors:type_name -> google.cloud.asset.v1.IamPolicyAnalysisState
4793	2,  // 53: google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination.partition_key:type_name -> google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination.PartitionKey
4794	5,  // 54: google.cloud.asset.v1.AssetService.ExportAssets:input_type -> google.cloud.asset.v1.ExportAssetsRequest
4795	7,  // 55: google.cloud.asset.v1.AssetService.ListAssets:input_type -> google.cloud.asset.v1.ListAssetsRequest
4796	9,  // 56: google.cloud.asset.v1.AssetService.BatchGetAssetsHistory:input_type -> google.cloud.asset.v1.BatchGetAssetsHistoryRequest
4797	11, // 57: google.cloud.asset.v1.AssetService.CreateFeed:input_type -> google.cloud.asset.v1.CreateFeedRequest
4798	12, // 58: google.cloud.asset.v1.AssetService.GetFeed:input_type -> google.cloud.asset.v1.GetFeedRequest
4799	13, // 59: google.cloud.asset.v1.AssetService.ListFeeds:input_type -> google.cloud.asset.v1.ListFeedsRequest
4800	15, // 60: google.cloud.asset.v1.AssetService.UpdateFeed:input_type -> google.cloud.asset.v1.UpdateFeedRequest
4801	16, // 61: google.cloud.asset.v1.AssetService.DeleteFeed:input_type -> google.cloud.asset.v1.DeleteFeedRequest
4802	26, // 62: google.cloud.asset.v1.AssetService.SearchAllResources:input_type -> google.cloud.asset.v1.SearchAllResourcesRequest
4803	28, // 63: google.cloud.asset.v1.AssetService.SearchAllIamPolicies:input_type -> google.cloud.asset.v1.SearchAllIamPoliciesRequest
4804	31, // 64: google.cloud.asset.v1.AssetService.AnalyzeIamPolicy:input_type -> google.cloud.asset.v1.AnalyzeIamPolicyRequest
4805	34, // 65: google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning:input_type -> google.cloud.asset.v1.AnalyzeIamPolicyLongrunningRequest
4806	36, // 66: google.cloud.asset.v1.AssetService.AnalyzeMove:input_type -> google.cloud.asset.v1.AnalyzeMoveRequest
4807	61, // 67: google.cloud.asset.v1.AssetService.ExportAssets:output_type -> google.longrunning.Operation
4808	8,  // 68: google.cloud.asset.v1.AssetService.ListAssets:output_type -> google.cloud.asset.v1.ListAssetsResponse
4809	10, // 69: google.cloud.asset.v1.AssetService.BatchGetAssetsHistory:output_type -> google.cloud.asset.v1.BatchGetAssetsHistoryResponse
4810	25, // 70: google.cloud.asset.v1.AssetService.CreateFeed:output_type -> google.cloud.asset.v1.Feed
4811	25, // 71: google.cloud.asset.v1.AssetService.GetFeed:output_type -> google.cloud.asset.v1.Feed
4812	14, // 72: google.cloud.asset.v1.AssetService.ListFeeds:output_type -> google.cloud.asset.v1.ListFeedsResponse
4813	25, // 73: google.cloud.asset.v1.AssetService.UpdateFeed:output_type -> google.cloud.asset.v1.Feed
4814	62, // 74: google.cloud.asset.v1.AssetService.DeleteFeed:output_type -> google.protobuf.Empty
4815	27, // 75: google.cloud.asset.v1.AssetService.SearchAllResources:output_type -> google.cloud.asset.v1.SearchAllResourcesResponse
4816	29, // 76: google.cloud.asset.v1.AssetService.SearchAllIamPolicies:output_type -> google.cloud.asset.v1.SearchAllIamPoliciesResponse
4817	32, // 77: google.cloud.asset.v1.AssetService.AnalyzeIamPolicy:output_type -> google.cloud.asset.v1.AnalyzeIamPolicyResponse
4818	61, // 78: google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning:output_type -> google.longrunning.Operation
4819	37, // 79: google.cloud.asset.v1.AssetService.AnalyzeMove:output_type -> google.cloud.asset.v1.AnalyzeMoveResponse
4820	67, // [67:80] is the sub-list for method output_type
4821	54, // [54:67] is the sub-list for method input_type
4822	54, // [54:54] is the sub-list for extension type_name
4823	54, // [54:54] is the sub-list for extension extendee
4824	0,  // [0:54] is the sub-list for field type_name
4825}
4826
4827func init() { file_google_cloud_asset_v1_asset_service_proto_init() }
4828func file_google_cloud_asset_v1_asset_service_proto_init() {
4829	if File_google_cloud_asset_v1_asset_service_proto != nil {
4830		return
4831	}
4832	file_google_cloud_asset_v1_assets_proto_init()
4833	if !protoimpl.UnsafeEnabled {
4834		file_google_cloud_asset_v1_asset_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
4835			switch v := v.(*AnalyzeIamPolicyLongrunningMetadata); i {
4836			case 0:
4837				return &v.state
4838			case 1:
4839				return &v.sizeCache
4840			case 2:
4841				return &v.unknownFields
4842			default:
4843				return nil
4844			}
4845		}
4846		file_google_cloud_asset_v1_asset_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
4847			switch v := v.(*ExportAssetsRequest); i {
4848			case 0:
4849				return &v.state
4850			case 1:
4851				return &v.sizeCache
4852			case 2:
4853				return &v.unknownFields
4854			default:
4855				return nil
4856			}
4857		}
4858		file_google_cloud_asset_v1_asset_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
4859			switch v := v.(*ExportAssetsResponse); i {
4860			case 0:
4861				return &v.state
4862			case 1:
4863				return &v.sizeCache
4864			case 2:
4865				return &v.unknownFields
4866			default:
4867				return nil
4868			}
4869		}
4870		file_google_cloud_asset_v1_asset_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
4871			switch v := v.(*ListAssetsRequest); i {
4872			case 0:
4873				return &v.state
4874			case 1:
4875				return &v.sizeCache
4876			case 2:
4877				return &v.unknownFields
4878			default:
4879				return nil
4880			}
4881		}
4882		file_google_cloud_asset_v1_asset_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
4883			switch v := v.(*ListAssetsResponse); i {
4884			case 0:
4885				return &v.state
4886			case 1:
4887				return &v.sizeCache
4888			case 2:
4889				return &v.unknownFields
4890			default:
4891				return nil
4892			}
4893		}
4894		file_google_cloud_asset_v1_asset_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
4895			switch v := v.(*BatchGetAssetsHistoryRequest); i {
4896			case 0:
4897				return &v.state
4898			case 1:
4899				return &v.sizeCache
4900			case 2:
4901				return &v.unknownFields
4902			default:
4903				return nil
4904			}
4905		}
4906		file_google_cloud_asset_v1_asset_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
4907			switch v := v.(*BatchGetAssetsHistoryResponse); i {
4908			case 0:
4909				return &v.state
4910			case 1:
4911				return &v.sizeCache
4912			case 2:
4913				return &v.unknownFields
4914			default:
4915				return nil
4916			}
4917		}
4918		file_google_cloud_asset_v1_asset_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
4919			switch v := v.(*CreateFeedRequest); i {
4920			case 0:
4921				return &v.state
4922			case 1:
4923				return &v.sizeCache
4924			case 2:
4925				return &v.unknownFields
4926			default:
4927				return nil
4928			}
4929		}
4930		file_google_cloud_asset_v1_asset_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
4931			switch v := v.(*GetFeedRequest); i {
4932			case 0:
4933				return &v.state
4934			case 1:
4935				return &v.sizeCache
4936			case 2:
4937				return &v.unknownFields
4938			default:
4939				return nil
4940			}
4941		}
4942		file_google_cloud_asset_v1_asset_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
4943			switch v := v.(*ListFeedsRequest); i {
4944			case 0:
4945				return &v.state
4946			case 1:
4947				return &v.sizeCache
4948			case 2:
4949				return &v.unknownFields
4950			default:
4951				return nil
4952			}
4953		}
4954		file_google_cloud_asset_v1_asset_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
4955			switch v := v.(*ListFeedsResponse); i {
4956			case 0:
4957				return &v.state
4958			case 1:
4959				return &v.sizeCache
4960			case 2:
4961				return &v.unknownFields
4962			default:
4963				return nil
4964			}
4965		}
4966		file_google_cloud_asset_v1_asset_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
4967			switch v := v.(*UpdateFeedRequest); i {
4968			case 0:
4969				return &v.state
4970			case 1:
4971				return &v.sizeCache
4972			case 2:
4973				return &v.unknownFields
4974			default:
4975				return nil
4976			}
4977		}
4978		file_google_cloud_asset_v1_asset_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
4979			switch v := v.(*DeleteFeedRequest); i {
4980			case 0:
4981				return &v.state
4982			case 1:
4983				return &v.sizeCache
4984			case 2:
4985				return &v.unknownFields
4986			default:
4987				return nil
4988			}
4989		}
4990		file_google_cloud_asset_v1_asset_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
4991			switch v := v.(*OutputConfig); i {
4992			case 0:
4993				return &v.state
4994			case 1:
4995				return &v.sizeCache
4996			case 2:
4997				return &v.unknownFields
4998			default:
4999				return nil
5000			}
5001		}
5002		file_google_cloud_asset_v1_asset_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
5003			switch v := v.(*OutputResult); i {
5004			case 0:
5005				return &v.state
5006			case 1:
5007				return &v.sizeCache
5008			case 2:
5009				return &v.unknownFields
5010			default:
5011				return nil
5012			}
5013		}
5014		file_google_cloud_asset_v1_asset_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
5015			switch v := v.(*GcsOutputResult); i {
5016			case 0:
5017				return &v.state
5018			case 1:
5019				return &v.sizeCache
5020			case 2:
5021				return &v.unknownFields
5022			default:
5023				return nil
5024			}
5025		}
5026		file_google_cloud_asset_v1_asset_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
5027			switch v := v.(*GcsDestination); i {
5028			case 0:
5029				return &v.state
5030			case 1:
5031				return &v.sizeCache
5032			case 2:
5033				return &v.unknownFields
5034			default:
5035				return nil
5036			}
5037		}
5038		file_google_cloud_asset_v1_asset_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
5039			switch v := v.(*BigQueryDestination); i {
5040			case 0:
5041				return &v.state
5042			case 1:
5043				return &v.sizeCache
5044			case 2:
5045				return &v.unknownFields
5046			default:
5047				return nil
5048			}
5049		}
5050		file_google_cloud_asset_v1_asset_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
5051			switch v := v.(*PartitionSpec); i {
5052			case 0:
5053				return &v.state
5054			case 1:
5055				return &v.sizeCache
5056			case 2:
5057				return &v.unknownFields
5058			default:
5059				return nil
5060			}
5061		}
5062		file_google_cloud_asset_v1_asset_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
5063			switch v := v.(*PubsubDestination); i {
5064			case 0:
5065				return &v.state
5066			case 1:
5067				return &v.sizeCache
5068			case 2:
5069				return &v.unknownFields
5070			default:
5071				return nil
5072			}
5073		}
5074		file_google_cloud_asset_v1_asset_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
5075			switch v := v.(*FeedOutputConfig); i {
5076			case 0:
5077				return &v.state
5078			case 1:
5079				return &v.sizeCache
5080			case 2:
5081				return &v.unknownFields
5082			default:
5083				return nil
5084			}
5085		}
5086		file_google_cloud_asset_v1_asset_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
5087			switch v := v.(*Feed); i {
5088			case 0:
5089				return &v.state
5090			case 1:
5091				return &v.sizeCache
5092			case 2:
5093				return &v.unknownFields
5094			default:
5095				return nil
5096			}
5097		}
5098		file_google_cloud_asset_v1_asset_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
5099			switch v := v.(*SearchAllResourcesRequest); i {
5100			case 0:
5101				return &v.state
5102			case 1:
5103				return &v.sizeCache
5104			case 2:
5105				return &v.unknownFields
5106			default:
5107				return nil
5108			}
5109		}
5110		file_google_cloud_asset_v1_asset_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
5111			switch v := v.(*SearchAllResourcesResponse); i {
5112			case 0:
5113				return &v.state
5114			case 1:
5115				return &v.sizeCache
5116			case 2:
5117				return &v.unknownFields
5118			default:
5119				return nil
5120			}
5121		}
5122		file_google_cloud_asset_v1_asset_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
5123			switch v := v.(*SearchAllIamPoliciesRequest); i {
5124			case 0:
5125				return &v.state
5126			case 1:
5127				return &v.sizeCache
5128			case 2:
5129				return &v.unknownFields
5130			default:
5131				return nil
5132			}
5133		}
5134		file_google_cloud_asset_v1_asset_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
5135			switch v := v.(*SearchAllIamPoliciesResponse); i {
5136			case 0:
5137				return &v.state
5138			case 1:
5139				return &v.sizeCache
5140			case 2:
5141				return &v.unknownFields
5142			default:
5143				return nil
5144			}
5145		}
5146		file_google_cloud_asset_v1_asset_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
5147			switch v := v.(*IamPolicyAnalysisQuery); i {
5148			case 0:
5149				return &v.state
5150			case 1:
5151				return &v.sizeCache
5152			case 2:
5153				return &v.unknownFields
5154			default:
5155				return nil
5156			}
5157		}
5158		file_google_cloud_asset_v1_asset_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
5159			switch v := v.(*AnalyzeIamPolicyRequest); i {
5160			case 0:
5161				return &v.state
5162			case 1:
5163				return &v.sizeCache
5164			case 2:
5165				return &v.unknownFields
5166			default:
5167				return nil
5168			}
5169		}
5170		file_google_cloud_asset_v1_asset_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
5171			switch v := v.(*AnalyzeIamPolicyResponse); i {
5172			case 0:
5173				return &v.state
5174			case 1:
5175				return &v.sizeCache
5176			case 2:
5177				return &v.unknownFields
5178			default:
5179				return nil
5180			}
5181		}
5182		file_google_cloud_asset_v1_asset_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
5183			switch v := v.(*IamPolicyAnalysisOutputConfig); i {
5184			case 0:
5185				return &v.state
5186			case 1:
5187				return &v.sizeCache
5188			case 2:
5189				return &v.unknownFields
5190			default:
5191				return nil
5192			}
5193		}
5194		file_google_cloud_asset_v1_asset_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
5195			switch v := v.(*AnalyzeIamPolicyLongrunningRequest); i {
5196			case 0:
5197				return &v.state
5198			case 1:
5199				return &v.sizeCache
5200			case 2:
5201				return &v.unknownFields
5202			default:
5203				return nil
5204			}
5205		}
5206		file_google_cloud_asset_v1_asset_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
5207			switch v := v.(*AnalyzeIamPolicyLongrunningResponse); i {
5208			case 0:
5209				return &v.state
5210			case 1:
5211				return &v.sizeCache
5212			case 2:
5213				return &v.unknownFields
5214			default:
5215				return nil
5216			}
5217		}
5218		file_google_cloud_asset_v1_asset_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
5219			switch v := v.(*AnalyzeMoveRequest); i {
5220			case 0:
5221				return &v.state
5222			case 1:
5223				return &v.sizeCache
5224			case 2:
5225				return &v.unknownFields
5226			default:
5227				return nil
5228			}
5229		}
5230		file_google_cloud_asset_v1_asset_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
5231			switch v := v.(*AnalyzeMoveResponse); i {
5232			case 0:
5233				return &v.state
5234			case 1:
5235				return &v.sizeCache
5236			case 2:
5237				return &v.unknownFields
5238			default:
5239				return nil
5240			}
5241		}
5242		file_google_cloud_asset_v1_asset_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
5243			switch v := v.(*MoveAnalysis); i {
5244			case 0:
5245				return &v.state
5246			case 1:
5247				return &v.sizeCache
5248			case 2:
5249				return &v.unknownFields
5250			default:
5251				return nil
5252			}
5253		}
5254		file_google_cloud_asset_v1_asset_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
5255			switch v := v.(*MoveAnalysisResult); i {
5256			case 0:
5257				return &v.state
5258			case 1:
5259				return &v.sizeCache
5260			case 2:
5261				return &v.unknownFields
5262			default:
5263				return nil
5264			}
5265		}
5266		file_google_cloud_asset_v1_asset_service_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
5267			switch v := v.(*MoveImpact); i {
5268			case 0:
5269				return &v.state
5270			case 1:
5271				return &v.sizeCache
5272			case 2:
5273				return &v.unknownFields
5274			default:
5275				return nil
5276			}
5277		}
5278		file_google_cloud_asset_v1_asset_service_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
5279			switch v := v.(*IamPolicyAnalysisQuery_ResourceSelector); i {
5280			case 0:
5281				return &v.state
5282			case 1:
5283				return &v.sizeCache
5284			case 2:
5285				return &v.unknownFields
5286			default:
5287				return nil
5288			}
5289		}
5290		file_google_cloud_asset_v1_asset_service_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
5291			switch v := v.(*IamPolicyAnalysisQuery_IdentitySelector); i {
5292			case 0:
5293				return &v.state
5294			case 1:
5295				return &v.sizeCache
5296			case 2:
5297				return &v.unknownFields
5298			default:
5299				return nil
5300			}
5301		}
5302		file_google_cloud_asset_v1_asset_service_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
5303			switch v := v.(*IamPolicyAnalysisQuery_AccessSelector); i {
5304			case 0:
5305				return &v.state
5306			case 1:
5307				return &v.sizeCache
5308			case 2:
5309				return &v.unknownFields
5310			default:
5311				return nil
5312			}
5313		}
5314		file_google_cloud_asset_v1_asset_service_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
5315			switch v := v.(*IamPolicyAnalysisQuery_Options); i {
5316			case 0:
5317				return &v.state
5318			case 1:
5319				return &v.sizeCache
5320			case 2:
5321				return &v.unknownFields
5322			default:
5323				return nil
5324			}
5325		}
5326		file_google_cloud_asset_v1_asset_service_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
5327			switch v := v.(*IamPolicyAnalysisQuery_ConditionContext); i {
5328			case 0:
5329				return &v.state
5330			case 1:
5331				return &v.sizeCache
5332			case 2:
5333				return &v.unknownFields
5334			default:
5335				return nil
5336			}
5337		}
5338		file_google_cloud_asset_v1_asset_service_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
5339			switch v := v.(*AnalyzeIamPolicyResponse_IamPolicyAnalysis); i {
5340			case 0:
5341				return &v.state
5342			case 1:
5343				return &v.sizeCache
5344			case 2:
5345				return &v.unknownFields
5346			default:
5347				return nil
5348			}
5349		}
5350		file_google_cloud_asset_v1_asset_service_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
5351			switch v := v.(*IamPolicyAnalysisOutputConfig_GcsDestination); i {
5352			case 0:
5353				return &v.state
5354			case 1:
5355				return &v.sizeCache
5356			case 2:
5357				return &v.unknownFields
5358			default:
5359				return nil
5360			}
5361		}
5362		file_google_cloud_asset_v1_asset_service_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
5363			switch v := v.(*IamPolicyAnalysisOutputConfig_BigQueryDestination); i {
5364			case 0:
5365				return &v.state
5366			case 1:
5367				return &v.sizeCache
5368			case 2:
5369				return &v.unknownFields
5370			default:
5371				return nil
5372			}
5373		}
5374	}
5375	file_google_cloud_asset_v1_asset_service_proto_msgTypes[13].OneofWrappers = []interface{}{
5376		(*OutputConfig_GcsDestination)(nil),
5377		(*OutputConfig_BigqueryDestination)(nil),
5378	}
5379	file_google_cloud_asset_v1_asset_service_proto_msgTypes[14].OneofWrappers = []interface{}{
5380		(*OutputResult_GcsResult)(nil),
5381	}
5382	file_google_cloud_asset_v1_asset_service_proto_msgTypes[16].OneofWrappers = []interface{}{
5383		(*GcsDestination_Uri)(nil),
5384		(*GcsDestination_UriPrefix)(nil),
5385	}
5386	file_google_cloud_asset_v1_asset_service_proto_msgTypes[20].OneofWrappers = []interface{}{
5387		(*FeedOutputConfig_PubsubDestination)(nil),
5388	}
5389	file_google_cloud_asset_v1_asset_service_proto_msgTypes[29].OneofWrappers = []interface{}{
5390		(*IamPolicyAnalysisOutputConfig_GcsDestination_)(nil),
5391		(*IamPolicyAnalysisOutputConfig_BigqueryDestination)(nil),
5392	}
5393	file_google_cloud_asset_v1_asset_service_proto_msgTypes[34].OneofWrappers = []interface{}{
5394		(*MoveAnalysis_Analysis)(nil),
5395		(*MoveAnalysis_Error)(nil),
5396	}
5397	file_google_cloud_asset_v1_asset_service_proto_msgTypes[41].OneofWrappers = []interface{}{
5398		(*IamPolicyAnalysisQuery_ConditionContext_AccessTime)(nil),
5399	}
5400	type x struct{}
5401	out := protoimpl.TypeBuilder{
5402		File: protoimpl.DescBuilder{
5403			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
5404			RawDescriptor: file_google_cloud_asset_v1_asset_service_proto_rawDesc,
5405			NumEnums:      4,
5406			NumMessages:   45,
5407			NumExtensions: 0,
5408			NumServices:   1,
5409		},
5410		GoTypes:           file_google_cloud_asset_v1_asset_service_proto_goTypes,
5411		DependencyIndexes: file_google_cloud_asset_v1_asset_service_proto_depIdxs,
5412		EnumInfos:         file_google_cloud_asset_v1_asset_service_proto_enumTypes,
5413		MessageInfos:      file_google_cloud_asset_v1_asset_service_proto_msgTypes,
5414	}.Build()
5415	File_google_cloud_asset_v1_asset_service_proto = out.File
5416	file_google_cloud_asset_v1_asset_service_proto_rawDesc = nil
5417	file_google_cloud_asset_v1_asset_service_proto_goTypes = nil
5418	file_google_cloud_asset_v1_asset_service_proto_depIdxs = nil
5419}
5420
5421// Reference imports to suppress errors if they are not otherwise used.
5422var _ context.Context
5423var _ grpc.ClientConnInterface
5424
5425// This is a compile-time assertion to ensure that this generated file
5426// is compatible with the grpc package it is being compiled against.
5427const _ = grpc.SupportPackageIsVersion6
5428
5429// AssetServiceClient is the client API for AssetService service.
5430//
5431// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
5432type AssetServiceClient interface {
5433	// Exports assets with time and resource types to a given Cloud Storage
5434	// location/BigQuery table. For Cloud Storage location destinations, the
5435	// output format is newline-delimited JSON. Each line represents a
5436	// [google.cloud.asset.v1.Asset][google.cloud.asset.v1.Asset] in the JSON format; for BigQuery table
5437	// destinations, the output table stores the fields in asset proto as columns.
5438	// This API implements the [google.longrunning.Operation][google.longrunning.Operation] API
5439	// , which allows you to keep track of the export. We recommend intervals of
5440	// at least 2 seconds with exponential retry to poll the export operation
5441	// result. For regular-size resource parent, the export operation usually
5442	// finishes within 5 minutes.
5443	ExportAssets(ctx context.Context, in *ExportAssetsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
5444	// Lists assets with time and resource types and returns paged results in
5445	// response.
5446	ListAssets(ctx context.Context, in *ListAssetsRequest, opts ...grpc.CallOption) (*ListAssetsResponse, error)
5447	// Batch gets the update history of assets that overlap a time window.
5448	// For IAM_POLICY content, this API outputs history when the asset and its
5449	// attached IAM POLICY both exist. This can create gaps in the output history.
5450	// Otherwise, this API outputs history with asset in both non-delete or
5451	// deleted status.
5452	// If a specified asset does not exist, this API returns an INVALID_ARGUMENT
5453	// error.
5454	BatchGetAssetsHistory(ctx context.Context, in *BatchGetAssetsHistoryRequest, opts ...grpc.CallOption) (*BatchGetAssetsHistoryResponse, error)
5455	// Creates a feed in a parent project/folder/organization to listen to its
5456	// asset updates.
5457	CreateFeed(ctx context.Context, in *CreateFeedRequest, opts ...grpc.CallOption) (*Feed, error)
5458	// Gets details about an asset feed.
5459	GetFeed(ctx context.Context, in *GetFeedRequest, opts ...grpc.CallOption) (*Feed, error)
5460	// Lists all asset feeds in a parent project/folder/organization.
5461	ListFeeds(ctx context.Context, in *ListFeedsRequest, opts ...grpc.CallOption) (*ListFeedsResponse, error)
5462	// Updates an asset feed configuration.
5463	UpdateFeed(ctx context.Context, in *UpdateFeedRequest, opts ...grpc.CallOption) (*Feed, error)
5464	// Deletes an asset feed.
5465	DeleteFeed(ctx context.Context, in *DeleteFeedRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
5466	// Searches all Cloud resources within the specified scope, such as a project,
5467	// folder, or organization. The caller must be granted the
5468	// `cloudasset.assets.searchAllResources` permission on the desired scope,
5469	// otherwise the request will be rejected.
5470	SearchAllResources(ctx context.Context, in *SearchAllResourcesRequest, opts ...grpc.CallOption) (*SearchAllResourcesResponse, error)
5471	// Searches all IAM policies within the specified scope, such as a project,
5472	// folder, or organization. The caller must be granted the
5473	// `cloudasset.assets.searchAllIamPolicies` permission on the desired scope,
5474	// otherwise the request will be rejected.
5475	SearchAllIamPolicies(ctx context.Context, in *SearchAllIamPoliciesRequest, opts ...grpc.CallOption) (*SearchAllIamPoliciesResponse, error)
5476	// Analyzes IAM policies to answer which identities have what accesses on
5477	// which resources.
5478	AnalyzeIamPolicy(ctx context.Context, in *AnalyzeIamPolicyRequest, opts ...grpc.CallOption) (*AnalyzeIamPolicyResponse, error)
5479	// Analyzes IAM policies asynchronously to answer which identities have what
5480	// accesses on which resources, and writes the analysis results to a Google
5481	// Cloud Storage or a BigQuery destination. For Cloud Storage destination, the
5482	// output format is the JSON format that represents a
5483	// [AnalyzeIamPolicyResponse][google.cloud.asset.v1.AnalyzeIamPolicyResponse]. This method implements the
5484	// [google.longrunning.Operation][google.longrunning.Operation], which allows you to track the operation
5485	// status. We recommend intervals of at least 2 seconds with exponential
5486	// backoff retry to poll the operation result. The metadata contains the
5487	// metadata for the long-running operation.
5488	AnalyzeIamPolicyLongrunning(ctx context.Context, in *AnalyzeIamPolicyLongrunningRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
5489	// Analyze moving a resource to a specified destination without kicking off
5490	// the actual move. The analysis is best effort depending on the user's
5491	// permissions of viewing different hierarchical policies and configurations.
5492	// The policies and configuration are subject to change before the actual
5493	// resource migration takes place.
5494	AnalyzeMove(ctx context.Context, in *AnalyzeMoveRequest, opts ...grpc.CallOption) (*AnalyzeMoveResponse, error)
5495}
5496
5497type assetServiceClient struct {
5498	cc grpc.ClientConnInterface
5499}
5500
5501func NewAssetServiceClient(cc grpc.ClientConnInterface) AssetServiceClient {
5502	return &assetServiceClient{cc}
5503}
5504
5505func (c *assetServiceClient) ExportAssets(ctx context.Context, in *ExportAssetsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
5506	out := new(longrunning.Operation)
5507	err := c.cc.Invoke(ctx, "/google.cloud.asset.v1.AssetService/ExportAssets", in, out, opts...)
5508	if err != nil {
5509		return nil, err
5510	}
5511	return out, nil
5512}
5513
5514func (c *assetServiceClient) ListAssets(ctx context.Context, in *ListAssetsRequest, opts ...grpc.CallOption) (*ListAssetsResponse, error) {
5515	out := new(ListAssetsResponse)
5516	err := c.cc.Invoke(ctx, "/google.cloud.asset.v1.AssetService/ListAssets", in, out, opts...)
5517	if err != nil {
5518		return nil, err
5519	}
5520	return out, nil
5521}
5522
5523func (c *assetServiceClient) BatchGetAssetsHistory(ctx context.Context, in *BatchGetAssetsHistoryRequest, opts ...grpc.CallOption) (*BatchGetAssetsHistoryResponse, error) {
5524	out := new(BatchGetAssetsHistoryResponse)
5525	err := c.cc.Invoke(ctx, "/google.cloud.asset.v1.AssetService/BatchGetAssetsHistory", in, out, opts...)
5526	if err != nil {
5527		return nil, err
5528	}
5529	return out, nil
5530}
5531
5532func (c *assetServiceClient) CreateFeed(ctx context.Context, in *CreateFeedRequest, opts ...grpc.CallOption) (*Feed, error) {
5533	out := new(Feed)
5534	err := c.cc.Invoke(ctx, "/google.cloud.asset.v1.AssetService/CreateFeed", in, out, opts...)
5535	if err != nil {
5536		return nil, err
5537	}
5538	return out, nil
5539}
5540
5541func (c *assetServiceClient) GetFeed(ctx context.Context, in *GetFeedRequest, opts ...grpc.CallOption) (*Feed, error) {
5542	out := new(Feed)
5543	err := c.cc.Invoke(ctx, "/google.cloud.asset.v1.AssetService/GetFeed", in, out, opts...)
5544	if err != nil {
5545		return nil, err
5546	}
5547	return out, nil
5548}
5549
5550func (c *assetServiceClient) ListFeeds(ctx context.Context, in *ListFeedsRequest, opts ...grpc.CallOption) (*ListFeedsResponse, error) {
5551	out := new(ListFeedsResponse)
5552	err := c.cc.Invoke(ctx, "/google.cloud.asset.v1.AssetService/ListFeeds", in, out, opts...)
5553	if err != nil {
5554		return nil, err
5555	}
5556	return out, nil
5557}
5558
5559func (c *assetServiceClient) UpdateFeed(ctx context.Context, in *UpdateFeedRequest, opts ...grpc.CallOption) (*Feed, error) {
5560	out := new(Feed)
5561	err := c.cc.Invoke(ctx, "/google.cloud.asset.v1.AssetService/UpdateFeed", in, out, opts...)
5562	if err != nil {
5563		return nil, err
5564	}
5565	return out, nil
5566}
5567
5568func (c *assetServiceClient) DeleteFeed(ctx context.Context, in *DeleteFeedRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
5569	out := new(emptypb.Empty)
5570	err := c.cc.Invoke(ctx, "/google.cloud.asset.v1.AssetService/DeleteFeed", in, out, opts...)
5571	if err != nil {
5572		return nil, err
5573	}
5574	return out, nil
5575}
5576
5577func (c *assetServiceClient) SearchAllResources(ctx context.Context, in *SearchAllResourcesRequest, opts ...grpc.CallOption) (*SearchAllResourcesResponse, error) {
5578	out := new(SearchAllResourcesResponse)
5579	err := c.cc.Invoke(ctx, "/google.cloud.asset.v1.AssetService/SearchAllResources", in, out, opts...)
5580	if err != nil {
5581		return nil, err
5582	}
5583	return out, nil
5584}
5585
5586func (c *assetServiceClient) SearchAllIamPolicies(ctx context.Context, in *SearchAllIamPoliciesRequest, opts ...grpc.CallOption) (*SearchAllIamPoliciesResponse, error) {
5587	out := new(SearchAllIamPoliciesResponse)
5588	err := c.cc.Invoke(ctx, "/google.cloud.asset.v1.AssetService/SearchAllIamPolicies", in, out, opts...)
5589	if err != nil {
5590		return nil, err
5591	}
5592	return out, nil
5593}
5594
5595func (c *assetServiceClient) AnalyzeIamPolicy(ctx context.Context, in *AnalyzeIamPolicyRequest, opts ...grpc.CallOption) (*AnalyzeIamPolicyResponse, error) {
5596	out := new(AnalyzeIamPolicyResponse)
5597	err := c.cc.Invoke(ctx, "/google.cloud.asset.v1.AssetService/AnalyzeIamPolicy", in, out, opts...)
5598	if err != nil {
5599		return nil, err
5600	}
5601	return out, nil
5602}
5603
5604func (c *assetServiceClient) AnalyzeIamPolicyLongrunning(ctx context.Context, in *AnalyzeIamPolicyLongrunningRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
5605	out := new(longrunning.Operation)
5606	err := c.cc.Invoke(ctx, "/google.cloud.asset.v1.AssetService/AnalyzeIamPolicyLongrunning", in, out, opts...)
5607	if err != nil {
5608		return nil, err
5609	}
5610	return out, nil
5611}
5612
5613func (c *assetServiceClient) AnalyzeMove(ctx context.Context, in *AnalyzeMoveRequest, opts ...grpc.CallOption) (*AnalyzeMoveResponse, error) {
5614	out := new(AnalyzeMoveResponse)
5615	err := c.cc.Invoke(ctx, "/google.cloud.asset.v1.AssetService/AnalyzeMove", in, out, opts...)
5616	if err != nil {
5617		return nil, err
5618	}
5619	return out, nil
5620}
5621
5622// AssetServiceServer is the server API for AssetService service.
5623type AssetServiceServer interface {
5624	// Exports assets with time and resource types to a given Cloud Storage
5625	// location/BigQuery table. For Cloud Storage location destinations, the
5626	// output format is newline-delimited JSON. Each line represents a
5627	// [google.cloud.asset.v1.Asset][google.cloud.asset.v1.Asset] in the JSON format; for BigQuery table
5628	// destinations, the output table stores the fields in asset proto as columns.
5629	// This API implements the [google.longrunning.Operation][google.longrunning.Operation] API
5630	// , which allows you to keep track of the export. We recommend intervals of
5631	// at least 2 seconds with exponential retry to poll the export operation
5632	// result. For regular-size resource parent, the export operation usually
5633	// finishes within 5 minutes.
5634	ExportAssets(context.Context, *ExportAssetsRequest) (*longrunning.Operation, error)
5635	// Lists assets with time and resource types and returns paged results in
5636	// response.
5637	ListAssets(context.Context, *ListAssetsRequest) (*ListAssetsResponse, error)
5638	// Batch gets the update history of assets that overlap a time window.
5639	// For IAM_POLICY content, this API outputs history when the asset and its
5640	// attached IAM POLICY both exist. This can create gaps in the output history.
5641	// Otherwise, this API outputs history with asset in both non-delete or
5642	// deleted status.
5643	// If a specified asset does not exist, this API returns an INVALID_ARGUMENT
5644	// error.
5645	BatchGetAssetsHistory(context.Context, *BatchGetAssetsHistoryRequest) (*BatchGetAssetsHistoryResponse, error)
5646	// Creates a feed in a parent project/folder/organization to listen to its
5647	// asset updates.
5648	CreateFeed(context.Context, *CreateFeedRequest) (*Feed, error)
5649	// Gets details about an asset feed.
5650	GetFeed(context.Context, *GetFeedRequest) (*Feed, error)
5651	// Lists all asset feeds in a parent project/folder/organization.
5652	ListFeeds(context.Context, *ListFeedsRequest) (*ListFeedsResponse, error)
5653	// Updates an asset feed configuration.
5654	UpdateFeed(context.Context, *UpdateFeedRequest) (*Feed, error)
5655	// Deletes an asset feed.
5656	DeleteFeed(context.Context, *DeleteFeedRequest) (*emptypb.Empty, error)
5657	// Searches all Cloud resources within the specified scope, such as a project,
5658	// folder, or organization. The caller must be granted the
5659	// `cloudasset.assets.searchAllResources` permission on the desired scope,
5660	// otherwise the request will be rejected.
5661	SearchAllResources(context.Context, *SearchAllResourcesRequest) (*SearchAllResourcesResponse, error)
5662	// Searches all IAM policies within the specified scope, such as a project,
5663	// folder, or organization. The caller must be granted the
5664	// `cloudasset.assets.searchAllIamPolicies` permission on the desired scope,
5665	// otherwise the request will be rejected.
5666	SearchAllIamPolicies(context.Context, *SearchAllIamPoliciesRequest) (*SearchAllIamPoliciesResponse, error)
5667	// Analyzes IAM policies to answer which identities have what accesses on
5668	// which resources.
5669	AnalyzeIamPolicy(context.Context, *AnalyzeIamPolicyRequest) (*AnalyzeIamPolicyResponse, error)
5670	// Analyzes IAM policies asynchronously to answer which identities have what
5671	// accesses on which resources, and writes the analysis results to a Google
5672	// Cloud Storage or a BigQuery destination. For Cloud Storage destination, the
5673	// output format is the JSON format that represents a
5674	// [AnalyzeIamPolicyResponse][google.cloud.asset.v1.AnalyzeIamPolicyResponse]. This method implements the
5675	// [google.longrunning.Operation][google.longrunning.Operation], which allows you to track the operation
5676	// status. We recommend intervals of at least 2 seconds with exponential
5677	// backoff retry to poll the operation result. The metadata contains the
5678	// metadata for the long-running operation.
5679	AnalyzeIamPolicyLongrunning(context.Context, *AnalyzeIamPolicyLongrunningRequest) (*longrunning.Operation, error)
5680	// Analyze moving a resource to a specified destination without kicking off
5681	// the actual move. The analysis is best effort depending on the user's
5682	// permissions of viewing different hierarchical policies and configurations.
5683	// The policies and configuration are subject to change before the actual
5684	// resource migration takes place.
5685	AnalyzeMove(context.Context, *AnalyzeMoveRequest) (*AnalyzeMoveResponse, error)
5686}
5687
5688// UnimplementedAssetServiceServer can be embedded to have forward compatible implementations.
5689type UnimplementedAssetServiceServer struct {
5690}
5691
5692func (*UnimplementedAssetServiceServer) ExportAssets(context.Context, *ExportAssetsRequest) (*longrunning.Operation, error) {
5693	return nil, status1.Errorf(codes.Unimplemented, "method ExportAssets not implemented")
5694}
5695func (*UnimplementedAssetServiceServer) ListAssets(context.Context, *ListAssetsRequest) (*ListAssetsResponse, error) {
5696	return nil, status1.Errorf(codes.Unimplemented, "method ListAssets not implemented")
5697}
5698func (*UnimplementedAssetServiceServer) BatchGetAssetsHistory(context.Context, *BatchGetAssetsHistoryRequest) (*BatchGetAssetsHistoryResponse, error) {
5699	return nil, status1.Errorf(codes.Unimplemented, "method BatchGetAssetsHistory not implemented")
5700}
5701func (*UnimplementedAssetServiceServer) CreateFeed(context.Context, *CreateFeedRequest) (*Feed, error) {
5702	return nil, status1.Errorf(codes.Unimplemented, "method CreateFeed not implemented")
5703}
5704func (*UnimplementedAssetServiceServer) GetFeed(context.Context, *GetFeedRequest) (*Feed, error) {
5705	return nil, status1.Errorf(codes.Unimplemented, "method GetFeed not implemented")
5706}
5707func (*UnimplementedAssetServiceServer) ListFeeds(context.Context, *ListFeedsRequest) (*ListFeedsResponse, error) {
5708	return nil, status1.Errorf(codes.Unimplemented, "method ListFeeds not implemented")
5709}
5710func (*UnimplementedAssetServiceServer) UpdateFeed(context.Context, *UpdateFeedRequest) (*Feed, error) {
5711	return nil, status1.Errorf(codes.Unimplemented, "method UpdateFeed not implemented")
5712}
5713func (*UnimplementedAssetServiceServer) DeleteFeed(context.Context, *DeleteFeedRequest) (*emptypb.Empty, error) {
5714	return nil, status1.Errorf(codes.Unimplemented, "method DeleteFeed not implemented")
5715}
5716func (*UnimplementedAssetServiceServer) SearchAllResources(context.Context, *SearchAllResourcesRequest) (*SearchAllResourcesResponse, error) {
5717	return nil, status1.Errorf(codes.Unimplemented, "method SearchAllResources not implemented")
5718}
5719func (*UnimplementedAssetServiceServer) SearchAllIamPolicies(context.Context, *SearchAllIamPoliciesRequest) (*SearchAllIamPoliciesResponse, error) {
5720	return nil, status1.Errorf(codes.Unimplemented, "method SearchAllIamPolicies not implemented")
5721}
5722func (*UnimplementedAssetServiceServer) AnalyzeIamPolicy(context.Context, *AnalyzeIamPolicyRequest) (*AnalyzeIamPolicyResponse, error) {
5723	return nil, status1.Errorf(codes.Unimplemented, "method AnalyzeIamPolicy not implemented")
5724}
5725func (*UnimplementedAssetServiceServer) AnalyzeIamPolicyLongrunning(context.Context, *AnalyzeIamPolicyLongrunningRequest) (*longrunning.Operation, error) {
5726	return nil, status1.Errorf(codes.Unimplemented, "method AnalyzeIamPolicyLongrunning not implemented")
5727}
5728func (*UnimplementedAssetServiceServer) AnalyzeMove(context.Context, *AnalyzeMoveRequest) (*AnalyzeMoveResponse, error) {
5729	return nil, status1.Errorf(codes.Unimplemented, "method AnalyzeMove not implemented")
5730}
5731
5732func RegisterAssetServiceServer(s *grpc.Server, srv AssetServiceServer) {
5733	s.RegisterService(&_AssetService_serviceDesc, srv)
5734}
5735
5736func _AssetService_ExportAssets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5737	in := new(ExportAssetsRequest)
5738	if err := dec(in); err != nil {
5739		return nil, err
5740	}
5741	if interceptor == nil {
5742		return srv.(AssetServiceServer).ExportAssets(ctx, in)
5743	}
5744	info := &grpc.UnaryServerInfo{
5745		Server:     srv,
5746		FullMethod: "/google.cloud.asset.v1.AssetService/ExportAssets",
5747	}
5748	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5749		return srv.(AssetServiceServer).ExportAssets(ctx, req.(*ExportAssetsRequest))
5750	}
5751	return interceptor(ctx, in, info, handler)
5752}
5753
5754func _AssetService_ListAssets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5755	in := new(ListAssetsRequest)
5756	if err := dec(in); err != nil {
5757		return nil, err
5758	}
5759	if interceptor == nil {
5760		return srv.(AssetServiceServer).ListAssets(ctx, in)
5761	}
5762	info := &grpc.UnaryServerInfo{
5763		Server:     srv,
5764		FullMethod: "/google.cloud.asset.v1.AssetService/ListAssets",
5765	}
5766	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5767		return srv.(AssetServiceServer).ListAssets(ctx, req.(*ListAssetsRequest))
5768	}
5769	return interceptor(ctx, in, info, handler)
5770}
5771
5772func _AssetService_BatchGetAssetsHistory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5773	in := new(BatchGetAssetsHistoryRequest)
5774	if err := dec(in); err != nil {
5775		return nil, err
5776	}
5777	if interceptor == nil {
5778		return srv.(AssetServiceServer).BatchGetAssetsHistory(ctx, in)
5779	}
5780	info := &grpc.UnaryServerInfo{
5781		Server:     srv,
5782		FullMethod: "/google.cloud.asset.v1.AssetService/BatchGetAssetsHistory",
5783	}
5784	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5785		return srv.(AssetServiceServer).BatchGetAssetsHistory(ctx, req.(*BatchGetAssetsHistoryRequest))
5786	}
5787	return interceptor(ctx, in, info, handler)
5788}
5789
5790func _AssetService_CreateFeed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5791	in := new(CreateFeedRequest)
5792	if err := dec(in); err != nil {
5793		return nil, err
5794	}
5795	if interceptor == nil {
5796		return srv.(AssetServiceServer).CreateFeed(ctx, in)
5797	}
5798	info := &grpc.UnaryServerInfo{
5799		Server:     srv,
5800		FullMethod: "/google.cloud.asset.v1.AssetService/CreateFeed",
5801	}
5802	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5803		return srv.(AssetServiceServer).CreateFeed(ctx, req.(*CreateFeedRequest))
5804	}
5805	return interceptor(ctx, in, info, handler)
5806}
5807
5808func _AssetService_GetFeed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5809	in := new(GetFeedRequest)
5810	if err := dec(in); err != nil {
5811		return nil, err
5812	}
5813	if interceptor == nil {
5814		return srv.(AssetServiceServer).GetFeed(ctx, in)
5815	}
5816	info := &grpc.UnaryServerInfo{
5817		Server:     srv,
5818		FullMethod: "/google.cloud.asset.v1.AssetService/GetFeed",
5819	}
5820	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5821		return srv.(AssetServiceServer).GetFeed(ctx, req.(*GetFeedRequest))
5822	}
5823	return interceptor(ctx, in, info, handler)
5824}
5825
5826func _AssetService_ListFeeds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5827	in := new(ListFeedsRequest)
5828	if err := dec(in); err != nil {
5829		return nil, err
5830	}
5831	if interceptor == nil {
5832		return srv.(AssetServiceServer).ListFeeds(ctx, in)
5833	}
5834	info := &grpc.UnaryServerInfo{
5835		Server:     srv,
5836		FullMethod: "/google.cloud.asset.v1.AssetService/ListFeeds",
5837	}
5838	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5839		return srv.(AssetServiceServer).ListFeeds(ctx, req.(*ListFeedsRequest))
5840	}
5841	return interceptor(ctx, in, info, handler)
5842}
5843
5844func _AssetService_UpdateFeed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5845	in := new(UpdateFeedRequest)
5846	if err := dec(in); err != nil {
5847		return nil, err
5848	}
5849	if interceptor == nil {
5850		return srv.(AssetServiceServer).UpdateFeed(ctx, in)
5851	}
5852	info := &grpc.UnaryServerInfo{
5853		Server:     srv,
5854		FullMethod: "/google.cloud.asset.v1.AssetService/UpdateFeed",
5855	}
5856	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5857		return srv.(AssetServiceServer).UpdateFeed(ctx, req.(*UpdateFeedRequest))
5858	}
5859	return interceptor(ctx, in, info, handler)
5860}
5861
5862func _AssetService_DeleteFeed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5863	in := new(DeleteFeedRequest)
5864	if err := dec(in); err != nil {
5865		return nil, err
5866	}
5867	if interceptor == nil {
5868		return srv.(AssetServiceServer).DeleteFeed(ctx, in)
5869	}
5870	info := &grpc.UnaryServerInfo{
5871		Server:     srv,
5872		FullMethod: "/google.cloud.asset.v1.AssetService/DeleteFeed",
5873	}
5874	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5875		return srv.(AssetServiceServer).DeleteFeed(ctx, req.(*DeleteFeedRequest))
5876	}
5877	return interceptor(ctx, in, info, handler)
5878}
5879
5880func _AssetService_SearchAllResources_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5881	in := new(SearchAllResourcesRequest)
5882	if err := dec(in); err != nil {
5883		return nil, err
5884	}
5885	if interceptor == nil {
5886		return srv.(AssetServiceServer).SearchAllResources(ctx, in)
5887	}
5888	info := &grpc.UnaryServerInfo{
5889		Server:     srv,
5890		FullMethod: "/google.cloud.asset.v1.AssetService/SearchAllResources",
5891	}
5892	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5893		return srv.(AssetServiceServer).SearchAllResources(ctx, req.(*SearchAllResourcesRequest))
5894	}
5895	return interceptor(ctx, in, info, handler)
5896}
5897
5898func _AssetService_SearchAllIamPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5899	in := new(SearchAllIamPoliciesRequest)
5900	if err := dec(in); err != nil {
5901		return nil, err
5902	}
5903	if interceptor == nil {
5904		return srv.(AssetServiceServer).SearchAllIamPolicies(ctx, in)
5905	}
5906	info := &grpc.UnaryServerInfo{
5907		Server:     srv,
5908		FullMethod: "/google.cloud.asset.v1.AssetService/SearchAllIamPolicies",
5909	}
5910	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5911		return srv.(AssetServiceServer).SearchAllIamPolicies(ctx, req.(*SearchAllIamPoliciesRequest))
5912	}
5913	return interceptor(ctx, in, info, handler)
5914}
5915
5916func _AssetService_AnalyzeIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5917	in := new(AnalyzeIamPolicyRequest)
5918	if err := dec(in); err != nil {
5919		return nil, err
5920	}
5921	if interceptor == nil {
5922		return srv.(AssetServiceServer).AnalyzeIamPolicy(ctx, in)
5923	}
5924	info := &grpc.UnaryServerInfo{
5925		Server:     srv,
5926		FullMethod: "/google.cloud.asset.v1.AssetService/AnalyzeIamPolicy",
5927	}
5928	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5929		return srv.(AssetServiceServer).AnalyzeIamPolicy(ctx, req.(*AnalyzeIamPolicyRequest))
5930	}
5931	return interceptor(ctx, in, info, handler)
5932}
5933
5934func _AssetService_AnalyzeIamPolicyLongrunning_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5935	in := new(AnalyzeIamPolicyLongrunningRequest)
5936	if err := dec(in); err != nil {
5937		return nil, err
5938	}
5939	if interceptor == nil {
5940		return srv.(AssetServiceServer).AnalyzeIamPolicyLongrunning(ctx, in)
5941	}
5942	info := &grpc.UnaryServerInfo{
5943		Server:     srv,
5944		FullMethod: "/google.cloud.asset.v1.AssetService/AnalyzeIamPolicyLongrunning",
5945	}
5946	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5947		return srv.(AssetServiceServer).AnalyzeIamPolicyLongrunning(ctx, req.(*AnalyzeIamPolicyLongrunningRequest))
5948	}
5949	return interceptor(ctx, in, info, handler)
5950}
5951
5952func _AssetService_AnalyzeMove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5953	in := new(AnalyzeMoveRequest)
5954	if err := dec(in); err != nil {
5955		return nil, err
5956	}
5957	if interceptor == nil {
5958		return srv.(AssetServiceServer).AnalyzeMove(ctx, in)
5959	}
5960	info := &grpc.UnaryServerInfo{
5961		Server:     srv,
5962		FullMethod: "/google.cloud.asset.v1.AssetService/AnalyzeMove",
5963	}
5964	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5965		return srv.(AssetServiceServer).AnalyzeMove(ctx, req.(*AnalyzeMoveRequest))
5966	}
5967	return interceptor(ctx, in, info, handler)
5968}
5969
5970var _AssetService_serviceDesc = grpc.ServiceDesc{
5971	ServiceName: "google.cloud.asset.v1.AssetService",
5972	HandlerType: (*AssetServiceServer)(nil),
5973	Methods: []grpc.MethodDesc{
5974		{
5975			MethodName: "ExportAssets",
5976			Handler:    _AssetService_ExportAssets_Handler,
5977		},
5978		{
5979			MethodName: "ListAssets",
5980			Handler:    _AssetService_ListAssets_Handler,
5981		},
5982		{
5983			MethodName: "BatchGetAssetsHistory",
5984			Handler:    _AssetService_BatchGetAssetsHistory_Handler,
5985		},
5986		{
5987			MethodName: "CreateFeed",
5988			Handler:    _AssetService_CreateFeed_Handler,
5989		},
5990		{
5991			MethodName: "GetFeed",
5992			Handler:    _AssetService_GetFeed_Handler,
5993		},
5994		{
5995			MethodName: "ListFeeds",
5996			Handler:    _AssetService_ListFeeds_Handler,
5997		},
5998		{
5999			MethodName: "UpdateFeed",
6000			Handler:    _AssetService_UpdateFeed_Handler,
6001		},
6002		{
6003			MethodName: "DeleteFeed",
6004			Handler:    _AssetService_DeleteFeed_Handler,
6005		},
6006		{
6007			MethodName: "SearchAllResources",
6008			Handler:    _AssetService_SearchAllResources_Handler,
6009		},
6010		{
6011			MethodName: "SearchAllIamPolicies",
6012			Handler:    _AssetService_SearchAllIamPolicies_Handler,
6013		},
6014		{
6015			MethodName: "AnalyzeIamPolicy",
6016			Handler:    _AssetService_AnalyzeIamPolicy_Handler,
6017		},
6018		{
6019			MethodName: "AnalyzeIamPolicyLongrunning",
6020			Handler:    _AssetService_AnalyzeIamPolicyLongrunning_Handler,
6021		},
6022		{
6023			MethodName: "AnalyzeMove",
6024			Handler:    _AssetService_AnalyzeMove_Handler,
6025		},
6026	},
6027	Streams:  []grpc.StreamDesc{},
6028	Metadata: "google/cloud/asset/v1/asset_service.proto",
6029}
6030