...

Source file src/google.golang.org/genproto/googleapis/cloud/asset/v1p4beta1/asset_service.pb.go

Documentation: google.golang.org/genproto/googleapis/cloud/asset/v1p4beta1

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

View as plain text