1// Copyright 2021 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// Code generated by protoc-gen-go. DO NOT EDIT. 16// versions: 17// protoc-gen-go v1.26.0 18// protoc v3.12.2 19// source: google/cloud/asset/v1p7beta1/assets.proto 20 21package asset 22 23import ( 24 reflect "reflect" 25 sync "sync" 26 27 _ "google.golang.org/genproto/googleapis/api/annotations" 28 v11 "google.golang.org/genproto/googleapis/cloud/orgpolicy/v1" 29 _ "google.golang.org/genproto/googleapis/cloud/osconfig/v1" 30 v1 "google.golang.org/genproto/googleapis/iam/v1" 31 v12 "google.golang.org/genproto/googleapis/identity/accesscontextmanager/v1" 32 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 33 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 34 _ "google.golang.org/protobuf/types/known/anypb" 35 structpb "google.golang.org/protobuf/types/known/structpb" 36 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 37) 38 39const ( 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// An asset in Google Cloud. An asset can be any resource in the Google Cloud 47// [resource 48// hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), 49// a resource outside the Google Cloud resource hierarchy (such as Google 50// Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy). 51// See [Supported asset 52// types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) 53// for more information. 54type Asset struct { 55 state protoimpl.MessageState 56 sizeCache protoimpl.SizeCache 57 unknownFields protoimpl.UnknownFields 58 59 // The last update timestamp of an asset. update_time is updated when 60 // create/update/delete operation is performed. 61 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 62 // The full name of the asset. Example: 63 // `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` 64 // 65 // See [Resource 66 // names](https://cloud.google.com/apis/design/resource_names#full_resource_name) 67 // for more information. 68 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 69 // The type of the asset. Example: `compute.googleapis.com/Disk` 70 // 71 // See [Supported asset 72 // types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) 73 // for more information. 74 AssetType string `protobuf:"bytes,2,opt,name=asset_type,json=assetType,proto3" json:"asset_type,omitempty"` 75 // A representation of the resource. 76 Resource *Resource `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"` 77 // A representation of the Cloud IAM policy set on a Google Cloud resource. 78 // There can be a maximum of one Cloud IAM policy set on any given resource. 79 // In addition, Cloud IAM policies inherit their granted access scope from any 80 // policies set on parent resources in the resource hierarchy. Therefore, the 81 // effectively policy is the union of both the policy set on this resource 82 // and each policy set on all of the resource's ancestry resource levels in 83 // the hierarchy. See 84 // [this topic](https://cloud.google.com/iam/docs/policies#inheritance) for 85 // more information. 86 IamPolicy *v1.Policy `protobuf:"bytes,4,opt,name=iam_policy,json=iamPolicy,proto3" json:"iam_policy,omitempty"` 87 // A representation of an [organization 88 // policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy). 89 // There can be more than one organization policy with different constraints 90 // set on a given resource. 91 OrgPolicy []*v11.Policy `protobuf:"bytes,6,rep,name=org_policy,json=orgPolicy,proto3" json:"org_policy,omitempty"` 92 // A representation of an [access 93 // policy](https://cloud.google.com/access-context-manager/docs/overview#access-policies). 94 // 95 // Types that are assignable to AccessContextPolicy: 96 // *Asset_AccessPolicy 97 // *Asset_AccessLevel 98 // *Asset_ServicePerimeter 99 AccessContextPolicy isAsset_AccessContextPolicy `protobuf_oneof:"access_context_policy"` 100 // The related assets of the asset of one relationship type. 101 // One asset only represents one type of relationship. 102 RelatedAssets *RelatedAssets `protobuf:"bytes,13,opt,name=related_assets,json=relatedAssets,proto3" json:"related_assets,omitempty"` 103 // The ancestry path of an asset in Google Cloud [resource 104 // hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), 105 // represented as a list of relative resource names. An ancestry path starts 106 // with the closest ancestor in the hierarchy and ends at root. If the asset 107 // is a project, folder, or organization, the ancestry path starts from the 108 // asset itself. 109 // 110 // Example: `["projects/123456789", "folders/5432", "organizations/1234"]` 111 Ancestors []string `protobuf:"bytes,10,rep,name=ancestors,proto3" json:"ancestors,omitempty"` 112} 113 114func (x *Asset) Reset() { 115 *x = Asset{} 116 if protoimpl.UnsafeEnabled { 117 mi := &file_google_cloud_asset_v1p7beta1_assets_proto_msgTypes[0] 118 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 119 ms.StoreMessageInfo(mi) 120 } 121} 122 123func (x *Asset) String() string { 124 return protoimpl.X.MessageStringOf(x) 125} 126 127func (*Asset) ProtoMessage() {} 128 129func (x *Asset) ProtoReflect() protoreflect.Message { 130 mi := &file_google_cloud_asset_v1p7beta1_assets_proto_msgTypes[0] 131 if protoimpl.UnsafeEnabled && x != nil { 132 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 133 if ms.LoadMessageInfo() == nil { 134 ms.StoreMessageInfo(mi) 135 } 136 return ms 137 } 138 return mi.MessageOf(x) 139} 140 141// Deprecated: Use Asset.ProtoReflect.Descriptor instead. 142func (*Asset) Descriptor() ([]byte, []int) { 143 return file_google_cloud_asset_v1p7beta1_assets_proto_rawDescGZIP(), []int{0} 144} 145 146func (x *Asset) GetUpdateTime() *timestamppb.Timestamp { 147 if x != nil { 148 return x.UpdateTime 149 } 150 return nil 151} 152 153func (x *Asset) GetName() string { 154 if x != nil { 155 return x.Name 156 } 157 return "" 158} 159 160func (x *Asset) GetAssetType() string { 161 if x != nil { 162 return x.AssetType 163 } 164 return "" 165} 166 167func (x *Asset) GetResource() *Resource { 168 if x != nil { 169 return x.Resource 170 } 171 return nil 172} 173 174func (x *Asset) GetIamPolicy() *v1.Policy { 175 if x != nil { 176 return x.IamPolicy 177 } 178 return nil 179} 180 181func (x *Asset) GetOrgPolicy() []*v11.Policy { 182 if x != nil { 183 return x.OrgPolicy 184 } 185 return nil 186} 187 188func (m *Asset) GetAccessContextPolicy() isAsset_AccessContextPolicy { 189 if m != nil { 190 return m.AccessContextPolicy 191 } 192 return nil 193} 194 195func (x *Asset) GetAccessPolicy() *v12.AccessPolicy { 196 if x, ok := x.GetAccessContextPolicy().(*Asset_AccessPolicy); ok { 197 return x.AccessPolicy 198 } 199 return nil 200} 201 202func (x *Asset) GetAccessLevel() *v12.AccessLevel { 203 if x, ok := x.GetAccessContextPolicy().(*Asset_AccessLevel); ok { 204 return x.AccessLevel 205 } 206 return nil 207} 208 209func (x *Asset) GetServicePerimeter() *v12.ServicePerimeter { 210 if x, ok := x.GetAccessContextPolicy().(*Asset_ServicePerimeter); ok { 211 return x.ServicePerimeter 212 } 213 return nil 214} 215 216func (x *Asset) GetRelatedAssets() *RelatedAssets { 217 if x != nil { 218 return x.RelatedAssets 219 } 220 return nil 221} 222 223func (x *Asset) GetAncestors() []string { 224 if x != nil { 225 return x.Ancestors 226 } 227 return nil 228} 229 230type isAsset_AccessContextPolicy interface { 231 isAsset_AccessContextPolicy() 232} 233 234type Asset_AccessPolicy struct { 235 // Please also refer to the [access policy user 236 // guide](https://cloud.google.com/access-context-manager/docs/overview#access-policies). 237 AccessPolicy *v12.AccessPolicy `protobuf:"bytes,7,opt,name=access_policy,json=accessPolicy,proto3,oneof"` 238} 239 240type Asset_AccessLevel struct { 241 // Please also refer to the [access level user 242 // guide](https://cloud.google.com/access-context-manager/docs/overview#access-levels). 243 AccessLevel *v12.AccessLevel `protobuf:"bytes,8,opt,name=access_level,json=accessLevel,proto3,oneof"` 244} 245 246type Asset_ServicePerimeter struct { 247 // Please also refer to the [service perimeter user 248 // guide](https://cloud.google.com/vpc-service-controls/docs/overview). 249 ServicePerimeter *v12.ServicePerimeter `protobuf:"bytes,9,opt,name=service_perimeter,json=servicePerimeter,proto3,oneof"` 250} 251 252func (*Asset_AccessPolicy) isAsset_AccessContextPolicy() {} 253 254func (*Asset_AccessLevel) isAsset_AccessContextPolicy() {} 255 256func (*Asset_ServicePerimeter) isAsset_AccessContextPolicy() {} 257 258// A representation of a Google Cloud resource. 259type Resource struct { 260 state protoimpl.MessageState 261 sizeCache protoimpl.SizeCache 262 unknownFields protoimpl.UnknownFields 263 264 // The API version. Example: `v1` 265 Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` 266 // The URL of the discovery document containing the resource's JSON schema. 267 // Example: 268 // `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` 269 // 270 // This value is unspecified for resources that do not have an API based on a 271 // discovery document, such as Cloud Bigtable. 272 DiscoveryDocumentUri string `protobuf:"bytes,2,opt,name=discovery_document_uri,json=discoveryDocumentUri,proto3" json:"discovery_document_uri,omitempty"` 273 // The JSON schema name listed in the discovery document. Example: 274 // `Project` 275 // 276 // This value is unspecified for resources that do not have an API based on a 277 // discovery document, such as Cloud Bigtable. 278 DiscoveryName string `protobuf:"bytes,3,opt,name=discovery_name,json=discoveryName,proto3" json:"discovery_name,omitempty"` 279 // The REST URL for accessing the resource. An HTTP `GET` request using this 280 // URL returns the resource itself. Example: 281 // `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123` 282 // 283 // This value is unspecified for resources without a REST API. 284 ResourceUrl string `protobuf:"bytes,4,opt,name=resource_url,json=resourceUrl,proto3" json:"resource_url,omitempty"` 285 // The full name of the immediate parent of this resource. See 286 // [Resource 287 // Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) 288 // for more information. 289 // 290 // For Google Cloud assets, this value is the parent resource defined in the 291 // [Cloud IAM policy 292 // hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy). 293 // Example: 294 // `//cloudresourcemanager.googleapis.com/projects/my_project_123` 295 // 296 // For third-party assets, this field may be set differently. 297 Parent string `protobuf:"bytes,5,opt,name=parent,proto3" json:"parent,omitempty"` 298 // The content of the resource, in which some sensitive fields are removed 299 // and may not be present. 300 Data *structpb.Struct `protobuf:"bytes,6,opt,name=data,proto3" json:"data,omitempty"` 301 // The location of the resource in Google Cloud, such as its zone and region. 302 // For more information, see https://cloud.google.com/about/locations/. 303 Location string `protobuf:"bytes,8,opt,name=location,proto3" json:"location,omitempty"` 304} 305 306func (x *Resource) Reset() { 307 *x = Resource{} 308 if protoimpl.UnsafeEnabled { 309 mi := &file_google_cloud_asset_v1p7beta1_assets_proto_msgTypes[1] 310 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 311 ms.StoreMessageInfo(mi) 312 } 313} 314 315func (x *Resource) String() string { 316 return protoimpl.X.MessageStringOf(x) 317} 318 319func (*Resource) ProtoMessage() {} 320 321func (x *Resource) ProtoReflect() protoreflect.Message { 322 mi := &file_google_cloud_asset_v1p7beta1_assets_proto_msgTypes[1] 323 if protoimpl.UnsafeEnabled && x != nil { 324 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 325 if ms.LoadMessageInfo() == nil { 326 ms.StoreMessageInfo(mi) 327 } 328 return ms 329 } 330 return mi.MessageOf(x) 331} 332 333// Deprecated: Use Resource.ProtoReflect.Descriptor instead. 334func (*Resource) Descriptor() ([]byte, []int) { 335 return file_google_cloud_asset_v1p7beta1_assets_proto_rawDescGZIP(), []int{1} 336} 337 338func (x *Resource) GetVersion() string { 339 if x != nil { 340 return x.Version 341 } 342 return "" 343} 344 345func (x *Resource) GetDiscoveryDocumentUri() string { 346 if x != nil { 347 return x.DiscoveryDocumentUri 348 } 349 return "" 350} 351 352func (x *Resource) GetDiscoveryName() string { 353 if x != nil { 354 return x.DiscoveryName 355 } 356 return "" 357} 358 359func (x *Resource) GetResourceUrl() string { 360 if x != nil { 361 return x.ResourceUrl 362 } 363 return "" 364} 365 366func (x *Resource) GetParent() string { 367 if x != nil { 368 return x.Parent 369 } 370 return "" 371} 372 373func (x *Resource) GetData() *structpb.Struct { 374 if x != nil { 375 return x.Data 376 } 377 return nil 378} 379 380func (x *Resource) GetLocation() string { 381 if x != nil { 382 return x.Location 383 } 384 return "" 385} 386 387// The detailed related assets with the `relationship_type`. 388type RelatedAssets struct { 389 state protoimpl.MessageState 390 sizeCache protoimpl.SizeCache 391 unknownFields protoimpl.UnknownFields 392 393 // The detailed relation attributes. 394 RelationshipAttributes *RelationshipAttributes `protobuf:"bytes,1,opt,name=relationship_attributes,json=relationshipAttributes,proto3" json:"relationship_attributes,omitempty"` 395 // The peer resources of the relationship. 396 Assets []*RelatedAsset `protobuf:"bytes,2,rep,name=assets,proto3" json:"assets,omitempty"` 397} 398 399func (x *RelatedAssets) Reset() { 400 *x = RelatedAssets{} 401 if protoimpl.UnsafeEnabled { 402 mi := &file_google_cloud_asset_v1p7beta1_assets_proto_msgTypes[2] 403 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 404 ms.StoreMessageInfo(mi) 405 } 406} 407 408func (x *RelatedAssets) String() string { 409 return protoimpl.X.MessageStringOf(x) 410} 411 412func (*RelatedAssets) ProtoMessage() {} 413 414func (x *RelatedAssets) ProtoReflect() protoreflect.Message { 415 mi := &file_google_cloud_asset_v1p7beta1_assets_proto_msgTypes[2] 416 if protoimpl.UnsafeEnabled && x != nil { 417 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 418 if ms.LoadMessageInfo() == nil { 419 ms.StoreMessageInfo(mi) 420 } 421 return ms 422 } 423 return mi.MessageOf(x) 424} 425 426// Deprecated: Use RelatedAssets.ProtoReflect.Descriptor instead. 427func (*RelatedAssets) Descriptor() ([]byte, []int) { 428 return file_google_cloud_asset_v1p7beta1_assets_proto_rawDescGZIP(), []int{2} 429} 430 431func (x *RelatedAssets) GetRelationshipAttributes() *RelationshipAttributes { 432 if x != nil { 433 return x.RelationshipAttributes 434 } 435 return nil 436} 437 438func (x *RelatedAssets) GetAssets() []*RelatedAsset { 439 if x != nil { 440 return x.Assets 441 } 442 return nil 443} 444 445// The relationship attributes which include `type`, `source_resource_type`, 446// `target_resource_type` and `action`. 447type RelationshipAttributes struct { 448 state protoimpl.MessageState 449 sizeCache protoimpl.SizeCache 450 unknownFields protoimpl.UnknownFields 451 452 // The unique identifier of the relationship type. Example: 453 // `INSTANCE_TO_INSTANCEGROUP` 454 Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` 455 // The source asset type. Example: `compute.googleapis.com/Instance` 456 SourceResourceType string `protobuf:"bytes,1,opt,name=source_resource_type,json=sourceResourceType,proto3" json:"source_resource_type,omitempty"` 457 // The target asset type. Example: `compute.googleapis.com/Disk` 458 TargetResourceType string `protobuf:"bytes,2,opt,name=target_resource_type,json=targetResourceType,proto3" json:"target_resource_type,omitempty"` 459 // The detail of the relationship, e.g. `contains`, `attaches` 460 Action string `protobuf:"bytes,3,opt,name=action,proto3" json:"action,omitempty"` 461} 462 463func (x *RelationshipAttributes) Reset() { 464 *x = RelationshipAttributes{} 465 if protoimpl.UnsafeEnabled { 466 mi := &file_google_cloud_asset_v1p7beta1_assets_proto_msgTypes[3] 467 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 468 ms.StoreMessageInfo(mi) 469 } 470} 471 472func (x *RelationshipAttributes) String() string { 473 return protoimpl.X.MessageStringOf(x) 474} 475 476func (*RelationshipAttributes) ProtoMessage() {} 477 478func (x *RelationshipAttributes) ProtoReflect() protoreflect.Message { 479 mi := &file_google_cloud_asset_v1p7beta1_assets_proto_msgTypes[3] 480 if protoimpl.UnsafeEnabled && x != nil { 481 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 482 if ms.LoadMessageInfo() == nil { 483 ms.StoreMessageInfo(mi) 484 } 485 return ms 486 } 487 return mi.MessageOf(x) 488} 489 490// Deprecated: Use RelationshipAttributes.ProtoReflect.Descriptor instead. 491func (*RelationshipAttributes) Descriptor() ([]byte, []int) { 492 return file_google_cloud_asset_v1p7beta1_assets_proto_rawDescGZIP(), []int{3} 493} 494 495func (x *RelationshipAttributes) GetType() string { 496 if x != nil { 497 return x.Type 498 } 499 return "" 500} 501 502func (x *RelationshipAttributes) GetSourceResourceType() string { 503 if x != nil { 504 return x.SourceResourceType 505 } 506 return "" 507} 508 509func (x *RelationshipAttributes) GetTargetResourceType() string { 510 if x != nil { 511 return x.TargetResourceType 512 } 513 return "" 514} 515 516func (x *RelationshipAttributes) GetAction() string { 517 if x != nil { 518 return x.Action 519 } 520 return "" 521} 522 523// An asset identify in Google Cloud which contains its name, type and 524// ancestors. An asset can be any resource in the Google Cloud [resource 525// hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), 526// a resource outside the Google Cloud resource hierarchy (such as Google 527// Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy). 528// See [Supported asset 529// types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) 530// for more information. 531type RelatedAsset struct { 532 state protoimpl.MessageState 533 sizeCache protoimpl.SizeCache 534 unknownFields protoimpl.UnknownFields 535 536 // The full name of the asset. Example: 537 // `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` 538 // 539 // See [Resource 540 // names](https://cloud.google.com/apis/design/resource_names#full_resource_name) 541 // for more information. 542 Asset string `protobuf:"bytes,1,opt,name=asset,proto3" json:"asset,omitempty"` 543 // The type of the asset. Example: `compute.googleapis.com/Disk` 544 // 545 // See [Supported asset 546 // types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) 547 // for more information. 548 AssetType string `protobuf:"bytes,2,opt,name=asset_type,json=assetType,proto3" json:"asset_type,omitempty"` 549 // The ancestors of an asset in Google Cloud [resource 550 // hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), 551 // represented as a list of relative resource names. An ancestry path starts 552 // with the closest ancestor in the hierarchy and ends at root. 553 // 554 // Example: `["projects/123456789", "folders/5432", "organizations/1234"]` 555 Ancestors []string `protobuf:"bytes,3,rep,name=ancestors,proto3" json:"ancestors,omitempty"` 556} 557 558func (x *RelatedAsset) Reset() { 559 *x = RelatedAsset{} 560 if protoimpl.UnsafeEnabled { 561 mi := &file_google_cloud_asset_v1p7beta1_assets_proto_msgTypes[4] 562 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 563 ms.StoreMessageInfo(mi) 564 } 565} 566 567func (x *RelatedAsset) String() string { 568 return protoimpl.X.MessageStringOf(x) 569} 570 571func (*RelatedAsset) ProtoMessage() {} 572 573func (x *RelatedAsset) ProtoReflect() protoreflect.Message { 574 mi := &file_google_cloud_asset_v1p7beta1_assets_proto_msgTypes[4] 575 if protoimpl.UnsafeEnabled && x != nil { 576 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 577 if ms.LoadMessageInfo() == nil { 578 ms.StoreMessageInfo(mi) 579 } 580 return ms 581 } 582 return mi.MessageOf(x) 583} 584 585// Deprecated: Use RelatedAsset.ProtoReflect.Descriptor instead. 586func (*RelatedAsset) Descriptor() ([]byte, []int) { 587 return file_google_cloud_asset_v1p7beta1_assets_proto_rawDescGZIP(), []int{4} 588} 589 590func (x *RelatedAsset) GetAsset() string { 591 if x != nil { 592 return x.Asset 593 } 594 return "" 595} 596 597func (x *RelatedAsset) GetAssetType() string { 598 if x != nil { 599 return x.AssetType 600 } 601 return "" 602} 603 604func (x *RelatedAsset) GetAncestors() []string { 605 if x != nil { 606 return x.Ancestors 607 } 608 return nil 609} 610 611var File_google_cloud_asset_v1p7beta1_assets_proto protoreflect.FileDescriptor 612 613var file_google_cloud_asset_v1p7beta1_assets_proto_rawDesc = []byte{ 614 0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 615 0x73, 0x73, 0x65, 0x74, 0x2f, 0x76, 0x31, 0x70, 0x37, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 616 0x73, 0x73, 0x65, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c, 0x67, 0x6f, 0x6f, 617 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 618 0x76, 0x31, 0x70, 0x37, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 619 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 620 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 621 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 622 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 623 0x2f, 0x6f, 0x72, 0x67, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 624 0x67, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 625 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6f, 0x73, 0x63, 0x6f, 626 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 627 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 628 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 629 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x64, 0x65, 0x6e, 630 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 631 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 632 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 633 0x3b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 634 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 635 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 636 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3f, 0x67, 0x6f, 637 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x63, 638 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 639 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x65, 640 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 641 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 642 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 643 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 644 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 645 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 646 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x06, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 647 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 648 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 649 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 650 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 651 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 652 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 653 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 654 0x65, 0x12, 0x42, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 655 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 656 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70, 0x37, 0x62, 0x65, 0x74, 657 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 658 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x69, 0x61, 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 659 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 660 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 661 0x52, 0x09, 0x69, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x40, 0x0a, 0x0a, 0x6f, 662 0x72, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 663 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6f, 664 0x72, 0x67, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 665 0x63, 0x79, 0x52, 0x09, 0x6f, 0x72, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x5c, 0x0a, 666 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x07, 667 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x64, 668 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 669 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 670 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x0c, 0x61, 671 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x59, 0x0a, 0x0c, 0x61, 672 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 673 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 674 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 675 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 676 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 677 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x68, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 678 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 679 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 680 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 681 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 682 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 683 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 684 0x12, 0x52, 0x0a, 0x0e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x73, 0x73, 0x65, 685 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 686 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 687 0x70, 0x37, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x41, 688 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x41, 0x73, 689 0x73, 0x65, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 690 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 691 0x72, 0x73, 0x3a, 0x27, 0xea, 0x41, 0x24, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x61, 0x73, 692 0x73, 0x65, 0x74, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 693 0x6f, 0x6d, 0x2f, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x01, 0x2a, 0x42, 0x17, 0x0a, 0x15, 0x61, 694 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x6f, 695 0x6c, 0x69, 0x63, 0x79, 0x22, 0x85, 0x02, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 696 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 697 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x64, 698 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 699 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x69, 0x73, 700 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 701 0x69, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x6e, 702 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x6f, 703 0x76, 0x65, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 704 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 705 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, 706 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 707 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 708 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 709 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 710 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 711 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc2, 0x01, 0x0a, 712 0x0d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x6d, 713 0x0a, 0x17, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x61, 714 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 715 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 716 0x73, 0x73, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70, 0x37, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 717 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 0x69, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 718 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x16, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 719 0x68, 0x69, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x42, 0x0a, 720 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 721 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 722 0x65, 0x74, 0x2e, 0x76, 0x31, 0x70, 0x37, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6c, 723 0x61, 0x74, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 724 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x68, 725 0x69, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 726 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 727 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 728 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 729 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 730 0x70, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 731 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 732 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 733 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 734 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x01, 0x0a, 735 0x0c, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x3a, 0x0a, 736 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 737 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x67, 0x6f, 738 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x73, 0x73, 739 0x65, 0x74, 0x52, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x73, 740 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 741 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6e, 0x63, 0x65, 742 0x73, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6e, 0x63, 743 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x42, 0xb4, 0x01, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 744 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x73, 0x73, 0x65, 745 0x74, 0x2e, 0x76, 0x31, 0x70, 0x37, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, 0x41, 0x73, 0x73, 746 0x65, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 747 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 748 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 749 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2f, 0x76, 0x31, 0x70, 750 0x37, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x61, 0x73, 0x73, 0x65, 0x74, 0xf8, 0x01, 0x01, 0xaa, 751 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 752 0x73, 0x73, 0x65, 0x74, 0x2e, 0x56, 0x31, 0x50, 0x37, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 753 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x73, 754 0x73, 0x65, 0x74, 0x5c, 0x56, 0x31, 0x70, 0x37, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 755 0x72, 0x6f, 0x74, 0x6f, 0x33, 756} 757 758var ( 759 file_google_cloud_asset_v1p7beta1_assets_proto_rawDescOnce sync.Once 760 file_google_cloud_asset_v1p7beta1_assets_proto_rawDescData = file_google_cloud_asset_v1p7beta1_assets_proto_rawDesc 761) 762 763func file_google_cloud_asset_v1p7beta1_assets_proto_rawDescGZIP() []byte { 764 file_google_cloud_asset_v1p7beta1_assets_proto_rawDescOnce.Do(func() { 765 file_google_cloud_asset_v1p7beta1_assets_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_asset_v1p7beta1_assets_proto_rawDescData) 766 }) 767 return file_google_cloud_asset_v1p7beta1_assets_proto_rawDescData 768} 769 770var file_google_cloud_asset_v1p7beta1_assets_proto_msgTypes = make([]protoimpl.MessageInfo, 5) 771var file_google_cloud_asset_v1p7beta1_assets_proto_goTypes = []interface{}{ 772 (*Asset)(nil), // 0: google.cloud.asset.v1p7beta1.Asset 773 (*Resource)(nil), // 1: google.cloud.asset.v1p7beta1.Resource 774 (*RelatedAssets)(nil), // 2: google.cloud.asset.v1p7beta1.RelatedAssets 775 (*RelationshipAttributes)(nil), // 3: google.cloud.asset.v1p7beta1.RelationshipAttributes 776 (*RelatedAsset)(nil), // 4: google.cloud.asset.v1p7beta1.RelatedAsset 777 (*timestamppb.Timestamp)(nil), // 5: google.protobuf.Timestamp 778 (*v1.Policy)(nil), // 6: google.iam.v1.Policy 779 (*v11.Policy)(nil), // 7: google.cloud.orgpolicy.v1.Policy 780 (*v12.AccessPolicy)(nil), // 8: google.identity.accesscontextmanager.v1.AccessPolicy 781 (*v12.AccessLevel)(nil), // 9: google.identity.accesscontextmanager.v1.AccessLevel 782 (*v12.ServicePerimeter)(nil), // 10: google.identity.accesscontextmanager.v1.ServicePerimeter 783 (*structpb.Struct)(nil), // 11: google.protobuf.Struct 784} 785var file_google_cloud_asset_v1p7beta1_assets_proto_depIdxs = []int32{ 786 5, // 0: google.cloud.asset.v1p7beta1.Asset.update_time:type_name -> google.protobuf.Timestamp 787 1, // 1: google.cloud.asset.v1p7beta1.Asset.resource:type_name -> google.cloud.asset.v1p7beta1.Resource 788 6, // 2: google.cloud.asset.v1p7beta1.Asset.iam_policy:type_name -> google.iam.v1.Policy 789 7, // 3: google.cloud.asset.v1p7beta1.Asset.org_policy:type_name -> google.cloud.orgpolicy.v1.Policy 790 8, // 4: google.cloud.asset.v1p7beta1.Asset.access_policy:type_name -> google.identity.accesscontextmanager.v1.AccessPolicy 791 9, // 5: google.cloud.asset.v1p7beta1.Asset.access_level:type_name -> google.identity.accesscontextmanager.v1.AccessLevel 792 10, // 6: google.cloud.asset.v1p7beta1.Asset.service_perimeter:type_name -> google.identity.accesscontextmanager.v1.ServicePerimeter 793 2, // 7: google.cloud.asset.v1p7beta1.Asset.related_assets:type_name -> google.cloud.asset.v1p7beta1.RelatedAssets 794 11, // 8: google.cloud.asset.v1p7beta1.Resource.data:type_name -> google.protobuf.Struct 795 3, // 9: google.cloud.asset.v1p7beta1.RelatedAssets.relationship_attributes:type_name -> google.cloud.asset.v1p7beta1.RelationshipAttributes 796 4, // 10: google.cloud.asset.v1p7beta1.RelatedAssets.assets:type_name -> google.cloud.asset.v1p7beta1.RelatedAsset 797 11, // [11:11] is the sub-list for method output_type 798 11, // [11:11] is the sub-list for method input_type 799 11, // [11:11] is the sub-list for extension type_name 800 11, // [11:11] is the sub-list for extension extendee 801 0, // [0:11] is the sub-list for field type_name 802} 803 804func init() { file_google_cloud_asset_v1p7beta1_assets_proto_init() } 805func file_google_cloud_asset_v1p7beta1_assets_proto_init() { 806 if File_google_cloud_asset_v1p7beta1_assets_proto != nil { 807 return 808 } 809 if !protoimpl.UnsafeEnabled { 810 file_google_cloud_asset_v1p7beta1_assets_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 811 switch v := v.(*Asset); i { 812 case 0: 813 return &v.state 814 case 1: 815 return &v.sizeCache 816 case 2: 817 return &v.unknownFields 818 default: 819 return nil 820 } 821 } 822 file_google_cloud_asset_v1p7beta1_assets_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 823 switch v := v.(*Resource); i { 824 case 0: 825 return &v.state 826 case 1: 827 return &v.sizeCache 828 case 2: 829 return &v.unknownFields 830 default: 831 return nil 832 } 833 } 834 file_google_cloud_asset_v1p7beta1_assets_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 835 switch v := v.(*RelatedAssets); i { 836 case 0: 837 return &v.state 838 case 1: 839 return &v.sizeCache 840 case 2: 841 return &v.unknownFields 842 default: 843 return nil 844 } 845 } 846 file_google_cloud_asset_v1p7beta1_assets_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 847 switch v := v.(*RelationshipAttributes); i { 848 case 0: 849 return &v.state 850 case 1: 851 return &v.sizeCache 852 case 2: 853 return &v.unknownFields 854 default: 855 return nil 856 } 857 } 858 file_google_cloud_asset_v1p7beta1_assets_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 859 switch v := v.(*RelatedAsset); i { 860 case 0: 861 return &v.state 862 case 1: 863 return &v.sizeCache 864 case 2: 865 return &v.unknownFields 866 default: 867 return nil 868 } 869 } 870 } 871 file_google_cloud_asset_v1p7beta1_assets_proto_msgTypes[0].OneofWrappers = []interface{}{ 872 (*Asset_AccessPolicy)(nil), 873 (*Asset_AccessLevel)(nil), 874 (*Asset_ServicePerimeter)(nil), 875 } 876 type x struct{} 877 out := protoimpl.TypeBuilder{ 878 File: protoimpl.DescBuilder{ 879 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 880 RawDescriptor: file_google_cloud_asset_v1p7beta1_assets_proto_rawDesc, 881 NumEnums: 0, 882 NumMessages: 5, 883 NumExtensions: 0, 884 NumServices: 0, 885 }, 886 GoTypes: file_google_cloud_asset_v1p7beta1_assets_proto_goTypes, 887 DependencyIndexes: file_google_cloud_asset_v1p7beta1_assets_proto_depIdxs, 888 MessageInfos: file_google_cloud_asset_v1p7beta1_assets_proto_msgTypes, 889 }.Build() 890 File_google_cloud_asset_v1p7beta1_assets_proto = out.File 891 file_google_cloud_asset_v1p7beta1_assets_proto_rawDesc = nil 892 file_google_cloud_asset_v1p7beta1_assets_proto_goTypes = nil 893 file_google_cloud_asset_v1p7beta1_assets_proto_depIdxs = nil 894} 895