...

Source file src/cloud.google.com/go/kms/inventory/apiv1/inventorypb/key_tracking_service.pb.go

Documentation: cloud.google.com/go/kms/inventory/apiv1/inventorypb

     1  // Copyright 2023 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.33.0
    18  // 	protoc        v4.25.3
    19  // source: google/cloud/kms/inventory/v1/key_tracking_service.proto
    20  
    21  package inventorypb
    22  
    23  import (
    24  	context "context"
    25  	reflect "reflect"
    26  	sync "sync"
    27  
    28  	_ "google.golang.org/genproto/googleapis/api/annotations"
    29  	grpc "google.golang.org/grpc"
    30  	codes "google.golang.org/grpc/codes"
    31  	status "google.golang.org/grpc/status"
    32  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    33  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    34  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    35  )
    36  
    37  const (
    38  	// Verify that this generated code is sufficiently up-to-date.
    39  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    40  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    41  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    42  )
    43  
    44  // Request message for
    45  // [KeyTrackingService.GetProtectedResourcesSummary][google.cloud.kms.inventory.v1.KeyTrackingService.GetProtectedResourcesSummary].
    46  type GetProtectedResourcesSummaryRequest struct {
    47  	state         protoimpl.MessageState
    48  	sizeCache     protoimpl.SizeCache
    49  	unknownFields protoimpl.UnknownFields
    50  
    51  	// Required. The resource name of the
    52  	// [CryptoKey][google.cloud.kms.v1.CryptoKey].
    53  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    54  }
    55  
    56  func (x *GetProtectedResourcesSummaryRequest) Reset() {
    57  	*x = GetProtectedResourcesSummaryRequest{}
    58  	if protoimpl.UnsafeEnabled {
    59  		mi := &file_google_cloud_kms_inventory_v1_key_tracking_service_proto_msgTypes[0]
    60  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    61  		ms.StoreMessageInfo(mi)
    62  	}
    63  }
    64  
    65  func (x *GetProtectedResourcesSummaryRequest) String() string {
    66  	return protoimpl.X.MessageStringOf(x)
    67  }
    68  
    69  func (*GetProtectedResourcesSummaryRequest) ProtoMessage() {}
    70  
    71  func (x *GetProtectedResourcesSummaryRequest) ProtoReflect() protoreflect.Message {
    72  	mi := &file_google_cloud_kms_inventory_v1_key_tracking_service_proto_msgTypes[0]
    73  	if protoimpl.UnsafeEnabled && x != nil {
    74  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    75  		if ms.LoadMessageInfo() == nil {
    76  			ms.StoreMessageInfo(mi)
    77  		}
    78  		return ms
    79  	}
    80  	return mi.MessageOf(x)
    81  }
    82  
    83  // Deprecated: Use GetProtectedResourcesSummaryRequest.ProtoReflect.Descriptor instead.
    84  func (*GetProtectedResourcesSummaryRequest) Descriptor() ([]byte, []int) {
    85  	return file_google_cloud_kms_inventory_v1_key_tracking_service_proto_rawDescGZIP(), []int{0}
    86  }
    87  
    88  func (x *GetProtectedResourcesSummaryRequest) GetName() string {
    89  	if x != nil {
    90  		return x.Name
    91  	}
    92  	return ""
    93  }
    94  
    95  // Aggregate information about the resources protected by a Cloud KMS key in the
    96  // same Cloud organization as the key.
    97  type ProtectedResourcesSummary struct {
    98  	state         protoimpl.MessageState
    99  	sizeCache     protoimpl.SizeCache
   100  	unknownFields protoimpl.UnknownFields
   101  
   102  	// The full name of the ProtectedResourcesSummary resource.
   103  	// Example:
   104  	// projects/test-project/locations/us/keyRings/test-keyring/cryptoKeys/test-key/protectedResourcesSummary
   105  	Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
   106  	// The total number of protected resources in the same Cloud organization as
   107  	// the key.
   108  	ResourceCount int64 `protobuf:"varint,1,opt,name=resource_count,json=resourceCount,proto3" json:"resource_count,omitempty"`
   109  	// The number of distinct Cloud projects in the same Cloud organization as the
   110  	// key that have resources protected by the key.
   111  	ProjectCount int32 `protobuf:"varint,2,opt,name=project_count,json=projectCount,proto3" json:"project_count,omitempty"`
   112  	// The number of resources protected by the key grouped by resource type.
   113  	ResourceTypes map[string]int64 `protobuf:"bytes,3,rep,name=resource_types,json=resourceTypes,proto3" json:"resource_types,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
   114  	// The number of resources protected by the key grouped by Cloud product.
   115  	CloudProducts map[string]int64 `protobuf:"bytes,6,rep,name=cloud_products,json=cloudProducts,proto3" json:"cloud_products,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
   116  	// The number of resources protected by the key grouped by region.
   117  	Locations map[string]int64 `protobuf:"bytes,4,rep,name=locations,proto3" json:"locations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
   118  }
   119  
   120  func (x *ProtectedResourcesSummary) Reset() {
   121  	*x = ProtectedResourcesSummary{}
   122  	if protoimpl.UnsafeEnabled {
   123  		mi := &file_google_cloud_kms_inventory_v1_key_tracking_service_proto_msgTypes[1]
   124  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   125  		ms.StoreMessageInfo(mi)
   126  	}
   127  }
   128  
   129  func (x *ProtectedResourcesSummary) String() string {
   130  	return protoimpl.X.MessageStringOf(x)
   131  }
   132  
   133  func (*ProtectedResourcesSummary) ProtoMessage() {}
   134  
   135  func (x *ProtectedResourcesSummary) ProtoReflect() protoreflect.Message {
   136  	mi := &file_google_cloud_kms_inventory_v1_key_tracking_service_proto_msgTypes[1]
   137  	if protoimpl.UnsafeEnabled && x != nil {
   138  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   139  		if ms.LoadMessageInfo() == nil {
   140  			ms.StoreMessageInfo(mi)
   141  		}
   142  		return ms
   143  	}
   144  	return mi.MessageOf(x)
   145  }
   146  
   147  // Deprecated: Use ProtectedResourcesSummary.ProtoReflect.Descriptor instead.
   148  func (*ProtectedResourcesSummary) Descriptor() ([]byte, []int) {
   149  	return file_google_cloud_kms_inventory_v1_key_tracking_service_proto_rawDescGZIP(), []int{1}
   150  }
   151  
   152  func (x *ProtectedResourcesSummary) GetName() string {
   153  	if x != nil {
   154  		return x.Name
   155  	}
   156  	return ""
   157  }
   158  
   159  func (x *ProtectedResourcesSummary) GetResourceCount() int64 {
   160  	if x != nil {
   161  		return x.ResourceCount
   162  	}
   163  	return 0
   164  }
   165  
   166  func (x *ProtectedResourcesSummary) GetProjectCount() int32 {
   167  	if x != nil {
   168  		return x.ProjectCount
   169  	}
   170  	return 0
   171  }
   172  
   173  func (x *ProtectedResourcesSummary) GetResourceTypes() map[string]int64 {
   174  	if x != nil {
   175  		return x.ResourceTypes
   176  	}
   177  	return nil
   178  }
   179  
   180  func (x *ProtectedResourcesSummary) GetCloudProducts() map[string]int64 {
   181  	if x != nil {
   182  		return x.CloudProducts
   183  	}
   184  	return nil
   185  }
   186  
   187  func (x *ProtectedResourcesSummary) GetLocations() map[string]int64 {
   188  	if x != nil {
   189  		return x.Locations
   190  	}
   191  	return nil
   192  }
   193  
   194  // Request message for
   195  // [KeyTrackingService.SearchProtectedResources][google.cloud.kms.inventory.v1.KeyTrackingService.SearchProtectedResources].
   196  type SearchProtectedResourcesRequest struct {
   197  	state         protoimpl.MessageState
   198  	sizeCache     protoimpl.SizeCache
   199  	unknownFields protoimpl.UnknownFields
   200  
   201  	// Required. Resource name of the organization.
   202  	// Example: organizations/123
   203  	Scope string `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"`
   204  	// Required. The resource name of the
   205  	// [CryptoKey][google.cloud.kms.v1.CryptoKey].
   206  	CryptoKey string `protobuf:"bytes,1,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
   207  	// The maximum number of resources to return. The service may return fewer
   208  	// than this value.
   209  	// If unspecified, at most 500 resources will be returned.
   210  	// The maximum value is 500; values above 500 will be coerced to 500.
   211  	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
   212  	// A page token, received from a previous
   213  	// [KeyTrackingService.SearchProtectedResources][google.cloud.kms.inventory.v1.KeyTrackingService.SearchProtectedResources]
   214  	// call. Provide this to retrieve the subsequent page.
   215  	//
   216  	// When paginating, all other parameters provided to
   217  	// [KeyTrackingService.SearchProtectedResources][google.cloud.kms.inventory.v1.KeyTrackingService.SearchProtectedResources]
   218  	// must match the call that provided the page token.
   219  	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
   220  	// Optional. A list of resource types that this request searches for. If
   221  	// empty, it will search all the [trackable resource
   222  	// types](https://cloud.google.com/kms/docs/view-key-usage#tracked-resource-types).
   223  	//
   224  	// Regular expressions are also supported. For example:
   225  	//
   226  	// * `compute.googleapis.com.*` snapshots resources whose type starts
   227  	// with `compute.googleapis.com`.
   228  	// * `.*Image` snapshots resources whose type ends with `Image`.
   229  	// * `.*Image.*` snapshots resources whose type contains `Image`.
   230  	//
   231  	// See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported
   232  	// regular expression syntax. If the regular expression does not match any
   233  	// supported resource type, an INVALID_ARGUMENT error will be returned.
   234  	ResourceTypes []string `protobuf:"bytes,5,rep,name=resource_types,json=resourceTypes,proto3" json:"resource_types,omitempty"`
   235  }
   236  
   237  func (x *SearchProtectedResourcesRequest) Reset() {
   238  	*x = SearchProtectedResourcesRequest{}
   239  	if protoimpl.UnsafeEnabled {
   240  		mi := &file_google_cloud_kms_inventory_v1_key_tracking_service_proto_msgTypes[2]
   241  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   242  		ms.StoreMessageInfo(mi)
   243  	}
   244  }
   245  
   246  func (x *SearchProtectedResourcesRequest) String() string {
   247  	return protoimpl.X.MessageStringOf(x)
   248  }
   249  
   250  func (*SearchProtectedResourcesRequest) ProtoMessage() {}
   251  
   252  func (x *SearchProtectedResourcesRequest) ProtoReflect() protoreflect.Message {
   253  	mi := &file_google_cloud_kms_inventory_v1_key_tracking_service_proto_msgTypes[2]
   254  	if protoimpl.UnsafeEnabled && x != nil {
   255  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   256  		if ms.LoadMessageInfo() == nil {
   257  			ms.StoreMessageInfo(mi)
   258  		}
   259  		return ms
   260  	}
   261  	return mi.MessageOf(x)
   262  }
   263  
   264  // Deprecated: Use SearchProtectedResourcesRequest.ProtoReflect.Descriptor instead.
   265  func (*SearchProtectedResourcesRequest) Descriptor() ([]byte, []int) {
   266  	return file_google_cloud_kms_inventory_v1_key_tracking_service_proto_rawDescGZIP(), []int{2}
   267  }
   268  
   269  func (x *SearchProtectedResourcesRequest) GetScope() string {
   270  	if x != nil {
   271  		return x.Scope
   272  	}
   273  	return ""
   274  }
   275  
   276  func (x *SearchProtectedResourcesRequest) GetCryptoKey() string {
   277  	if x != nil {
   278  		return x.CryptoKey
   279  	}
   280  	return ""
   281  }
   282  
   283  func (x *SearchProtectedResourcesRequest) GetPageSize() int32 {
   284  	if x != nil {
   285  		return x.PageSize
   286  	}
   287  	return 0
   288  }
   289  
   290  func (x *SearchProtectedResourcesRequest) GetPageToken() string {
   291  	if x != nil {
   292  		return x.PageToken
   293  	}
   294  	return ""
   295  }
   296  
   297  func (x *SearchProtectedResourcesRequest) GetResourceTypes() []string {
   298  	if x != nil {
   299  		return x.ResourceTypes
   300  	}
   301  	return nil
   302  }
   303  
   304  // Response message for
   305  // [KeyTrackingService.SearchProtectedResources][google.cloud.kms.inventory.v1.KeyTrackingService.SearchProtectedResources].
   306  type SearchProtectedResourcesResponse struct {
   307  	state         protoimpl.MessageState
   308  	sizeCache     protoimpl.SizeCache
   309  	unknownFields protoimpl.UnknownFields
   310  
   311  	// Protected resources for this page.
   312  	ProtectedResources []*ProtectedResource `protobuf:"bytes,1,rep,name=protected_resources,json=protectedResources,proto3" json:"protected_resources,omitempty"`
   313  	// A token that can be sent as `page_token` to retrieve the next page.
   314  	// If this field is omitted, there are no subsequent pages.
   315  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
   316  }
   317  
   318  func (x *SearchProtectedResourcesResponse) Reset() {
   319  	*x = SearchProtectedResourcesResponse{}
   320  	if protoimpl.UnsafeEnabled {
   321  		mi := &file_google_cloud_kms_inventory_v1_key_tracking_service_proto_msgTypes[3]
   322  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   323  		ms.StoreMessageInfo(mi)
   324  	}
   325  }
   326  
   327  func (x *SearchProtectedResourcesResponse) String() string {
   328  	return protoimpl.X.MessageStringOf(x)
   329  }
   330  
   331  func (*SearchProtectedResourcesResponse) ProtoMessage() {}
   332  
   333  func (x *SearchProtectedResourcesResponse) ProtoReflect() protoreflect.Message {
   334  	mi := &file_google_cloud_kms_inventory_v1_key_tracking_service_proto_msgTypes[3]
   335  	if protoimpl.UnsafeEnabled && x != nil {
   336  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   337  		if ms.LoadMessageInfo() == nil {
   338  			ms.StoreMessageInfo(mi)
   339  		}
   340  		return ms
   341  	}
   342  	return mi.MessageOf(x)
   343  }
   344  
   345  // Deprecated: Use SearchProtectedResourcesResponse.ProtoReflect.Descriptor instead.
   346  func (*SearchProtectedResourcesResponse) Descriptor() ([]byte, []int) {
   347  	return file_google_cloud_kms_inventory_v1_key_tracking_service_proto_rawDescGZIP(), []int{3}
   348  }
   349  
   350  func (x *SearchProtectedResourcesResponse) GetProtectedResources() []*ProtectedResource {
   351  	if x != nil {
   352  		return x.ProtectedResources
   353  	}
   354  	return nil
   355  }
   356  
   357  func (x *SearchProtectedResourcesResponse) GetNextPageToken() string {
   358  	if x != nil {
   359  		return x.NextPageToken
   360  	}
   361  	return ""
   362  }
   363  
   364  // Metadata about a resource protected by a Cloud KMS key.
   365  type ProtectedResource struct {
   366  	state         protoimpl.MessageState
   367  	sizeCache     protoimpl.SizeCache
   368  	unknownFields protoimpl.UnknownFields
   369  
   370  	// The full resource name of the resource.
   371  	// Example:
   372  	// `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.
   373  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   374  	// Format: `projects/{PROJECT_NUMBER}`.
   375  	Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"`
   376  	// The ID of the project that owns the resource.
   377  	ProjectId string `protobuf:"bytes,9,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
   378  	// The Cloud product that owns the resource.
   379  	// Example: `compute`
   380  	CloudProduct string `protobuf:"bytes,8,opt,name=cloud_product,json=cloudProduct,proto3" json:"cloud_product,omitempty"`
   381  	// Example: `compute.googleapis.com/Disk`
   382  	ResourceType string `protobuf:"bytes,3,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
   383  	// Location can be `global`, regional like `us-east1`, or zonal like
   384  	// `us-west1-b`.
   385  	Location string `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"`
   386  	// A key-value pair of the resource's labels (v1) to their values.
   387  	Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   388  	// The name of the Cloud KMS
   389  	// [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions?hl=en)
   390  	// used to protect this resource via CMEK. This field is empty if the
   391  	// Google Cloud product owning the resource does not provide key version data
   392  	// to Asset Inventory. If there are multiple key versions protecting the
   393  	// resource, then this is same value as the first element of
   394  	// crypto_key_versions.
   395  	CryptoKeyVersion string `protobuf:"bytes,6,opt,name=crypto_key_version,json=cryptoKeyVersion,proto3" json:"crypto_key_version,omitempty"`
   396  	// The names of the Cloud KMS
   397  	// [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions?hl=en)
   398  	// used to protect this resource via CMEK. This field is empty if the
   399  	// Google Cloud product owning the resource does not provide key versions data
   400  	// to Asset Inventory. The first element of this field is stored in
   401  	// crypto_key_version.
   402  	CryptoKeyVersions []string `protobuf:"bytes,10,rep,name=crypto_key_versions,json=cryptoKeyVersions,proto3" json:"crypto_key_versions,omitempty"`
   403  	// Output only. The time at which this resource was created. The granularity
   404  	// is in seconds. Timestamp.nanos will always be 0.
   405  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   406  }
   407  
   408  func (x *ProtectedResource) Reset() {
   409  	*x = ProtectedResource{}
   410  	if protoimpl.UnsafeEnabled {
   411  		mi := &file_google_cloud_kms_inventory_v1_key_tracking_service_proto_msgTypes[4]
   412  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   413  		ms.StoreMessageInfo(mi)
   414  	}
   415  }
   416  
   417  func (x *ProtectedResource) String() string {
   418  	return protoimpl.X.MessageStringOf(x)
   419  }
   420  
   421  func (*ProtectedResource) ProtoMessage() {}
   422  
   423  func (x *ProtectedResource) ProtoReflect() protoreflect.Message {
   424  	mi := &file_google_cloud_kms_inventory_v1_key_tracking_service_proto_msgTypes[4]
   425  	if protoimpl.UnsafeEnabled && x != nil {
   426  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   427  		if ms.LoadMessageInfo() == nil {
   428  			ms.StoreMessageInfo(mi)
   429  		}
   430  		return ms
   431  	}
   432  	return mi.MessageOf(x)
   433  }
   434  
   435  // Deprecated: Use ProtectedResource.ProtoReflect.Descriptor instead.
   436  func (*ProtectedResource) Descriptor() ([]byte, []int) {
   437  	return file_google_cloud_kms_inventory_v1_key_tracking_service_proto_rawDescGZIP(), []int{4}
   438  }
   439  
   440  func (x *ProtectedResource) GetName() string {
   441  	if x != nil {
   442  		return x.Name
   443  	}
   444  	return ""
   445  }
   446  
   447  func (x *ProtectedResource) GetProject() string {
   448  	if x != nil {
   449  		return x.Project
   450  	}
   451  	return ""
   452  }
   453  
   454  func (x *ProtectedResource) GetProjectId() string {
   455  	if x != nil {
   456  		return x.ProjectId
   457  	}
   458  	return ""
   459  }
   460  
   461  func (x *ProtectedResource) GetCloudProduct() string {
   462  	if x != nil {
   463  		return x.CloudProduct
   464  	}
   465  	return ""
   466  }
   467  
   468  func (x *ProtectedResource) GetResourceType() string {
   469  	if x != nil {
   470  		return x.ResourceType
   471  	}
   472  	return ""
   473  }
   474  
   475  func (x *ProtectedResource) GetLocation() string {
   476  	if x != nil {
   477  		return x.Location
   478  	}
   479  	return ""
   480  }
   481  
   482  func (x *ProtectedResource) GetLabels() map[string]string {
   483  	if x != nil {
   484  		return x.Labels
   485  	}
   486  	return nil
   487  }
   488  
   489  func (x *ProtectedResource) GetCryptoKeyVersion() string {
   490  	if x != nil {
   491  		return x.CryptoKeyVersion
   492  	}
   493  	return ""
   494  }
   495  
   496  func (x *ProtectedResource) GetCryptoKeyVersions() []string {
   497  	if x != nil {
   498  		return x.CryptoKeyVersions
   499  	}
   500  	return nil
   501  }
   502  
   503  func (x *ProtectedResource) GetCreateTime() *timestamppb.Timestamp {
   504  	if x != nil {
   505  		return x.CreateTime
   506  	}
   507  	return nil
   508  }
   509  
   510  var File_google_cloud_kms_inventory_v1_key_tracking_service_proto protoreflect.FileDescriptor
   511  
   512  var file_google_cloud_kms_inventory_v1_key_tracking_service_proto_rawDesc = []byte{
   513  	0x0a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6b,
   514  	0x6d, 0x73, 0x2f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f,
   515  	0x6b, 0x65, 0x79, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72,
   516  	0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x67, 0x6f, 0x6f, 0x67,
   517  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x69, 0x6e, 0x76,
   518  	0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   519  	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
   520  	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
   521  	0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   522  	0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65,
   523  	0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   524  	0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65,
   525  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f,
   526  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69,
   527  	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x78, 0x0a,
   528  	0x23, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73,
   529  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71,
   530  	0x75, 0x65, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
   531  	0x28, 0x09, 0x42, 0x3d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x37, 0x0a, 0x35, 0x6b, 0x6d, 0x73, 0x69,
   532  	0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
   533  	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65,
   534  	0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72,
   535  	0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd0, 0x07, 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x74,
   536  	0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x75,
   537  	0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20,
   538  	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73,
   539  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
   540  	0x03, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
   541  	0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
   542  	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
   543  	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x72, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
   544  	0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e,
   545  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73,
   546  	0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72,
   547  	0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
   548  	0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
   549  	0x54, 0x79, 0x70, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f,
   550  	0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x72, 0x0a, 0x0e, 0x63, 0x6c, 0x6f,
   551  	0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28,
   552  	0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
   553  	0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76,
   554  	0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75,
   555  	0x72, 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x43, 0x6c, 0x6f, 0x75,
   556  	0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d,
   557  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x65, 0x0a,
   558  	0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
   559  	0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
   560  	0x6b, 0x6d, 0x73, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31,
   561  	0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
   562  	0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74,
   563  	0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74,
   564  	0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
   565  	0x54, 0x79, 0x70, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
   566  	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
   567  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c,
   568  	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50,
   569  	0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
   570  	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
   571  	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76,
   572  	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3c, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x61,
   573  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
   574  	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
   575  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c,
   576  	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0xc1, 0x02, 0xea, 0x41, 0xbd, 0x02, 0x0a, 0x35, 0x6b,
   577  	0x6d, 0x73, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   578  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x74, 0x65,
   579  	0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d,
   580  	0x6d, 0x61, 0x72, 0x79, 0x12, 0x6d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b,
   581  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
   582  	0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6b, 0x65,
   583  	0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67,
   584  	0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x63, 0x72,
   585  	0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63,
   586  	0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d,
   587  	0x61, 0x72, 0x79, 0x12, 0x94, 0x01, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b,
   588  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
   589  	0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6b, 0x65,
   590  	0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67,
   591  	0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x63, 0x72,
   592  	0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
   593  	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79,
   594  	0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d,
   595  	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
   596  	0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x83, 0x02, 0x0a, 0x1f, 0x53,
   597  	0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65,
   598  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e,
   599  	0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0xe0,
   600  	0x41, 0x02, 0xfa, 0x41, 0x32, 0x0a, 0x30, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f,
   601  	0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   602  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x72, 0x67, 0x61, 0x6e,
   603  	0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x28,
   604  	0x0a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
   605  	0x28, 0x09, 0x42, 0x09, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x03, 0x0a, 0x01, 0x2a, 0x52, 0x09, 0x63,
   606  	0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65,
   607  	0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67,
   608  	0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f,
   609  	0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54,
   610  	0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
   611  	0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
   612  	0x01, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73,
   613  	0x22, 0xad, 0x01, 0x0a, 0x20, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x65,
   614  	0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73,
   615  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74,
   616  	0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
   617  	0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
   618  	0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e,
   619  	0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f,
   620  	0x75, 0x72, 0x63, 0x65, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52,
   621  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74,
   622  	0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
   623  	0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
   624  	0x22, 0xfe, 0x04, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65,
   625  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
   626  	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72,
   627  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f,
   628  	0x6a, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
   629  	0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
   630  	0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f,
   631  	0x64, 0x75, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x6f, 0x75,
   632  	0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f,
   633  	0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
   634  	0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a,
   635  	0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
   636  	0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x06, 0x6c, 0x61, 0x62,
   637  	0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   638  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x69, 0x6e, 0x76,
   639  	0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63,
   640  	0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65,
   641  	0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12,
   642  	0x5b, 0x0a, 0x12, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65,
   643  	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xfa, 0x41, 0x2a,
   644  	0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   645  	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f,
   646  	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x63, 0x72, 0x79, 0x70,
   647  	0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x13,
   648  	0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
   649  	0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2d, 0xfa, 0x41, 0x2a, 0x0a, 0x28,
   650  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
   651  	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
   652  	0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
   653  	0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63,
   654  	0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
   655  	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
   656  	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41,
   657  	0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x39, 0x0a,
   658  	0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
   659  	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
   660  	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
   661  	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x27, 0xea, 0x41, 0x24, 0x0a, 0x1f, 0x63,
   662  	0x6c, 0x6f, 0x75, 0x64, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   663  	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x01,
   664  	0x2a, 0x32, 0xda, 0x04, 0x0a, 0x12, 0x4b, 0x65, 0x79, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e,
   665  	0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x81, 0x02, 0x0a, 0x1c, 0x47, 0x65, 0x74,
   666  	0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
   667  	0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   668  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x69, 0x6e, 0x76,
   669  	0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f,
   670  	0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53,
   671  	0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e,
   672  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73,
   673  	0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72,
   674  	0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
   675  	0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x63, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65,
   676  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x12, 0x54, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,
   677  	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
   678  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67,
   679  	0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a,
   680  	0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f,
   681  	0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0xee, 0x01, 0x0a,
   682  	0x18, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64,
   683  	0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   684  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x69, 0x6e, 0x76,
   685  	0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
   686  	0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
   687  	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   688  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x69, 0x6e, 0x76,
   689  	0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
   690  	0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
   691  	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0xda, 0x41, 0x11, 0x73,
   692  	0x63, 0x6f, 0x70, 0x65, 0x2c, 0x20, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79,
   693  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x63, 0x6f,
   694  	0x70, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
   695  	0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73,
   696  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x4f, 0xca,
   697  	0x41, 0x1b, 0x6b, 0x6d, 0x73, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x67,
   698  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e,
   699  	0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   700  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f,
   701  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xc2,
   702  	0x01, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
   703  	0x6f, 0x75, 0x64, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72,
   704  	0x79, 0x2e, 0x76, 0x31, 0x42, 0x17, 0x4b, 0x65, 0x79, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e,
   705  	0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
   706  	0x3f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f,
   707  	0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x6b, 0x6d, 0x73, 0x2f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f,
   708  	0x72, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f,
   709  	0x72, 0x79, 0x70, 0x62, 0x3b, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x70, 0x62,
   710  	0xf8, 0x01, 0x01, 0xaa, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f,
   711  	0x75, 0x64, 0x2e, 0x4b, 0x6d, 0x73, 0x2e, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79,
   712  	0x2e, 0x56, 0x31, 0xca, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f,
   713  	0x75, 0x64, 0x5c, 0x4b, 0x6d, 0x73, 0x5c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79,
   714  	0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   715  }
   716  
   717  var (
   718  	file_google_cloud_kms_inventory_v1_key_tracking_service_proto_rawDescOnce sync.Once
   719  	file_google_cloud_kms_inventory_v1_key_tracking_service_proto_rawDescData = file_google_cloud_kms_inventory_v1_key_tracking_service_proto_rawDesc
   720  )
   721  
   722  func file_google_cloud_kms_inventory_v1_key_tracking_service_proto_rawDescGZIP() []byte {
   723  	file_google_cloud_kms_inventory_v1_key_tracking_service_proto_rawDescOnce.Do(func() {
   724  		file_google_cloud_kms_inventory_v1_key_tracking_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_kms_inventory_v1_key_tracking_service_proto_rawDescData)
   725  	})
   726  	return file_google_cloud_kms_inventory_v1_key_tracking_service_proto_rawDescData
   727  }
   728  
   729  var file_google_cloud_kms_inventory_v1_key_tracking_service_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
   730  var file_google_cloud_kms_inventory_v1_key_tracking_service_proto_goTypes = []interface{}{
   731  	(*GetProtectedResourcesSummaryRequest)(nil), // 0: google.cloud.kms.inventory.v1.GetProtectedResourcesSummaryRequest
   732  	(*ProtectedResourcesSummary)(nil),           // 1: google.cloud.kms.inventory.v1.ProtectedResourcesSummary
   733  	(*SearchProtectedResourcesRequest)(nil),     // 2: google.cloud.kms.inventory.v1.SearchProtectedResourcesRequest
   734  	(*SearchProtectedResourcesResponse)(nil),    // 3: google.cloud.kms.inventory.v1.SearchProtectedResourcesResponse
   735  	(*ProtectedResource)(nil),                   // 4: google.cloud.kms.inventory.v1.ProtectedResource
   736  	nil,                                         // 5: google.cloud.kms.inventory.v1.ProtectedResourcesSummary.ResourceTypesEntry
   737  	nil,                                         // 6: google.cloud.kms.inventory.v1.ProtectedResourcesSummary.CloudProductsEntry
   738  	nil,                                         // 7: google.cloud.kms.inventory.v1.ProtectedResourcesSummary.LocationsEntry
   739  	nil,                                         // 8: google.cloud.kms.inventory.v1.ProtectedResource.LabelsEntry
   740  	(*timestamppb.Timestamp)(nil),               // 9: google.protobuf.Timestamp
   741  }
   742  var file_google_cloud_kms_inventory_v1_key_tracking_service_proto_depIdxs = []int32{
   743  	5, // 0: google.cloud.kms.inventory.v1.ProtectedResourcesSummary.resource_types:type_name -> google.cloud.kms.inventory.v1.ProtectedResourcesSummary.ResourceTypesEntry
   744  	6, // 1: google.cloud.kms.inventory.v1.ProtectedResourcesSummary.cloud_products:type_name -> google.cloud.kms.inventory.v1.ProtectedResourcesSummary.CloudProductsEntry
   745  	7, // 2: google.cloud.kms.inventory.v1.ProtectedResourcesSummary.locations:type_name -> google.cloud.kms.inventory.v1.ProtectedResourcesSummary.LocationsEntry
   746  	4, // 3: google.cloud.kms.inventory.v1.SearchProtectedResourcesResponse.protected_resources:type_name -> google.cloud.kms.inventory.v1.ProtectedResource
   747  	8, // 4: google.cloud.kms.inventory.v1.ProtectedResource.labels:type_name -> google.cloud.kms.inventory.v1.ProtectedResource.LabelsEntry
   748  	9, // 5: google.cloud.kms.inventory.v1.ProtectedResource.create_time:type_name -> google.protobuf.Timestamp
   749  	0, // 6: google.cloud.kms.inventory.v1.KeyTrackingService.GetProtectedResourcesSummary:input_type -> google.cloud.kms.inventory.v1.GetProtectedResourcesSummaryRequest
   750  	2, // 7: google.cloud.kms.inventory.v1.KeyTrackingService.SearchProtectedResources:input_type -> google.cloud.kms.inventory.v1.SearchProtectedResourcesRequest
   751  	1, // 8: google.cloud.kms.inventory.v1.KeyTrackingService.GetProtectedResourcesSummary:output_type -> google.cloud.kms.inventory.v1.ProtectedResourcesSummary
   752  	3, // 9: google.cloud.kms.inventory.v1.KeyTrackingService.SearchProtectedResources:output_type -> google.cloud.kms.inventory.v1.SearchProtectedResourcesResponse
   753  	8, // [8:10] is the sub-list for method output_type
   754  	6, // [6:8] is the sub-list for method input_type
   755  	6, // [6:6] is the sub-list for extension type_name
   756  	6, // [6:6] is the sub-list for extension extendee
   757  	0, // [0:6] is the sub-list for field type_name
   758  }
   759  
   760  func init() { file_google_cloud_kms_inventory_v1_key_tracking_service_proto_init() }
   761  func file_google_cloud_kms_inventory_v1_key_tracking_service_proto_init() {
   762  	if File_google_cloud_kms_inventory_v1_key_tracking_service_proto != nil {
   763  		return
   764  	}
   765  	if !protoimpl.UnsafeEnabled {
   766  		file_google_cloud_kms_inventory_v1_key_tracking_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   767  			switch v := v.(*GetProtectedResourcesSummaryRequest); i {
   768  			case 0:
   769  				return &v.state
   770  			case 1:
   771  				return &v.sizeCache
   772  			case 2:
   773  				return &v.unknownFields
   774  			default:
   775  				return nil
   776  			}
   777  		}
   778  		file_google_cloud_kms_inventory_v1_key_tracking_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   779  			switch v := v.(*ProtectedResourcesSummary); i {
   780  			case 0:
   781  				return &v.state
   782  			case 1:
   783  				return &v.sizeCache
   784  			case 2:
   785  				return &v.unknownFields
   786  			default:
   787  				return nil
   788  			}
   789  		}
   790  		file_google_cloud_kms_inventory_v1_key_tracking_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   791  			switch v := v.(*SearchProtectedResourcesRequest); i {
   792  			case 0:
   793  				return &v.state
   794  			case 1:
   795  				return &v.sizeCache
   796  			case 2:
   797  				return &v.unknownFields
   798  			default:
   799  				return nil
   800  			}
   801  		}
   802  		file_google_cloud_kms_inventory_v1_key_tracking_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
   803  			switch v := v.(*SearchProtectedResourcesResponse); i {
   804  			case 0:
   805  				return &v.state
   806  			case 1:
   807  				return &v.sizeCache
   808  			case 2:
   809  				return &v.unknownFields
   810  			default:
   811  				return nil
   812  			}
   813  		}
   814  		file_google_cloud_kms_inventory_v1_key_tracking_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
   815  			switch v := v.(*ProtectedResource); i {
   816  			case 0:
   817  				return &v.state
   818  			case 1:
   819  				return &v.sizeCache
   820  			case 2:
   821  				return &v.unknownFields
   822  			default:
   823  				return nil
   824  			}
   825  		}
   826  	}
   827  	type x struct{}
   828  	out := protoimpl.TypeBuilder{
   829  		File: protoimpl.DescBuilder{
   830  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   831  			RawDescriptor: file_google_cloud_kms_inventory_v1_key_tracking_service_proto_rawDesc,
   832  			NumEnums:      0,
   833  			NumMessages:   9,
   834  			NumExtensions: 0,
   835  			NumServices:   1,
   836  		},
   837  		GoTypes:           file_google_cloud_kms_inventory_v1_key_tracking_service_proto_goTypes,
   838  		DependencyIndexes: file_google_cloud_kms_inventory_v1_key_tracking_service_proto_depIdxs,
   839  		MessageInfos:      file_google_cloud_kms_inventory_v1_key_tracking_service_proto_msgTypes,
   840  	}.Build()
   841  	File_google_cloud_kms_inventory_v1_key_tracking_service_proto = out.File
   842  	file_google_cloud_kms_inventory_v1_key_tracking_service_proto_rawDesc = nil
   843  	file_google_cloud_kms_inventory_v1_key_tracking_service_proto_goTypes = nil
   844  	file_google_cloud_kms_inventory_v1_key_tracking_service_proto_depIdxs = nil
   845  }
   846  
   847  // Reference imports to suppress errors if they are not otherwise used.
   848  var _ context.Context
   849  var _ grpc.ClientConnInterface
   850  
   851  // This is a compile-time assertion to ensure that this generated file
   852  // is compatible with the grpc package it is being compiled against.
   853  const _ = grpc.SupportPackageIsVersion6
   854  
   855  // KeyTrackingServiceClient is the client API for KeyTrackingService service.
   856  //
   857  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
   858  type KeyTrackingServiceClient interface {
   859  	// Returns aggregate information about the resources protected by the given
   860  	// Cloud KMS [CryptoKey][google.cloud.kms.v1.CryptoKey]. Only resources within
   861  	// the same Cloud organization as the key will be returned. The project that
   862  	// holds the key must be part of an organization in order for this call to
   863  	// succeed.
   864  	GetProtectedResourcesSummary(ctx context.Context, in *GetProtectedResourcesSummaryRequest, opts ...grpc.CallOption) (*ProtectedResourcesSummary, error)
   865  	// Returns metadata about the resources protected by the given Cloud KMS
   866  	// [CryptoKey][google.cloud.kms.v1.CryptoKey] in the given Cloud organization.
   867  	SearchProtectedResources(ctx context.Context, in *SearchProtectedResourcesRequest, opts ...grpc.CallOption) (*SearchProtectedResourcesResponse, error)
   868  }
   869  
   870  type keyTrackingServiceClient struct {
   871  	cc grpc.ClientConnInterface
   872  }
   873  
   874  func NewKeyTrackingServiceClient(cc grpc.ClientConnInterface) KeyTrackingServiceClient {
   875  	return &keyTrackingServiceClient{cc}
   876  }
   877  
   878  func (c *keyTrackingServiceClient) GetProtectedResourcesSummary(ctx context.Context, in *GetProtectedResourcesSummaryRequest, opts ...grpc.CallOption) (*ProtectedResourcesSummary, error) {
   879  	out := new(ProtectedResourcesSummary)
   880  	err := c.cc.Invoke(ctx, "/google.cloud.kms.inventory.v1.KeyTrackingService/GetProtectedResourcesSummary", in, out, opts...)
   881  	if err != nil {
   882  		return nil, err
   883  	}
   884  	return out, nil
   885  }
   886  
   887  func (c *keyTrackingServiceClient) SearchProtectedResources(ctx context.Context, in *SearchProtectedResourcesRequest, opts ...grpc.CallOption) (*SearchProtectedResourcesResponse, error) {
   888  	out := new(SearchProtectedResourcesResponse)
   889  	err := c.cc.Invoke(ctx, "/google.cloud.kms.inventory.v1.KeyTrackingService/SearchProtectedResources", in, out, opts...)
   890  	if err != nil {
   891  		return nil, err
   892  	}
   893  	return out, nil
   894  }
   895  
   896  // KeyTrackingServiceServer is the server API for KeyTrackingService service.
   897  type KeyTrackingServiceServer interface {
   898  	// Returns aggregate information about the resources protected by the given
   899  	// Cloud KMS [CryptoKey][google.cloud.kms.v1.CryptoKey]. Only resources within
   900  	// the same Cloud organization as the key will be returned. The project that
   901  	// holds the key must be part of an organization in order for this call to
   902  	// succeed.
   903  	GetProtectedResourcesSummary(context.Context, *GetProtectedResourcesSummaryRequest) (*ProtectedResourcesSummary, error)
   904  	// Returns metadata about the resources protected by the given Cloud KMS
   905  	// [CryptoKey][google.cloud.kms.v1.CryptoKey] in the given Cloud organization.
   906  	SearchProtectedResources(context.Context, *SearchProtectedResourcesRequest) (*SearchProtectedResourcesResponse, error)
   907  }
   908  
   909  // UnimplementedKeyTrackingServiceServer can be embedded to have forward compatible implementations.
   910  type UnimplementedKeyTrackingServiceServer struct {
   911  }
   912  
   913  func (*UnimplementedKeyTrackingServiceServer) GetProtectedResourcesSummary(context.Context, *GetProtectedResourcesSummaryRequest) (*ProtectedResourcesSummary, error) {
   914  	return nil, status.Errorf(codes.Unimplemented, "method GetProtectedResourcesSummary not implemented")
   915  }
   916  func (*UnimplementedKeyTrackingServiceServer) SearchProtectedResources(context.Context, *SearchProtectedResourcesRequest) (*SearchProtectedResourcesResponse, error) {
   917  	return nil, status.Errorf(codes.Unimplemented, "method SearchProtectedResources not implemented")
   918  }
   919  
   920  func RegisterKeyTrackingServiceServer(s *grpc.Server, srv KeyTrackingServiceServer) {
   921  	s.RegisterService(&_KeyTrackingService_serviceDesc, srv)
   922  }
   923  
   924  func _KeyTrackingService_GetProtectedResourcesSummary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   925  	in := new(GetProtectedResourcesSummaryRequest)
   926  	if err := dec(in); err != nil {
   927  		return nil, err
   928  	}
   929  	if interceptor == nil {
   930  		return srv.(KeyTrackingServiceServer).GetProtectedResourcesSummary(ctx, in)
   931  	}
   932  	info := &grpc.UnaryServerInfo{
   933  		Server:     srv,
   934  		FullMethod: "/google.cloud.kms.inventory.v1.KeyTrackingService/GetProtectedResourcesSummary",
   935  	}
   936  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   937  		return srv.(KeyTrackingServiceServer).GetProtectedResourcesSummary(ctx, req.(*GetProtectedResourcesSummaryRequest))
   938  	}
   939  	return interceptor(ctx, in, info, handler)
   940  }
   941  
   942  func _KeyTrackingService_SearchProtectedResources_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   943  	in := new(SearchProtectedResourcesRequest)
   944  	if err := dec(in); err != nil {
   945  		return nil, err
   946  	}
   947  	if interceptor == nil {
   948  		return srv.(KeyTrackingServiceServer).SearchProtectedResources(ctx, in)
   949  	}
   950  	info := &grpc.UnaryServerInfo{
   951  		Server:     srv,
   952  		FullMethod: "/google.cloud.kms.inventory.v1.KeyTrackingService/SearchProtectedResources",
   953  	}
   954  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   955  		return srv.(KeyTrackingServiceServer).SearchProtectedResources(ctx, req.(*SearchProtectedResourcesRequest))
   956  	}
   957  	return interceptor(ctx, in, info, handler)
   958  }
   959  
   960  var _KeyTrackingService_serviceDesc = grpc.ServiceDesc{
   961  	ServiceName: "google.cloud.kms.inventory.v1.KeyTrackingService",
   962  	HandlerType: (*KeyTrackingServiceServer)(nil),
   963  	Methods: []grpc.MethodDesc{
   964  		{
   965  			MethodName: "GetProtectedResourcesSummary",
   966  			Handler:    _KeyTrackingService_GetProtectedResourcesSummary_Handler,
   967  		},
   968  		{
   969  			MethodName: "SearchProtectedResources",
   970  			Handler:    _KeyTrackingService_SearchProtectedResources_Handler,
   971  		},
   972  	},
   973  	Streams:  []grpc.StreamDesc{},
   974  	Metadata: "google/cloud/kms/inventory/v1/key_tracking_service.proto",
   975  }
   976  

View as plain text