No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 

4435 líneas
177 KiB

  1. // Code generated by protoc-gen-go. DO NOT EDIT.
  2. // source: google/devtools/containeranalysis/v1alpha1/containeranalysis.proto
  3. package containeranalysis // import "google.golang.org/genproto/googleapis/devtools/containeranalysis/v1alpha1"
  4. import proto "github.com/golang/protobuf/proto"
  5. import fmt "fmt"
  6. import math "math"
  7. import _ "github.com/golang/protobuf/ptypes/any"
  8. import empty "github.com/golang/protobuf/ptypes/empty"
  9. import timestamp "github.com/golang/protobuf/ptypes/timestamp"
  10. import _ "google.golang.org/genproto/googleapis/api/annotations"
  11. import v1 "google.golang.org/genproto/googleapis/iam/v1"
  12. import longrunning "google.golang.org/genproto/googleapis/longrunning"
  13. import status "google.golang.org/genproto/googleapis/rpc/status"
  14. import field_mask "google.golang.org/genproto/protobuf/field_mask"
  15. import (
  16. context "golang.org/x/net/context"
  17. grpc "google.golang.org/grpc"
  18. )
  19. // Reference imports to suppress errors if they are not otherwise used.
  20. var _ = proto.Marshal
  21. var _ = fmt.Errorf
  22. var _ = math.Inf
  23. // This is a compile-time assertion to ensure that this generated file
  24. // is compatible with the proto package it is being compiled against.
  25. // A compilation error at this line likely means your copy of the
  26. // proto package needs to be updated.
  27. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  28. // This must be 1:1 with members of our oneofs, it can be used for filtering
  29. // Note and Occurrence on their kind.
  30. type Note_Kind int32
  31. const (
  32. // Unknown
  33. Note_KIND_UNSPECIFIED Note_Kind = 0
  34. // The note and occurrence represent a package vulnerability.
  35. Note_PACKAGE_VULNERABILITY Note_Kind = 2
  36. // The note and occurrence assert build provenance.
  37. Note_BUILD_DETAILS Note_Kind = 3
  38. // This represents an image basis relationship.
  39. Note_IMAGE_BASIS Note_Kind = 4
  40. // This represents a package installed via a package manager.
  41. Note_PACKAGE_MANAGER Note_Kind = 5
  42. // The note and occurrence track deployment events.
  43. Note_DEPLOYABLE Note_Kind = 6
  44. // The note and occurrence track the initial discovery status of a resource.
  45. Note_DISCOVERY Note_Kind = 7
  46. // This represents a logical "role" that can attest to artifacts.
  47. Note_ATTESTATION_AUTHORITY Note_Kind = 8
  48. )
  49. var Note_Kind_name = map[int32]string{
  50. 0: "KIND_UNSPECIFIED",
  51. 2: "PACKAGE_VULNERABILITY",
  52. 3: "BUILD_DETAILS",
  53. 4: "IMAGE_BASIS",
  54. 5: "PACKAGE_MANAGER",
  55. 6: "DEPLOYABLE",
  56. 7: "DISCOVERY",
  57. 8: "ATTESTATION_AUTHORITY",
  58. }
  59. var Note_Kind_value = map[string]int32{
  60. "KIND_UNSPECIFIED": 0,
  61. "PACKAGE_VULNERABILITY": 2,
  62. "BUILD_DETAILS": 3,
  63. "IMAGE_BASIS": 4,
  64. "PACKAGE_MANAGER": 5,
  65. "DEPLOYABLE": 6,
  66. "DISCOVERY": 7,
  67. "ATTESTATION_AUTHORITY": 8,
  68. }
  69. func (x Note_Kind) String() string {
  70. return proto.EnumName(Note_Kind_name, int32(x))
  71. }
  72. func (Note_Kind) EnumDescriptor() ([]byte, []int) {
  73. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{2, 0}
  74. }
  75. // Types of platforms.
  76. type Deployable_Deployment_Platform int32
  77. const (
  78. // Unknown
  79. Deployable_Deployment_PLATFORM_UNSPECIFIED Deployable_Deployment_Platform = 0
  80. // Google Container Engine
  81. Deployable_Deployment_GKE Deployable_Deployment_Platform = 1
  82. // Google App Engine: Flexible Environment
  83. Deployable_Deployment_FLEX Deployable_Deployment_Platform = 2
  84. // Custom user-defined platform
  85. Deployable_Deployment_CUSTOM Deployable_Deployment_Platform = 3
  86. )
  87. var Deployable_Deployment_Platform_name = map[int32]string{
  88. 0: "PLATFORM_UNSPECIFIED",
  89. 1: "GKE",
  90. 2: "FLEX",
  91. 3: "CUSTOM",
  92. }
  93. var Deployable_Deployment_Platform_value = map[string]int32{
  94. "PLATFORM_UNSPECIFIED": 0,
  95. "GKE": 1,
  96. "FLEX": 2,
  97. "CUSTOM": 3,
  98. }
  99. func (x Deployable_Deployment_Platform) String() string {
  100. return proto.EnumName(Deployable_Deployment_Platform_name, int32(x))
  101. }
  102. func (Deployable_Deployment_Platform) EnumDescriptor() ([]byte, []int) {
  103. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{3, 0, 0}
  104. }
  105. // Analysis status for a resource.
  106. type Discovery_Discovered_AnalysisStatus int32
  107. const (
  108. // Unknown
  109. Discovery_Discovered_ANALYSIS_STATUS_UNSPECIFIED Discovery_Discovered_AnalysisStatus = 0
  110. // Resource is known but no action has been taken yet.
  111. Discovery_Discovered_PENDING Discovery_Discovered_AnalysisStatus = 1
  112. // Resource is being analyzed.
  113. Discovery_Discovered_SCANNING Discovery_Discovered_AnalysisStatus = 2
  114. // Analysis has finished successfully.
  115. Discovery_Discovered_FINISHED_SUCCESS Discovery_Discovered_AnalysisStatus = 3
  116. // Analysis has finished unsuccessfully, the analysis itself is in a bad
  117. // state.
  118. Discovery_Discovered_FINISHED_FAILED Discovery_Discovered_AnalysisStatus = 4
  119. // Analysis will not happen, the resource is not supported.
  120. Discovery_Discovered_UNSUPPORTED_RESOURCE Discovery_Discovered_AnalysisStatus = 5
  121. )
  122. var Discovery_Discovered_AnalysisStatus_name = map[int32]string{
  123. 0: "ANALYSIS_STATUS_UNSPECIFIED",
  124. 1: "PENDING",
  125. 2: "SCANNING",
  126. 3: "FINISHED_SUCCESS",
  127. 4: "FINISHED_FAILED",
  128. 5: "UNSUPPORTED_RESOURCE",
  129. }
  130. var Discovery_Discovered_AnalysisStatus_value = map[string]int32{
  131. "ANALYSIS_STATUS_UNSPECIFIED": 0,
  132. "PENDING": 1,
  133. "SCANNING": 2,
  134. "FINISHED_SUCCESS": 3,
  135. "FINISHED_FAILED": 4,
  136. "UNSUPPORTED_RESOURCE": 5,
  137. }
  138. func (x Discovery_Discovered_AnalysisStatus) String() string {
  139. return proto.EnumName(Discovery_Discovered_AnalysisStatus_name, int32(x))
  140. }
  141. func (Discovery_Discovered_AnalysisStatus) EnumDescriptor() ([]byte, []int) {
  142. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{4, 0, 0}
  143. }
  144. // Public key formats
  145. type BuildSignature_KeyType int32
  146. const (
  147. // `KeyType` is not set.
  148. BuildSignature_KEY_TYPE_UNSPECIFIED BuildSignature_KeyType = 0
  149. // `PGP ASCII Armored` public key.
  150. BuildSignature_PGP_ASCII_ARMORED BuildSignature_KeyType = 1
  151. // `PKIX PEM` public key.
  152. BuildSignature_PKIX_PEM BuildSignature_KeyType = 2
  153. )
  154. var BuildSignature_KeyType_name = map[int32]string{
  155. 0: "KEY_TYPE_UNSPECIFIED",
  156. 1: "PGP_ASCII_ARMORED",
  157. 2: "PKIX_PEM",
  158. }
  159. var BuildSignature_KeyType_value = map[string]int32{
  160. "KEY_TYPE_UNSPECIFIED": 0,
  161. "PGP_ASCII_ARMORED": 1,
  162. "PKIX_PEM": 2,
  163. }
  164. func (x BuildSignature_KeyType) String() string {
  165. return proto.EnumName(BuildSignature_KeyType_name, int32(x))
  166. }
  167. func (BuildSignature_KeyType) EnumDescriptor() ([]byte, []int) {
  168. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{6, 0}
  169. }
  170. // Type (for example schema) of the attestation payload that was signed.
  171. type PgpSignedAttestation_ContentType int32
  172. const (
  173. // `ContentType` is not set.
  174. PgpSignedAttestation_CONTENT_TYPE_UNSPECIFIED PgpSignedAttestation_ContentType = 0
  175. // Atomic format attestation signature. See
  176. // https://github.com/containers/image/blob/8a5d2f82a6e3263290c8e0276c3e0f64e77723e7/docs/atomic-signature.md
  177. // The payload extracted from `signature` is a JSON blob conforming to the
  178. // linked schema.
  179. PgpSignedAttestation_SIMPLE_SIGNING_JSON PgpSignedAttestation_ContentType = 1
  180. )
  181. var PgpSignedAttestation_ContentType_name = map[int32]string{
  182. 0: "CONTENT_TYPE_UNSPECIFIED",
  183. 1: "SIMPLE_SIGNING_JSON",
  184. }
  185. var PgpSignedAttestation_ContentType_value = map[string]int32{
  186. "CONTENT_TYPE_UNSPECIFIED": 0,
  187. "SIMPLE_SIGNING_JSON": 1,
  188. }
  189. func (x PgpSignedAttestation_ContentType) String() string {
  190. return proto.EnumName(PgpSignedAttestation_ContentType_name, int32(x))
  191. }
  192. func (PgpSignedAttestation_ContentType) EnumDescriptor() ([]byte, []int) {
  193. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{7, 0}
  194. }
  195. // `Occurrence` includes information about analysis occurrences for an image.
  196. type Occurrence struct {
  197. // Output only. The name of the `Occurrence` in the form
  198. // "projects/{project_id}/occurrences/{OCCURRENCE_ID}"
  199. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  200. // The unique URL of the image or the container for which the `Occurrence`
  201. // applies. For example, https://gcr.io/project/image@sha256:foo This field
  202. // can be used as a filter in list requests.
  203. ResourceUrl string `protobuf:"bytes,2,opt,name=resource_url,json=resourceUrl,proto3" json:"resource_url,omitempty"`
  204. // The resource for which the `Occurrence` applies.
  205. Resource *Resource `protobuf:"bytes,17,opt,name=resource,proto3" json:"resource,omitempty"`
  206. // An analysis note associated with this image, in the form
  207. // "providers/{provider_id}/notes/{NOTE_ID}"
  208. // This field can be used as a filter in list requests.
  209. NoteName string `protobuf:"bytes,3,opt,name=note_name,json=noteName,proto3" json:"note_name,omitempty"`
  210. // Output only. This explicitly denotes which of the `Occurrence` details are
  211. // specified. This field can be used as a filter in list requests.
  212. Kind Note_Kind `protobuf:"varint,6,opt,name=kind,proto3,enum=google.devtools.containeranalysis.v1alpha1.Note_Kind" json:"kind,omitempty"`
  213. // Describes the details of the vulnerability `Note` found in this resource.
  214. //
  215. // Types that are valid to be assigned to Details:
  216. // *Occurrence_VulnerabilityDetails
  217. // *Occurrence_BuildDetails
  218. // *Occurrence_DerivedImage
  219. // *Occurrence_Installation
  220. // *Occurrence_Deployment
  221. // *Occurrence_Discovered
  222. // *Occurrence_Attestation
  223. Details isOccurrence_Details `protobuf_oneof:"details"`
  224. // A description of actions that can be taken to remedy the `Note`
  225. Remediation string `protobuf:"bytes,5,opt,name=remediation,proto3" json:"remediation,omitempty"`
  226. // Output only. The time this `Occurrence` was created.
  227. CreateTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
  228. // Output only. The time this `Occurrence` was last updated.
  229. UpdateTime *timestamp.Timestamp `protobuf:"bytes,10,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
  230. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  231. XXX_unrecognized []byte `json:"-"`
  232. XXX_sizecache int32 `json:"-"`
  233. }
  234. func (m *Occurrence) Reset() { *m = Occurrence{} }
  235. func (m *Occurrence) String() string { return proto.CompactTextString(m) }
  236. func (*Occurrence) ProtoMessage() {}
  237. func (*Occurrence) Descriptor() ([]byte, []int) {
  238. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{0}
  239. }
  240. func (m *Occurrence) XXX_Unmarshal(b []byte) error {
  241. return xxx_messageInfo_Occurrence.Unmarshal(m, b)
  242. }
  243. func (m *Occurrence) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  244. return xxx_messageInfo_Occurrence.Marshal(b, m, deterministic)
  245. }
  246. func (dst *Occurrence) XXX_Merge(src proto.Message) {
  247. xxx_messageInfo_Occurrence.Merge(dst, src)
  248. }
  249. func (m *Occurrence) XXX_Size() int {
  250. return xxx_messageInfo_Occurrence.Size(m)
  251. }
  252. func (m *Occurrence) XXX_DiscardUnknown() {
  253. xxx_messageInfo_Occurrence.DiscardUnknown(m)
  254. }
  255. var xxx_messageInfo_Occurrence proto.InternalMessageInfo
  256. func (m *Occurrence) GetName() string {
  257. if m != nil {
  258. return m.Name
  259. }
  260. return ""
  261. }
  262. func (m *Occurrence) GetResourceUrl() string {
  263. if m != nil {
  264. return m.ResourceUrl
  265. }
  266. return ""
  267. }
  268. func (m *Occurrence) GetResource() *Resource {
  269. if m != nil {
  270. return m.Resource
  271. }
  272. return nil
  273. }
  274. func (m *Occurrence) GetNoteName() string {
  275. if m != nil {
  276. return m.NoteName
  277. }
  278. return ""
  279. }
  280. func (m *Occurrence) GetKind() Note_Kind {
  281. if m != nil {
  282. return m.Kind
  283. }
  284. return Note_KIND_UNSPECIFIED
  285. }
  286. type isOccurrence_Details interface {
  287. isOccurrence_Details()
  288. }
  289. type Occurrence_VulnerabilityDetails struct {
  290. VulnerabilityDetails *VulnerabilityType_VulnerabilityDetails `protobuf:"bytes,8,opt,name=vulnerability_details,json=vulnerabilityDetails,proto3,oneof"`
  291. }
  292. type Occurrence_BuildDetails struct {
  293. BuildDetails *BuildDetails `protobuf:"bytes,7,opt,name=build_details,json=buildDetails,proto3,oneof"`
  294. }
  295. type Occurrence_DerivedImage struct {
  296. DerivedImage *DockerImage_Derived `protobuf:"bytes,11,opt,name=derived_image,json=derivedImage,proto3,oneof"`
  297. }
  298. type Occurrence_Installation struct {
  299. Installation *PackageManager_Installation `protobuf:"bytes,12,opt,name=installation,proto3,oneof"`
  300. }
  301. type Occurrence_Deployment struct {
  302. Deployment *Deployable_Deployment `protobuf:"bytes,14,opt,name=deployment,proto3,oneof"`
  303. }
  304. type Occurrence_Discovered struct {
  305. Discovered *Discovery_Discovered `protobuf:"bytes,15,opt,name=discovered,proto3,oneof"`
  306. }
  307. type Occurrence_Attestation struct {
  308. Attestation *AttestationAuthority_Attestation `protobuf:"bytes,16,opt,name=attestation,proto3,oneof"`
  309. }
  310. func (*Occurrence_VulnerabilityDetails) isOccurrence_Details() {}
  311. func (*Occurrence_BuildDetails) isOccurrence_Details() {}
  312. func (*Occurrence_DerivedImage) isOccurrence_Details() {}
  313. func (*Occurrence_Installation) isOccurrence_Details() {}
  314. func (*Occurrence_Deployment) isOccurrence_Details() {}
  315. func (*Occurrence_Discovered) isOccurrence_Details() {}
  316. func (*Occurrence_Attestation) isOccurrence_Details() {}
  317. func (m *Occurrence) GetDetails() isOccurrence_Details {
  318. if m != nil {
  319. return m.Details
  320. }
  321. return nil
  322. }
  323. func (m *Occurrence) GetVulnerabilityDetails() *VulnerabilityType_VulnerabilityDetails {
  324. if x, ok := m.GetDetails().(*Occurrence_VulnerabilityDetails); ok {
  325. return x.VulnerabilityDetails
  326. }
  327. return nil
  328. }
  329. func (m *Occurrence) GetBuildDetails() *BuildDetails {
  330. if x, ok := m.GetDetails().(*Occurrence_BuildDetails); ok {
  331. return x.BuildDetails
  332. }
  333. return nil
  334. }
  335. func (m *Occurrence) GetDerivedImage() *DockerImage_Derived {
  336. if x, ok := m.GetDetails().(*Occurrence_DerivedImage); ok {
  337. return x.DerivedImage
  338. }
  339. return nil
  340. }
  341. func (m *Occurrence) GetInstallation() *PackageManager_Installation {
  342. if x, ok := m.GetDetails().(*Occurrence_Installation); ok {
  343. return x.Installation
  344. }
  345. return nil
  346. }
  347. func (m *Occurrence) GetDeployment() *Deployable_Deployment {
  348. if x, ok := m.GetDetails().(*Occurrence_Deployment); ok {
  349. return x.Deployment
  350. }
  351. return nil
  352. }
  353. func (m *Occurrence) GetDiscovered() *Discovery_Discovered {
  354. if x, ok := m.GetDetails().(*Occurrence_Discovered); ok {
  355. return x.Discovered
  356. }
  357. return nil
  358. }
  359. func (m *Occurrence) GetAttestation() *AttestationAuthority_Attestation {
  360. if x, ok := m.GetDetails().(*Occurrence_Attestation); ok {
  361. return x.Attestation
  362. }
  363. return nil
  364. }
  365. func (m *Occurrence) GetRemediation() string {
  366. if m != nil {
  367. return m.Remediation
  368. }
  369. return ""
  370. }
  371. func (m *Occurrence) GetCreateTime() *timestamp.Timestamp {
  372. if m != nil {
  373. return m.CreateTime
  374. }
  375. return nil
  376. }
  377. func (m *Occurrence) GetUpdateTime() *timestamp.Timestamp {
  378. if m != nil {
  379. return m.UpdateTime
  380. }
  381. return nil
  382. }
  383. // XXX_OneofFuncs is for the internal use of the proto package.
  384. func (*Occurrence) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  385. return _Occurrence_OneofMarshaler, _Occurrence_OneofUnmarshaler, _Occurrence_OneofSizer, []interface{}{
  386. (*Occurrence_VulnerabilityDetails)(nil),
  387. (*Occurrence_BuildDetails)(nil),
  388. (*Occurrence_DerivedImage)(nil),
  389. (*Occurrence_Installation)(nil),
  390. (*Occurrence_Deployment)(nil),
  391. (*Occurrence_Discovered)(nil),
  392. (*Occurrence_Attestation)(nil),
  393. }
  394. }
  395. func _Occurrence_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  396. m := msg.(*Occurrence)
  397. // details
  398. switch x := m.Details.(type) {
  399. case *Occurrence_VulnerabilityDetails:
  400. b.EncodeVarint(8<<3 | proto.WireBytes)
  401. if err := b.EncodeMessage(x.VulnerabilityDetails); err != nil {
  402. return err
  403. }
  404. case *Occurrence_BuildDetails:
  405. b.EncodeVarint(7<<3 | proto.WireBytes)
  406. if err := b.EncodeMessage(x.BuildDetails); err != nil {
  407. return err
  408. }
  409. case *Occurrence_DerivedImage:
  410. b.EncodeVarint(11<<3 | proto.WireBytes)
  411. if err := b.EncodeMessage(x.DerivedImage); err != nil {
  412. return err
  413. }
  414. case *Occurrence_Installation:
  415. b.EncodeVarint(12<<3 | proto.WireBytes)
  416. if err := b.EncodeMessage(x.Installation); err != nil {
  417. return err
  418. }
  419. case *Occurrence_Deployment:
  420. b.EncodeVarint(14<<3 | proto.WireBytes)
  421. if err := b.EncodeMessage(x.Deployment); err != nil {
  422. return err
  423. }
  424. case *Occurrence_Discovered:
  425. b.EncodeVarint(15<<3 | proto.WireBytes)
  426. if err := b.EncodeMessage(x.Discovered); err != nil {
  427. return err
  428. }
  429. case *Occurrence_Attestation:
  430. b.EncodeVarint(16<<3 | proto.WireBytes)
  431. if err := b.EncodeMessage(x.Attestation); err != nil {
  432. return err
  433. }
  434. case nil:
  435. default:
  436. return fmt.Errorf("Occurrence.Details has unexpected type %T", x)
  437. }
  438. return nil
  439. }
  440. func _Occurrence_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  441. m := msg.(*Occurrence)
  442. switch tag {
  443. case 8: // details.vulnerability_details
  444. if wire != proto.WireBytes {
  445. return true, proto.ErrInternalBadWireType
  446. }
  447. msg := new(VulnerabilityType_VulnerabilityDetails)
  448. err := b.DecodeMessage(msg)
  449. m.Details = &Occurrence_VulnerabilityDetails{msg}
  450. return true, err
  451. case 7: // details.build_details
  452. if wire != proto.WireBytes {
  453. return true, proto.ErrInternalBadWireType
  454. }
  455. msg := new(BuildDetails)
  456. err := b.DecodeMessage(msg)
  457. m.Details = &Occurrence_BuildDetails{msg}
  458. return true, err
  459. case 11: // details.derived_image
  460. if wire != proto.WireBytes {
  461. return true, proto.ErrInternalBadWireType
  462. }
  463. msg := new(DockerImage_Derived)
  464. err := b.DecodeMessage(msg)
  465. m.Details = &Occurrence_DerivedImage{msg}
  466. return true, err
  467. case 12: // details.installation
  468. if wire != proto.WireBytes {
  469. return true, proto.ErrInternalBadWireType
  470. }
  471. msg := new(PackageManager_Installation)
  472. err := b.DecodeMessage(msg)
  473. m.Details = &Occurrence_Installation{msg}
  474. return true, err
  475. case 14: // details.deployment
  476. if wire != proto.WireBytes {
  477. return true, proto.ErrInternalBadWireType
  478. }
  479. msg := new(Deployable_Deployment)
  480. err := b.DecodeMessage(msg)
  481. m.Details = &Occurrence_Deployment{msg}
  482. return true, err
  483. case 15: // details.discovered
  484. if wire != proto.WireBytes {
  485. return true, proto.ErrInternalBadWireType
  486. }
  487. msg := new(Discovery_Discovered)
  488. err := b.DecodeMessage(msg)
  489. m.Details = &Occurrence_Discovered{msg}
  490. return true, err
  491. case 16: // details.attestation
  492. if wire != proto.WireBytes {
  493. return true, proto.ErrInternalBadWireType
  494. }
  495. msg := new(AttestationAuthority_Attestation)
  496. err := b.DecodeMessage(msg)
  497. m.Details = &Occurrence_Attestation{msg}
  498. return true, err
  499. default:
  500. return false, nil
  501. }
  502. }
  503. func _Occurrence_OneofSizer(msg proto.Message) (n int) {
  504. m := msg.(*Occurrence)
  505. // details
  506. switch x := m.Details.(type) {
  507. case *Occurrence_VulnerabilityDetails:
  508. s := proto.Size(x.VulnerabilityDetails)
  509. n += 1 // tag and wire
  510. n += proto.SizeVarint(uint64(s))
  511. n += s
  512. case *Occurrence_BuildDetails:
  513. s := proto.Size(x.BuildDetails)
  514. n += 1 // tag and wire
  515. n += proto.SizeVarint(uint64(s))
  516. n += s
  517. case *Occurrence_DerivedImage:
  518. s := proto.Size(x.DerivedImage)
  519. n += 1 // tag and wire
  520. n += proto.SizeVarint(uint64(s))
  521. n += s
  522. case *Occurrence_Installation:
  523. s := proto.Size(x.Installation)
  524. n += 1 // tag and wire
  525. n += proto.SizeVarint(uint64(s))
  526. n += s
  527. case *Occurrence_Deployment:
  528. s := proto.Size(x.Deployment)
  529. n += 1 // tag and wire
  530. n += proto.SizeVarint(uint64(s))
  531. n += s
  532. case *Occurrence_Discovered:
  533. s := proto.Size(x.Discovered)
  534. n += 1 // tag and wire
  535. n += proto.SizeVarint(uint64(s))
  536. n += s
  537. case *Occurrence_Attestation:
  538. s := proto.Size(x.Attestation)
  539. n += 2 // tag and wire
  540. n += proto.SizeVarint(uint64(s))
  541. n += s
  542. case nil:
  543. default:
  544. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  545. }
  546. return n
  547. }
  548. // Resource is an entity that can have metadata. E.g., a Docker image.
  549. type Resource struct {
  550. // The name of the resource. E.g., the name of a Docker image - "Debian".
  551. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  552. // The unique URI of the resource. E.g.,
  553. // "https://gcr.io/project/image@sha256:foo" for a Docker image.
  554. Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"`
  555. // The hash of the resource content. E.g., the Docker digest.
  556. ContentHash *Hash `protobuf:"bytes,3,opt,name=content_hash,json=contentHash,proto3" json:"content_hash,omitempty"`
  557. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  558. XXX_unrecognized []byte `json:"-"`
  559. XXX_sizecache int32 `json:"-"`
  560. }
  561. func (m *Resource) Reset() { *m = Resource{} }
  562. func (m *Resource) String() string { return proto.CompactTextString(m) }
  563. func (*Resource) ProtoMessage() {}
  564. func (*Resource) Descriptor() ([]byte, []int) {
  565. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{1}
  566. }
  567. func (m *Resource) XXX_Unmarshal(b []byte) error {
  568. return xxx_messageInfo_Resource.Unmarshal(m, b)
  569. }
  570. func (m *Resource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  571. return xxx_messageInfo_Resource.Marshal(b, m, deterministic)
  572. }
  573. func (dst *Resource) XXX_Merge(src proto.Message) {
  574. xxx_messageInfo_Resource.Merge(dst, src)
  575. }
  576. func (m *Resource) XXX_Size() int {
  577. return xxx_messageInfo_Resource.Size(m)
  578. }
  579. func (m *Resource) XXX_DiscardUnknown() {
  580. xxx_messageInfo_Resource.DiscardUnknown(m)
  581. }
  582. var xxx_messageInfo_Resource proto.InternalMessageInfo
  583. func (m *Resource) GetName() string {
  584. if m != nil {
  585. return m.Name
  586. }
  587. return ""
  588. }
  589. func (m *Resource) GetUri() string {
  590. if m != nil {
  591. return m.Uri
  592. }
  593. return ""
  594. }
  595. func (m *Resource) GetContentHash() *Hash {
  596. if m != nil {
  597. return m.ContentHash
  598. }
  599. return nil
  600. }
  601. // Provides a detailed description of a `Note`.
  602. type Note struct {
  603. // The name of the note in the form
  604. // "providers/{provider_id}/notes/{NOTE_ID}"
  605. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  606. // A one sentence description of this `Note`.
  607. ShortDescription string `protobuf:"bytes,3,opt,name=short_description,json=shortDescription,proto3" json:"short_description,omitempty"`
  608. // A detailed description of this `Note`.
  609. LongDescription string `protobuf:"bytes,4,opt,name=long_description,json=longDescription,proto3" json:"long_description,omitempty"`
  610. // Output only. This explicitly denotes which kind of note is specified. This
  611. // field can be used as a filter in list requests.
  612. Kind Note_Kind `protobuf:"varint,9,opt,name=kind,proto3,enum=google.devtools.containeranalysis.v1alpha1.Note_Kind" json:"kind,omitempty"`
  613. // The type of note.
  614. //
  615. // Types that are valid to be assigned to NoteType:
  616. // *Note_VulnerabilityType
  617. // *Note_BuildType
  618. // *Note_BaseImage
  619. // *Note_Package
  620. // *Note_Deployable
  621. // *Note_Discovery
  622. // *Note_AttestationAuthority
  623. NoteType isNote_NoteType `protobuf_oneof:"note_type"`
  624. // URLs associated with this note
  625. RelatedUrl []*Note_RelatedUrl `protobuf:"bytes,7,rep,name=related_url,json=relatedUrl,proto3" json:"related_url,omitempty"`
  626. // Time of expiration for this note, null if note does not expire.
  627. ExpirationTime *timestamp.Timestamp `protobuf:"bytes,10,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"`
  628. // Output only. The time this note was created. This field can be used as a
  629. // filter in list requests.
  630. CreateTime *timestamp.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
  631. // Output only. The time this note was last updated. This field can be used as
  632. // a filter in list requests.
  633. UpdateTime *timestamp.Timestamp `protobuf:"bytes,12,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
  634. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  635. XXX_unrecognized []byte `json:"-"`
  636. XXX_sizecache int32 `json:"-"`
  637. }
  638. func (m *Note) Reset() { *m = Note{} }
  639. func (m *Note) String() string { return proto.CompactTextString(m) }
  640. func (*Note) ProtoMessage() {}
  641. func (*Note) Descriptor() ([]byte, []int) {
  642. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{2}
  643. }
  644. func (m *Note) XXX_Unmarshal(b []byte) error {
  645. return xxx_messageInfo_Note.Unmarshal(m, b)
  646. }
  647. func (m *Note) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  648. return xxx_messageInfo_Note.Marshal(b, m, deterministic)
  649. }
  650. func (dst *Note) XXX_Merge(src proto.Message) {
  651. xxx_messageInfo_Note.Merge(dst, src)
  652. }
  653. func (m *Note) XXX_Size() int {
  654. return xxx_messageInfo_Note.Size(m)
  655. }
  656. func (m *Note) XXX_DiscardUnknown() {
  657. xxx_messageInfo_Note.DiscardUnknown(m)
  658. }
  659. var xxx_messageInfo_Note proto.InternalMessageInfo
  660. func (m *Note) GetName() string {
  661. if m != nil {
  662. return m.Name
  663. }
  664. return ""
  665. }
  666. func (m *Note) GetShortDescription() string {
  667. if m != nil {
  668. return m.ShortDescription
  669. }
  670. return ""
  671. }
  672. func (m *Note) GetLongDescription() string {
  673. if m != nil {
  674. return m.LongDescription
  675. }
  676. return ""
  677. }
  678. func (m *Note) GetKind() Note_Kind {
  679. if m != nil {
  680. return m.Kind
  681. }
  682. return Note_KIND_UNSPECIFIED
  683. }
  684. type isNote_NoteType interface {
  685. isNote_NoteType()
  686. }
  687. type Note_VulnerabilityType struct {
  688. VulnerabilityType *VulnerabilityType `protobuf:"bytes,6,opt,name=vulnerability_type,json=vulnerabilityType,proto3,oneof"`
  689. }
  690. type Note_BuildType struct {
  691. BuildType *BuildType `protobuf:"bytes,8,opt,name=build_type,json=buildType,proto3,oneof"`
  692. }
  693. type Note_BaseImage struct {
  694. BaseImage *DockerImage_Basis `protobuf:"bytes,13,opt,name=base_image,json=baseImage,proto3,oneof"`
  695. }
  696. type Note_Package struct {
  697. Package *PackageManager_Package `protobuf:"bytes,14,opt,name=package,proto3,oneof"`
  698. }
  699. type Note_Deployable struct {
  700. Deployable *Deployable `protobuf:"bytes,17,opt,name=deployable,proto3,oneof"`
  701. }
  702. type Note_Discovery struct {
  703. Discovery *Discovery `protobuf:"bytes,18,opt,name=discovery,proto3,oneof"`
  704. }
  705. type Note_AttestationAuthority struct {
  706. AttestationAuthority *AttestationAuthority `protobuf:"bytes,19,opt,name=attestation_authority,json=attestationAuthority,proto3,oneof"`
  707. }
  708. func (*Note_VulnerabilityType) isNote_NoteType() {}
  709. func (*Note_BuildType) isNote_NoteType() {}
  710. func (*Note_BaseImage) isNote_NoteType() {}
  711. func (*Note_Package) isNote_NoteType() {}
  712. func (*Note_Deployable) isNote_NoteType() {}
  713. func (*Note_Discovery) isNote_NoteType() {}
  714. func (*Note_AttestationAuthority) isNote_NoteType() {}
  715. func (m *Note) GetNoteType() isNote_NoteType {
  716. if m != nil {
  717. return m.NoteType
  718. }
  719. return nil
  720. }
  721. func (m *Note) GetVulnerabilityType() *VulnerabilityType {
  722. if x, ok := m.GetNoteType().(*Note_VulnerabilityType); ok {
  723. return x.VulnerabilityType
  724. }
  725. return nil
  726. }
  727. func (m *Note) GetBuildType() *BuildType {
  728. if x, ok := m.GetNoteType().(*Note_BuildType); ok {
  729. return x.BuildType
  730. }
  731. return nil
  732. }
  733. func (m *Note) GetBaseImage() *DockerImage_Basis {
  734. if x, ok := m.GetNoteType().(*Note_BaseImage); ok {
  735. return x.BaseImage
  736. }
  737. return nil
  738. }
  739. func (m *Note) GetPackage() *PackageManager_Package {
  740. if x, ok := m.GetNoteType().(*Note_Package); ok {
  741. return x.Package
  742. }
  743. return nil
  744. }
  745. func (m *Note) GetDeployable() *Deployable {
  746. if x, ok := m.GetNoteType().(*Note_Deployable); ok {
  747. return x.Deployable
  748. }
  749. return nil
  750. }
  751. func (m *Note) GetDiscovery() *Discovery {
  752. if x, ok := m.GetNoteType().(*Note_Discovery); ok {
  753. return x.Discovery
  754. }
  755. return nil
  756. }
  757. func (m *Note) GetAttestationAuthority() *AttestationAuthority {
  758. if x, ok := m.GetNoteType().(*Note_AttestationAuthority); ok {
  759. return x.AttestationAuthority
  760. }
  761. return nil
  762. }
  763. func (m *Note) GetRelatedUrl() []*Note_RelatedUrl {
  764. if m != nil {
  765. return m.RelatedUrl
  766. }
  767. return nil
  768. }
  769. func (m *Note) GetExpirationTime() *timestamp.Timestamp {
  770. if m != nil {
  771. return m.ExpirationTime
  772. }
  773. return nil
  774. }
  775. func (m *Note) GetCreateTime() *timestamp.Timestamp {
  776. if m != nil {
  777. return m.CreateTime
  778. }
  779. return nil
  780. }
  781. func (m *Note) GetUpdateTime() *timestamp.Timestamp {
  782. if m != nil {
  783. return m.UpdateTime
  784. }
  785. return nil
  786. }
  787. // XXX_OneofFuncs is for the internal use of the proto package.
  788. func (*Note) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  789. return _Note_OneofMarshaler, _Note_OneofUnmarshaler, _Note_OneofSizer, []interface{}{
  790. (*Note_VulnerabilityType)(nil),
  791. (*Note_BuildType)(nil),
  792. (*Note_BaseImage)(nil),
  793. (*Note_Package)(nil),
  794. (*Note_Deployable)(nil),
  795. (*Note_Discovery)(nil),
  796. (*Note_AttestationAuthority)(nil),
  797. }
  798. }
  799. func _Note_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  800. m := msg.(*Note)
  801. // note_type
  802. switch x := m.NoteType.(type) {
  803. case *Note_VulnerabilityType:
  804. b.EncodeVarint(6<<3 | proto.WireBytes)
  805. if err := b.EncodeMessage(x.VulnerabilityType); err != nil {
  806. return err
  807. }
  808. case *Note_BuildType:
  809. b.EncodeVarint(8<<3 | proto.WireBytes)
  810. if err := b.EncodeMessage(x.BuildType); err != nil {
  811. return err
  812. }
  813. case *Note_BaseImage:
  814. b.EncodeVarint(13<<3 | proto.WireBytes)
  815. if err := b.EncodeMessage(x.BaseImage); err != nil {
  816. return err
  817. }
  818. case *Note_Package:
  819. b.EncodeVarint(14<<3 | proto.WireBytes)
  820. if err := b.EncodeMessage(x.Package); err != nil {
  821. return err
  822. }
  823. case *Note_Deployable:
  824. b.EncodeVarint(17<<3 | proto.WireBytes)
  825. if err := b.EncodeMessage(x.Deployable); err != nil {
  826. return err
  827. }
  828. case *Note_Discovery:
  829. b.EncodeVarint(18<<3 | proto.WireBytes)
  830. if err := b.EncodeMessage(x.Discovery); err != nil {
  831. return err
  832. }
  833. case *Note_AttestationAuthority:
  834. b.EncodeVarint(19<<3 | proto.WireBytes)
  835. if err := b.EncodeMessage(x.AttestationAuthority); err != nil {
  836. return err
  837. }
  838. case nil:
  839. default:
  840. return fmt.Errorf("Note.NoteType has unexpected type %T", x)
  841. }
  842. return nil
  843. }
  844. func _Note_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  845. m := msg.(*Note)
  846. switch tag {
  847. case 6: // note_type.vulnerability_type
  848. if wire != proto.WireBytes {
  849. return true, proto.ErrInternalBadWireType
  850. }
  851. msg := new(VulnerabilityType)
  852. err := b.DecodeMessage(msg)
  853. m.NoteType = &Note_VulnerabilityType{msg}
  854. return true, err
  855. case 8: // note_type.build_type
  856. if wire != proto.WireBytes {
  857. return true, proto.ErrInternalBadWireType
  858. }
  859. msg := new(BuildType)
  860. err := b.DecodeMessage(msg)
  861. m.NoteType = &Note_BuildType{msg}
  862. return true, err
  863. case 13: // note_type.base_image
  864. if wire != proto.WireBytes {
  865. return true, proto.ErrInternalBadWireType
  866. }
  867. msg := new(DockerImage_Basis)
  868. err := b.DecodeMessage(msg)
  869. m.NoteType = &Note_BaseImage{msg}
  870. return true, err
  871. case 14: // note_type.package
  872. if wire != proto.WireBytes {
  873. return true, proto.ErrInternalBadWireType
  874. }
  875. msg := new(PackageManager_Package)
  876. err := b.DecodeMessage(msg)
  877. m.NoteType = &Note_Package{msg}
  878. return true, err
  879. case 17: // note_type.deployable
  880. if wire != proto.WireBytes {
  881. return true, proto.ErrInternalBadWireType
  882. }
  883. msg := new(Deployable)
  884. err := b.DecodeMessage(msg)
  885. m.NoteType = &Note_Deployable{msg}
  886. return true, err
  887. case 18: // note_type.discovery
  888. if wire != proto.WireBytes {
  889. return true, proto.ErrInternalBadWireType
  890. }
  891. msg := new(Discovery)
  892. err := b.DecodeMessage(msg)
  893. m.NoteType = &Note_Discovery{msg}
  894. return true, err
  895. case 19: // note_type.attestation_authority
  896. if wire != proto.WireBytes {
  897. return true, proto.ErrInternalBadWireType
  898. }
  899. msg := new(AttestationAuthority)
  900. err := b.DecodeMessage(msg)
  901. m.NoteType = &Note_AttestationAuthority{msg}
  902. return true, err
  903. default:
  904. return false, nil
  905. }
  906. }
  907. func _Note_OneofSizer(msg proto.Message) (n int) {
  908. m := msg.(*Note)
  909. // note_type
  910. switch x := m.NoteType.(type) {
  911. case *Note_VulnerabilityType:
  912. s := proto.Size(x.VulnerabilityType)
  913. n += 1 // tag and wire
  914. n += proto.SizeVarint(uint64(s))
  915. n += s
  916. case *Note_BuildType:
  917. s := proto.Size(x.BuildType)
  918. n += 1 // tag and wire
  919. n += proto.SizeVarint(uint64(s))
  920. n += s
  921. case *Note_BaseImage:
  922. s := proto.Size(x.BaseImage)
  923. n += 1 // tag and wire
  924. n += proto.SizeVarint(uint64(s))
  925. n += s
  926. case *Note_Package:
  927. s := proto.Size(x.Package)
  928. n += 1 // tag and wire
  929. n += proto.SizeVarint(uint64(s))
  930. n += s
  931. case *Note_Deployable:
  932. s := proto.Size(x.Deployable)
  933. n += 2 // tag and wire
  934. n += proto.SizeVarint(uint64(s))
  935. n += s
  936. case *Note_Discovery:
  937. s := proto.Size(x.Discovery)
  938. n += 2 // tag and wire
  939. n += proto.SizeVarint(uint64(s))
  940. n += s
  941. case *Note_AttestationAuthority:
  942. s := proto.Size(x.AttestationAuthority)
  943. n += 2 // tag and wire
  944. n += proto.SizeVarint(uint64(s))
  945. n += s
  946. case nil:
  947. default:
  948. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  949. }
  950. return n
  951. }
  952. // Metadata for any related URL information
  953. type Note_RelatedUrl struct {
  954. // Specific URL to associate with the note
  955. Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
  956. // Label to describe usage of the URL
  957. Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"`
  958. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  959. XXX_unrecognized []byte `json:"-"`
  960. XXX_sizecache int32 `json:"-"`
  961. }
  962. func (m *Note_RelatedUrl) Reset() { *m = Note_RelatedUrl{} }
  963. func (m *Note_RelatedUrl) String() string { return proto.CompactTextString(m) }
  964. func (*Note_RelatedUrl) ProtoMessage() {}
  965. func (*Note_RelatedUrl) Descriptor() ([]byte, []int) {
  966. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{2, 0}
  967. }
  968. func (m *Note_RelatedUrl) XXX_Unmarshal(b []byte) error {
  969. return xxx_messageInfo_Note_RelatedUrl.Unmarshal(m, b)
  970. }
  971. func (m *Note_RelatedUrl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  972. return xxx_messageInfo_Note_RelatedUrl.Marshal(b, m, deterministic)
  973. }
  974. func (dst *Note_RelatedUrl) XXX_Merge(src proto.Message) {
  975. xxx_messageInfo_Note_RelatedUrl.Merge(dst, src)
  976. }
  977. func (m *Note_RelatedUrl) XXX_Size() int {
  978. return xxx_messageInfo_Note_RelatedUrl.Size(m)
  979. }
  980. func (m *Note_RelatedUrl) XXX_DiscardUnknown() {
  981. xxx_messageInfo_Note_RelatedUrl.DiscardUnknown(m)
  982. }
  983. var xxx_messageInfo_Note_RelatedUrl proto.InternalMessageInfo
  984. func (m *Note_RelatedUrl) GetUrl() string {
  985. if m != nil {
  986. return m.Url
  987. }
  988. return ""
  989. }
  990. func (m *Note_RelatedUrl) GetLabel() string {
  991. if m != nil {
  992. return m.Label
  993. }
  994. return ""
  995. }
  996. // An artifact that can be deployed in some runtime.
  997. type Deployable struct {
  998. // Resource URI for the artifact being deployed.
  999. ResourceUri []string `protobuf:"bytes,1,rep,name=resource_uri,json=resourceUri,proto3" json:"resource_uri,omitempty"`
  1000. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1001. XXX_unrecognized []byte `json:"-"`
  1002. XXX_sizecache int32 `json:"-"`
  1003. }
  1004. func (m *Deployable) Reset() { *m = Deployable{} }
  1005. func (m *Deployable) String() string { return proto.CompactTextString(m) }
  1006. func (*Deployable) ProtoMessage() {}
  1007. func (*Deployable) Descriptor() ([]byte, []int) {
  1008. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{3}
  1009. }
  1010. func (m *Deployable) XXX_Unmarshal(b []byte) error {
  1011. return xxx_messageInfo_Deployable.Unmarshal(m, b)
  1012. }
  1013. func (m *Deployable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1014. return xxx_messageInfo_Deployable.Marshal(b, m, deterministic)
  1015. }
  1016. func (dst *Deployable) XXX_Merge(src proto.Message) {
  1017. xxx_messageInfo_Deployable.Merge(dst, src)
  1018. }
  1019. func (m *Deployable) XXX_Size() int {
  1020. return xxx_messageInfo_Deployable.Size(m)
  1021. }
  1022. func (m *Deployable) XXX_DiscardUnknown() {
  1023. xxx_messageInfo_Deployable.DiscardUnknown(m)
  1024. }
  1025. var xxx_messageInfo_Deployable proto.InternalMessageInfo
  1026. func (m *Deployable) GetResourceUri() []string {
  1027. if m != nil {
  1028. return m.ResourceUri
  1029. }
  1030. return nil
  1031. }
  1032. // The period during which some deployable was active in a runtime.
  1033. type Deployable_Deployment struct {
  1034. // Identity of the user that triggered this deployment.
  1035. UserEmail string `protobuf:"bytes,1,opt,name=user_email,json=userEmail,proto3" json:"user_email,omitempty"`
  1036. // Beginning of the lifetime of this deployment.
  1037. DeployTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=deploy_time,json=deployTime,proto3" json:"deploy_time,omitempty"`
  1038. // End of the lifetime of this deployment.
  1039. UndeployTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=undeploy_time,json=undeployTime,proto3" json:"undeploy_time,omitempty"`
  1040. // Configuration used to create this deployment.
  1041. Config string `protobuf:"bytes,8,opt,name=config,proto3" json:"config,omitempty"`
  1042. // Address of the runtime element hosting this deployment.
  1043. Address string `protobuf:"bytes,5,opt,name=address,proto3" json:"address,omitempty"`
  1044. // Output only. Resource URI for the artifact being deployed taken from the
  1045. // deployable field with the same name.
  1046. ResourceUri []string `protobuf:"bytes,6,rep,name=resource_uri,json=resourceUri,proto3" json:"resource_uri,omitempty"`
  1047. // Platform hosting this deployment.
  1048. Platform Deployable_Deployment_Platform `protobuf:"varint,7,opt,name=platform,proto3,enum=google.devtools.containeranalysis.v1alpha1.Deployable_Deployment_Platform" json:"platform,omitempty"`
  1049. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1050. XXX_unrecognized []byte `json:"-"`
  1051. XXX_sizecache int32 `json:"-"`
  1052. }
  1053. func (m *Deployable_Deployment) Reset() { *m = Deployable_Deployment{} }
  1054. func (m *Deployable_Deployment) String() string { return proto.CompactTextString(m) }
  1055. func (*Deployable_Deployment) ProtoMessage() {}
  1056. func (*Deployable_Deployment) Descriptor() ([]byte, []int) {
  1057. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{3, 0}
  1058. }
  1059. func (m *Deployable_Deployment) XXX_Unmarshal(b []byte) error {
  1060. return xxx_messageInfo_Deployable_Deployment.Unmarshal(m, b)
  1061. }
  1062. func (m *Deployable_Deployment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1063. return xxx_messageInfo_Deployable_Deployment.Marshal(b, m, deterministic)
  1064. }
  1065. func (dst *Deployable_Deployment) XXX_Merge(src proto.Message) {
  1066. xxx_messageInfo_Deployable_Deployment.Merge(dst, src)
  1067. }
  1068. func (m *Deployable_Deployment) XXX_Size() int {
  1069. return xxx_messageInfo_Deployable_Deployment.Size(m)
  1070. }
  1071. func (m *Deployable_Deployment) XXX_DiscardUnknown() {
  1072. xxx_messageInfo_Deployable_Deployment.DiscardUnknown(m)
  1073. }
  1074. var xxx_messageInfo_Deployable_Deployment proto.InternalMessageInfo
  1075. func (m *Deployable_Deployment) GetUserEmail() string {
  1076. if m != nil {
  1077. return m.UserEmail
  1078. }
  1079. return ""
  1080. }
  1081. func (m *Deployable_Deployment) GetDeployTime() *timestamp.Timestamp {
  1082. if m != nil {
  1083. return m.DeployTime
  1084. }
  1085. return nil
  1086. }
  1087. func (m *Deployable_Deployment) GetUndeployTime() *timestamp.Timestamp {
  1088. if m != nil {
  1089. return m.UndeployTime
  1090. }
  1091. return nil
  1092. }
  1093. func (m *Deployable_Deployment) GetConfig() string {
  1094. if m != nil {
  1095. return m.Config
  1096. }
  1097. return ""
  1098. }
  1099. func (m *Deployable_Deployment) GetAddress() string {
  1100. if m != nil {
  1101. return m.Address
  1102. }
  1103. return ""
  1104. }
  1105. func (m *Deployable_Deployment) GetResourceUri() []string {
  1106. if m != nil {
  1107. return m.ResourceUri
  1108. }
  1109. return nil
  1110. }
  1111. func (m *Deployable_Deployment) GetPlatform() Deployable_Deployment_Platform {
  1112. if m != nil {
  1113. return m.Platform
  1114. }
  1115. return Deployable_Deployment_PLATFORM_UNSPECIFIED
  1116. }
  1117. // A note that indicates a type of analysis a provider would perform. This note
  1118. // exists in a provider's project. A `Discovery` occurrence is created in a
  1119. // consumer's project at the start of analysis. The occurrence's operation will
  1120. // indicate the status of the analysis. Absence of an occurrence linked to this
  1121. // note for a resource indicates that analysis hasn't started.
  1122. type Discovery struct {
  1123. // The kind of analysis that is handled by this discovery.
  1124. AnalysisKind Note_Kind `protobuf:"varint,1,opt,name=analysis_kind,json=analysisKind,proto3,enum=google.devtools.containeranalysis.v1alpha1.Note_Kind" json:"analysis_kind,omitempty"`
  1125. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1126. XXX_unrecognized []byte `json:"-"`
  1127. XXX_sizecache int32 `json:"-"`
  1128. }
  1129. func (m *Discovery) Reset() { *m = Discovery{} }
  1130. func (m *Discovery) String() string { return proto.CompactTextString(m) }
  1131. func (*Discovery) ProtoMessage() {}
  1132. func (*Discovery) Descriptor() ([]byte, []int) {
  1133. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{4}
  1134. }
  1135. func (m *Discovery) XXX_Unmarshal(b []byte) error {
  1136. return xxx_messageInfo_Discovery.Unmarshal(m, b)
  1137. }
  1138. func (m *Discovery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1139. return xxx_messageInfo_Discovery.Marshal(b, m, deterministic)
  1140. }
  1141. func (dst *Discovery) XXX_Merge(src proto.Message) {
  1142. xxx_messageInfo_Discovery.Merge(dst, src)
  1143. }
  1144. func (m *Discovery) XXX_Size() int {
  1145. return xxx_messageInfo_Discovery.Size(m)
  1146. }
  1147. func (m *Discovery) XXX_DiscardUnknown() {
  1148. xxx_messageInfo_Discovery.DiscardUnknown(m)
  1149. }
  1150. var xxx_messageInfo_Discovery proto.InternalMessageInfo
  1151. func (m *Discovery) GetAnalysisKind() Note_Kind {
  1152. if m != nil {
  1153. return m.AnalysisKind
  1154. }
  1155. return Note_KIND_UNSPECIFIED
  1156. }
  1157. // Provides information about the scan status of a discovered resource.
  1158. type Discovery_Discovered struct {
  1159. // Output only. An operation that indicates the status of the current scan.
  1160. Operation *longrunning.Operation `protobuf:"bytes,1,opt,name=operation,proto3" json:"operation,omitempty"`
  1161. // The status of discovery for the resource.
  1162. AnalysisStatus Discovery_Discovered_AnalysisStatus `protobuf:"varint,5,opt,name=analysis_status,json=analysisStatus,proto3,enum=google.devtools.containeranalysis.v1alpha1.Discovery_Discovered_AnalysisStatus" json:"analysis_status,omitempty"`
  1163. // When an error is encountered this will contain a LocalizedMessage under
  1164. // details to show to the user. The LocalizedMessage output only and
  1165. // populated by the API.
  1166. AnalysisStatusError *status.Status `protobuf:"bytes,6,opt,name=analysis_status_error,json=analysisStatusError,proto3" json:"analysis_status_error,omitempty"`
  1167. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1168. XXX_unrecognized []byte `json:"-"`
  1169. XXX_sizecache int32 `json:"-"`
  1170. }
  1171. func (m *Discovery_Discovered) Reset() { *m = Discovery_Discovered{} }
  1172. func (m *Discovery_Discovered) String() string { return proto.CompactTextString(m) }
  1173. func (*Discovery_Discovered) ProtoMessage() {}
  1174. func (*Discovery_Discovered) Descriptor() ([]byte, []int) {
  1175. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{4, 0}
  1176. }
  1177. func (m *Discovery_Discovered) XXX_Unmarshal(b []byte) error {
  1178. return xxx_messageInfo_Discovery_Discovered.Unmarshal(m, b)
  1179. }
  1180. func (m *Discovery_Discovered) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1181. return xxx_messageInfo_Discovery_Discovered.Marshal(b, m, deterministic)
  1182. }
  1183. func (dst *Discovery_Discovered) XXX_Merge(src proto.Message) {
  1184. xxx_messageInfo_Discovery_Discovered.Merge(dst, src)
  1185. }
  1186. func (m *Discovery_Discovered) XXX_Size() int {
  1187. return xxx_messageInfo_Discovery_Discovered.Size(m)
  1188. }
  1189. func (m *Discovery_Discovered) XXX_DiscardUnknown() {
  1190. xxx_messageInfo_Discovery_Discovered.DiscardUnknown(m)
  1191. }
  1192. var xxx_messageInfo_Discovery_Discovered proto.InternalMessageInfo
  1193. func (m *Discovery_Discovered) GetOperation() *longrunning.Operation {
  1194. if m != nil {
  1195. return m.Operation
  1196. }
  1197. return nil
  1198. }
  1199. func (m *Discovery_Discovered) GetAnalysisStatus() Discovery_Discovered_AnalysisStatus {
  1200. if m != nil {
  1201. return m.AnalysisStatus
  1202. }
  1203. return Discovery_Discovered_ANALYSIS_STATUS_UNSPECIFIED
  1204. }
  1205. func (m *Discovery_Discovered) GetAnalysisStatusError() *status.Status {
  1206. if m != nil {
  1207. return m.AnalysisStatusError
  1208. }
  1209. return nil
  1210. }
  1211. // Note holding the version of the provider's builder and the signature of
  1212. // the provenance message in linked BuildDetails.
  1213. type BuildType struct {
  1214. // Version of the builder which produced this Note.
  1215. BuilderVersion string `protobuf:"bytes,1,opt,name=builder_version,json=builderVersion,proto3" json:"builder_version,omitempty"`
  1216. // Signature of the build in Occurrences pointing to the Note containing this
  1217. // `BuilderDetails`.
  1218. Signature *BuildSignature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
  1219. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1220. XXX_unrecognized []byte `json:"-"`
  1221. XXX_sizecache int32 `json:"-"`
  1222. }
  1223. func (m *BuildType) Reset() { *m = BuildType{} }
  1224. func (m *BuildType) String() string { return proto.CompactTextString(m) }
  1225. func (*BuildType) ProtoMessage() {}
  1226. func (*BuildType) Descriptor() ([]byte, []int) {
  1227. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{5}
  1228. }
  1229. func (m *BuildType) XXX_Unmarshal(b []byte) error {
  1230. return xxx_messageInfo_BuildType.Unmarshal(m, b)
  1231. }
  1232. func (m *BuildType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1233. return xxx_messageInfo_BuildType.Marshal(b, m, deterministic)
  1234. }
  1235. func (dst *BuildType) XXX_Merge(src proto.Message) {
  1236. xxx_messageInfo_BuildType.Merge(dst, src)
  1237. }
  1238. func (m *BuildType) XXX_Size() int {
  1239. return xxx_messageInfo_BuildType.Size(m)
  1240. }
  1241. func (m *BuildType) XXX_DiscardUnknown() {
  1242. xxx_messageInfo_BuildType.DiscardUnknown(m)
  1243. }
  1244. var xxx_messageInfo_BuildType proto.InternalMessageInfo
  1245. func (m *BuildType) GetBuilderVersion() string {
  1246. if m != nil {
  1247. return m.BuilderVersion
  1248. }
  1249. return ""
  1250. }
  1251. func (m *BuildType) GetSignature() *BuildSignature {
  1252. if m != nil {
  1253. return m.Signature
  1254. }
  1255. return nil
  1256. }
  1257. // Message encapsulating the signature of the verified build.
  1258. type BuildSignature struct {
  1259. // Public key of the builder which can be used to verify that the related
  1260. // findings are valid and unchanged. If `key_type` is empty, this defaults
  1261. // to PEM encoded public keys.
  1262. //
  1263. // This field may be empty if `key_id` references an external key.
  1264. //
  1265. // For Cloud Build based signatures, this is a PEM encoded public
  1266. // key. To verify the Cloud Build signature, place the contents of
  1267. // this field into a file (public.pem). The signature field is base64-decoded
  1268. // into its binary representation in signature.bin, and the provenance bytes
  1269. // from `BuildDetails` are base64-decoded into a binary representation in
  1270. // signed.bin. OpenSSL can then verify the signature:
  1271. // `openssl sha256 -verify public.pem -signature signature.bin signed.bin`
  1272. PublicKey string `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
  1273. // Signature of the related `BuildProvenance`, encoded in a base64 string.
  1274. Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
  1275. // An Id for the key used to sign. This could be either an Id for the key
  1276. // stored in `public_key` (such as the Id or fingerprint for a PGP key, or the
  1277. // CN for a cert), or a reference to an external key (such as a reference to a
  1278. // key in Cloud Key Management Service).
  1279. KeyId string `protobuf:"bytes,3,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"`
  1280. // The type of the key, either stored in `public_key` or referenced in
  1281. // `key_id`
  1282. KeyType BuildSignature_KeyType `protobuf:"varint,4,opt,name=key_type,json=keyType,proto3,enum=google.devtools.containeranalysis.v1alpha1.BuildSignature_KeyType" json:"key_type,omitempty"`
  1283. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1284. XXX_unrecognized []byte `json:"-"`
  1285. XXX_sizecache int32 `json:"-"`
  1286. }
  1287. func (m *BuildSignature) Reset() { *m = BuildSignature{} }
  1288. func (m *BuildSignature) String() string { return proto.CompactTextString(m) }
  1289. func (*BuildSignature) ProtoMessage() {}
  1290. func (*BuildSignature) Descriptor() ([]byte, []int) {
  1291. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{6}
  1292. }
  1293. func (m *BuildSignature) XXX_Unmarshal(b []byte) error {
  1294. return xxx_messageInfo_BuildSignature.Unmarshal(m, b)
  1295. }
  1296. func (m *BuildSignature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1297. return xxx_messageInfo_BuildSignature.Marshal(b, m, deterministic)
  1298. }
  1299. func (dst *BuildSignature) XXX_Merge(src proto.Message) {
  1300. xxx_messageInfo_BuildSignature.Merge(dst, src)
  1301. }
  1302. func (m *BuildSignature) XXX_Size() int {
  1303. return xxx_messageInfo_BuildSignature.Size(m)
  1304. }
  1305. func (m *BuildSignature) XXX_DiscardUnknown() {
  1306. xxx_messageInfo_BuildSignature.DiscardUnknown(m)
  1307. }
  1308. var xxx_messageInfo_BuildSignature proto.InternalMessageInfo
  1309. func (m *BuildSignature) GetPublicKey() string {
  1310. if m != nil {
  1311. return m.PublicKey
  1312. }
  1313. return ""
  1314. }
  1315. func (m *BuildSignature) GetSignature() string {
  1316. if m != nil {
  1317. return m.Signature
  1318. }
  1319. return ""
  1320. }
  1321. func (m *BuildSignature) GetKeyId() string {
  1322. if m != nil {
  1323. return m.KeyId
  1324. }
  1325. return ""
  1326. }
  1327. func (m *BuildSignature) GetKeyType() BuildSignature_KeyType {
  1328. if m != nil {
  1329. return m.KeyType
  1330. }
  1331. return BuildSignature_KEY_TYPE_UNSPECIFIED
  1332. }
  1333. // An attestation wrapper with a PGP-compatible signature.
  1334. // This message only supports `ATTACHED` signatures, where the payload that is
  1335. // signed is included alongside the signature itself in the same file.
  1336. type PgpSignedAttestation struct {
  1337. // The raw content of the signature, as output by GNU Privacy Guard (GPG) or
  1338. // equivalent. Since this message only supports attached signatures, the
  1339. // payload that was signed must be attached. While the signature format
  1340. // supported is dependent on the verification implementation, currently only
  1341. // ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than
  1342. // `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor
  1343. // --output=signature.gpg payload.json` will create the signature content
  1344. // expected in this field in `signature.gpg` for the `payload.json`
  1345. // attestation payload.
  1346. Signature string `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
  1347. // Type (for example schema) of the attestation payload that was signed.
  1348. // The verifier must ensure that the provided type is one that the verifier
  1349. // supports, and that the attestation payload is a valid instantiation of that
  1350. // type (for example by validating a JSON schema).
  1351. ContentType PgpSignedAttestation_ContentType `protobuf:"varint,3,opt,name=content_type,json=contentType,proto3,enum=google.devtools.containeranalysis.v1alpha1.PgpSignedAttestation_ContentType" json:"content_type,omitempty"`
  1352. // This field is used by verifiers to select the public key used to validate
  1353. // the signature. Note that the policy of the verifier ultimately determines
  1354. // which public keys verify a signature based on the context of the
  1355. // verification. There is no guarantee validation will succeed if the
  1356. // verifier has no key matching this ID, even if it has a key under a
  1357. // different ID that would verify the signature. Note that this ID should also
  1358. // be present in the signature content above, but that is not expected to be
  1359. // used by the verifier.
  1360. //
  1361. // Types that are valid to be assigned to KeyId:
  1362. // *PgpSignedAttestation_PgpKeyId
  1363. KeyId isPgpSignedAttestation_KeyId `protobuf_oneof:"key_id"`
  1364. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1365. XXX_unrecognized []byte `json:"-"`
  1366. XXX_sizecache int32 `json:"-"`
  1367. }
  1368. func (m *PgpSignedAttestation) Reset() { *m = PgpSignedAttestation{} }
  1369. func (m *PgpSignedAttestation) String() string { return proto.CompactTextString(m) }
  1370. func (*PgpSignedAttestation) ProtoMessage() {}
  1371. func (*PgpSignedAttestation) Descriptor() ([]byte, []int) {
  1372. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{7}
  1373. }
  1374. func (m *PgpSignedAttestation) XXX_Unmarshal(b []byte) error {
  1375. return xxx_messageInfo_PgpSignedAttestation.Unmarshal(m, b)
  1376. }
  1377. func (m *PgpSignedAttestation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1378. return xxx_messageInfo_PgpSignedAttestation.Marshal(b, m, deterministic)
  1379. }
  1380. func (dst *PgpSignedAttestation) XXX_Merge(src proto.Message) {
  1381. xxx_messageInfo_PgpSignedAttestation.Merge(dst, src)
  1382. }
  1383. func (m *PgpSignedAttestation) XXX_Size() int {
  1384. return xxx_messageInfo_PgpSignedAttestation.Size(m)
  1385. }
  1386. func (m *PgpSignedAttestation) XXX_DiscardUnknown() {
  1387. xxx_messageInfo_PgpSignedAttestation.DiscardUnknown(m)
  1388. }
  1389. var xxx_messageInfo_PgpSignedAttestation proto.InternalMessageInfo
  1390. func (m *PgpSignedAttestation) GetSignature() string {
  1391. if m != nil {
  1392. return m.Signature
  1393. }
  1394. return ""
  1395. }
  1396. func (m *PgpSignedAttestation) GetContentType() PgpSignedAttestation_ContentType {
  1397. if m != nil {
  1398. return m.ContentType
  1399. }
  1400. return PgpSignedAttestation_CONTENT_TYPE_UNSPECIFIED
  1401. }
  1402. type isPgpSignedAttestation_KeyId interface {
  1403. isPgpSignedAttestation_KeyId()
  1404. }
  1405. type PgpSignedAttestation_PgpKeyId struct {
  1406. PgpKeyId string `protobuf:"bytes,2,opt,name=pgp_key_id,json=pgpKeyId,proto3,oneof"`
  1407. }
  1408. func (*PgpSignedAttestation_PgpKeyId) isPgpSignedAttestation_KeyId() {}
  1409. func (m *PgpSignedAttestation) GetKeyId() isPgpSignedAttestation_KeyId {
  1410. if m != nil {
  1411. return m.KeyId
  1412. }
  1413. return nil
  1414. }
  1415. func (m *PgpSignedAttestation) GetPgpKeyId() string {
  1416. if x, ok := m.GetKeyId().(*PgpSignedAttestation_PgpKeyId); ok {
  1417. return x.PgpKeyId
  1418. }
  1419. return ""
  1420. }
  1421. // XXX_OneofFuncs is for the internal use of the proto package.
  1422. func (*PgpSignedAttestation) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  1423. return _PgpSignedAttestation_OneofMarshaler, _PgpSignedAttestation_OneofUnmarshaler, _PgpSignedAttestation_OneofSizer, []interface{}{
  1424. (*PgpSignedAttestation_PgpKeyId)(nil),
  1425. }
  1426. }
  1427. func _PgpSignedAttestation_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  1428. m := msg.(*PgpSignedAttestation)
  1429. // key_id
  1430. switch x := m.KeyId.(type) {
  1431. case *PgpSignedAttestation_PgpKeyId:
  1432. b.EncodeVarint(2<<3 | proto.WireBytes)
  1433. b.EncodeStringBytes(x.PgpKeyId)
  1434. case nil:
  1435. default:
  1436. return fmt.Errorf("PgpSignedAttestation.KeyId has unexpected type %T", x)
  1437. }
  1438. return nil
  1439. }
  1440. func _PgpSignedAttestation_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  1441. m := msg.(*PgpSignedAttestation)
  1442. switch tag {
  1443. case 2: // key_id.pgp_key_id
  1444. if wire != proto.WireBytes {
  1445. return true, proto.ErrInternalBadWireType
  1446. }
  1447. x, err := b.DecodeStringBytes()
  1448. m.KeyId = &PgpSignedAttestation_PgpKeyId{x}
  1449. return true, err
  1450. default:
  1451. return false, nil
  1452. }
  1453. }
  1454. func _PgpSignedAttestation_OneofSizer(msg proto.Message) (n int) {
  1455. m := msg.(*PgpSignedAttestation)
  1456. // key_id
  1457. switch x := m.KeyId.(type) {
  1458. case *PgpSignedAttestation_PgpKeyId:
  1459. n += 1 // tag and wire
  1460. n += proto.SizeVarint(uint64(len(x.PgpKeyId)))
  1461. n += len(x.PgpKeyId)
  1462. case nil:
  1463. default:
  1464. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  1465. }
  1466. return n
  1467. }
  1468. // Note kind that represents a logical attestation "role" or "authority". For
  1469. // example, an organization might have one `AttestationAuthority` for "QA" and
  1470. // one for "build". This Note is intended to act strictly as a grouping
  1471. // mechanism for the attached Occurrences (Attestations). This grouping
  1472. // mechanism also provides a security boundary, since IAM ACLs gate the ability
  1473. // for a principle to attach an Occurrence to a given Note. It also provides a
  1474. // single point of lookup to find all attached Attestation Occurrences, even if
  1475. // they don't all live in the same project.
  1476. type AttestationAuthority struct {
  1477. Hint *AttestationAuthority_AttestationAuthorityHint `protobuf:"bytes,1,opt,name=hint,proto3" json:"hint,omitempty"`
  1478. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1479. XXX_unrecognized []byte `json:"-"`
  1480. XXX_sizecache int32 `json:"-"`
  1481. }
  1482. func (m *AttestationAuthority) Reset() { *m = AttestationAuthority{} }
  1483. func (m *AttestationAuthority) String() string { return proto.CompactTextString(m) }
  1484. func (*AttestationAuthority) ProtoMessage() {}
  1485. func (*AttestationAuthority) Descriptor() ([]byte, []int) {
  1486. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{8}
  1487. }
  1488. func (m *AttestationAuthority) XXX_Unmarshal(b []byte) error {
  1489. return xxx_messageInfo_AttestationAuthority.Unmarshal(m, b)
  1490. }
  1491. func (m *AttestationAuthority) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1492. return xxx_messageInfo_AttestationAuthority.Marshal(b, m, deterministic)
  1493. }
  1494. func (dst *AttestationAuthority) XXX_Merge(src proto.Message) {
  1495. xxx_messageInfo_AttestationAuthority.Merge(dst, src)
  1496. }
  1497. func (m *AttestationAuthority) XXX_Size() int {
  1498. return xxx_messageInfo_AttestationAuthority.Size(m)
  1499. }
  1500. func (m *AttestationAuthority) XXX_DiscardUnknown() {
  1501. xxx_messageInfo_AttestationAuthority.DiscardUnknown(m)
  1502. }
  1503. var xxx_messageInfo_AttestationAuthority proto.InternalMessageInfo
  1504. func (m *AttestationAuthority) GetHint() *AttestationAuthority_AttestationAuthorityHint {
  1505. if m != nil {
  1506. return m.Hint
  1507. }
  1508. return nil
  1509. }
  1510. // This submessage provides human-readable hints about the purpose of the
  1511. // AttestationAuthority. Because the name of a Note acts as its resource
  1512. // reference, it is important to disambiguate the canonical name of the Note
  1513. // (which might be a UUID for security purposes) from "readable" names more
  1514. // suitable for debug output. Note that these hints should NOT be used to
  1515. // look up AttestationAuthorities in security sensitive contexts, such as when
  1516. // looking up Attestations to verify.
  1517. type AttestationAuthority_AttestationAuthorityHint struct {
  1518. // The human readable name of this Attestation Authority, for example "qa".
  1519. HumanReadableName string `protobuf:"bytes,1,opt,name=human_readable_name,json=humanReadableName,proto3" json:"human_readable_name,omitempty"`
  1520. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1521. XXX_unrecognized []byte `json:"-"`
  1522. XXX_sizecache int32 `json:"-"`
  1523. }
  1524. func (m *AttestationAuthority_AttestationAuthorityHint) Reset() {
  1525. *m = AttestationAuthority_AttestationAuthorityHint{}
  1526. }
  1527. func (m *AttestationAuthority_AttestationAuthorityHint) String() string {
  1528. return proto.CompactTextString(m)
  1529. }
  1530. func (*AttestationAuthority_AttestationAuthorityHint) ProtoMessage() {}
  1531. func (*AttestationAuthority_AttestationAuthorityHint) Descriptor() ([]byte, []int) {
  1532. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{8, 0}
  1533. }
  1534. func (m *AttestationAuthority_AttestationAuthorityHint) XXX_Unmarshal(b []byte) error {
  1535. return xxx_messageInfo_AttestationAuthority_AttestationAuthorityHint.Unmarshal(m, b)
  1536. }
  1537. func (m *AttestationAuthority_AttestationAuthorityHint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1538. return xxx_messageInfo_AttestationAuthority_AttestationAuthorityHint.Marshal(b, m, deterministic)
  1539. }
  1540. func (dst *AttestationAuthority_AttestationAuthorityHint) XXX_Merge(src proto.Message) {
  1541. xxx_messageInfo_AttestationAuthority_AttestationAuthorityHint.Merge(dst, src)
  1542. }
  1543. func (m *AttestationAuthority_AttestationAuthorityHint) XXX_Size() int {
  1544. return xxx_messageInfo_AttestationAuthority_AttestationAuthorityHint.Size(m)
  1545. }
  1546. func (m *AttestationAuthority_AttestationAuthorityHint) XXX_DiscardUnknown() {
  1547. xxx_messageInfo_AttestationAuthority_AttestationAuthorityHint.DiscardUnknown(m)
  1548. }
  1549. var xxx_messageInfo_AttestationAuthority_AttestationAuthorityHint proto.InternalMessageInfo
  1550. func (m *AttestationAuthority_AttestationAuthorityHint) GetHumanReadableName() string {
  1551. if m != nil {
  1552. return m.HumanReadableName
  1553. }
  1554. return ""
  1555. }
  1556. // Occurrence that represents a single "attestation". The authenticity of an
  1557. // Attestation can be verified using the attached signature. If the verifier
  1558. // trusts the public key of the signer, then verifying the signature is
  1559. // sufficient to establish trust. In this circumstance, the
  1560. // AttestationAuthority to which this Attestation is attached is primarily
  1561. // useful for look-up (how to find this Attestation if you already know the
  1562. // Authority and artifact to be verified) and intent (which authority was this
  1563. // attestation intended to sign for).
  1564. type AttestationAuthority_Attestation struct {
  1565. // The signature, generally over the `resource_url`, that verifies this
  1566. // attestation. The semantics of the signature veracity are ultimately
  1567. // determined by the verification engine.
  1568. //
  1569. // Types that are valid to be assigned to Signature:
  1570. // *AttestationAuthority_Attestation_PgpSignedAttestation
  1571. Signature isAttestationAuthority_Attestation_Signature `protobuf_oneof:"signature"`
  1572. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1573. XXX_unrecognized []byte `json:"-"`
  1574. XXX_sizecache int32 `json:"-"`
  1575. }
  1576. func (m *AttestationAuthority_Attestation) Reset() { *m = AttestationAuthority_Attestation{} }
  1577. func (m *AttestationAuthority_Attestation) String() string { return proto.CompactTextString(m) }
  1578. func (*AttestationAuthority_Attestation) ProtoMessage() {}
  1579. func (*AttestationAuthority_Attestation) Descriptor() ([]byte, []int) {
  1580. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{8, 1}
  1581. }
  1582. func (m *AttestationAuthority_Attestation) XXX_Unmarshal(b []byte) error {
  1583. return xxx_messageInfo_AttestationAuthority_Attestation.Unmarshal(m, b)
  1584. }
  1585. func (m *AttestationAuthority_Attestation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1586. return xxx_messageInfo_AttestationAuthority_Attestation.Marshal(b, m, deterministic)
  1587. }
  1588. func (dst *AttestationAuthority_Attestation) XXX_Merge(src proto.Message) {
  1589. xxx_messageInfo_AttestationAuthority_Attestation.Merge(dst, src)
  1590. }
  1591. func (m *AttestationAuthority_Attestation) XXX_Size() int {
  1592. return xxx_messageInfo_AttestationAuthority_Attestation.Size(m)
  1593. }
  1594. func (m *AttestationAuthority_Attestation) XXX_DiscardUnknown() {
  1595. xxx_messageInfo_AttestationAuthority_Attestation.DiscardUnknown(m)
  1596. }
  1597. var xxx_messageInfo_AttestationAuthority_Attestation proto.InternalMessageInfo
  1598. type isAttestationAuthority_Attestation_Signature interface {
  1599. isAttestationAuthority_Attestation_Signature()
  1600. }
  1601. type AttestationAuthority_Attestation_PgpSignedAttestation struct {
  1602. PgpSignedAttestation *PgpSignedAttestation `protobuf:"bytes,1,opt,name=pgp_signed_attestation,json=pgpSignedAttestation,proto3,oneof"`
  1603. }
  1604. func (*AttestationAuthority_Attestation_PgpSignedAttestation) isAttestationAuthority_Attestation_Signature() {
  1605. }
  1606. func (m *AttestationAuthority_Attestation) GetSignature() isAttestationAuthority_Attestation_Signature {
  1607. if m != nil {
  1608. return m.Signature
  1609. }
  1610. return nil
  1611. }
  1612. func (m *AttestationAuthority_Attestation) GetPgpSignedAttestation() *PgpSignedAttestation {
  1613. if x, ok := m.GetSignature().(*AttestationAuthority_Attestation_PgpSignedAttestation); ok {
  1614. return x.PgpSignedAttestation
  1615. }
  1616. return nil
  1617. }
  1618. // XXX_OneofFuncs is for the internal use of the proto package.
  1619. func (*AttestationAuthority_Attestation) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  1620. return _AttestationAuthority_Attestation_OneofMarshaler, _AttestationAuthority_Attestation_OneofUnmarshaler, _AttestationAuthority_Attestation_OneofSizer, []interface{}{
  1621. (*AttestationAuthority_Attestation_PgpSignedAttestation)(nil),
  1622. }
  1623. }
  1624. func _AttestationAuthority_Attestation_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  1625. m := msg.(*AttestationAuthority_Attestation)
  1626. // signature
  1627. switch x := m.Signature.(type) {
  1628. case *AttestationAuthority_Attestation_PgpSignedAttestation:
  1629. b.EncodeVarint(1<<3 | proto.WireBytes)
  1630. if err := b.EncodeMessage(x.PgpSignedAttestation); err != nil {
  1631. return err
  1632. }
  1633. case nil:
  1634. default:
  1635. return fmt.Errorf("AttestationAuthority_Attestation.Signature has unexpected type %T", x)
  1636. }
  1637. return nil
  1638. }
  1639. func _AttestationAuthority_Attestation_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  1640. m := msg.(*AttestationAuthority_Attestation)
  1641. switch tag {
  1642. case 1: // signature.pgp_signed_attestation
  1643. if wire != proto.WireBytes {
  1644. return true, proto.ErrInternalBadWireType
  1645. }
  1646. msg := new(PgpSignedAttestation)
  1647. err := b.DecodeMessage(msg)
  1648. m.Signature = &AttestationAuthority_Attestation_PgpSignedAttestation{msg}
  1649. return true, err
  1650. default:
  1651. return false, nil
  1652. }
  1653. }
  1654. func _AttestationAuthority_Attestation_OneofSizer(msg proto.Message) (n int) {
  1655. m := msg.(*AttestationAuthority_Attestation)
  1656. // signature
  1657. switch x := m.Signature.(type) {
  1658. case *AttestationAuthority_Attestation_PgpSignedAttestation:
  1659. s := proto.Size(x.PgpSignedAttestation)
  1660. n += 1 // tag and wire
  1661. n += proto.SizeVarint(uint64(s))
  1662. n += s
  1663. case nil:
  1664. default:
  1665. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  1666. }
  1667. return n
  1668. }
  1669. // Message encapsulating build provenance details.
  1670. type BuildDetails struct {
  1671. // The actual provenance
  1672. Provenance *BuildProvenance `protobuf:"bytes,1,opt,name=provenance,proto3" json:"provenance,omitempty"`
  1673. // Serialized JSON representation of the provenance, used in generating the
  1674. // `BuildSignature` in the corresponding Result. After verifying the
  1675. // signature, `provenance_bytes` can be unmarshalled and compared to the
  1676. // provenance to confirm that it is unchanged. A base64-encoded string
  1677. // representation of the provenance bytes is used for the signature in order
  1678. // to interoperate with openssl which expects this format for signature
  1679. // verification.
  1680. //
  1681. // The serialized form is captured both to avoid ambiguity in how the
  1682. // provenance is marshalled to json as well to prevent incompatibilities with
  1683. // future changes.
  1684. ProvenanceBytes string `protobuf:"bytes,2,opt,name=provenance_bytes,json=provenanceBytes,proto3" json:"provenance_bytes,omitempty"`
  1685. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1686. XXX_unrecognized []byte `json:"-"`
  1687. XXX_sizecache int32 `json:"-"`
  1688. }
  1689. func (m *BuildDetails) Reset() { *m = BuildDetails{} }
  1690. func (m *BuildDetails) String() string { return proto.CompactTextString(m) }
  1691. func (*BuildDetails) ProtoMessage() {}
  1692. func (*BuildDetails) Descriptor() ([]byte, []int) {
  1693. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{9}
  1694. }
  1695. func (m *BuildDetails) XXX_Unmarshal(b []byte) error {
  1696. return xxx_messageInfo_BuildDetails.Unmarshal(m, b)
  1697. }
  1698. func (m *BuildDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1699. return xxx_messageInfo_BuildDetails.Marshal(b, m, deterministic)
  1700. }
  1701. func (dst *BuildDetails) XXX_Merge(src proto.Message) {
  1702. xxx_messageInfo_BuildDetails.Merge(dst, src)
  1703. }
  1704. func (m *BuildDetails) XXX_Size() int {
  1705. return xxx_messageInfo_BuildDetails.Size(m)
  1706. }
  1707. func (m *BuildDetails) XXX_DiscardUnknown() {
  1708. xxx_messageInfo_BuildDetails.DiscardUnknown(m)
  1709. }
  1710. var xxx_messageInfo_BuildDetails proto.InternalMessageInfo
  1711. func (m *BuildDetails) GetProvenance() *BuildProvenance {
  1712. if m != nil {
  1713. return m.Provenance
  1714. }
  1715. return nil
  1716. }
  1717. func (m *BuildDetails) GetProvenanceBytes() string {
  1718. if m != nil {
  1719. return m.ProvenanceBytes
  1720. }
  1721. return ""
  1722. }
  1723. // Indicates various scans and whether they are turned on or off.
  1724. type ScanConfig struct {
  1725. // Output only. The name of the ScanConfig in the form
  1726. // “projects/{project_id}/ScanConfigs/{ScanConfig_id}".
  1727. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1728. // Output only. A human-readable description of what the `ScanConfig` does.
  1729. Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
  1730. // Indicates whether the Scan is enabled.
  1731. Enabled bool `protobuf:"varint,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
  1732. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1733. XXX_unrecognized []byte `json:"-"`
  1734. XXX_sizecache int32 `json:"-"`
  1735. }
  1736. func (m *ScanConfig) Reset() { *m = ScanConfig{} }
  1737. func (m *ScanConfig) String() string { return proto.CompactTextString(m) }
  1738. func (*ScanConfig) ProtoMessage() {}
  1739. func (*ScanConfig) Descriptor() ([]byte, []int) {
  1740. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{10}
  1741. }
  1742. func (m *ScanConfig) XXX_Unmarshal(b []byte) error {
  1743. return xxx_messageInfo_ScanConfig.Unmarshal(m, b)
  1744. }
  1745. func (m *ScanConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1746. return xxx_messageInfo_ScanConfig.Marshal(b, m, deterministic)
  1747. }
  1748. func (dst *ScanConfig) XXX_Merge(src proto.Message) {
  1749. xxx_messageInfo_ScanConfig.Merge(dst, src)
  1750. }
  1751. func (m *ScanConfig) XXX_Size() int {
  1752. return xxx_messageInfo_ScanConfig.Size(m)
  1753. }
  1754. func (m *ScanConfig) XXX_DiscardUnknown() {
  1755. xxx_messageInfo_ScanConfig.DiscardUnknown(m)
  1756. }
  1757. var xxx_messageInfo_ScanConfig proto.InternalMessageInfo
  1758. func (m *ScanConfig) GetName() string {
  1759. if m != nil {
  1760. return m.Name
  1761. }
  1762. return ""
  1763. }
  1764. func (m *ScanConfig) GetDescription() string {
  1765. if m != nil {
  1766. return m.Description
  1767. }
  1768. return ""
  1769. }
  1770. func (m *ScanConfig) GetEnabled() bool {
  1771. if m != nil {
  1772. return m.Enabled
  1773. }
  1774. return false
  1775. }
  1776. // Request to get a Occurrence.
  1777. type GetOccurrenceRequest struct {
  1778. // The name of the occurrence of the form
  1779. // "projects/{project_id}/occurrences/{OCCURRENCE_ID}"
  1780. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1781. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1782. XXX_unrecognized []byte `json:"-"`
  1783. XXX_sizecache int32 `json:"-"`
  1784. }
  1785. func (m *GetOccurrenceRequest) Reset() { *m = GetOccurrenceRequest{} }
  1786. func (m *GetOccurrenceRequest) String() string { return proto.CompactTextString(m) }
  1787. func (*GetOccurrenceRequest) ProtoMessage() {}
  1788. func (*GetOccurrenceRequest) Descriptor() ([]byte, []int) {
  1789. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{11}
  1790. }
  1791. func (m *GetOccurrenceRequest) XXX_Unmarshal(b []byte) error {
  1792. return xxx_messageInfo_GetOccurrenceRequest.Unmarshal(m, b)
  1793. }
  1794. func (m *GetOccurrenceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1795. return xxx_messageInfo_GetOccurrenceRequest.Marshal(b, m, deterministic)
  1796. }
  1797. func (dst *GetOccurrenceRequest) XXX_Merge(src proto.Message) {
  1798. xxx_messageInfo_GetOccurrenceRequest.Merge(dst, src)
  1799. }
  1800. func (m *GetOccurrenceRequest) XXX_Size() int {
  1801. return xxx_messageInfo_GetOccurrenceRequest.Size(m)
  1802. }
  1803. func (m *GetOccurrenceRequest) XXX_DiscardUnknown() {
  1804. xxx_messageInfo_GetOccurrenceRequest.DiscardUnknown(m)
  1805. }
  1806. var xxx_messageInfo_GetOccurrenceRequest proto.InternalMessageInfo
  1807. func (m *GetOccurrenceRequest) GetName() string {
  1808. if m != nil {
  1809. return m.Name
  1810. }
  1811. return ""
  1812. }
  1813. // Request to list occurrences.
  1814. type ListOccurrencesRequest struct {
  1815. // The name field contains the project Id. For example:
  1816. // "projects/{project_id}
  1817. // @Deprecated
  1818. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1819. // This contains the project Id for example: projects/{project_id}.
  1820. Parent string `protobuf:"bytes,5,opt,name=parent,proto3" json:"parent,omitempty"`
  1821. // The filter expression.
  1822. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
  1823. // Number of occurrences to return in the list.
  1824. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  1825. // Token to provide to skip to a particular spot in the list.
  1826. PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  1827. // The kind of occurrences to filter on.
  1828. Kind Note_Kind `protobuf:"varint,6,opt,name=kind,proto3,enum=google.devtools.containeranalysis.v1alpha1.Note_Kind" json:"kind,omitempty"`
  1829. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1830. XXX_unrecognized []byte `json:"-"`
  1831. XXX_sizecache int32 `json:"-"`
  1832. }
  1833. func (m *ListOccurrencesRequest) Reset() { *m = ListOccurrencesRequest{} }
  1834. func (m *ListOccurrencesRequest) String() string { return proto.CompactTextString(m) }
  1835. func (*ListOccurrencesRequest) ProtoMessage() {}
  1836. func (*ListOccurrencesRequest) Descriptor() ([]byte, []int) {
  1837. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{12}
  1838. }
  1839. func (m *ListOccurrencesRequest) XXX_Unmarshal(b []byte) error {
  1840. return xxx_messageInfo_ListOccurrencesRequest.Unmarshal(m, b)
  1841. }
  1842. func (m *ListOccurrencesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1843. return xxx_messageInfo_ListOccurrencesRequest.Marshal(b, m, deterministic)
  1844. }
  1845. func (dst *ListOccurrencesRequest) XXX_Merge(src proto.Message) {
  1846. xxx_messageInfo_ListOccurrencesRequest.Merge(dst, src)
  1847. }
  1848. func (m *ListOccurrencesRequest) XXX_Size() int {
  1849. return xxx_messageInfo_ListOccurrencesRequest.Size(m)
  1850. }
  1851. func (m *ListOccurrencesRequest) XXX_DiscardUnknown() {
  1852. xxx_messageInfo_ListOccurrencesRequest.DiscardUnknown(m)
  1853. }
  1854. var xxx_messageInfo_ListOccurrencesRequest proto.InternalMessageInfo
  1855. func (m *ListOccurrencesRequest) GetName() string {
  1856. if m != nil {
  1857. return m.Name
  1858. }
  1859. return ""
  1860. }
  1861. func (m *ListOccurrencesRequest) GetParent() string {
  1862. if m != nil {
  1863. return m.Parent
  1864. }
  1865. return ""
  1866. }
  1867. func (m *ListOccurrencesRequest) GetFilter() string {
  1868. if m != nil {
  1869. return m.Filter
  1870. }
  1871. return ""
  1872. }
  1873. func (m *ListOccurrencesRequest) GetPageSize() int32 {
  1874. if m != nil {
  1875. return m.PageSize
  1876. }
  1877. return 0
  1878. }
  1879. func (m *ListOccurrencesRequest) GetPageToken() string {
  1880. if m != nil {
  1881. return m.PageToken
  1882. }
  1883. return ""
  1884. }
  1885. func (m *ListOccurrencesRequest) GetKind() Note_Kind {
  1886. if m != nil {
  1887. return m.Kind
  1888. }
  1889. return Note_KIND_UNSPECIFIED
  1890. }
  1891. // Response including listed active occurrences.
  1892. type ListOccurrencesResponse struct {
  1893. // The occurrences requested.
  1894. Occurrences []*Occurrence `protobuf:"bytes,1,rep,name=occurrences,proto3" json:"occurrences,omitempty"`
  1895. // The next pagination token in the list response. It should be used as
  1896. // `page_token` for the following request. An empty value means no more
  1897. // results.
  1898. NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  1899. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1900. XXX_unrecognized []byte `json:"-"`
  1901. XXX_sizecache int32 `json:"-"`
  1902. }
  1903. func (m *ListOccurrencesResponse) Reset() { *m = ListOccurrencesResponse{} }
  1904. func (m *ListOccurrencesResponse) String() string { return proto.CompactTextString(m) }
  1905. func (*ListOccurrencesResponse) ProtoMessage() {}
  1906. func (*ListOccurrencesResponse) Descriptor() ([]byte, []int) {
  1907. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{13}
  1908. }
  1909. func (m *ListOccurrencesResponse) XXX_Unmarshal(b []byte) error {
  1910. return xxx_messageInfo_ListOccurrencesResponse.Unmarshal(m, b)
  1911. }
  1912. func (m *ListOccurrencesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1913. return xxx_messageInfo_ListOccurrencesResponse.Marshal(b, m, deterministic)
  1914. }
  1915. func (dst *ListOccurrencesResponse) XXX_Merge(src proto.Message) {
  1916. xxx_messageInfo_ListOccurrencesResponse.Merge(dst, src)
  1917. }
  1918. func (m *ListOccurrencesResponse) XXX_Size() int {
  1919. return xxx_messageInfo_ListOccurrencesResponse.Size(m)
  1920. }
  1921. func (m *ListOccurrencesResponse) XXX_DiscardUnknown() {
  1922. xxx_messageInfo_ListOccurrencesResponse.DiscardUnknown(m)
  1923. }
  1924. var xxx_messageInfo_ListOccurrencesResponse proto.InternalMessageInfo
  1925. func (m *ListOccurrencesResponse) GetOccurrences() []*Occurrence {
  1926. if m != nil {
  1927. return m.Occurrences
  1928. }
  1929. return nil
  1930. }
  1931. func (m *ListOccurrencesResponse) GetNextPageToken() string {
  1932. if m != nil {
  1933. return m.NextPageToken
  1934. }
  1935. return ""
  1936. }
  1937. // Request to delete a occurrence
  1938. type DeleteOccurrenceRequest struct {
  1939. // The name of the occurrence in the form of
  1940. // "projects/{project_id}/occurrences/{OCCURRENCE_ID}"
  1941. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1942. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1943. XXX_unrecognized []byte `json:"-"`
  1944. XXX_sizecache int32 `json:"-"`
  1945. }
  1946. func (m *DeleteOccurrenceRequest) Reset() { *m = DeleteOccurrenceRequest{} }
  1947. func (m *DeleteOccurrenceRequest) String() string { return proto.CompactTextString(m) }
  1948. func (*DeleteOccurrenceRequest) ProtoMessage() {}
  1949. func (*DeleteOccurrenceRequest) Descriptor() ([]byte, []int) {
  1950. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{14}
  1951. }
  1952. func (m *DeleteOccurrenceRequest) XXX_Unmarshal(b []byte) error {
  1953. return xxx_messageInfo_DeleteOccurrenceRequest.Unmarshal(m, b)
  1954. }
  1955. func (m *DeleteOccurrenceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1956. return xxx_messageInfo_DeleteOccurrenceRequest.Marshal(b, m, deterministic)
  1957. }
  1958. func (dst *DeleteOccurrenceRequest) XXX_Merge(src proto.Message) {
  1959. xxx_messageInfo_DeleteOccurrenceRequest.Merge(dst, src)
  1960. }
  1961. func (m *DeleteOccurrenceRequest) XXX_Size() int {
  1962. return xxx_messageInfo_DeleteOccurrenceRequest.Size(m)
  1963. }
  1964. func (m *DeleteOccurrenceRequest) XXX_DiscardUnknown() {
  1965. xxx_messageInfo_DeleteOccurrenceRequest.DiscardUnknown(m)
  1966. }
  1967. var xxx_messageInfo_DeleteOccurrenceRequest proto.InternalMessageInfo
  1968. func (m *DeleteOccurrenceRequest) GetName() string {
  1969. if m != nil {
  1970. return m.Name
  1971. }
  1972. return ""
  1973. }
  1974. // Request to insert a new occurrence.
  1975. type CreateOccurrenceRequest struct {
  1976. // The name of the project. Should be of the form "projects/{project_id}".
  1977. // @Deprecated
  1978. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1979. // This field contains the project Id for example: "projects/{project_id}"
  1980. Parent string `protobuf:"bytes,3,opt,name=parent,proto3" json:"parent,omitempty"`
  1981. // The occurrence to be inserted
  1982. Occurrence *Occurrence `protobuf:"bytes,2,opt,name=occurrence,proto3" json:"occurrence,omitempty"`
  1983. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1984. XXX_unrecognized []byte `json:"-"`
  1985. XXX_sizecache int32 `json:"-"`
  1986. }
  1987. func (m *CreateOccurrenceRequest) Reset() { *m = CreateOccurrenceRequest{} }
  1988. func (m *CreateOccurrenceRequest) String() string { return proto.CompactTextString(m) }
  1989. func (*CreateOccurrenceRequest) ProtoMessage() {}
  1990. func (*CreateOccurrenceRequest) Descriptor() ([]byte, []int) {
  1991. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{15}
  1992. }
  1993. func (m *CreateOccurrenceRequest) XXX_Unmarshal(b []byte) error {
  1994. return xxx_messageInfo_CreateOccurrenceRequest.Unmarshal(m, b)
  1995. }
  1996. func (m *CreateOccurrenceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1997. return xxx_messageInfo_CreateOccurrenceRequest.Marshal(b, m, deterministic)
  1998. }
  1999. func (dst *CreateOccurrenceRequest) XXX_Merge(src proto.Message) {
  2000. xxx_messageInfo_CreateOccurrenceRequest.Merge(dst, src)
  2001. }
  2002. func (m *CreateOccurrenceRequest) XXX_Size() int {
  2003. return xxx_messageInfo_CreateOccurrenceRequest.Size(m)
  2004. }
  2005. func (m *CreateOccurrenceRequest) XXX_DiscardUnknown() {
  2006. xxx_messageInfo_CreateOccurrenceRequest.DiscardUnknown(m)
  2007. }
  2008. var xxx_messageInfo_CreateOccurrenceRequest proto.InternalMessageInfo
  2009. func (m *CreateOccurrenceRequest) GetName() string {
  2010. if m != nil {
  2011. return m.Name
  2012. }
  2013. return ""
  2014. }
  2015. func (m *CreateOccurrenceRequest) GetParent() string {
  2016. if m != nil {
  2017. return m.Parent
  2018. }
  2019. return ""
  2020. }
  2021. func (m *CreateOccurrenceRequest) GetOccurrence() *Occurrence {
  2022. if m != nil {
  2023. return m.Occurrence
  2024. }
  2025. return nil
  2026. }
  2027. // Request to update an existing occurrence
  2028. type UpdateOccurrenceRequest struct {
  2029. // The name of the occurrence.
  2030. // Should be of the form "projects/{project_id}/occurrences/{OCCURRENCE_ID}".
  2031. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2032. // The updated occurrence.
  2033. Occurrence *Occurrence `protobuf:"bytes,2,opt,name=occurrence,proto3" json:"occurrence,omitempty"`
  2034. // The fields to update.
  2035. UpdateMask *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
  2036. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2037. XXX_unrecognized []byte `json:"-"`
  2038. XXX_sizecache int32 `json:"-"`
  2039. }
  2040. func (m *UpdateOccurrenceRequest) Reset() { *m = UpdateOccurrenceRequest{} }
  2041. func (m *UpdateOccurrenceRequest) String() string { return proto.CompactTextString(m) }
  2042. func (*UpdateOccurrenceRequest) ProtoMessage() {}
  2043. func (*UpdateOccurrenceRequest) Descriptor() ([]byte, []int) {
  2044. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{16}
  2045. }
  2046. func (m *UpdateOccurrenceRequest) XXX_Unmarshal(b []byte) error {
  2047. return xxx_messageInfo_UpdateOccurrenceRequest.Unmarshal(m, b)
  2048. }
  2049. func (m *UpdateOccurrenceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2050. return xxx_messageInfo_UpdateOccurrenceRequest.Marshal(b, m, deterministic)
  2051. }
  2052. func (dst *UpdateOccurrenceRequest) XXX_Merge(src proto.Message) {
  2053. xxx_messageInfo_UpdateOccurrenceRequest.Merge(dst, src)
  2054. }
  2055. func (m *UpdateOccurrenceRequest) XXX_Size() int {
  2056. return xxx_messageInfo_UpdateOccurrenceRequest.Size(m)
  2057. }
  2058. func (m *UpdateOccurrenceRequest) XXX_DiscardUnknown() {
  2059. xxx_messageInfo_UpdateOccurrenceRequest.DiscardUnknown(m)
  2060. }
  2061. var xxx_messageInfo_UpdateOccurrenceRequest proto.InternalMessageInfo
  2062. func (m *UpdateOccurrenceRequest) GetName() string {
  2063. if m != nil {
  2064. return m.Name
  2065. }
  2066. return ""
  2067. }
  2068. func (m *UpdateOccurrenceRequest) GetOccurrence() *Occurrence {
  2069. if m != nil {
  2070. return m.Occurrence
  2071. }
  2072. return nil
  2073. }
  2074. func (m *UpdateOccurrenceRequest) GetUpdateMask() *field_mask.FieldMask {
  2075. if m != nil {
  2076. return m.UpdateMask
  2077. }
  2078. return nil
  2079. }
  2080. // Request to get a Note.
  2081. type GetNoteRequest struct {
  2082. // The name of the note in the form of
  2083. // "providers/{provider_id}/notes/{NOTE_ID}"
  2084. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2085. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2086. XXX_unrecognized []byte `json:"-"`
  2087. XXX_sizecache int32 `json:"-"`
  2088. }
  2089. func (m *GetNoteRequest) Reset() { *m = GetNoteRequest{} }
  2090. func (m *GetNoteRequest) String() string { return proto.CompactTextString(m) }
  2091. func (*GetNoteRequest) ProtoMessage() {}
  2092. func (*GetNoteRequest) Descriptor() ([]byte, []int) {
  2093. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{17}
  2094. }
  2095. func (m *GetNoteRequest) XXX_Unmarshal(b []byte) error {
  2096. return xxx_messageInfo_GetNoteRequest.Unmarshal(m, b)
  2097. }
  2098. func (m *GetNoteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2099. return xxx_messageInfo_GetNoteRequest.Marshal(b, m, deterministic)
  2100. }
  2101. func (dst *GetNoteRequest) XXX_Merge(src proto.Message) {
  2102. xxx_messageInfo_GetNoteRequest.Merge(dst, src)
  2103. }
  2104. func (m *GetNoteRequest) XXX_Size() int {
  2105. return xxx_messageInfo_GetNoteRequest.Size(m)
  2106. }
  2107. func (m *GetNoteRequest) XXX_DiscardUnknown() {
  2108. xxx_messageInfo_GetNoteRequest.DiscardUnknown(m)
  2109. }
  2110. var xxx_messageInfo_GetNoteRequest proto.InternalMessageInfo
  2111. func (m *GetNoteRequest) GetName() string {
  2112. if m != nil {
  2113. return m.Name
  2114. }
  2115. return ""
  2116. }
  2117. // Request to get the note to which this occurrence is attached.
  2118. type GetOccurrenceNoteRequest struct {
  2119. // The name of the occurrence in the form
  2120. // "projects/{project_id}/occurrences/{OCCURRENCE_ID}"
  2121. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2122. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2123. XXX_unrecognized []byte `json:"-"`
  2124. XXX_sizecache int32 `json:"-"`
  2125. }
  2126. func (m *GetOccurrenceNoteRequest) Reset() { *m = GetOccurrenceNoteRequest{} }
  2127. func (m *GetOccurrenceNoteRequest) String() string { return proto.CompactTextString(m) }
  2128. func (*GetOccurrenceNoteRequest) ProtoMessage() {}
  2129. func (*GetOccurrenceNoteRequest) Descriptor() ([]byte, []int) {
  2130. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{18}
  2131. }
  2132. func (m *GetOccurrenceNoteRequest) XXX_Unmarshal(b []byte) error {
  2133. return xxx_messageInfo_GetOccurrenceNoteRequest.Unmarshal(m, b)
  2134. }
  2135. func (m *GetOccurrenceNoteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2136. return xxx_messageInfo_GetOccurrenceNoteRequest.Marshal(b, m, deterministic)
  2137. }
  2138. func (dst *GetOccurrenceNoteRequest) XXX_Merge(src proto.Message) {
  2139. xxx_messageInfo_GetOccurrenceNoteRequest.Merge(dst, src)
  2140. }
  2141. func (m *GetOccurrenceNoteRequest) XXX_Size() int {
  2142. return xxx_messageInfo_GetOccurrenceNoteRequest.Size(m)
  2143. }
  2144. func (m *GetOccurrenceNoteRequest) XXX_DiscardUnknown() {
  2145. xxx_messageInfo_GetOccurrenceNoteRequest.DiscardUnknown(m)
  2146. }
  2147. var xxx_messageInfo_GetOccurrenceNoteRequest proto.InternalMessageInfo
  2148. func (m *GetOccurrenceNoteRequest) GetName() string {
  2149. if m != nil {
  2150. return m.Name
  2151. }
  2152. return ""
  2153. }
  2154. // Request to list notes.
  2155. type ListNotesRequest struct {
  2156. // The name field will contain the project Id for example:
  2157. // "providers/{provider_id}
  2158. // @Deprecated
  2159. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2160. // This field contains the project Id for example: "projects/{PROJECT_ID}".
  2161. Parent string `protobuf:"bytes,5,opt,name=parent,proto3" json:"parent,omitempty"`
  2162. // The filter expression.
  2163. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
  2164. // Number of notes to return in the list.
  2165. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  2166. // Token to provide to skip to a particular spot in the list.
  2167. PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  2168. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2169. XXX_unrecognized []byte `json:"-"`
  2170. XXX_sizecache int32 `json:"-"`
  2171. }
  2172. func (m *ListNotesRequest) Reset() { *m = ListNotesRequest{} }
  2173. func (m *ListNotesRequest) String() string { return proto.CompactTextString(m) }
  2174. func (*ListNotesRequest) ProtoMessage() {}
  2175. func (*ListNotesRequest) Descriptor() ([]byte, []int) {
  2176. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{19}
  2177. }
  2178. func (m *ListNotesRequest) XXX_Unmarshal(b []byte) error {
  2179. return xxx_messageInfo_ListNotesRequest.Unmarshal(m, b)
  2180. }
  2181. func (m *ListNotesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2182. return xxx_messageInfo_ListNotesRequest.Marshal(b, m, deterministic)
  2183. }
  2184. func (dst *ListNotesRequest) XXX_Merge(src proto.Message) {
  2185. xxx_messageInfo_ListNotesRequest.Merge(dst, src)
  2186. }
  2187. func (m *ListNotesRequest) XXX_Size() int {
  2188. return xxx_messageInfo_ListNotesRequest.Size(m)
  2189. }
  2190. func (m *ListNotesRequest) XXX_DiscardUnknown() {
  2191. xxx_messageInfo_ListNotesRequest.DiscardUnknown(m)
  2192. }
  2193. var xxx_messageInfo_ListNotesRequest proto.InternalMessageInfo
  2194. func (m *ListNotesRequest) GetName() string {
  2195. if m != nil {
  2196. return m.Name
  2197. }
  2198. return ""
  2199. }
  2200. func (m *ListNotesRequest) GetParent() string {
  2201. if m != nil {
  2202. return m.Parent
  2203. }
  2204. return ""
  2205. }
  2206. func (m *ListNotesRequest) GetFilter() string {
  2207. if m != nil {
  2208. return m.Filter
  2209. }
  2210. return ""
  2211. }
  2212. func (m *ListNotesRequest) GetPageSize() int32 {
  2213. if m != nil {
  2214. return m.PageSize
  2215. }
  2216. return 0
  2217. }
  2218. func (m *ListNotesRequest) GetPageToken() string {
  2219. if m != nil {
  2220. return m.PageToken
  2221. }
  2222. return ""
  2223. }
  2224. // Response including listed notes.
  2225. type ListNotesResponse struct {
  2226. // The occurrences requested
  2227. Notes []*Note `protobuf:"bytes,1,rep,name=notes,proto3" json:"notes,omitempty"`
  2228. // The next pagination token in the list response. It should be used as
  2229. // page_token for the following request. An empty value means no more result.
  2230. NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  2231. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2232. XXX_unrecognized []byte `json:"-"`
  2233. XXX_sizecache int32 `json:"-"`
  2234. }
  2235. func (m *ListNotesResponse) Reset() { *m = ListNotesResponse{} }
  2236. func (m *ListNotesResponse) String() string { return proto.CompactTextString(m) }
  2237. func (*ListNotesResponse) ProtoMessage() {}
  2238. func (*ListNotesResponse) Descriptor() ([]byte, []int) {
  2239. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{20}
  2240. }
  2241. func (m *ListNotesResponse) XXX_Unmarshal(b []byte) error {
  2242. return xxx_messageInfo_ListNotesResponse.Unmarshal(m, b)
  2243. }
  2244. func (m *ListNotesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2245. return xxx_messageInfo_ListNotesResponse.Marshal(b, m, deterministic)
  2246. }
  2247. func (dst *ListNotesResponse) XXX_Merge(src proto.Message) {
  2248. xxx_messageInfo_ListNotesResponse.Merge(dst, src)
  2249. }
  2250. func (m *ListNotesResponse) XXX_Size() int {
  2251. return xxx_messageInfo_ListNotesResponse.Size(m)
  2252. }
  2253. func (m *ListNotesResponse) XXX_DiscardUnknown() {
  2254. xxx_messageInfo_ListNotesResponse.DiscardUnknown(m)
  2255. }
  2256. var xxx_messageInfo_ListNotesResponse proto.InternalMessageInfo
  2257. func (m *ListNotesResponse) GetNotes() []*Note {
  2258. if m != nil {
  2259. return m.Notes
  2260. }
  2261. return nil
  2262. }
  2263. func (m *ListNotesResponse) GetNextPageToken() string {
  2264. if m != nil {
  2265. return m.NextPageToken
  2266. }
  2267. return ""
  2268. }
  2269. // Request to delete a note
  2270. type DeleteNoteRequest struct {
  2271. // The name of the note in the form of
  2272. // "providers/{provider_id}/notes/{NOTE_ID}"
  2273. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2274. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2275. XXX_unrecognized []byte `json:"-"`
  2276. XXX_sizecache int32 `json:"-"`
  2277. }
  2278. func (m *DeleteNoteRequest) Reset() { *m = DeleteNoteRequest{} }
  2279. func (m *DeleteNoteRequest) String() string { return proto.CompactTextString(m) }
  2280. func (*DeleteNoteRequest) ProtoMessage() {}
  2281. func (*DeleteNoteRequest) Descriptor() ([]byte, []int) {
  2282. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{21}
  2283. }
  2284. func (m *DeleteNoteRequest) XXX_Unmarshal(b []byte) error {
  2285. return xxx_messageInfo_DeleteNoteRequest.Unmarshal(m, b)
  2286. }
  2287. func (m *DeleteNoteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2288. return xxx_messageInfo_DeleteNoteRequest.Marshal(b, m, deterministic)
  2289. }
  2290. func (dst *DeleteNoteRequest) XXX_Merge(src proto.Message) {
  2291. xxx_messageInfo_DeleteNoteRequest.Merge(dst, src)
  2292. }
  2293. func (m *DeleteNoteRequest) XXX_Size() int {
  2294. return xxx_messageInfo_DeleteNoteRequest.Size(m)
  2295. }
  2296. func (m *DeleteNoteRequest) XXX_DiscardUnknown() {
  2297. xxx_messageInfo_DeleteNoteRequest.DiscardUnknown(m)
  2298. }
  2299. var xxx_messageInfo_DeleteNoteRequest proto.InternalMessageInfo
  2300. func (m *DeleteNoteRequest) GetName() string {
  2301. if m != nil {
  2302. return m.Name
  2303. }
  2304. return ""
  2305. }
  2306. // Request to insert a new note
  2307. type CreateNoteRequest struct {
  2308. // The name of the project.
  2309. // Should be of the form "providers/{provider_id}".
  2310. // @Deprecated
  2311. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2312. // This field contains the project Id for example:
  2313. // "projects/{project_id}
  2314. Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
  2315. // The ID to use for this note.
  2316. NoteId string `protobuf:"bytes,2,opt,name=note_id,json=noteId,proto3" json:"note_id,omitempty"`
  2317. // The Note to be inserted
  2318. Note *Note `protobuf:"bytes,3,opt,name=note,proto3" json:"note,omitempty"`
  2319. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2320. XXX_unrecognized []byte `json:"-"`
  2321. XXX_sizecache int32 `json:"-"`
  2322. }
  2323. func (m *CreateNoteRequest) Reset() { *m = CreateNoteRequest{} }
  2324. func (m *CreateNoteRequest) String() string { return proto.CompactTextString(m) }
  2325. func (*CreateNoteRequest) ProtoMessage() {}
  2326. func (*CreateNoteRequest) Descriptor() ([]byte, []int) {
  2327. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{22}
  2328. }
  2329. func (m *CreateNoteRequest) XXX_Unmarshal(b []byte) error {
  2330. return xxx_messageInfo_CreateNoteRequest.Unmarshal(m, b)
  2331. }
  2332. func (m *CreateNoteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2333. return xxx_messageInfo_CreateNoteRequest.Marshal(b, m, deterministic)
  2334. }
  2335. func (dst *CreateNoteRequest) XXX_Merge(src proto.Message) {
  2336. xxx_messageInfo_CreateNoteRequest.Merge(dst, src)
  2337. }
  2338. func (m *CreateNoteRequest) XXX_Size() int {
  2339. return xxx_messageInfo_CreateNoteRequest.Size(m)
  2340. }
  2341. func (m *CreateNoteRequest) XXX_DiscardUnknown() {
  2342. xxx_messageInfo_CreateNoteRequest.DiscardUnknown(m)
  2343. }
  2344. var xxx_messageInfo_CreateNoteRequest proto.InternalMessageInfo
  2345. func (m *CreateNoteRequest) GetName() string {
  2346. if m != nil {
  2347. return m.Name
  2348. }
  2349. return ""
  2350. }
  2351. func (m *CreateNoteRequest) GetParent() string {
  2352. if m != nil {
  2353. return m.Parent
  2354. }
  2355. return ""
  2356. }
  2357. func (m *CreateNoteRequest) GetNoteId() string {
  2358. if m != nil {
  2359. return m.NoteId
  2360. }
  2361. return ""
  2362. }
  2363. func (m *CreateNoteRequest) GetNote() *Note {
  2364. if m != nil {
  2365. return m.Note
  2366. }
  2367. return nil
  2368. }
  2369. // Request to update an existing note
  2370. type UpdateNoteRequest struct {
  2371. // The name of the note.
  2372. // Should be of the form "projects/{provider_id}/notes/{note_id}".
  2373. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2374. // The updated note.
  2375. Note *Note `protobuf:"bytes,2,opt,name=note,proto3" json:"note,omitempty"`
  2376. // The fields to update.
  2377. UpdateMask *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
  2378. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2379. XXX_unrecognized []byte `json:"-"`
  2380. XXX_sizecache int32 `json:"-"`
  2381. }
  2382. func (m *UpdateNoteRequest) Reset() { *m = UpdateNoteRequest{} }
  2383. func (m *UpdateNoteRequest) String() string { return proto.CompactTextString(m) }
  2384. func (*UpdateNoteRequest) ProtoMessage() {}
  2385. func (*UpdateNoteRequest) Descriptor() ([]byte, []int) {
  2386. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{23}
  2387. }
  2388. func (m *UpdateNoteRequest) XXX_Unmarshal(b []byte) error {
  2389. return xxx_messageInfo_UpdateNoteRequest.Unmarshal(m, b)
  2390. }
  2391. func (m *UpdateNoteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2392. return xxx_messageInfo_UpdateNoteRequest.Marshal(b, m, deterministic)
  2393. }
  2394. func (dst *UpdateNoteRequest) XXX_Merge(src proto.Message) {
  2395. xxx_messageInfo_UpdateNoteRequest.Merge(dst, src)
  2396. }
  2397. func (m *UpdateNoteRequest) XXX_Size() int {
  2398. return xxx_messageInfo_UpdateNoteRequest.Size(m)
  2399. }
  2400. func (m *UpdateNoteRequest) XXX_DiscardUnknown() {
  2401. xxx_messageInfo_UpdateNoteRequest.DiscardUnknown(m)
  2402. }
  2403. var xxx_messageInfo_UpdateNoteRequest proto.InternalMessageInfo
  2404. func (m *UpdateNoteRequest) GetName() string {
  2405. if m != nil {
  2406. return m.Name
  2407. }
  2408. return ""
  2409. }
  2410. func (m *UpdateNoteRequest) GetNote() *Note {
  2411. if m != nil {
  2412. return m.Note
  2413. }
  2414. return nil
  2415. }
  2416. func (m *UpdateNoteRequest) GetUpdateMask() *field_mask.FieldMask {
  2417. if m != nil {
  2418. return m.UpdateMask
  2419. }
  2420. return nil
  2421. }
  2422. // Request to list occurrences.
  2423. type ListNoteOccurrencesRequest struct {
  2424. // The name field will contain the note name for example:
  2425. // "provider/{provider_id}/notes/{note_id}"
  2426. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2427. // The filter expression.
  2428. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
  2429. // Number of notes to return in the list.
  2430. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  2431. // Token to provide to skip to a particular spot in the list.
  2432. PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  2433. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2434. XXX_unrecognized []byte `json:"-"`
  2435. XXX_sizecache int32 `json:"-"`
  2436. }
  2437. func (m *ListNoteOccurrencesRequest) Reset() { *m = ListNoteOccurrencesRequest{} }
  2438. func (m *ListNoteOccurrencesRequest) String() string { return proto.CompactTextString(m) }
  2439. func (*ListNoteOccurrencesRequest) ProtoMessage() {}
  2440. func (*ListNoteOccurrencesRequest) Descriptor() ([]byte, []int) {
  2441. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{24}
  2442. }
  2443. func (m *ListNoteOccurrencesRequest) XXX_Unmarshal(b []byte) error {
  2444. return xxx_messageInfo_ListNoteOccurrencesRequest.Unmarshal(m, b)
  2445. }
  2446. func (m *ListNoteOccurrencesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2447. return xxx_messageInfo_ListNoteOccurrencesRequest.Marshal(b, m, deterministic)
  2448. }
  2449. func (dst *ListNoteOccurrencesRequest) XXX_Merge(src proto.Message) {
  2450. xxx_messageInfo_ListNoteOccurrencesRequest.Merge(dst, src)
  2451. }
  2452. func (m *ListNoteOccurrencesRequest) XXX_Size() int {
  2453. return xxx_messageInfo_ListNoteOccurrencesRequest.Size(m)
  2454. }
  2455. func (m *ListNoteOccurrencesRequest) XXX_DiscardUnknown() {
  2456. xxx_messageInfo_ListNoteOccurrencesRequest.DiscardUnknown(m)
  2457. }
  2458. var xxx_messageInfo_ListNoteOccurrencesRequest proto.InternalMessageInfo
  2459. func (m *ListNoteOccurrencesRequest) GetName() string {
  2460. if m != nil {
  2461. return m.Name
  2462. }
  2463. return ""
  2464. }
  2465. func (m *ListNoteOccurrencesRequest) GetFilter() string {
  2466. if m != nil {
  2467. return m.Filter
  2468. }
  2469. return ""
  2470. }
  2471. func (m *ListNoteOccurrencesRequest) GetPageSize() int32 {
  2472. if m != nil {
  2473. return m.PageSize
  2474. }
  2475. return 0
  2476. }
  2477. func (m *ListNoteOccurrencesRequest) GetPageToken() string {
  2478. if m != nil {
  2479. return m.PageToken
  2480. }
  2481. return ""
  2482. }
  2483. // Response including listed occurrences for a note.
  2484. type ListNoteOccurrencesResponse struct {
  2485. // The occurrences attached to the specified note.
  2486. Occurrences []*Occurrence `protobuf:"bytes,1,rep,name=occurrences,proto3" json:"occurrences,omitempty"`
  2487. // Token to receive the next page of notes.
  2488. NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  2489. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2490. XXX_unrecognized []byte `json:"-"`
  2491. XXX_sizecache int32 `json:"-"`
  2492. }
  2493. func (m *ListNoteOccurrencesResponse) Reset() { *m = ListNoteOccurrencesResponse{} }
  2494. func (m *ListNoteOccurrencesResponse) String() string { return proto.CompactTextString(m) }
  2495. func (*ListNoteOccurrencesResponse) ProtoMessage() {}
  2496. func (*ListNoteOccurrencesResponse) Descriptor() ([]byte, []int) {
  2497. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{25}
  2498. }
  2499. func (m *ListNoteOccurrencesResponse) XXX_Unmarshal(b []byte) error {
  2500. return xxx_messageInfo_ListNoteOccurrencesResponse.Unmarshal(m, b)
  2501. }
  2502. func (m *ListNoteOccurrencesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2503. return xxx_messageInfo_ListNoteOccurrencesResponse.Marshal(b, m, deterministic)
  2504. }
  2505. func (dst *ListNoteOccurrencesResponse) XXX_Merge(src proto.Message) {
  2506. xxx_messageInfo_ListNoteOccurrencesResponse.Merge(dst, src)
  2507. }
  2508. func (m *ListNoteOccurrencesResponse) XXX_Size() int {
  2509. return xxx_messageInfo_ListNoteOccurrencesResponse.Size(m)
  2510. }
  2511. func (m *ListNoteOccurrencesResponse) XXX_DiscardUnknown() {
  2512. xxx_messageInfo_ListNoteOccurrencesResponse.DiscardUnknown(m)
  2513. }
  2514. var xxx_messageInfo_ListNoteOccurrencesResponse proto.InternalMessageInfo
  2515. func (m *ListNoteOccurrencesResponse) GetOccurrences() []*Occurrence {
  2516. if m != nil {
  2517. return m.Occurrences
  2518. }
  2519. return nil
  2520. }
  2521. func (m *ListNoteOccurrencesResponse) GetNextPageToken() string {
  2522. if m != nil {
  2523. return m.NextPageToken
  2524. }
  2525. return ""
  2526. }
  2527. // Request for creating an operation
  2528. type CreateOperationRequest struct {
  2529. // The project Id that this operation should be created under.
  2530. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  2531. // The ID to use for this operation.
  2532. OperationId string `protobuf:"bytes,2,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"`
  2533. // The operation to create.
  2534. Operation *longrunning.Operation `protobuf:"bytes,3,opt,name=operation,proto3" json:"operation,omitempty"`
  2535. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2536. XXX_unrecognized []byte `json:"-"`
  2537. XXX_sizecache int32 `json:"-"`
  2538. }
  2539. func (m *CreateOperationRequest) Reset() { *m = CreateOperationRequest{} }
  2540. func (m *CreateOperationRequest) String() string { return proto.CompactTextString(m) }
  2541. func (*CreateOperationRequest) ProtoMessage() {}
  2542. func (*CreateOperationRequest) Descriptor() ([]byte, []int) {
  2543. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{26}
  2544. }
  2545. func (m *CreateOperationRequest) XXX_Unmarshal(b []byte) error {
  2546. return xxx_messageInfo_CreateOperationRequest.Unmarshal(m, b)
  2547. }
  2548. func (m *CreateOperationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2549. return xxx_messageInfo_CreateOperationRequest.Marshal(b, m, deterministic)
  2550. }
  2551. func (dst *CreateOperationRequest) XXX_Merge(src proto.Message) {
  2552. xxx_messageInfo_CreateOperationRequest.Merge(dst, src)
  2553. }
  2554. func (m *CreateOperationRequest) XXX_Size() int {
  2555. return xxx_messageInfo_CreateOperationRequest.Size(m)
  2556. }
  2557. func (m *CreateOperationRequest) XXX_DiscardUnknown() {
  2558. xxx_messageInfo_CreateOperationRequest.DiscardUnknown(m)
  2559. }
  2560. var xxx_messageInfo_CreateOperationRequest proto.InternalMessageInfo
  2561. func (m *CreateOperationRequest) GetParent() string {
  2562. if m != nil {
  2563. return m.Parent
  2564. }
  2565. return ""
  2566. }
  2567. func (m *CreateOperationRequest) GetOperationId() string {
  2568. if m != nil {
  2569. return m.OperationId
  2570. }
  2571. return ""
  2572. }
  2573. func (m *CreateOperationRequest) GetOperation() *longrunning.Operation {
  2574. if m != nil {
  2575. return m.Operation
  2576. }
  2577. return nil
  2578. }
  2579. // Request for updating an existing operation
  2580. type UpdateOperationRequest struct {
  2581. // The name of the Operation.
  2582. // Should be of the form "projects/{provider_id}/operations/{operation_id}".
  2583. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2584. // The operation to create.
  2585. Operation *longrunning.Operation `protobuf:"bytes,3,opt,name=operation,proto3" json:"operation,omitempty"`
  2586. UpdateMask *field_mask.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
  2587. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2588. XXX_unrecognized []byte `json:"-"`
  2589. XXX_sizecache int32 `json:"-"`
  2590. }
  2591. func (m *UpdateOperationRequest) Reset() { *m = UpdateOperationRequest{} }
  2592. func (m *UpdateOperationRequest) String() string { return proto.CompactTextString(m) }
  2593. func (*UpdateOperationRequest) ProtoMessage() {}
  2594. func (*UpdateOperationRequest) Descriptor() ([]byte, []int) {
  2595. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{27}
  2596. }
  2597. func (m *UpdateOperationRequest) XXX_Unmarshal(b []byte) error {
  2598. return xxx_messageInfo_UpdateOperationRequest.Unmarshal(m, b)
  2599. }
  2600. func (m *UpdateOperationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2601. return xxx_messageInfo_UpdateOperationRequest.Marshal(b, m, deterministic)
  2602. }
  2603. func (dst *UpdateOperationRequest) XXX_Merge(src proto.Message) {
  2604. xxx_messageInfo_UpdateOperationRequest.Merge(dst, src)
  2605. }
  2606. func (m *UpdateOperationRequest) XXX_Size() int {
  2607. return xxx_messageInfo_UpdateOperationRequest.Size(m)
  2608. }
  2609. func (m *UpdateOperationRequest) XXX_DiscardUnknown() {
  2610. xxx_messageInfo_UpdateOperationRequest.DiscardUnknown(m)
  2611. }
  2612. var xxx_messageInfo_UpdateOperationRequest proto.InternalMessageInfo
  2613. func (m *UpdateOperationRequest) GetName() string {
  2614. if m != nil {
  2615. return m.Name
  2616. }
  2617. return ""
  2618. }
  2619. func (m *UpdateOperationRequest) GetOperation() *longrunning.Operation {
  2620. if m != nil {
  2621. return m.Operation
  2622. }
  2623. return nil
  2624. }
  2625. func (m *UpdateOperationRequest) GetUpdateMask() *field_mask.FieldMask {
  2626. if m != nil {
  2627. return m.UpdateMask
  2628. }
  2629. return nil
  2630. }
  2631. // Metadata for all operations used and required for all operations
  2632. // that created by Container Analysis Providers
  2633. type OperationMetadata struct {
  2634. // Output only. The time this operation was created.
  2635. CreateTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
  2636. // Output only. The time that this operation was marked completed or failed.
  2637. EndTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
  2638. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2639. XXX_unrecognized []byte `json:"-"`
  2640. XXX_sizecache int32 `json:"-"`
  2641. }
  2642. func (m *OperationMetadata) Reset() { *m = OperationMetadata{} }
  2643. func (m *OperationMetadata) String() string { return proto.CompactTextString(m) }
  2644. func (*OperationMetadata) ProtoMessage() {}
  2645. func (*OperationMetadata) Descriptor() ([]byte, []int) {
  2646. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{28}
  2647. }
  2648. func (m *OperationMetadata) XXX_Unmarshal(b []byte) error {
  2649. return xxx_messageInfo_OperationMetadata.Unmarshal(m, b)
  2650. }
  2651. func (m *OperationMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2652. return xxx_messageInfo_OperationMetadata.Marshal(b, m, deterministic)
  2653. }
  2654. func (dst *OperationMetadata) XXX_Merge(src proto.Message) {
  2655. xxx_messageInfo_OperationMetadata.Merge(dst, src)
  2656. }
  2657. func (m *OperationMetadata) XXX_Size() int {
  2658. return xxx_messageInfo_OperationMetadata.Size(m)
  2659. }
  2660. func (m *OperationMetadata) XXX_DiscardUnknown() {
  2661. xxx_messageInfo_OperationMetadata.DiscardUnknown(m)
  2662. }
  2663. var xxx_messageInfo_OperationMetadata proto.InternalMessageInfo
  2664. func (m *OperationMetadata) GetCreateTime() *timestamp.Timestamp {
  2665. if m != nil {
  2666. return m.CreateTime
  2667. }
  2668. return nil
  2669. }
  2670. func (m *OperationMetadata) GetEndTime() *timestamp.Timestamp {
  2671. if m != nil {
  2672. return m.EndTime
  2673. }
  2674. return nil
  2675. }
  2676. // Request to get the vulnz summary for some set of vulnerability Occurrences.
  2677. type GetVulnzOccurrencesSummaryRequest struct {
  2678. // This contains the project Id for example: projects/{project_id}
  2679. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  2680. // The filter expression.
  2681. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
  2682. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2683. XXX_unrecognized []byte `json:"-"`
  2684. XXX_sizecache int32 `json:"-"`
  2685. }
  2686. func (m *GetVulnzOccurrencesSummaryRequest) Reset() { *m = GetVulnzOccurrencesSummaryRequest{} }
  2687. func (m *GetVulnzOccurrencesSummaryRequest) String() string { return proto.CompactTextString(m) }
  2688. func (*GetVulnzOccurrencesSummaryRequest) ProtoMessage() {}
  2689. func (*GetVulnzOccurrencesSummaryRequest) Descriptor() ([]byte, []int) {
  2690. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{29}
  2691. }
  2692. func (m *GetVulnzOccurrencesSummaryRequest) XXX_Unmarshal(b []byte) error {
  2693. return xxx_messageInfo_GetVulnzOccurrencesSummaryRequest.Unmarshal(m, b)
  2694. }
  2695. func (m *GetVulnzOccurrencesSummaryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2696. return xxx_messageInfo_GetVulnzOccurrencesSummaryRequest.Marshal(b, m, deterministic)
  2697. }
  2698. func (dst *GetVulnzOccurrencesSummaryRequest) XXX_Merge(src proto.Message) {
  2699. xxx_messageInfo_GetVulnzOccurrencesSummaryRequest.Merge(dst, src)
  2700. }
  2701. func (m *GetVulnzOccurrencesSummaryRequest) XXX_Size() int {
  2702. return xxx_messageInfo_GetVulnzOccurrencesSummaryRequest.Size(m)
  2703. }
  2704. func (m *GetVulnzOccurrencesSummaryRequest) XXX_DiscardUnknown() {
  2705. xxx_messageInfo_GetVulnzOccurrencesSummaryRequest.DiscardUnknown(m)
  2706. }
  2707. var xxx_messageInfo_GetVulnzOccurrencesSummaryRequest proto.InternalMessageInfo
  2708. func (m *GetVulnzOccurrencesSummaryRequest) GetParent() string {
  2709. if m != nil {
  2710. return m.Parent
  2711. }
  2712. return ""
  2713. }
  2714. func (m *GetVulnzOccurrencesSummaryRequest) GetFilter() string {
  2715. if m != nil {
  2716. return m.Filter
  2717. }
  2718. return ""
  2719. }
  2720. // A summary of how many vulnz occurrences there are per severity type.
  2721. // counts by groups, or if we should have different summary messages
  2722. // like this.
  2723. type GetVulnzOccurrencesSummaryResponse struct {
  2724. // A map of how many occurrences were found for each severity.
  2725. Counts []*GetVulnzOccurrencesSummaryResponse_SeverityCount `protobuf:"bytes,1,rep,name=counts,proto3" json:"counts,omitempty"`
  2726. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2727. XXX_unrecognized []byte `json:"-"`
  2728. XXX_sizecache int32 `json:"-"`
  2729. }
  2730. func (m *GetVulnzOccurrencesSummaryResponse) Reset() { *m = GetVulnzOccurrencesSummaryResponse{} }
  2731. func (m *GetVulnzOccurrencesSummaryResponse) String() string { return proto.CompactTextString(m) }
  2732. func (*GetVulnzOccurrencesSummaryResponse) ProtoMessage() {}
  2733. func (*GetVulnzOccurrencesSummaryResponse) Descriptor() ([]byte, []int) {
  2734. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{30}
  2735. }
  2736. func (m *GetVulnzOccurrencesSummaryResponse) XXX_Unmarshal(b []byte) error {
  2737. return xxx_messageInfo_GetVulnzOccurrencesSummaryResponse.Unmarshal(m, b)
  2738. }
  2739. func (m *GetVulnzOccurrencesSummaryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2740. return xxx_messageInfo_GetVulnzOccurrencesSummaryResponse.Marshal(b, m, deterministic)
  2741. }
  2742. func (dst *GetVulnzOccurrencesSummaryResponse) XXX_Merge(src proto.Message) {
  2743. xxx_messageInfo_GetVulnzOccurrencesSummaryResponse.Merge(dst, src)
  2744. }
  2745. func (m *GetVulnzOccurrencesSummaryResponse) XXX_Size() int {
  2746. return xxx_messageInfo_GetVulnzOccurrencesSummaryResponse.Size(m)
  2747. }
  2748. func (m *GetVulnzOccurrencesSummaryResponse) XXX_DiscardUnknown() {
  2749. xxx_messageInfo_GetVulnzOccurrencesSummaryResponse.DiscardUnknown(m)
  2750. }
  2751. var xxx_messageInfo_GetVulnzOccurrencesSummaryResponse proto.InternalMessageInfo
  2752. func (m *GetVulnzOccurrencesSummaryResponse) GetCounts() []*GetVulnzOccurrencesSummaryResponse_SeverityCount {
  2753. if m != nil {
  2754. return m.Counts
  2755. }
  2756. return nil
  2757. }
  2758. // The number of occurrences created for a specific severity.
  2759. type GetVulnzOccurrencesSummaryResponse_SeverityCount struct {
  2760. // The severity of the occurrences.
  2761. Severity VulnerabilityType_Severity `protobuf:"varint,1,opt,name=severity,proto3,enum=google.devtools.containeranalysis.v1alpha1.VulnerabilityType_Severity" json:"severity,omitempty"`
  2762. // The number of occurrences with the severity.
  2763. Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
  2764. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2765. XXX_unrecognized []byte `json:"-"`
  2766. XXX_sizecache int32 `json:"-"`
  2767. }
  2768. func (m *GetVulnzOccurrencesSummaryResponse_SeverityCount) Reset() {
  2769. *m = GetVulnzOccurrencesSummaryResponse_SeverityCount{}
  2770. }
  2771. func (m *GetVulnzOccurrencesSummaryResponse_SeverityCount) String() string {
  2772. return proto.CompactTextString(m)
  2773. }
  2774. func (*GetVulnzOccurrencesSummaryResponse_SeverityCount) ProtoMessage() {}
  2775. func (*GetVulnzOccurrencesSummaryResponse_SeverityCount) Descriptor() ([]byte, []int) {
  2776. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{30, 0}
  2777. }
  2778. func (m *GetVulnzOccurrencesSummaryResponse_SeverityCount) XXX_Unmarshal(b []byte) error {
  2779. return xxx_messageInfo_GetVulnzOccurrencesSummaryResponse_SeverityCount.Unmarshal(m, b)
  2780. }
  2781. func (m *GetVulnzOccurrencesSummaryResponse_SeverityCount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2782. return xxx_messageInfo_GetVulnzOccurrencesSummaryResponse_SeverityCount.Marshal(b, m, deterministic)
  2783. }
  2784. func (dst *GetVulnzOccurrencesSummaryResponse_SeverityCount) XXX_Merge(src proto.Message) {
  2785. xxx_messageInfo_GetVulnzOccurrencesSummaryResponse_SeverityCount.Merge(dst, src)
  2786. }
  2787. func (m *GetVulnzOccurrencesSummaryResponse_SeverityCount) XXX_Size() int {
  2788. return xxx_messageInfo_GetVulnzOccurrencesSummaryResponse_SeverityCount.Size(m)
  2789. }
  2790. func (m *GetVulnzOccurrencesSummaryResponse_SeverityCount) XXX_DiscardUnknown() {
  2791. xxx_messageInfo_GetVulnzOccurrencesSummaryResponse_SeverityCount.DiscardUnknown(m)
  2792. }
  2793. var xxx_messageInfo_GetVulnzOccurrencesSummaryResponse_SeverityCount proto.InternalMessageInfo
  2794. func (m *GetVulnzOccurrencesSummaryResponse_SeverityCount) GetSeverity() VulnerabilityType_Severity {
  2795. if m != nil {
  2796. return m.Severity
  2797. }
  2798. return VulnerabilityType_SEVERITY_UNSPECIFIED
  2799. }
  2800. func (m *GetVulnzOccurrencesSummaryResponse_SeverityCount) GetCount() int64 {
  2801. if m != nil {
  2802. return m.Count
  2803. }
  2804. return 0
  2805. }
  2806. // Request to get a ScanConfig.
  2807. type GetScanConfigRequest struct {
  2808. // The name of the ScanConfig in the form
  2809. // projects/{project_id}/scan_configs/{ScanConfig_id}
  2810. // instead.
  2811. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2812. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2813. XXX_unrecognized []byte `json:"-"`
  2814. XXX_sizecache int32 `json:"-"`
  2815. }
  2816. func (m *GetScanConfigRequest) Reset() { *m = GetScanConfigRequest{} }
  2817. func (m *GetScanConfigRequest) String() string { return proto.CompactTextString(m) }
  2818. func (*GetScanConfigRequest) ProtoMessage() {}
  2819. func (*GetScanConfigRequest) Descriptor() ([]byte, []int) {
  2820. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{31}
  2821. }
  2822. func (m *GetScanConfigRequest) XXX_Unmarshal(b []byte) error {
  2823. return xxx_messageInfo_GetScanConfigRequest.Unmarshal(m, b)
  2824. }
  2825. func (m *GetScanConfigRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2826. return xxx_messageInfo_GetScanConfigRequest.Marshal(b, m, deterministic)
  2827. }
  2828. func (dst *GetScanConfigRequest) XXX_Merge(src proto.Message) {
  2829. xxx_messageInfo_GetScanConfigRequest.Merge(dst, src)
  2830. }
  2831. func (m *GetScanConfigRequest) XXX_Size() int {
  2832. return xxx_messageInfo_GetScanConfigRequest.Size(m)
  2833. }
  2834. func (m *GetScanConfigRequest) XXX_DiscardUnknown() {
  2835. xxx_messageInfo_GetScanConfigRequest.DiscardUnknown(m)
  2836. }
  2837. var xxx_messageInfo_GetScanConfigRequest proto.InternalMessageInfo
  2838. func (m *GetScanConfigRequest) GetName() string {
  2839. if m != nil {
  2840. return m.Name
  2841. }
  2842. return ""
  2843. }
  2844. // Request to list the available scan configurations.
  2845. type ListScanConfigsRequest struct {
  2846. // This containers the project Id i.e.: projects/{project_id}
  2847. // instead.
  2848. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
  2849. // The filter expression.
  2850. Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
  2851. // The number of items to return.
  2852. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  2853. // The page token to use for the next request.
  2854. PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  2855. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2856. XXX_unrecognized []byte `json:"-"`
  2857. XXX_sizecache int32 `json:"-"`
  2858. }
  2859. func (m *ListScanConfigsRequest) Reset() { *m = ListScanConfigsRequest{} }
  2860. func (m *ListScanConfigsRequest) String() string { return proto.CompactTextString(m) }
  2861. func (*ListScanConfigsRequest) ProtoMessage() {}
  2862. func (*ListScanConfigsRequest) Descriptor() ([]byte, []int) {
  2863. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{32}
  2864. }
  2865. func (m *ListScanConfigsRequest) XXX_Unmarshal(b []byte) error {
  2866. return xxx_messageInfo_ListScanConfigsRequest.Unmarshal(m, b)
  2867. }
  2868. func (m *ListScanConfigsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2869. return xxx_messageInfo_ListScanConfigsRequest.Marshal(b, m, deterministic)
  2870. }
  2871. func (dst *ListScanConfigsRequest) XXX_Merge(src proto.Message) {
  2872. xxx_messageInfo_ListScanConfigsRequest.Merge(dst, src)
  2873. }
  2874. func (m *ListScanConfigsRequest) XXX_Size() int {
  2875. return xxx_messageInfo_ListScanConfigsRequest.Size(m)
  2876. }
  2877. func (m *ListScanConfigsRequest) XXX_DiscardUnknown() {
  2878. xxx_messageInfo_ListScanConfigsRequest.DiscardUnknown(m)
  2879. }
  2880. var xxx_messageInfo_ListScanConfigsRequest proto.InternalMessageInfo
  2881. func (m *ListScanConfigsRequest) GetParent() string {
  2882. if m != nil {
  2883. return m.Parent
  2884. }
  2885. return ""
  2886. }
  2887. func (m *ListScanConfigsRequest) GetFilter() string {
  2888. if m != nil {
  2889. return m.Filter
  2890. }
  2891. return ""
  2892. }
  2893. func (m *ListScanConfigsRequest) GetPageSize() int32 {
  2894. if m != nil {
  2895. return m.PageSize
  2896. }
  2897. return 0
  2898. }
  2899. func (m *ListScanConfigsRequest) GetPageToken() string {
  2900. if m != nil {
  2901. return m.PageToken
  2902. }
  2903. return ""
  2904. }
  2905. // A list of ScanConfigs for the project.
  2906. type ListScanConfigsResponse struct {
  2907. // The set of scan configs
  2908. ScanConfigs []*ScanConfig `protobuf:"bytes,1,rep,name=scan_configs,json=scanConfigs,proto3" json:"scan_configs,omitempty"`
  2909. // A page token to pass in order to get more scans.
  2910. NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  2911. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2912. XXX_unrecognized []byte `json:"-"`
  2913. XXX_sizecache int32 `json:"-"`
  2914. }
  2915. func (m *ListScanConfigsResponse) Reset() { *m = ListScanConfigsResponse{} }
  2916. func (m *ListScanConfigsResponse) String() string { return proto.CompactTextString(m) }
  2917. func (*ListScanConfigsResponse) ProtoMessage() {}
  2918. func (*ListScanConfigsResponse) Descriptor() ([]byte, []int) {
  2919. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{33}
  2920. }
  2921. func (m *ListScanConfigsResponse) XXX_Unmarshal(b []byte) error {
  2922. return xxx_messageInfo_ListScanConfigsResponse.Unmarshal(m, b)
  2923. }
  2924. func (m *ListScanConfigsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2925. return xxx_messageInfo_ListScanConfigsResponse.Marshal(b, m, deterministic)
  2926. }
  2927. func (dst *ListScanConfigsResponse) XXX_Merge(src proto.Message) {
  2928. xxx_messageInfo_ListScanConfigsResponse.Merge(dst, src)
  2929. }
  2930. func (m *ListScanConfigsResponse) XXX_Size() int {
  2931. return xxx_messageInfo_ListScanConfigsResponse.Size(m)
  2932. }
  2933. func (m *ListScanConfigsResponse) XXX_DiscardUnknown() {
  2934. xxx_messageInfo_ListScanConfigsResponse.DiscardUnknown(m)
  2935. }
  2936. var xxx_messageInfo_ListScanConfigsResponse proto.InternalMessageInfo
  2937. func (m *ListScanConfigsResponse) GetScanConfigs() []*ScanConfig {
  2938. if m != nil {
  2939. return m.ScanConfigs
  2940. }
  2941. return nil
  2942. }
  2943. func (m *ListScanConfigsResponse) GetNextPageToken() string {
  2944. if m != nil {
  2945. return m.NextPageToken
  2946. }
  2947. return ""
  2948. }
  2949. // A request to update a ScanConfig.
  2950. type UpdateScanConfigRequest struct {
  2951. // The scan config to update of the form
  2952. // projects/{project_id}/scan_configs/{ScanConfig_id}
  2953. // instead.
  2954. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2955. // The new scan configuration
  2956. ScanConfig *ScanConfig `protobuf:"bytes,2,opt,name=scan_config,json=scanConfig,proto3" json:"scan_config,omitempty"`
  2957. UpdateMask *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
  2958. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2959. XXX_unrecognized []byte `json:"-"`
  2960. XXX_sizecache int32 `json:"-"`
  2961. }
  2962. func (m *UpdateScanConfigRequest) Reset() { *m = UpdateScanConfigRequest{} }
  2963. func (m *UpdateScanConfigRequest) String() string { return proto.CompactTextString(m) }
  2964. func (*UpdateScanConfigRequest) ProtoMessage() {}
  2965. func (*UpdateScanConfigRequest) Descriptor() ([]byte, []int) {
  2966. return fileDescriptor_containeranalysis_7302a99efbbe81f1, []int{34}
  2967. }
  2968. func (m *UpdateScanConfigRequest) XXX_Unmarshal(b []byte) error {
  2969. return xxx_messageInfo_UpdateScanConfigRequest.Unmarshal(m, b)
  2970. }
  2971. func (m *UpdateScanConfigRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2972. return xxx_messageInfo_UpdateScanConfigRequest.Marshal(b, m, deterministic)
  2973. }
  2974. func (dst *UpdateScanConfigRequest) XXX_Merge(src proto.Message) {
  2975. xxx_messageInfo_UpdateScanConfigRequest.Merge(dst, src)
  2976. }
  2977. func (m *UpdateScanConfigRequest) XXX_Size() int {
  2978. return xxx_messageInfo_UpdateScanConfigRequest.Size(m)
  2979. }
  2980. func (m *UpdateScanConfigRequest) XXX_DiscardUnknown() {
  2981. xxx_messageInfo_UpdateScanConfigRequest.DiscardUnknown(m)
  2982. }
  2983. var xxx_messageInfo_UpdateScanConfigRequest proto.InternalMessageInfo
  2984. func (m *UpdateScanConfigRequest) GetName() string {
  2985. if m != nil {
  2986. return m.Name
  2987. }
  2988. return ""
  2989. }
  2990. func (m *UpdateScanConfigRequest) GetScanConfig() *ScanConfig {
  2991. if m != nil {
  2992. return m.ScanConfig
  2993. }
  2994. return nil
  2995. }
  2996. func (m *UpdateScanConfigRequest) GetUpdateMask() *field_mask.FieldMask {
  2997. if m != nil {
  2998. return m.UpdateMask
  2999. }
  3000. return nil
  3001. }
  3002. func init() {
  3003. proto.RegisterType((*Occurrence)(nil), "google.devtools.containeranalysis.v1alpha1.Occurrence")
  3004. proto.RegisterType((*Resource)(nil), "google.devtools.containeranalysis.v1alpha1.Resource")
  3005. proto.RegisterType((*Note)(nil), "google.devtools.containeranalysis.v1alpha1.Note")
  3006. proto.RegisterType((*Note_RelatedUrl)(nil), "google.devtools.containeranalysis.v1alpha1.Note.RelatedUrl")
  3007. proto.RegisterType((*Deployable)(nil), "google.devtools.containeranalysis.v1alpha1.Deployable")
  3008. proto.RegisterType((*Deployable_Deployment)(nil), "google.devtools.containeranalysis.v1alpha1.Deployable.Deployment")
  3009. proto.RegisterType((*Discovery)(nil), "google.devtools.containeranalysis.v1alpha1.Discovery")
  3010. proto.RegisterType((*Discovery_Discovered)(nil), "google.devtools.containeranalysis.v1alpha1.Discovery.Discovered")
  3011. proto.RegisterType((*BuildType)(nil), "google.devtools.containeranalysis.v1alpha1.BuildType")
  3012. proto.RegisterType((*BuildSignature)(nil), "google.devtools.containeranalysis.v1alpha1.BuildSignature")
  3013. proto.RegisterType((*PgpSignedAttestation)(nil), "google.devtools.containeranalysis.v1alpha1.PgpSignedAttestation")
  3014. proto.RegisterType((*AttestationAuthority)(nil), "google.devtools.containeranalysis.v1alpha1.AttestationAuthority")
  3015. proto.RegisterType((*AttestationAuthority_AttestationAuthorityHint)(nil), "google.devtools.containeranalysis.v1alpha1.AttestationAuthority.AttestationAuthorityHint")
  3016. proto.RegisterType((*AttestationAuthority_Attestation)(nil), "google.devtools.containeranalysis.v1alpha1.AttestationAuthority.Attestation")
  3017. proto.RegisterType((*BuildDetails)(nil), "google.devtools.containeranalysis.v1alpha1.BuildDetails")
  3018. proto.RegisterType((*ScanConfig)(nil), "google.devtools.containeranalysis.v1alpha1.ScanConfig")
  3019. proto.RegisterType((*GetOccurrenceRequest)(nil), "google.devtools.containeranalysis.v1alpha1.GetOccurrenceRequest")
  3020. proto.RegisterType((*ListOccurrencesRequest)(nil), "google.devtools.containeranalysis.v1alpha1.ListOccurrencesRequest")
  3021. proto.RegisterType((*ListOccurrencesResponse)(nil), "google.devtools.containeranalysis.v1alpha1.ListOccurrencesResponse")
  3022. proto.RegisterType((*DeleteOccurrenceRequest)(nil), "google.devtools.containeranalysis.v1alpha1.DeleteOccurrenceRequest")
  3023. proto.RegisterType((*CreateOccurrenceRequest)(nil), "google.devtools.containeranalysis.v1alpha1.CreateOccurrenceRequest")
  3024. proto.RegisterType((*UpdateOccurrenceRequest)(nil), "google.devtools.containeranalysis.v1alpha1.UpdateOccurrenceRequest")
  3025. proto.RegisterType((*GetNoteRequest)(nil), "google.devtools.containeranalysis.v1alpha1.GetNoteRequest")
  3026. proto.RegisterType((*GetOccurrenceNoteRequest)(nil), "google.devtools.containeranalysis.v1alpha1.GetOccurrenceNoteRequest")
  3027. proto.RegisterType((*ListNotesRequest)(nil), "google.devtools.containeranalysis.v1alpha1.ListNotesRequest")
  3028. proto.RegisterType((*ListNotesResponse)(nil), "google.devtools.containeranalysis.v1alpha1.ListNotesResponse")
  3029. proto.RegisterType((*DeleteNoteRequest)(nil), "google.devtools.containeranalysis.v1alpha1.DeleteNoteRequest")
  3030. proto.RegisterType((*CreateNoteRequest)(nil), "google.devtools.containeranalysis.v1alpha1.CreateNoteRequest")
  3031. proto.RegisterType((*UpdateNoteRequest)(nil), "google.devtools.containeranalysis.v1alpha1.UpdateNoteRequest")
  3032. proto.RegisterType((*ListNoteOccurrencesRequest)(nil), "google.devtools.containeranalysis.v1alpha1.ListNoteOccurrencesRequest")
  3033. proto.RegisterType((*ListNoteOccurrencesResponse)(nil), "google.devtools.containeranalysis.v1alpha1.ListNoteOccurrencesResponse")
  3034. proto.RegisterType((*CreateOperationRequest)(nil), "google.devtools.containeranalysis.v1alpha1.CreateOperationRequest")
  3035. proto.RegisterType((*UpdateOperationRequest)(nil), "google.devtools.containeranalysis.v1alpha1.UpdateOperationRequest")
  3036. proto.RegisterType((*OperationMetadata)(nil), "google.devtools.containeranalysis.v1alpha1.OperationMetadata")
  3037. proto.RegisterType((*GetVulnzOccurrencesSummaryRequest)(nil), "google.devtools.containeranalysis.v1alpha1.GetVulnzOccurrencesSummaryRequest")
  3038. proto.RegisterType((*GetVulnzOccurrencesSummaryResponse)(nil), "google.devtools.containeranalysis.v1alpha1.GetVulnzOccurrencesSummaryResponse")
  3039. proto.RegisterType((*GetVulnzOccurrencesSummaryResponse_SeverityCount)(nil), "google.devtools.containeranalysis.v1alpha1.GetVulnzOccurrencesSummaryResponse.SeverityCount")
  3040. proto.RegisterType((*GetScanConfigRequest)(nil), "google.devtools.containeranalysis.v1alpha1.GetScanConfigRequest")
  3041. proto.RegisterType((*ListScanConfigsRequest)(nil), "google.devtools.containeranalysis.v1alpha1.ListScanConfigsRequest")
  3042. proto.RegisterType((*ListScanConfigsResponse)(nil), "google.devtools.containeranalysis.v1alpha1.ListScanConfigsResponse")
  3043. proto.RegisterType((*UpdateScanConfigRequest)(nil), "google.devtools.containeranalysis.v1alpha1.UpdateScanConfigRequest")
  3044. proto.RegisterEnum("google.devtools.containeranalysis.v1alpha1.Note_Kind", Note_Kind_name, Note_Kind_value)
  3045. proto.RegisterEnum("google.devtools.containeranalysis.v1alpha1.Deployable_Deployment_Platform", Deployable_Deployment_Platform_name, Deployable_Deployment_Platform_value)
  3046. proto.RegisterEnum("google.devtools.containeranalysis.v1alpha1.Discovery_Discovered_AnalysisStatus", Discovery_Discovered_AnalysisStatus_name, Discovery_Discovered_AnalysisStatus_value)
  3047. proto.RegisterEnum("google.devtools.containeranalysis.v1alpha1.BuildSignature_KeyType", BuildSignature_KeyType_name, BuildSignature_KeyType_value)
  3048. proto.RegisterEnum("google.devtools.containeranalysis.v1alpha1.PgpSignedAttestation_ContentType", PgpSignedAttestation_ContentType_name, PgpSignedAttestation_ContentType_value)
  3049. }
  3050. // Reference imports to suppress errors if they are not otherwise used.
  3051. var _ context.Context
  3052. var _ grpc.ClientConn
  3053. // This is a compile-time assertion to ensure that this generated file
  3054. // is compatible with the grpc package it is being compiled against.
  3055. const _ = grpc.SupportPackageIsVersion4
  3056. // ContainerAnalysisClient is the client API for ContainerAnalysis service.
  3057. //
  3058. // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  3059. type ContainerAnalysisClient interface {
  3060. // Returns the requested `Occurrence`.
  3061. GetOccurrence(ctx context.Context, in *GetOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error)
  3062. // Lists active `Occurrences` for a given project matching the filters.
  3063. ListOccurrences(ctx context.Context, in *ListOccurrencesRequest, opts ...grpc.CallOption) (*ListOccurrencesResponse, error)
  3064. // Deletes the given `Occurrence` from the system. Use this when
  3065. // an `Occurrence` is no longer applicable for the given resource.
  3066. DeleteOccurrence(ctx context.Context, in *DeleteOccurrenceRequest, opts ...grpc.CallOption) (*empty.Empty, error)
  3067. // Creates a new `Occurrence`. Use this method to create `Occurrences`
  3068. // for a resource.
  3069. CreateOccurrence(ctx context.Context, in *CreateOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error)
  3070. // Updates an existing occurrence.
  3071. UpdateOccurrence(ctx context.Context, in *UpdateOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error)
  3072. // Gets the `Note` attached to the given `Occurrence`.
  3073. GetOccurrenceNote(ctx context.Context, in *GetOccurrenceNoteRequest, opts ...grpc.CallOption) (*Note, error)
  3074. // Returns the requested `Note`.
  3075. GetNote(ctx context.Context, in *GetNoteRequest, opts ...grpc.CallOption) (*Note, error)
  3076. // Lists all `Notes` for a given project.
  3077. ListNotes(ctx context.Context, in *ListNotesRequest, opts ...grpc.CallOption) (*ListNotesResponse, error)
  3078. // Deletes the given `Note` from the system.
  3079. DeleteNote(ctx context.Context, in *DeleteNoteRequest, opts ...grpc.CallOption) (*empty.Empty, error)
  3080. // Creates a new `Note`.
  3081. CreateNote(ctx context.Context, in *CreateNoteRequest, opts ...grpc.CallOption) (*Note, error)
  3082. // Updates an existing `Note`.
  3083. UpdateNote(ctx context.Context, in *UpdateNoteRequest, opts ...grpc.CallOption) (*Note, error)
  3084. // Lists `Occurrences` referencing the specified `Note`. Use this method to
  3085. // get all occurrences referencing your `Note` across all your customer
  3086. // projects.
  3087. ListNoteOccurrences(ctx context.Context, in *ListNoteOccurrencesRequest, opts ...grpc.CallOption) (*ListNoteOccurrencesResponse, error)
  3088. // Gets a summary of the number and severity of occurrences.
  3089. GetVulnzOccurrencesSummary(ctx context.Context, in *GetVulnzOccurrencesSummaryRequest, opts ...grpc.CallOption) (*GetVulnzOccurrencesSummaryResponse, error)
  3090. // Sets the access control policy on the specified `Note` or `Occurrence`.
  3091. // Requires `containeranalysis.notes.setIamPolicy` or
  3092. // `containeranalysis.occurrences.setIamPolicy` permission if the resource is
  3093. // a `Note` or an `Occurrence`, respectively.
  3094. // Attempting to call this method without these permissions will result in a `
  3095. // `PERMISSION_DENIED` error.
  3096. // Attempting to call this method on a non-existent resource will result in a
  3097. // `NOT_FOUND` error if the user has `containeranalysis.notes.list` permission
  3098. // on a `Note` or `containeranalysis.occurrences.list` on an `Occurrence`, or
  3099. // a `PERMISSION_DENIED` error otherwise. The resource takes the following
  3100. // formats: `projects/{projectid}/occurrences/{occurrenceid}` for occurrences
  3101. // and projects/{projectid}/notes/{noteid} for notes
  3102. SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error)
  3103. // Gets the access control policy for a note or an `Occurrence` resource.
  3104. // Requires `containeranalysis.notes.setIamPolicy` or
  3105. // `containeranalysis.occurrences.setIamPolicy` permission if the resource is
  3106. // a note or occurrence, respectively.
  3107. // Attempting to call this method on a resource without the required
  3108. // permission will result in a `PERMISSION_DENIED` error. Attempting to call
  3109. // this method on a non-existent resource will result in a `NOT_FOUND` error
  3110. // if the user has list permission on the project, or a `PERMISSION_DENIED`
  3111. // error otherwise. The resource takes the following formats:
  3112. // `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for occurrences and
  3113. // projects/{PROJECT_ID}/notes/{NOTE_ID} for notes
  3114. GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error)
  3115. // Returns the permissions that a caller has on the specified note or
  3116. // occurrence resource. Requires list permission on the project (for example,
  3117. // "storage.objects.list" on the containing bucket for testing permission of
  3118. // an object). Attempting to call this method on a non-existent resource will
  3119. // result in a `NOT_FOUND` error if the user has list permission on the
  3120. // project, or a `PERMISSION_DENIED` error otherwise. The resource takes the
  3121. // following formats: `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for
  3122. // `Occurrences` and `projects/{PROJECT_ID}/notes/{NOTE_ID}` for `Notes`
  3123. TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error)
  3124. // Creates a new `Operation`.
  3125. CreateOperation(ctx context.Context, in *CreateOperationRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
  3126. // Updates an existing operation returns an error if operation
  3127. // does not exist. The only valid operations are to update mark the done bit
  3128. // change the result.
  3129. UpdateOperation(ctx context.Context, in *UpdateOperationRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
  3130. // Gets a specific scan configuration for a project.
  3131. GetScanConfig(ctx context.Context, in *GetScanConfigRequest, opts ...grpc.CallOption) (*ScanConfig, error)
  3132. // Lists scan configurations for a project.
  3133. ListScanConfigs(ctx context.Context, in *ListScanConfigsRequest, opts ...grpc.CallOption) (*ListScanConfigsResponse, error)
  3134. // Updates the scan configuration to a new value.
  3135. UpdateScanConfig(ctx context.Context, in *UpdateScanConfigRequest, opts ...grpc.CallOption) (*ScanConfig, error)
  3136. }
  3137. type containerAnalysisClient struct {
  3138. cc *grpc.ClientConn
  3139. }
  3140. func NewContainerAnalysisClient(cc *grpc.ClientConn) ContainerAnalysisClient {
  3141. return &containerAnalysisClient{cc}
  3142. }
  3143. func (c *containerAnalysisClient) GetOccurrence(ctx context.Context, in *GetOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error) {
  3144. out := new(Occurrence)
  3145. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/GetOccurrence", in, out, opts...)
  3146. if err != nil {
  3147. return nil, err
  3148. }
  3149. return out, nil
  3150. }
  3151. func (c *containerAnalysisClient) ListOccurrences(ctx context.Context, in *ListOccurrencesRequest, opts ...grpc.CallOption) (*ListOccurrencesResponse, error) {
  3152. out := new(ListOccurrencesResponse)
  3153. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/ListOccurrences", in, out, opts...)
  3154. if err != nil {
  3155. return nil, err
  3156. }
  3157. return out, nil
  3158. }
  3159. func (c *containerAnalysisClient) DeleteOccurrence(ctx context.Context, in *DeleteOccurrenceRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
  3160. out := new(empty.Empty)
  3161. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/DeleteOccurrence", in, out, opts...)
  3162. if err != nil {
  3163. return nil, err
  3164. }
  3165. return out, nil
  3166. }
  3167. func (c *containerAnalysisClient) CreateOccurrence(ctx context.Context, in *CreateOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error) {
  3168. out := new(Occurrence)
  3169. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/CreateOccurrence", in, out, opts...)
  3170. if err != nil {
  3171. return nil, err
  3172. }
  3173. return out, nil
  3174. }
  3175. func (c *containerAnalysisClient) UpdateOccurrence(ctx context.Context, in *UpdateOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error) {
  3176. out := new(Occurrence)
  3177. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/UpdateOccurrence", in, out, opts...)
  3178. if err != nil {
  3179. return nil, err
  3180. }
  3181. return out, nil
  3182. }
  3183. func (c *containerAnalysisClient) GetOccurrenceNote(ctx context.Context, in *GetOccurrenceNoteRequest, opts ...grpc.CallOption) (*Note, error) {
  3184. out := new(Note)
  3185. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/GetOccurrenceNote", in, out, opts...)
  3186. if err != nil {
  3187. return nil, err
  3188. }
  3189. return out, nil
  3190. }
  3191. func (c *containerAnalysisClient) GetNote(ctx context.Context, in *GetNoteRequest, opts ...grpc.CallOption) (*Note, error) {
  3192. out := new(Note)
  3193. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/GetNote", in, out, opts...)
  3194. if err != nil {
  3195. return nil, err
  3196. }
  3197. return out, nil
  3198. }
  3199. func (c *containerAnalysisClient) ListNotes(ctx context.Context, in *ListNotesRequest, opts ...grpc.CallOption) (*ListNotesResponse, error) {
  3200. out := new(ListNotesResponse)
  3201. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/ListNotes", in, out, opts...)
  3202. if err != nil {
  3203. return nil, err
  3204. }
  3205. return out, nil
  3206. }
  3207. func (c *containerAnalysisClient) DeleteNote(ctx context.Context, in *DeleteNoteRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
  3208. out := new(empty.Empty)
  3209. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/DeleteNote", in, out, opts...)
  3210. if err != nil {
  3211. return nil, err
  3212. }
  3213. return out, nil
  3214. }
  3215. func (c *containerAnalysisClient) CreateNote(ctx context.Context, in *CreateNoteRequest, opts ...grpc.CallOption) (*Note, error) {
  3216. out := new(Note)
  3217. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/CreateNote", in, out, opts...)
  3218. if err != nil {
  3219. return nil, err
  3220. }
  3221. return out, nil
  3222. }
  3223. func (c *containerAnalysisClient) UpdateNote(ctx context.Context, in *UpdateNoteRequest, opts ...grpc.CallOption) (*Note, error) {
  3224. out := new(Note)
  3225. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/UpdateNote", in, out, opts...)
  3226. if err != nil {
  3227. return nil, err
  3228. }
  3229. return out, nil
  3230. }
  3231. func (c *containerAnalysisClient) ListNoteOccurrences(ctx context.Context, in *ListNoteOccurrencesRequest, opts ...grpc.CallOption) (*ListNoteOccurrencesResponse, error) {
  3232. out := new(ListNoteOccurrencesResponse)
  3233. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/ListNoteOccurrences", in, out, opts...)
  3234. if err != nil {
  3235. return nil, err
  3236. }
  3237. return out, nil
  3238. }
  3239. func (c *containerAnalysisClient) GetVulnzOccurrencesSummary(ctx context.Context, in *GetVulnzOccurrencesSummaryRequest, opts ...grpc.CallOption) (*GetVulnzOccurrencesSummaryResponse, error) {
  3240. out := new(GetVulnzOccurrencesSummaryResponse)
  3241. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/GetVulnzOccurrencesSummary", in, out, opts...)
  3242. if err != nil {
  3243. return nil, err
  3244. }
  3245. return out, nil
  3246. }
  3247. func (c *containerAnalysisClient) SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) {
  3248. out := new(v1.Policy)
  3249. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/SetIamPolicy", in, out, opts...)
  3250. if err != nil {
  3251. return nil, err
  3252. }
  3253. return out, nil
  3254. }
  3255. func (c *containerAnalysisClient) GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) {
  3256. out := new(v1.Policy)
  3257. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/GetIamPolicy", in, out, opts...)
  3258. if err != nil {
  3259. return nil, err
  3260. }
  3261. return out, nil
  3262. }
  3263. func (c *containerAnalysisClient) TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error) {
  3264. out := new(v1.TestIamPermissionsResponse)
  3265. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/TestIamPermissions", in, out, opts...)
  3266. if err != nil {
  3267. return nil, err
  3268. }
  3269. return out, nil
  3270. }
  3271. func (c *containerAnalysisClient) CreateOperation(ctx context.Context, in *CreateOperationRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
  3272. out := new(longrunning.Operation)
  3273. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/CreateOperation", in, out, opts...)
  3274. if err != nil {
  3275. return nil, err
  3276. }
  3277. return out, nil
  3278. }
  3279. func (c *containerAnalysisClient) UpdateOperation(ctx context.Context, in *UpdateOperationRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
  3280. out := new(longrunning.Operation)
  3281. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/UpdateOperation", in, out, opts...)
  3282. if err != nil {
  3283. return nil, err
  3284. }
  3285. return out, nil
  3286. }
  3287. func (c *containerAnalysisClient) GetScanConfig(ctx context.Context, in *GetScanConfigRequest, opts ...grpc.CallOption) (*ScanConfig, error) {
  3288. out := new(ScanConfig)
  3289. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/GetScanConfig", in, out, opts...)
  3290. if err != nil {
  3291. return nil, err
  3292. }
  3293. return out, nil
  3294. }
  3295. func (c *containerAnalysisClient) ListScanConfigs(ctx context.Context, in *ListScanConfigsRequest, opts ...grpc.CallOption) (*ListScanConfigsResponse, error) {
  3296. out := new(ListScanConfigsResponse)
  3297. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/ListScanConfigs", in, out, opts...)
  3298. if err != nil {
  3299. return nil, err
  3300. }
  3301. return out, nil
  3302. }
  3303. func (c *containerAnalysisClient) UpdateScanConfig(ctx context.Context, in *UpdateScanConfigRequest, opts ...grpc.CallOption) (*ScanConfig, error) {
  3304. out := new(ScanConfig)
  3305. err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/UpdateScanConfig", in, out, opts...)
  3306. if err != nil {
  3307. return nil, err
  3308. }
  3309. return out, nil
  3310. }
  3311. // ContainerAnalysisServer is the server API for ContainerAnalysis service.
  3312. type ContainerAnalysisServer interface {
  3313. // Returns the requested `Occurrence`.
  3314. GetOccurrence(context.Context, *GetOccurrenceRequest) (*Occurrence, error)
  3315. // Lists active `Occurrences` for a given project matching the filters.
  3316. ListOccurrences(context.Context, *ListOccurrencesRequest) (*ListOccurrencesResponse, error)
  3317. // Deletes the given `Occurrence` from the system. Use this when
  3318. // an `Occurrence` is no longer applicable for the given resource.
  3319. DeleteOccurrence(context.Context, *DeleteOccurrenceRequest) (*empty.Empty, error)
  3320. // Creates a new `Occurrence`. Use this method to create `Occurrences`
  3321. // for a resource.
  3322. CreateOccurrence(context.Context, *CreateOccurrenceRequest) (*Occurrence, error)
  3323. // Updates an existing occurrence.
  3324. UpdateOccurrence(context.Context, *UpdateOccurrenceRequest) (*Occurrence, error)
  3325. // Gets the `Note` attached to the given `Occurrence`.
  3326. GetOccurrenceNote(context.Context, *GetOccurrenceNoteRequest) (*Note, error)
  3327. // Returns the requested `Note`.
  3328. GetNote(context.Context, *GetNoteRequest) (*Note, error)
  3329. // Lists all `Notes` for a given project.
  3330. ListNotes(context.Context, *ListNotesRequest) (*ListNotesResponse, error)
  3331. // Deletes the given `Note` from the system.
  3332. DeleteNote(context.Context, *DeleteNoteRequest) (*empty.Empty, error)
  3333. // Creates a new `Note`.
  3334. CreateNote(context.Context, *CreateNoteRequest) (*Note, error)
  3335. // Updates an existing `Note`.
  3336. UpdateNote(context.Context, *UpdateNoteRequest) (*Note, error)
  3337. // Lists `Occurrences` referencing the specified `Note`. Use this method to
  3338. // get all occurrences referencing your `Note` across all your customer
  3339. // projects.
  3340. ListNoteOccurrences(context.Context, *ListNoteOccurrencesRequest) (*ListNoteOccurrencesResponse, error)
  3341. // Gets a summary of the number and severity of occurrences.
  3342. GetVulnzOccurrencesSummary(context.Context, *GetVulnzOccurrencesSummaryRequest) (*GetVulnzOccurrencesSummaryResponse, error)
  3343. // Sets the access control policy on the specified `Note` or `Occurrence`.
  3344. // Requires `containeranalysis.notes.setIamPolicy` or
  3345. // `containeranalysis.occurrences.setIamPolicy` permission if the resource is
  3346. // a `Note` or an `Occurrence`, respectively.
  3347. // Attempting to call this method without these permissions will result in a `
  3348. // `PERMISSION_DENIED` error.
  3349. // Attempting to call this method on a non-existent resource will result in a
  3350. // `NOT_FOUND` error if the user has `containeranalysis.notes.list` permission
  3351. // on a `Note` or `containeranalysis.occurrences.list` on an `Occurrence`, or
  3352. // a `PERMISSION_DENIED` error otherwise. The resource takes the following
  3353. // formats: `projects/{projectid}/occurrences/{occurrenceid}` for occurrences
  3354. // and projects/{projectid}/notes/{noteid} for notes
  3355. SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error)
  3356. // Gets the access control policy for a note or an `Occurrence` resource.
  3357. // Requires `containeranalysis.notes.setIamPolicy` or
  3358. // `containeranalysis.occurrences.setIamPolicy` permission if the resource is
  3359. // a note or occurrence, respectively.
  3360. // Attempting to call this method on a resource without the required
  3361. // permission will result in a `PERMISSION_DENIED` error. Attempting to call
  3362. // this method on a non-existent resource will result in a `NOT_FOUND` error
  3363. // if the user has list permission on the project, or a `PERMISSION_DENIED`
  3364. // error otherwise. The resource takes the following formats:
  3365. // `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for occurrences and
  3366. // projects/{PROJECT_ID}/notes/{NOTE_ID} for notes
  3367. GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.Policy, error)
  3368. // Returns the permissions that a caller has on the specified note or
  3369. // occurrence resource. Requires list permission on the project (for example,
  3370. // "storage.objects.list" on the containing bucket for testing permission of
  3371. // an object). Attempting to call this method on a non-existent resource will
  3372. // result in a `NOT_FOUND` error if the user has list permission on the
  3373. // project, or a `PERMISSION_DENIED` error otherwise. The resource takes the
  3374. // following formats: `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for
  3375. // `Occurrences` and `projects/{PROJECT_ID}/notes/{NOTE_ID}` for `Notes`
  3376. TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error)
  3377. // Creates a new `Operation`.
  3378. CreateOperation(context.Context, *CreateOperationRequest) (*longrunning.Operation, error)
  3379. // Updates an existing operation returns an error if operation
  3380. // does not exist. The only valid operations are to update mark the done bit
  3381. // change the result.
  3382. UpdateOperation(context.Context, *UpdateOperationRequest) (*longrunning.Operation, error)
  3383. // Gets a specific scan configuration for a project.
  3384. GetScanConfig(context.Context, *GetScanConfigRequest) (*ScanConfig, error)
  3385. // Lists scan configurations for a project.
  3386. ListScanConfigs(context.Context, *ListScanConfigsRequest) (*ListScanConfigsResponse, error)
  3387. // Updates the scan configuration to a new value.
  3388. UpdateScanConfig(context.Context, *UpdateScanConfigRequest) (*ScanConfig, error)
  3389. }
  3390. func RegisterContainerAnalysisServer(s *grpc.Server, srv ContainerAnalysisServer) {
  3391. s.RegisterService(&_ContainerAnalysis_serviceDesc, srv)
  3392. }
  3393. func _ContainerAnalysis_GetOccurrence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3394. in := new(GetOccurrenceRequest)
  3395. if err := dec(in); err != nil {
  3396. return nil, err
  3397. }
  3398. if interceptor == nil {
  3399. return srv.(ContainerAnalysisServer).GetOccurrence(ctx, in)
  3400. }
  3401. info := &grpc.UnaryServerInfo{
  3402. Server: srv,
  3403. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/GetOccurrence",
  3404. }
  3405. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3406. return srv.(ContainerAnalysisServer).GetOccurrence(ctx, req.(*GetOccurrenceRequest))
  3407. }
  3408. return interceptor(ctx, in, info, handler)
  3409. }
  3410. func _ContainerAnalysis_ListOccurrences_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3411. in := new(ListOccurrencesRequest)
  3412. if err := dec(in); err != nil {
  3413. return nil, err
  3414. }
  3415. if interceptor == nil {
  3416. return srv.(ContainerAnalysisServer).ListOccurrences(ctx, in)
  3417. }
  3418. info := &grpc.UnaryServerInfo{
  3419. Server: srv,
  3420. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/ListOccurrences",
  3421. }
  3422. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3423. return srv.(ContainerAnalysisServer).ListOccurrences(ctx, req.(*ListOccurrencesRequest))
  3424. }
  3425. return interceptor(ctx, in, info, handler)
  3426. }
  3427. func _ContainerAnalysis_DeleteOccurrence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3428. in := new(DeleteOccurrenceRequest)
  3429. if err := dec(in); err != nil {
  3430. return nil, err
  3431. }
  3432. if interceptor == nil {
  3433. return srv.(ContainerAnalysisServer).DeleteOccurrence(ctx, in)
  3434. }
  3435. info := &grpc.UnaryServerInfo{
  3436. Server: srv,
  3437. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/DeleteOccurrence",
  3438. }
  3439. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3440. return srv.(ContainerAnalysisServer).DeleteOccurrence(ctx, req.(*DeleteOccurrenceRequest))
  3441. }
  3442. return interceptor(ctx, in, info, handler)
  3443. }
  3444. func _ContainerAnalysis_CreateOccurrence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3445. in := new(CreateOccurrenceRequest)
  3446. if err := dec(in); err != nil {
  3447. return nil, err
  3448. }
  3449. if interceptor == nil {
  3450. return srv.(ContainerAnalysisServer).CreateOccurrence(ctx, in)
  3451. }
  3452. info := &grpc.UnaryServerInfo{
  3453. Server: srv,
  3454. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/CreateOccurrence",
  3455. }
  3456. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3457. return srv.(ContainerAnalysisServer).CreateOccurrence(ctx, req.(*CreateOccurrenceRequest))
  3458. }
  3459. return interceptor(ctx, in, info, handler)
  3460. }
  3461. func _ContainerAnalysis_UpdateOccurrence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3462. in := new(UpdateOccurrenceRequest)
  3463. if err := dec(in); err != nil {
  3464. return nil, err
  3465. }
  3466. if interceptor == nil {
  3467. return srv.(ContainerAnalysisServer).UpdateOccurrence(ctx, in)
  3468. }
  3469. info := &grpc.UnaryServerInfo{
  3470. Server: srv,
  3471. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/UpdateOccurrence",
  3472. }
  3473. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3474. return srv.(ContainerAnalysisServer).UpdateOccurrence(ctx, req.(*UpdateOccurrenceRequest))
  3475. }
  3476. return interceptor(ctx, in, info, handler)
  3477. }
  3478. func _ContainerAnalysis_GetOccurrenceNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3479. in := new(GetOccurrenceNoteRequest)
  3480. if err := dec(in); err != nil {
  3481. return nil, err
  3482. }
  3483. if interceptor == nil {
  3484. return srv.(ContainerAnalysisServer).GetOccurrenceNote(ctx, in)
  3485. }
  3486. info := &grpc.UnaryServerInfo{
  3487. Server: srv,
  3488. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/GetOccurrenceNote",
  3489. }
  3490. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3491. return srv.(ContainerAnalysisServer).GetOccurrenceNote(ctx, req.(*GetOccurrenceNoteRequest))
  3492. }
  3493. return interceptor(ctx, in, info, handler)
  3494. }
  3495. func _ContainerAnalysis_GetNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3496. in := new(GetNoteRequest)
  3497. if err := dec(in); err != nil {
  3498. return nil, err
  3499. }
  3500. if interceptor == nil {
  3501. return srv.(ContainerAnalysisServer).GetNote(ctx, in)
  3502. }
  3503. info := &grpc.UnaryServerInfo{
  3504. Server: srv,
  3505. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/GetNote",
  3506. }
  3507. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3508. return srv.(ContainerAnalysisServer).GetNote(ctx, req.(*GetNoteRequest))
  3509. }
  3510. return interceptor(ctx, in, info, handler)
  3511. }
  3512. func _ContainerAnalysis_ListNotes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3513. in := new(ListNotesRequest)
  3514. if err := dec(in); err != nil {
  3515. return nil, err
  3516. }
  3517. if interceptor == nil {
  3518. return srv.(ContainerAnalysisServer).ListNotes(ctx, in)
  3519. }
  3520. info := &grpc.UnaryServerInfo{
  3521. Server: srv,
  3522. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/ListNotes",
  3523. }
  3524. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3525. return srv.(ContainerAnalysisServer).ListNotes(ctx, req.(*ListNotesRequest))
  3526. }
  3527. return interceptor(ctx, in, info, handler)
  3528. }
  3529. func _ContainerAnalysis_DeleteNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3530. in := new(DeleteNoteRequest)
  3531. if err := dec(in); err != nil {
  3532. return nil, err
  3533. }
  3534. if interceptor == nil {
  3535. return srv.(ContainerAnalysisServer).DeleteNote(ctx, in)
  3536. }
  3537. info := &grpc.UnaryServerInfo{
  3538. Server: srv,
  3539. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/DeleteNote",
  3540. }
  3541. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3542. return srv.(ContainerAnalysisServer).DeleteNote(ctx, req.(*DeleteNoteRequest))
  3543. }
  3544. return interceptor(ctx, in, info, handler)
  3545. }
  3546. func _ContainerAnalysis_CreateNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3547. in := new(CreateNoteRequest)
  3548. if err := dec(in); err != nil {
  3549. return nil, err
  3550. }
  3551. if interceptor == nil {
  3552. return srv.(ContainerAnalysisServer).CreateNote(ctx, in)
  3553. }
  3554. info := &grpc.UnaryServerInfo{
  3555. Server: srv,
  3556. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/CreateNote",
  3557. }
  3558. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3559. return srv.(ContainerAnalysisServer).CreateNote(ctx, req.(*CreateNoteRequest))
  3560. }
  3561. return interceptor(ctx, in, info, handler)
  3562. }
  3563. func _ContainerAnalysis_UpdateNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3564. in := new(UpdateNoteRequest)
  3565. if err := dec(in); err != nil {
  3566. return nil, err
  3567. }
  3568. if interceptor == nil {
  3569. return srv.(ContainerAnalysisServer).UpdateNote(ctx, in)
  3570. }
  3571. info := &grpc.UnaryServerInfo{
  3572. Server: srv,
  3573. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/UpdateNote",
  3574. }
  3575. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3576. return srv.(ContainerAnalysisServer).UpdateNote(ctx, req.(*UpdateNoteRequest))
  3577. }
  3578. return interceptor(ctx, in, info, handler)
  3579. }
  3580. func _ContainerAnalysis_ListNoteOccurrences_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3581. in := new(ListNoteOccurrencesRequest)
  3582. if err := dec(in); err != nil {
  3583. return nil, err
  3584. }
  3585. if interceptor == nil {
  3586. return srv.(ContainerAnalysisServer).ListNoteOccurrences(ctx, in)
  3587. }
  3588. info := &grpc.UnaryServerInfo{
  3589. Server: srv,
  3590. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/ListNoteOccurrences",
  3591. }
  3592. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3593. return srv.(ContainerAnalysisServer).ListNoteOccurrences(ctx, req.(*ListNoteOccurrencesRequest))
  3594. }
  3595. return interceptor(ctx, in, info, handler)
  3596. }
  3597. func _ContainerAnalysis_GetVulnzOccurrencesSummary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3598. in := new(GetVulnzOccurrencesSummaryRequest)
  3599. if err := dec(in); err != nil {
  3600. return nil, err
  3601. }
  3602. if interceptor == nil {
  3603. return srv.(ContainerAnalysisServer).GetVulnzOccurrencesSummary(ctx, in)
  3604. }
  3605. info := &grpc.UnaryServerInfo{
  3606. Server: srv,
  3607. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/GetVulnzOccurrencesSummary",
  3608. }
  3609. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3610. return srv.(ContainerAnalysisServer).GetVulnzOccurrencesSummary(ctx, req.(*GetVulnzOccurrencesSummaryRequest))
  3611. }
  3612. return interceptor(ctx, in, info, handler)
  3613. }
  3614. func _ContainerAnalysis_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3615. in := new(v1.SetIamPolicyRequest)
  3616. if err := dec(in); err != nil {
  3617. return nil, err
  3618. }
  3619. if interceptor == nil {
  3620. return srv.(ContainerAnalysisServer).SetIamPolicy(ctx, in)
  3621. }
  3622. info := &grpc.UnaryServerInfo{
  3623. Server: srv,
  3624. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/SetIamPolicy",
  3625. }
  3626. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3627. return srv.(ContainerAnalysisServer).SetIamPolicy(ctx, req.(*v1.SetIamPolicyRequest))
  3628. }
  3629. return interceptor(ctx, in, info, handler)
  3630. }
  3631. func _ContainerAnalysis_GetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3632. in := new(v1.GetIamPolicyRequest)
  3633. if err := dec(in); err != nil {
  3634. return nil, err
  3635. }
  3636. if interceptor == nil {
  3637. return srv.(ContainerAnalysisServer).GetIamPolicy(ctx, in)
  3638. }
  3639. info := &grpc.UnaryServerInfo{
  3640. Server: srv,
  3641. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/GetIamPolicy",
  3642. }
  3643. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3644. return srv.(ContainerAnalysisServer).GetIamPolicy(ctx, req.(*v1.GetIamPolicyRequest))
  3645. }
  3646. return interceptor(ctx, in, info, handler)
  3647. }
  3648. func _ContainerAnalysis_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3649. in := new(v1.TestIamPermissionsRequest)
  3650. if err := dec(in); err != nil {
  3651. return nil, err
  3652. }
  3653. if interceptor == nil {
  3654. return srv.(ContainerAnalysisServer).TestIamPermissions(ctx, in)
  3655. }
  3656. info := &grpc.UnaryServerInfo{
  3657. Server: srv,
  3658. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/TestIamPermissions",
  3659. }
  3660. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3661. return srv.(ContainerAnalysisServer).TestIamPermissions(ctx, req.(*v1.TestIamPermissionsRequest))
  3662. }
  3663. return interceptor(ctx, in, info, handler)
  3664. }
  3665. func _ContainerAnalysis_CreateOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3666. in := new(CreateOperationRequest)
  3667. if err := dec(in); err != nil {
  3668. return nil, err
  3669. }
  3670. if interceptor == nil {
  3671. return srv.(ContainerAnalysisServer).CreateOperation(ctx, in)
  3672. }
  3673. info := &grpc.UnaryServerInfo{
  3674. Server: srv,
  3675. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/CreateOperation",
  3676. }
  3677. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3678. return srv.(ContainerAnalysisServer).CreateOperation(ctx, req.(*CreateOperationRequest))
  3679. }
  3680. return interceptor(ctx, in, info, handler)
  3681. }
  3682. func _ContainerAnalysis_UpdateOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3683. in := new(UpdateOperationRequest)
  3684. if err := dec(in); err != nil {
  3685. return nil, err
  3686. }
  3687. if interceptor == nil {
  3688. return srv.(ContainerAnalysisServer).UpdateOperation(ctx, in)
  3689. }
  3690. info := &grpc.UnaryServerInfo{
  3691. Server: srv,
  3692. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/UpdateOperation",
  3693. }
  3694. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3695. return srv.(ContainerAnalysisServer).UpdateOperation(ctx, req.(*UpdateOperationRequest))
  3696. }
  3697. return interceptor(ctx, in, info, handler)
  3698. }
  3699. func _ContainerAnalysis_GetScanConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3700. in := new(GetScanConfigRequest)
  3701. if err := dec(in); err != nil {
  3702. return nil, err
  3703. }
  3704. if interceptor == nil {
  3705. return srv.(ContainerAnalysisServer).GetScanConfig(ctx, in)
  3706. }
  3707. info := &grpc.UnaryServerInfo{
  3708. Server: srv,
  3709. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/GetScanConfig",
  3710. }
  3711. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3712. return srv.(ContainerAnalysisServer).GetScanConfig(ctx, req.(*GetScanConfigRequest))
  3713. }
  3714. return interceptor(ctx, in, info, handler)
  3715. }
  3716. func _ContainerAnalysis_ListScanConfigs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3717. in := new(ListScanConfigsRequest)
  3718. if err := dec(in); err != nil {
  3719. return nil, err
  3720. }
  3721. if interceptor == nil {
  3722. return srv.(ContainerAnalysisServer).ListScanConfigs(ctx, in)
  3723. }
  3724. info := &grpc.UnaryServerInfo{
  3725. Server: srv,
  3726. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/ListScanConfigs",
  3727. }
  3728. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3729. return srv.(ContainerAnalysisServer).ListScanConfigs(ctx, req.(*ListScanConfigsRequest))
  3730. }
  3731. return interceptor(ctx, in, info, handler)
  3732. }
  3733. func _ContainerAnalysis_UpdateScanConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3734. in := new(UpdateScanConfigRequest)
  3735. if err := dec(in); err != nil {
  3736. return nil, err
  3737. }
  3738. if interceptor == nil {
  3739. return srv.(ContainerAnalysisServer).UpdateScanConfig(ctx, in)
  3740. }
  3741. info := &grpc.UnaryServerInfo{
  3742. Server: srv,
  3743. FullMethod: "/google.devtools.containeranalysis.v1alpha1.ContainerAnalysis/UpdateScanConfig",
  3744. }
  3745. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3746. return srv.(ContainerAnalysisServer).UpdateScanConfig(ctx, req.(*UpdateScanConfigRequest))
  3747. }
  3748. return interceptor(ctx, in, info, handler)
  3749. }
  3750. var _ContainerAnalysis_serviceDesc = grpc.ServiceDesc{
  3751. ServiceName: "google.devtools.containeranalysis.v1alpha1.ContainerAnalysis",
  3752. HandlerType: (*ContainerAnalysisServer)(nil),
  3753. Methods: []grpc.MethodDesc{
  3754. {
  3755. MethodName: "GetOccurrence",
  3756. Handler: _ContainerAnalysis_GetOccurrence_Handler,
  3757. },
  3758. {
  3759. MethodName: "ListOccurrences",
  3760. Handler: _ContainerAnalysis_ListOccurrences_Handler,
  3761. },
  3762. {
  3763. MethodName: "DeleteOccurrence",
  3764. Handler: _ContainerAnalysis_DeleteOccurrence_Handler,
  3765. },
  3766. {
  3767. MethodName: "CreateOccurrence",
  3768. Handler: _ContainerAnalysis_CreateOccurrence_Handler,
  3769. },
  3770. {
  3771. MethodName: "UpdateOccurrence",
  3772. Handler: _ContainerAnalysis_UpdateOccurrence_Handler,
  3773. },
  3774. {
  3775. MethodName: "GetOccurrenceNote",
  3776. Handler: _ContainerAnalysis_GetOccurrenceNote_Handler,
  3777. },
  3778. {
  3779. MethodName: "GetNote",
  3780. Handler: _ContainerAnalysis_GetNote_Handler,
  3781. },
  3782. {
  3783. MethodName: "ListNotes",
  3784. Handler: _ContainerAnalysis_ListNotes_Handler,
  3785. },
  3786. {
  3787. MethodName: "DeleteNote",
  3788. Handler: _ContainerAnalysis_DeleteNote_Handler,
  3789. },
  3790. {
  3791. MethodName: "CreateNote",
  3792. Handler: _ContainerAnalysis_CreateNote_Handler,
  3793. },
  3794. {
  3795. MethodName: "UpdateNote",
  3796. Handler: _ContainerAnalysis_UpdateNote_Handler,
  3797. },
  3798. {
  3799. MethodName: "ListNoteOccurrences",
  3800. Handler: _ContainerAnalysis_ListNoteOccurrences_Handler,
  3801. },
  3802. {
  3803. MethodName: "GetVulnzOccurrencesSummary",
  3804. Handler: _ContainerAnalysis_GetVulnzOccurrencesSummary_Handler,
  3805. },
  3806. {
  3807. MethodName: "SetIamPolicy",
  3808. Handler: _ContainerAnalysis_SetIamPolicy_Handler,
  3809. },
  3810. {
  3811. MethodName: "GetIamPolicy",
  3812. Handler: _ContainerAnalysis_GetIamPolicy_Handler,
  3813. },
  3814. {
  3815. MethodName: "TestIamPermissions",
  3816. Handler: _ContainerAnalysis_TestIamPermissions_Handler,
  3817. },
  3818. {
  3819. MethodName: "CreateOperation",
  3820. Handler: _ContainerAnalysis_CreateOperation_Handler,
  3821. },
  3822. {
  3823. MethodName: "UpdateOperation",
  3824. Handler: _ContainerAnalysis_UpdateOperation_Handler,
  3825. },
  3826. {
  3827. MethodName: "GetScanConfig",
  3828. Handler: _ContainerAnalysis_GetScanConfig_Handler,
  3829. },
  3830. {
  3831. MethodName: "ListScanConfigs",
  3832. Handler: _ContainerAnalysis_ListScanConfigs_Handler,
  3833. },
  3834. {
  3835. MethodName: "UpdateScanConfig",
  3836. Handler: _ContainerAnalysis_UpdateScanConfig_Handler,
  3837. },
  3838. },
  3839. Streams: []grpc.StreamDesc{},
  3840. Metadata: "google/devtools/containeranalysis/v1alpha1/containeranalysis.proto",
  3841. }
  3842. func init() {
  3843. proto.RegisterFile("google/devtools/containeranalysis/v1alpha1/containeranalysis.proto", fileDescriptor_containeranalysis_7302a99efbbe81f1)
  3844. }
  3845. var fileDescriptor_containeranalysis_7302a99efbbe81f1 = []byte{
  3846. // 3256 bytes of a gzipped FileDescriptorProto
  3847. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xdb, 0x6f, 0x23, 0x57,
  3848. 0x19, 0xdf, 0xc9, 0xd5, 0xfe, 0x9c, 0x8b, 0x73, 0x36, 0xbb, 0xeb, 0x7a, 0x7b, 0x49, 0xa7, 0x94,
  3849. 0x6e, 0x53, 0x6a, 0x77, 0xd3, 0x96, 0xc2, 0x6e, 0x97, 0x5d, 0xc7, 0x76, 0x12, 0x37, 0x89, 0x63,
  3850. 0xcd, 0x38, 0x61, 0xd3, 0x96, 0x8e, 0xc6, 0xf6, 0x89, 0x33, 0x64, 0x3c, 0x33, 0xcc, 0x8c, 0xc3,
  3851. 0x66, 0x51, 0x25, 0x44, 0x0b, 0xa8, 0x12, 0x45, 0xe5, 0xfa, 0xc2, 0xa5, 0x52, 0x41, 0x95, 0x80,
  3852. 0x17, 0x5e, 0x78, 0x83, 0x17, 0x40, 0x3c, 0x01, 0x42, 0xe2, 0x19, 0xf1, 0x00, 0x0f, 0xfc, 0x0b,
  3853. 0x48, 0x3c, 0xa0, 0x73, 0xe6, 0x9c, 0x99, 0xf1, 0x25, 0x89, 0xc7, 0xde, 0x4a, 0x7d, 0xda, 0x39,
  3854. 0xdf, 0xf9, 0xce, 0x77, 0x3b, 0xdf, 0xf9, 0x9d, 0xef, 0x3b, 0xf1, 0xc2, 0x6a, 0xd3, 0x34, 0x9b,
  3855. 0x3a, 0xce, 0x36, 0xf0, 0xb1, 0x6b, 0x9a, 0xba, 0x93, 0xad, 0x9b, 0x86, 0xab, 0x6a, 0x06, 0xb6,
  3856. 0x55, 0x43, 0xd5, 0x4f, 0x1c, 0xcd, 0xc9, 0x1e, 0x5f, 0x57, 0x75, 0xeb, 0x50, 0xbd, 0xde, 0x3b,
  3857. 0x95, 0xb1, 0x6c, 0xd3, 0x35, 0xd1, 0xb2, 0x27, 0x23, 0xc3, 0x65, 0x64, 0x7a, 0x19, 0xb9, 0x8c,
  3858. 0xf4, 0xc3, 0x4c, 0x9f, 0x6a, 0x69, 0x59, 0xd5, 0x30, 0x4c, 0x57, 0x75, 0x35, 0xd3, 0x60, 0x92,
  3859. 0xd2, 0x51, 0xac, 0xa9, 0x69, 0xba, 0xae, 0x98, 0x07, 0x4a, 0x4b, 0x75, 0xb1, 0xad, 0xa9, 0x3a,
  3860. 0x97, 0xf1, 0x72, 0x04, 0x19, 0x5a, 0x4b, 0x6d, 0x62, 0xa5, 0xa6, 0xfa, 0xbe, 0xa4, 0xd7, 0x22,
  3861. 0xac, 0xb6, 0xd4, 0xfa, 0x11, 0x59, 0x7f, 0xdc, 0xd6, 0xc9, 0x7c, 0x4d, 0xd3, 0x35, 0xf7, 0x84,
  3862. 0xc9, 0xb9, 0x19, 0x45, 0x8e, 0x6d, 0x1e, 0x63, 0x43, 0x35, 0xea, 0x98, 0x2d, 0x7e, 0x94, 0x2d,
  3863. 0xd6, 0xd4, 0x56, 0xf6, 0xf8, 0x3a, 0xf9, 0x47, 0xb1, 0x4c, 0x5d, 0xab, 0x73, 0xe1, 0xe9, 0xce,
  3864. 0xf9, 0x8e, 0xb9, 0x27, 0xd8, 0x9c, 0x6e, 0x1a, 0x4d, 0xbb, 0x6d, 0x18, 0x9a, 0xd1, 0xcc, 0x9a,
  3865. 0x16, 0xb6, 0x3b, 0xe2, 0xfc, 0x10, 0x63, 0xa2, 0xa3, 0x5a, 0xfb, 0x20, 0xab, 0x1a, 0x7c, 0xfd,
  3866. 0xd5, 0xee, 0x29, 0xdc, 0xb2, 0x7c, 0xaf, 0x96, 0xba, 0x27, 0x0f, 0x34, 0xac, 0x37, 0x94, 0x96,
  3867. 0xea, 0x1c, 0x31, 0x8e, 0xc7, 0xba, 0x39, 0x5c, 0xad, 0x85, 0x1d, 0x57, 0x6d, 0x59, 0x8c, 0xe1,
  3868. 0x0a, 0x63, 0xb0, 0xad, 0x7a, 0xd6, 0x71, 0x55, 0xb7, 0xcd, 0x6c, 0x12, 0x7f, 0x16, 0x07, 0xd8,
  3869. 0xa9, 0xd7, 0xdb, 0xb6, 0x8d, 0x8d, 0x3a, 0x46, 0x08, 0x26, 0x0c, 0xb5, 0x85, 0x53, 0xc2, 0x92,
  3870. 0x70, 0x2d, 0x2e, 0xd1, 0x6f, 0xf4, 0x38, 0xcc, 0xd8, 0xd8, 0x31, 0xdb, 0x76, 0x1d, 0x2b, 0x6d,
  3871. 0x5b, 0x4f, 0x8d, 0xd1, 0xb9, 0x04, 0xa7, 0xed, 0xda, 0x3a, 0xaa, 0x40, 0x8c, 0x0f, 0x53, 0x0b,
  3872. 0x4b, 0xc2, 0xb5, 0xc4, 0xca, 0x0b, 0x99, 0xc1, 0xd3, 0x33, 0x23, 0xb1, 0xb5, 0x92, 0x2f, 0x05,
  3873. 0x5d, 0x85, 0xb8, 0x61, 0xba, 0x58, 0xa1, 0xd6, 0x8c, 0x53, 0x8d, 0x31, 0x42, 0x28, 0x13, 0x8b,
  3874. 0x4a, 0x30, 0x71, 0xa4, 0x19, 0x8d, 0xd4, 0xd4, 0x92, 0x70, 0x6d, 0x6e, 0xe5, 0xc5, 0x28, 0xaa,
  3875. 0xca, 0xa6, 0x8b, 0x33, 0x9b, 0x9a, 0xd1, 0x90, 0xa8, 0x08, 0xf4, 0x8e, 0x00, 0x97, 0x3a, 0x32,
  3876. 0x49, 0x69, 0x60, 0x57, 0xd5, 0x74, 0x27, 0x15, 0xa3, 0x7e, 0x48, 0x51, 0x84, 0xef, 0x85, 0x05,
  3877. 0x55, 0x4f, 0x2c, 0xdc, 0x49, 0x29, 0x78, 0x92, 0x37, 0x2e, 0x48, 0x8b, 0xc7, 0x7d, 0xe8, 0x48,
  3878. 0x81, 0xd9, 0x5a, 0x5b, 0xd3, 0x1b, 0xbe, 0x09, 0xd3, 0xd4, 0x84, 0xcf, 0x44, 0x31, 0x61, 0x95,
  3879. 0x08, 0x08, 0x14, 0xcd, 0xd4, 0x42, 0x63, 0x74, 0x00, 0xb3, 0x0d, 0x6c, 0x6b, 0xc7, 0xb8, 0xa1,
  3880. 0xd0, 0x33, 0x98, 0x4a, 0x50, 0x05, 0xb7, 0xa3, 0x28, 0x28, 0x98, 0xf5, 0x23, 0x6c, 0x97, 0xc8,
  3881. 0xf2, 0x4c, 0xc1, 0x13, 0x46, 0xf4, 0x30, 0xb9, 0x94, 0x8e, 0x5a, 0x30, 0xa3, 0x19, 0x8e, 0xab,
  3882. 0xea, 0x3a, 0xcd, 0xff, 0xd4, 0x0c, 0x55, 0xb3, 0x1e, 0x45, 0x4d, 0xc5, 0x3b, 0xe5, 0xdb, 0xaa,
  3883. 0xa1, 0x36, 0xb1, 0x9d, 0x29, 0x85, 0xc4, 0x11, 0x75, 0x61, 0xf1, 0xa8, 0x0e, 0xd0, 0xc0, 0x96,
  3884. 0x6e, 0x9e, 0xb4, 0xb0, 0xe1, 0xa6, 0xe6, 0xa8, 0xb2, 0x5c, 0x24, 0x9f, 0xe8, 0x6a, 0xb5, 0xa6,
  3885. 0x63, 0xf6, 0x49, 0x04, 0x6d, 0x5c, 0x90, 0x42, 0x62, 0x51, 0x0d, 0xa0, 0xa1, 0x39, 0x75, 0xf3,
  3886. 0x18, 0xdb, 0xb8, 0x91, 0x9a, 0xa7, 0x4a, 0xee, 0x44, 0x52, 0xc2, 0x56, 0x9f, 0xf8, 0x5f, 0x34,
  3887. 0x72, 0x21, 0xa9, 0xc8, 0x82, 0x84, 0xea, 0xba, 0xe4, 0xe0, 0xd2, 0xb0, 0x25, 0xa9, 0x92, 0xad,
  3888. 0x28, 0x4a, 0x72, 0xc1, 0xf2, 0x5c, 0xdb, 0x3d, 0x34, 0x6d, 0x82, 0x8d, 0x21, 0xe2, 0xc6, 0x05,
  3889. 0x29, 0xac, 0x02, 0x2d, 0x41, 0xc2, 0xc6, 0x2d, 0xdc, 0xd0, 0x3c, 0x8d, 0x93, 0xfc, 0x68, 0xfb,
  3890. 0x24, 0x74, 0x13, 0x12, 0x75, 0x1b, 0xab, 0x2e, 0x56, 0x08, 0xa6, 0xa4, 0xe2, 0xd4, 0xa6, 0x34,
  3891. 0xb7, 0x89, 0x03, 0x4e, 0xa6, 0xca, 0x01, 0x47, 0x02, 0x8f, 0x9d, 0x10, 0xc8, 0xe2, 0xb6, 0xd5,
  3892. 0xf0, 0x17, 0xc3, 0xf9, 0x8b, 0x3d, 0x76, 0x42, 0x58, 0x8d, 0xc3, 0x34, 0x3b, 0x08, 0xe2, 0xd7,
  3893. 0x05, 0x88, 0x71, 0x90, 0xe8, 0x8b, 0x51, 0x49, 0x18, 0x6f, 0xdb, 0x1a, 0x83, 0x26, 0xf2, 0x89,
  3894. 0x64, 0x98, 0x21, 0x71, 0xc2, 0x86, 0xab, 0x1c, 0xaa, 0xce, 0x21, 0xc5, 0x90, 0xc4, 0xca, 0x73,
  3895. 0x51, 0x82, 0xb9, 0xa1, 0x3a, 0x87, 0x52, 0x82, 0x49, 0x21, 0x03, 0xf1, 0x7f, 0x00, 0x13, 0x04,
  3896. 0x41, 0xfa, 0xda, 0xf0, 0x0c, 0x2c, 0x38, 0x87, 0xa6, 0xed, 0x2a, 0x0d, 0xec, 0xd4, 0x6d, 0xcd,
  3897. 0xa2, 0x11, 0xf5, 0xa0, 0x2b, 0x49, 0x27, 0x0a, 0x01, 0x1d, 0x3d, 0x0d, 0x49, 0x72, 0x57, 0x74,
  3898. 0xf0, 0x4e, 0x50, 0xde, 0x79, 0x42, 0x0f, 0xb3, 0x72, 0xb4, 0x8b, 0x8f, 0x8e, 0x76, 0x06, 0xa0,
  3899. 0x4e, 0xb0, 0x73, 0x4f, 0x2c, 0x4c, 0x61, 0x34, 0xb1, 0x72, 0x6b, 0x24, 0xa4, 0xdb, 0xb8, 0x20,
  3900. 0x2d, 0x1c, 0x77, 0x13, 0xd1, 0x1e, 0x80, 0x87, 0x68, 0x54, 0x8f, 0x87, 0xa8, 0x2f, 0x46, 0x86,
  3901. 0x33, 0x26, 0x3f, 0x5e, 0xe3, 0x03, 0xf4, 0x06, 0x40, 0x4d, 0x75, 0x30, 0x43, 0xb1, 0xd9, 0xe8,
  3902. 0xf6, 0x87, 0x51, 0x6c, 0x95, 0x14, 0x22, 0x54, 0xbe, 0xea, 0x60, 0x0f, 0xc0, 0xde, 0x80, 0x69,
  3903. 0x56, 0x66, 0x30, 0x38, 0x59, 0x1d, 0x01, 0xbb, 0xd8, 0x70, 0xe3, 0x82, 0xc4, 0x85, 0xa2, 0xbb,
  3904. 0x1c, 0xb1, 0x08, 0xe6, 0xb0, 0x1b, 0xf3, 0xd3, 0xc3, 0x21, 0x56, 0x00, 0x53, 0x64, 0x84, 0x76,
  3905. 0x21, 0xce, 0x01, 0xe5, 0x24, 0x85, 0xa2, 0x07, 0xdc, 0x47, 0x29, 0x12, 0x10, 0x5f, 0x12, 0xfa,
  3906. 0x32, 0x5c, 0x0a, 0xc1, 0x86, 0xa2, 0x72, 0x6c, 0x49, 0x5d, 0x8c, 0x0e, 0x84, 0xfd, 0x30, 0x8a,
  3907. 0xdc, 0x89, 0x6a, 0x1f, 0x3a, 0x7a, 0x9d, 0x00, 0x94, 0xae, 0xba, 0xb8, 0x41, 0x6b, 0x8f, 0xe9,
  3908. 0xa5, 0xf1, 0x6b, 0x89, 0x95, 0x9b, 0x91, 0xcf, 0x80, 0xe4, 0xc9, 0xd8, 0xb5, 0x75, 0x09, 0x6c,
  3909. 0xff, 0x1b, 0xe5, 0x61, 0x1e, 0xdf, 0xb3, 0x34, 0xaf, 0x4c, 0x1b, 0x14, 0xa3, 0xe6, 0x82, 0x25,
  3910. 0x1c, 0xe4, 0xc2, 0x08, 0x99, 0x18, 0x05, 0x21, 0x67, 0xa2, 0x20, 0x64, 0xfa, 0x05, 0x80, 0xc0,
  3911. 0x31, 0x0f, 0x03, 0x75, 0x06, 0x49, 0xe4, 0x13, 0x2d, 0xc2, 0xa4, 0xae, 0xd6, 0x30, 0x2f, 0xd9,
  3912. 0xbc, 0x81, 0xf8, 0x4b, 0x01, 0x26, 0x08, 0x26, 0xa0, 0x45, 0x48, 0x6e, 0x96, 0xca, 0x05, 0x65,
  3913. 0xb7, 0x2c, 0x57, 0x8a, 0xf9, 0xd2, 0x5a, 0xa9, 0x58, 0x48, 0x5e, 0x40, 0x0f, 0xc1, 0xa5, 0x4a,
  3914. 0x2e, 0xbf, 0x99, 0x5b, 0x2f, 0x2a, 0x7b, 0xbb, 0x5b, 0xe5, 0xa2, 0x94, 0x5b, 0x2d, 0x6d, 0x95,
  3915. 0xaa, 0xfb, 0xc9, 0x31, 0xb4, 0x00, 0xb3, 0xab, 0xbb, 0xa5, 0xad, 0x82, 0x52, 0x28, 0x56, 0x73,
  3916. 0xa5, 0x2d, 0x39, 0x39, 0x8e, 0xe6, 0x21, 0x51, 0xda, 0x26, 0xbc, 0xab, 0x39, 0xb9, 0x24, 0x27,
  3917. 0x27, 0xd0, 0x45, 0x98, 0xe7, 0xcb, 0xb7, 0x73, 0xe5, 0xdc, 0x7a, 0x51, 0x4a, 0x4e, 0xa2, 0x39,
  3918. 0x80, 0x42, 0xb1, 0xb2, 0xb5, 0xb3, 0x9f, 0x5b, 0xdd, 0x2a, 0x26, 0xa7, 0xd0, 0x2c, 0xc4, 0x0b,
  3919. 0x25, 0x39, 0xbf, 0xb3, 0x57, 0x94, 0xf6, 0x93, 0xd3, 0x44, 0x65, 0xae, 0x5a, 0x2d, 0xca, 0xd5,
  3920. 0x5c, 0xb5, 0xb4, 0x53, 0x56, 0x72, 0xbb, 0xd5, 0x8d, 0x1d, 0x89, 0xa8, 0x8c, 0xad, 0x26, 0x58,
  3921. 0x1d, 0x48, 0x00, 0x44, 0xfc, 0xc7, 0x38, 0x40, 0x90, 0xf9, 0x5d, 0x85, 0xa9, 0x96, 0x12, 0x96,
  3922. 0xc6, 0x3b, 0x0b, 0x53, 0x2d, 0xfd, 0x2b, 0x7f, 0x05, 0xbd, 0xc4, 0x1f, 0x01, 0x68, 0x3b, 0xd8,
  3923. 0x56, 0x70, 0x4b, 0xd5, 0x78, 0xa4, 0xe2, 0x84, 0x52, 0x24, 0x04, 0xb2, 0x19, 0xde, 0x51, 0xf2,
  3924. 0x36, 0x63, 0xec, 0xfc, 0xcd, 0xf0, 0xd8, 0xe9, 0x4e, 0xde, 0x86, 0xd9, 0xb6, 0x11, 0x5e, 0x3e,
  3925. 0x7e, 0xee, 0xf2, 0x19, 0xbe, 0x80, 0x0a, 0xb8, 0x0c, 0x53, 0x75, 0xd3, 0x38, 0xd0, 0x9a, 0x14,
  3926. 0x28, 0xe3, 0x12, 0x1b, 0xa1, 0x14, 0x4c, 0xab, 0x8d, 0x86, 0x8d, 0x1d, 0x87, 0xdd, 0xcf, 0x7c,
  3927. 0xd8, 0x13, 0x80, 0xa9, 0x9e, 0x00, 0xa0, 0x03, 0x88, 0x59, 0xba, 0xea, 0x1e, 0x98, 0x76, 0x8b,
  3928. 0x96, 0x93, 0x73, 0x2b, 0xaf, 0x8c, 0x5c, 0x19, 0x65, 0x2a, 0x4c, 0xa2, 0xe4, 0xcb, 0x16, 0xf3,
  3929. 0x10, 0xe3, 0x54, 0x94, 0x82, 0xc5, 0xca, 0x56, 0xae, 0xba, 0xb6, 0x23, 0x6d, 0x77, 0xe5, 0xd6,
  3930. 0x34, 0x8c, 0xaf, 0x6f, 0x16, 0x93, 0x02, 0x8a, 0xc1, 0xc4, 0xda, 0x56, 0xf1, 0x6e, 0x72, 0x0c,
  3931. 0x01, 0x4c, 0xe5, 0x77, 0xe5, 0xea, 0xce, 0x76, 0x72, 0x5c, 0x7c, 0x67, 0x02, 0xe2, 0x3e, 0x00,
  3932. 0xa1, 0x57, 0x61, 0x96, 0x1b, 0xa4, 0xd0, 0x0b, 0x50, 0x18, 0xe5, 0x02, 0x9c, 0xe1, 0x93, 0x64,
  3933. 0x94, 0x7e, 0x9f, 0xe4, 0x45, 0x50, 0x78, 0xdd, 0x84, 0xb8, 0xdf, 0xad, 0x51, 0x35, 0x89, 0x95,
  3934. 0x47, 0xb8, 0x9a, 0x50, 0x4b, 0x97, 0xd9, 0xe1, 0x4c, 0x52, 0xc0, 0x8f, 0xee, 0xc1, 0xbc, 0x6f,
  3935. 0xa7, 0xd7, 0x5b, 0xd1, 0x7d, 0x9a, 0x5b, 0xd9, 0x19, 0xb5, 0x3c, 0xcc, 0xe4, 0x18, 0x9b, 0x4c,
  3936. 0xc5, 0x4a, 0x73, 0x6a, 0xc7, 0x18, 0xad, 0xc1, 0xa5, 0x2e, 0xcd, 0x0a, 0xb6, 0x6d, 0xd3, 0x66,
  3937. 0x37, 0x3a, 0xe2, 0xfa, 0x6d, 0xab, 0x9e, 0x61, 0x22, 0x2e, 0x76, 0x8a, 0x28, 0x12, 0x76, 0xf1,
  3938. 0x3b, 0x02, 0xcc, 0x75, 0xaa, 0x42, 0x8f, 0xc1, 0xd5, 0x5c, 0x39, 0xb7, 0xb5, 0x2f, 0x97, 0x64,
  3939. 0x85, 0x9c, 0xcb, 0x5d, 0xb9, 0x6b, 0x2b, 0x13, 0x30, 0x5d, 0x29, 0x96, 0x0b, 0xa5, 0xf2, 0x7a,
  3940. 0x52, 0x40, 0x33, 0x10, 0x93, 0xf3, 0xb9, 0x72, 0x99, 0x8c, 0xc6, 0x08, 0xae, 0xac, 0x95, 0xca,
  3941. 0x25, 0x79, 0xa3, 0x58, 0x50, 0xe4, 0xdd, 0x7c, 0xbe, 0x28, 0x13, 0xa4, 0xb8, 0x08, 0xf3, 0x3e,
  3942. 0x75, 0x2d, 0x57, 0xda, 0x2a, 0x16, 0x92, 0x13, 0x24, 0x55, 0x76, 0xcb, 0xf2, 0x6e, 0xa5, 0xb2,
  3943. 0x23, 0x55, 0x8b, 0x05, 0x45, 0x2a, 0xca, 0x3b, 0xbb, 0x52, 0xbe, 0x98, 0x9c, 0x14, 0xbf, 0x2d,
  3944. 0x40, 0xdc, 0xbf, 0xfd, 0xd1, 0x53, 0x30, 0x4f, 0x6f, 0x7f, 0x6c, 0x2b, 0xc7, 0xd8, 0x76, 0xf8,
  3945. 0x36, 0xc5, 0xa5, 0x39, 0x46, 0xde, 0xf3, 0xa8, 0xe8, 0x2e, 0xc4, 0x1d, 0xad, 0x69, 0xa8, 0x6e,
  3946. 0xdb, 0xe6, 0x07, 0xf8, 0x46, 0xe4, 0x82, 0x43, 0xe6, 0x12, 0xa4, 0x40, 0x98, 0xf8, 0xee, 0x18,
  3947. 0xcc, 0x75, 0xce, 0x12, 0x38, 0xb1, 0xda, 0x35, 0x5d, 0xab, 0x2b, 0x47, 0xf8, 0x84, 0xc3, 0x89,
  3948. 0x47, 0xd9, 0xc4, 0x27, 0xe8, 0xe1, 0x6e, 0x5b, 0xe2, 0x21, 0x79, 0xe8, 0x12, 0x4c, 0x1d, 0xe1,
  3949. 0x13, 0x45, 0x6b, 0xb0, 0x1a, 0x71, 0xf2, 0x08, 0x9f, 0x94, 0x1a, 0xe8, 0x0b, 0x10, 0x23, 0x64,
  3950. 0x5a, 0x30, 0x4d, 0xd0, 0x34, 0x5a, 0x1d, 0xde, 0xfe, 0xcc, 0x26, 0xa6, 0x85, 0x98, 0x34, 0x7d,
  3951. 0xe4, 0x7d, 0x88, 0x1b, 0x30, 0xcd, 0x68, 0x24, 0xf6, 0x9b, 0xc5, 0x7d, 0xa5, 0xba, 0x5f, 0x29,
  3952. 0x76, 0xed, 0xed, 0x25, 0x58, 0xa8, 0xac, 0x57, 0x94, 0x9c, 0x9c, 0x2f, 0x95, 0x94, 0x9c, 0xb4,
  3953. 0xbd, 0x23, 0x15, 0x0b, 0xde, 0x2e, 0x57, 0x36, 0x4b, 0x77, 0x95, 0x4a, 0x71, 0x3b, 0x39, 0x26,
  3954. 0xfe, 0x60, 0x0c, 0x16, 0x2b, 0x4d, 0x8b, 0xe8, 0xc2, 0x8d, 0xd0, 0x9d, 0xde, 0xe9, 0xb6, 0xd0,
  3955. 0xed, 0xb6, 0x19, 0xd4, 0xe5, 0xd4, 0xc7, 0x71, 0xea, 0x63, 0xa4, 0x26, 0xa7, 0x9f, 0xd6, 0x4c,
  3956. 0xde, 0x13, 0x4a, 0xbd, 0xe5, 0x35, 0x3b, 0x75, 0xf3, 0x51, 0x00, 0xab, 0x69, 0x29, 0x2c, 0xd6,
  3957. 0x74, 0x1b, 0x36, 0x2e, 0x48, 0x31, 0xab, 0x69, 0x6d, 0x92, 0x80, 0x8b, 0x05, 0x48, 0x84, 0xd6,
  3958. 0xa2, 0x87, 0x21, 0x95, 0xdf, 0x29, 0x57, 0x8b, 0xe5, 0x6a, 0xbf, 0xc8, 0x5c, 0x81, 0x8b, 0x72,
  3959. 0x69, 0xbb, 0xb2, 0x55, 0x54, 0xe4, 0xd2, 0x3a, 0x49, 0x77, 0xe5, 0x15, 0x79, 0xa7, 0x9c, 0x14,
  3960. 0x56, 0x63, 0x7c, 0x37, 0xc5, 0xff, 0x8c, 0xc1, 0x62, 0xbf, 0x12, 0x07, 0xb5, 0x60, 0xe2, 0x50,
  3961. 0x33, 0x5c, 0x86, 0x2f, 0xfb, 0x0f, 0xb2, 0xad, 0x0b, 0xea, 0x28, 0xcd, 0x70, 0x25, 0xaa, 0x26,
  3962. 0xfd, 0x0a, 0xa4, 0x4e, 0xe3, 0x40, 0x19, 0xb8, 0x78, 0xd8, 0x6e, 0xa9, 0x86, 0x62, 0x63, 0xb5,
  3963. 0x41, 0xd0, 0x5d, 0x09, 0x75, 0x33, 0x0b, 0x74, 0x4a, 0x62, 0x33, 0x65, 0xb5, 0x85, 0xd3, 0xdf,
  3964. 0x17, 0x20, 0x11, 0xde, 0xe2, 0x7b, 0x70, 0x99, 0xc4, 0xd4, 0xa1, 0xbb, 0xa0, 0x84, 0x7b, 0x56,
  3965. 0x21, 0x7a, 0x3d, 0xd8, 0x6f, 0x3b, 0x49, 0x3d, 0x68, 0xf5, 0xa1, 0x93, 0x7a, 0x20, 0x38, 0x92,
  3966. 0x3f, 0x14, 0x60, 0x26, 0xfc, 0xe0, 0x81, 0x5e, 0x03, 0x08, 0x9e, 0xf5, 0x98, 0x2d, 0x37, 0x23,
  3967. 0x1f, 0x9f, 0x8a, 0x2f, 0x42, 0x0a, 0x89, 0x23, 0x2d, 0x5b, 0x30, 0x52, 0x6a, 0x27, 0x2e, 0x76,
  3968. 0xd8, 0xa9, 0x9e, 0x0f, 0xe8, 0xab, 0x84, 0x2c, 0xbe, 0x0e, 0x20, 0xd7, 0x55, 0x23, 0xef, 0x5d,
  3969. 0xe0, 0xfd, 0x9a, 0xc5, 0x25, 0x52, 0x6a, 0x04, 0xad, 0x1f, 0x7b, 0x53, 0x0b, 0x91, 0xc8, 0xb5,
  3970. 0x8f, 0x0d, 0xb2, 0x03, 0x1e, 0x40, 0xc4, 0x24, 0x3e, 0x14, 0x97, 0x61, 0x71, 0x1d, 0xbb, 0xc1,
  3971. 0xab, 0x9d, 0x84, 0xbf, 0xd4, 0xc6, 0x8e, 0xdb, 0x4f, 0x8f, 0xf8, 0x2f, 0x01, 0x2e, 0x6f, 0x69,
  3972. 0x4e, 0x88, 0xdb, 0x39, 0x83, 0x9d, 0xd4, 0x20, 0x96, 0x6a, 0x63, 0xc3, 0x65, 0xa5, 0x06, 0x1b,
  3973. 0x11, 0xfa, 0x81, 0xa6, 0xbb, 0xd8, 0x66, 0x96, 0xb2, 0x11, 0xba, 0x0a, 0x71, 0x4b, 0x6d, 0x62,
  3974. 0xc5, 0xd1, 0xee, 0x7b, 0x47, 0x79, 0x52, 0x8a, 0x11, 0x82, 0xac, 0xdd, 0xf7, 0xe0, 0x91, 0x4c,
  3975. 0xba, 0xe6, 0x11, 0xe6, 0xdd, 0x2d, 0x65, 0xaf, 0x12, 0xc2, 0x03, 0x7c, 0xc5, 0x13, 0x7f, 0x24,
  3976. 0xc0, 0x95, 0x1e, 0x2f, 0x1d, 0xcb, 0x34, 0x1c, 0xd2, 0x6b, 0x25, 0xcc, 0x80, 0x4c, 0x8b, 0xc4,
  3977. 0x88, 0xcd, 0x56, 0x28, 0xd2, 0x61, 0x51, 0xe8, 0x93, 0x30, 0x6f, 0xe0, 0x7b, 0xae, 0x12, 0x72,
  3978. 0xd2, 0x8b, 0xce, 0x2c, 0x21, 0x57, 0xb8, 0xa3, 0xe2, 0xb3, 0x70, 0xa5, 0x80, 0x75, 0xec, 0xe2,
  3979. 0xc1, 0xb6, 0xec, 0x27, 0x02, 0x5c, 0xc9, 0xd3, 0x0e, 0x61, 0x20, 0xfe, 0xd0, 0x9e, 0x8d, 0x77,
  3980. 0xec, 0xd9, 0x1e, 0x40, 0x60, 0x2d, 0xbb, 0x0b, 0x87, 0xf5, 0x3b, 0x24, 0x49, 0xfc, 0xbd, 0x00,
  3981. 0x57, 0x76, 0x69, 0x13, 0x32, 0x98, 0x7d, 0x1f, 0x91, 0x1d, 0xa1, 0xd6, 0xa9, 0xa5, 0x3a, 0x47,
  3982. 0xa7, 0x96, 0xdb, 0x6b, 0x1a, 0xd6, 0x1b, 0xdb, 0xaa, 0x73, 0xc4, 0x5b, 0x27, 0xf2, 0x2d, 0x7e,
  3983. 0x02, 0xe6, 0xd6, 0xb1, 0x4b, 0xf2, 0xe8, 0xac, 0xad, 0xc8, 0x40, 0xaa, 0xe3, 0xa4, 0x9d, 0xc7,
  3984. 0xff, 0x5d, 0x01, 0x92, 0x24, 0x0f, 0x09, 0xdf, 0xc7, 0xe5, 0x9c, 0x89, 0x6f, 0x09, 0xb0, 0x10,
  3985. 0x32, 0x8a, 0x1d, 0x8b, 0x35, 0x98, 0x24, 0x8d, 0x15, 0x3f, 0x10, 0xcf, 0x45, 0x3d, 0x7e, 0x92,
  3986. 0xb7, 0x7c, 0xe0, 0x43, 0xf0, 0x14, 0x2c, 0x78, 0x87, 0xe0, 0xbc, 0x18, 0xfe, 0x54, 0x80, 0x05,
  3987. 0x2f, 0xfd, 0xcf, 0xe1, 0x0c, 0x05, 0x71, 0xa2, 0x23, 0x88, 0x57, 0x60, 0x9a, 0xf6, 0x8c, 0xfc,
  3988. 0xba, 0x97, 0xa6, 0xc8, 0xb0, 0xd4, 0x40, 0x05, 0x98, 0x20, 0x5f, 0xc3, 0xbc, 0x05, 0x52, 0x5b,
  3989. 0xe8, 0x6a, 0xd2, 0x3f, 0x2f, 0x78, 0xf9, 0x7f, 0x9e, 0x81, 0x5c, 0xdf, 0xd8, 0x28, 0xfa, 0x46,
  3990. 0xcb, 0xf3, 0xb7, 0x05, 0x48, 0xf3, 0xcd, 0x1f, 0xfc, 0x0e, 0x78, 0xe0, 0x39, 0xf8, 0xbe, 0x00,
  3991. 0x57, 0xfb, 0x9a, 0xf1, 0xb1, 0x01, 0xe9, 0xf7, 0x04, 0xb8, 0xcc, 0x50, 0xd7, 0x6f, 0xf2, 0x58,
  3992. 0x90, 0x82, 0x3c, 0x13, 0x3a, 0xf2, 0xec, 0x71, 0x98, 0xf1, 0xbb, 0xc0, 0x20, 0xd9, 0x12, 0x3e,
  3993. 0xad, 0xd4, 0xd5, 0x58, 0x8e, 0x47, 0x6b, 0x2c, 0xc5, 0x0f, 0x05, 0xb8, 0xcc, 0x80, 0xb6, 0xdb,
  3994. 0xa4, 0x7e, 0xfb, 0x36, 0x8a, 0xae, 0xee, 0x24, 0x9b, 0x88, 0x94, 0x64, 0xdf, 0x14, 0x60, 0xc1,
  3995. 0x97, 0xba, 0x8d, 0x5d, 0xb5, 0xa1, 0xba, 0x6a, 0xf7, 0xbb, 0x98, 0x10, 0xe9, 0x5d, 0xec, 0x45,
  3996. 0x88, 0x61, 0xa3, 0x31, 0xe8, 0x3b, 0xcc, 0x34, 0x36, 0x1a, 0x64, 0x24, 0xca, 0xf0, 0xf8, 0x3a,
  3997. 0x76, 0xf7, 0xda, 0xba, 0x71, 0x3f, 0x94, 0x66, 0x72, 0xbb, 0xd5, 0x52, 0xed, 0x93, 0xf3, 0xf6,
  3998. 0xf3, 0x94, 0xc4, 0x17, 0x3f, 0x1c, 0x03, 0xf1, 0x2c, 0xa9, 0x2c, 0x87, 0x5d, 0x98, 0xaa, 0x9b,
  3999. 0x6d, 0xc3, 0xe5, 0xe9, 0xfb, 0x7a, 0x94, 0xf4, 0x3d, 0x5f, 0x7e, 0x46, 0xc6, 0xc7, 0x98, 0x54,
  4000. 0xf0, 0x79, 0xa2, 0x44, 0x62, 0xba, 0xd2, 0xef, 0x08, 0x30, 0xdb, 0x31, 0x83, 0x6a, 0x10, 0x73,
  4001. 0x18, 0x81, 0x3d, 0x99, 0xac, 0x8d, 0xf6, 0x47, 0x4c, 0x2e, 0x5e, 0xf2, 0xe5, 0xa2, 0x45, 0x98,
  4002. 0xa4, 0xfa, 0x69, 0xa4, 0xc6, 0x25, 0x6f, 0xc0, 0x0a, 0xd3, 0xa0, 0xf2, 0x3d, 0x0b, 0xe6, 0xdf,
  4003. 0x66, 0x85, 0x69, 0xc0, 0xed, 0x0c, 0xb9, 0x3f, 0x23, 0x01, 0xd3, 0x8f, 0x59, 0xe5, 0xd8, 0x61,
  4004. 0x06, 0xdb, 0xd0, 0x7d, 0x98, 0x71, 0xea, 0xaa, 0xa1, 0x78, 0xef, 0x70, 0x43, 0xa1, 0x52, 0x28,
  4005. 0x16, 0x09, 0x27, 0x50, 0x31, 0x30, 0x2a, 0xfd, 0xc1, 0xaf, 0xb5, 0x06, 0x8a, 0x2a, 0xfa, 0x3c,
  4006. 0x24, 0x42, 0x26, 0x0f, 0x53, 0x6c, 0x85, 0xf4, 0x40, 0x60, 0xf1, 0x48, 0x97, 0xd0, 0xca, 0x9f,
  4007. 0x96, 0x60, 0x21, 0xcf, 0x55, 0xf2, 0x87, 0x26, 0xf4, 0x5b, 0x01, 0x66, 0x3b, 0xaa, 0x2b, 0x74,
  4008. 0x27, 0xe2, 0x89, 0xe9, 0xa9, 0x3f, 0xd3, 0x43, 0x5e, 0x19, 0xe2, 0xf5, 0xaf, 0xfd, 0xfd, 0xdf,
  4009. 0xdf, 0x1b, 0x7b, 0x06, 0x3d, 0x1d, 0xfc, 0x3e, 0xe4, 0x2b, 0x24, 0xa0, 0xb7, 0x2c, 0xdb, 0xfc,
  4010. 0x22, 0xae, 0xbb, 0x4e, 0x76, 0x39, 0x1b, 0xba, 0x55, 0xb2, 0xcb, 0x6f, 0xa2, 0xbf, 0x08, 0x30,
  4011. 0xdf, 0xd5, 0x73, 0xa0, 0x48, 0x4f, 0x35, 0xfd, 0xdb, 0xb2, 0x74, 0x7e, 0x24, 0x19, 0x5e, 0xea,
  4012. 0xf6, 0xf5, 0xc7, 0x3b, 0x45, 0x21, 0x8f, 0xde, 0x0c, 0xbb, 0x84, 0x3e, 0x10, 0x20, 0xd9, 0xdd,
  4013. 0xa6, 0xa0, 0x7c, 0xb4, 0xc7, 0xe2, 0xbe, 0x4d, 0x4e, 0xfa, 0x72, 0x4f, 0x9a, 0x14, 0x5b, 0x96,
  4014. 0x7b, 0xc2, 0x8d, 0x5c, 0x8e, 0x10, 0xf4, 0xbf, 0x0a, 0x90, 0xec, 0xee, 0x8d, 0xa2, 0x19, 0x79,
  4015. 0x4a, 0x67, 0x35, 0x74, 0xe6, 0xdc, 0xa2, 0x4e, 0xbc, 0x24, 0x0e, 0x1e, 0xe9, 0x1b, 0xe1, 0x26,
  4016. 0x86, 0x38, 0xd4, 0xdd, 0x4c, 0x45, 0x73, 0xe8, 0x94, 0x56, 0x6c, 0x54, 0x87, 0x56, 0x06, 0xdf,
  4017. 0x95, 0x0e, 0x87, 0xfe, 0x28, 0xc0, 0x42, 0x4f, 0xcf, 0x84, 0x0a, 0x43, 0x9f, 0xec, 0x50, 0x8d,
  4018. 0x9d, 0x8e, 0x5c, 0x41, 0x8b, 0x2f, 0x51, 0x67, 0xae, 0xa3, 0xec, 0xc0, 0xce, 0x64, 0xbd, 0xb6,
  4019. 0xe6, 0xe7, 0x02, 0x4c, 0xb3, 0x06, 0x11, 0xdd, 0x88, 0x68, 0xfc, 0x68, 0x26, 0x3f, 0x43, 0x4d,
  4020. 0x7e, 0x12, 0x3d, 0x71, 0x86, 0xc9, 0xd4, 0x46, 0x72, 0x1e, 0x7e, 0x23, 0x40, 0xdc, 0xef, 0xed,
  4021. 0xd0, 0xcb, 0x51, 0xa1, 0x23, 0xdc, 0xa7, 0xa6, 0x6f, 0x0d, 0xb9, 0x9a, 0x41, 0x4e, 0x3f, 0xbb,
  4022. 0xfb, 0x1c, 0x04, 0x2f, 0xbc, 0xef, 0x09, 0x00, 0x41, 0x3b, 0x88, 0x6e, 0x45, 0x87, 0x99, 0x70,
  4023. 0x90, 0x4f, 0x03, 0x18, 0x66, 0xd2, 0xf2, 0x40, 0xa1, 0xfc, 0xb5, 0x00, 0x10, 0xf4, 0x9d, 0xd1,
  4024. 0x4c, 0xea, 0xe9, 0x57, 0x87, 0xd8, 0x77, 0x86, 0x86, 0xe2, 0x20, 0xf1, 0xbb, 0xe1, 0x75, 0x86,
  4025. 0xc4, 0xe4, 0xa0, 0x13, 0x8d, 0x66, 0x72, 0x4f, 0x07, 0x3b, 0xbc, 0xc9, 0x2b, 0x83, 0xc4, 0x97,
  4026. 0x99, 0xfc, 0x4f, 0x01, 0x2e, 0xf6, 0x69, 0x04, 0xd1, 0xda, 0x30, 0xc9, 0xd7, 0xe7, 0xf6, 0x5c,
  4027. 0x1f, 0x59, 0x0e, 0x4b, 0xe7, 0x41, 0x90, 0x83, 0xfb, 0xd6, 0x71, 0x8f, 0xbe, 0x35, 0x06, 0xe9,
  4028. 0xd3, 0xab, 0x79, 0xb4, 0xfd, 0xa0, 0xba, 0x02, 0xcf, 0xdf, 0xf2, 0x83, 0x6d, 0x32, 0xc4, 0x35,
  4029. 0xea, 0xf6, 0x1d, 0xf4, 0xb9, 0xc1, 0xaf, 0xb3, 0x8e, 0x9f, 0xfd, 0x70, 0x37, 0xff, 0x2c, 0xc0,
  4030. 0x8c, 0x8c, 0xdd, 0x92, 0xda, 0xaa, 0xd0, 0xdf, 0xc9, 0x22, 0x91, 0x1b, 0xaa, 0xa9, 0xad, 0xcc,
  4031. 0xf1, 0xf5, 0x4c, 0x78, 0x92, 0x3b, 0x73, 0xa9, 0x8b, 0xc7, 0x9b, 0x15, 0xbf, 0x2a, 0x50, 0xa3,
  4032. 0xee, 0x8b, 0x2f, 0x84, 0x8c, 0xe2, 0x7f, 0xe4, 0xee, 0x9b, 0x6b, 0x4e, 0x48, 0xf8, 0x0d, 0x61,
  4033. 0xf9, 0xd5, 0xdb, 0xe2, 0x8d, 0x73, 0x96, 0x76, 0xdd, 0x68, 0x5d, 0x02, 0xa8, 0x3b, 0xeb, 0x67,
  4034. 0xb9, 0xb3, 0xfe, 0x51, 0xba, 0xd3, 0x1c, 0xd5, 0x9d, 0x2e, 0x01, 0xe8, 0xbf, 0x02, 0xa0, 0x2a,
  4035. 0x76, 0x28, 0x11, 0xdb, 0x2d, 0xcd, 0x71, 0x34, 0xd3, 0x70, 0xd0, 0xb5, 0x2e, 0x83, 0x7b, 0x59,
  4036. 0xb8, 0x6b, 0x4f, 0x0f, 0xc0, 0xc9, 0x32, 0xea, 0x5d, 0xcf, 0xdd, 0x6f, 0x08, 0xe7, 0x1a, 0xed,
  4037. 0xfb, 0xeb, 0xf6, 0x48, 0x23, 0x5e, 0x17, 0xc5, 0x3b, 0xd1, 0xbc, 0xee, 0x2b, 0x06, 0xfd, 0x42,
  4038. 0x80, 0xf9, 0xae, 0x87, 0x9e, 0x68, 0x75, 0x7b, 0xff, 0x57, 0xa2, 0xf4, 0xd9, 0x6f, 0x2d, 0xe2,
  4039. 0xf3, 0x34, 0x0a, 0xcf, 0x8a, 0xd7, 0xce, 0x39, 0x58, 0xfe, 0x8f, 0xc6, 0xb9, 0xad, 0x5d, 0x2f,
  4040. 0x40, 0xd1, 0x6c, 0xed, 0xff, 0x7c, 0x34, 0xa0, 0xad, 0x2b, 0xd7, 0xce, 0xaa, 0x9a, 0x7c, 0x43,
  4041. 0x49, 0xa8, 0x85, 0x65, 0xf4, 0x3b, 0xaf, 0x9d, 0x0b, 0xfd, 0xdd, 0x2b, 0x6a, 0x3b, 0xd7, 0xd3,
  4042. 0xe2, 0xa6, 0x87, 0xec, 0x5c, 0xc5, 0x15, 0xea, 0xc0, 0xa7, 0xd0, 0xf2, 0x19, 0x0e, 0x84, 0x5b,
  4043. 0x7b, 0xd6, 0x5a, 0xcc, 0x77, 0xbd, 0x04, 0x44, 0xef, 0xe7, 0x7a, 0x5f, 0x33, 0xa2, 0xf7, 0x73,
  4044. 0x7d, 0x9e, 0x22, 0xfa, 0x3a, 0xd4, 0x27, 0x7b, 0xc2, 0x3e, 0xa1, 0xbf, 0xf9, 0xad, 0x45, 0x68,
  4045. 0x4f, 0x86, 0x68, 0x2d, 0x1e, 0xdc, 0xb6, 0xdc, 0xa6, 0x5e, 0x7c, 0x76, 0x25, 0xc2, 0xb6, 0xdc,
  4046. 0x08, 0xbf, 0x67, 0xac, 0x7e, 0x4b, 0x80, 0x27, 0xeb, 0x66, 0x8b, 0xab, 0x3f, 0x5d, 0x6b, 0x45,
  4047. 0x78, 0xf5, 0x35, 0xc6, 0xd4, 0x34, 0x75, 0xd5, 0x68, 0x66, 0x4c, 0xbb, 0x99, 0x6d, 0x62, 0x83,
  4048. 0x56, 0x88, 0x59, 0x6f, 0x4a, 0xb5, 0x34, 0x67, 0x90, 0xff, 0x2a, 0x72, 0xb3, 0x67, 0xea, 0x83,
  4049. 0xb1, 0xf1, 0xf5, 0x7c, 0xae, 0x36, 0x45, 0xa5, 0x3d, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff,
  4050. 0xb3, 0xe0, 0xe0, 0x39, 0xcf, 0x33, 0x00, 0x00,
  4051. }