@google-cloud/containeranalysis 4.3.0 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,13 @@
4
4
 
5
5
  [1]: https://www.npmjs.com/package/@google-cloud/containeranalysis?activeTab=versions
6
6
 
7
+ ## [4.4.0](https://github.com/googleapis/nodejs-containeranalysis/compare/v4.3.0...v4.4.0) (2022-10-06)
8
+
9
+
10
+ ### Features
11
+
12
+ * Add new analysis status and cvss version fields ([#443](https://github.com/googleapis/nodejs-containeranalysis/issues/443)) ([2b4db8e](https://github.com/googleapis/nodejs-containeranalysis/commit/2b4db8ee9859823e32de8256853429adf88cf207))
13
+
7
14
  ## [4.3.0](https://github.com/googleapis/nodejs-containeranalysis/compare/v4.2.0...v4.3.0) (2022-09-22)
8
15
 
9
16
 
@@ -157,3 +157,10 @@ message CVSS {
157
157
  IMPACT_NONE = 3;
158
158
  }
159
159
  }
160
+
161
+ // CVSS Version.
162
+ enum CVSSVersion {
163
+ CVSS_VERSION_UNSPECIFIED = 0;
164
+ CVSS_VERSION_2 = 1;
165
+ CVSS_VERSION_3 = 2;
166
+ }
@@ -53,6 +53,8 @@ message DiscoveryOccurrence {
53
53
  // Analysis status for a resource. Currently for initial analysis only (not
54
54
  // updated in continuous analysis).
55
55
  enum AnalysisStatus {
56
+ option allow_alias = true;
57
+
56
58
  // Unknown.
57
59
  ANALYSIS_STATUS_UNSPECIFIED = 0;
58
60
  // Resource is known but no action has been taken yet.
@@ -61,16 +63,30 @@ message DiscoveryOccurrence {
61
63
  SCANNING = 2;
62
64
  // Analysis has finished successfully.
63
65
  FINISHED_SUCCESS = 3;
66
+ // Analysis has completed.
67
+ COMPLETE = 3;
64
68
  // Analysis has finished unsuccessfully, the analysis itself is in a bad
65
69
  // state.
66
70
  FINISHED_FAILED = 4;
67
- // The resource is known not to be supported
71
+ // The resource is known not to be supported.
68
72
  FINISHED_UNSUPPORTED = 5;
69
73
  }
70
74
 
71
75
  // The status of discovery for the resource.
72
76
  AnalysisStatus analysis_status = 2;
73
77
 
78
+ // Indicates which analysis completed successfully. Multiple types of
79
+ // analysis can be performed on a single resource.
80
+ message AnalysisCompleted {
81
+ repeated string analysis_type = 1;
82
+ }
83
+
84
+ AnalysisCompleted analysis_completed = 7;
85
+
86
+ // Indicates any errors encountered during analysis of a resource. There
87
+ // could be 0 or more of these errors.
88
+ repeated google.rpc.Status analysis_error = 8;
89
+
74
90
  // When an error is encountered this will contain a LocalizedMessage under
75
91
  // details to show to the user. The LocalizedMessage is output only and
76
92
  // populated by the API.
@@ -148,6 +148,11 @@ message VulnerabilityNote {
148
148
  // upstream timestamp from the underlying information source - e.g. Ubuntu
149
149
  // security tracker.
150
150
  google.protobuf.Timestamp source_update_time = 6;
151
+
152
+ // CVSS version used to populate cvss_score and severity.
153
+ grafeas.v1.CVSSVersion cvss_version = 7;
154
+
155
+ // Next free ID is 8.
151
156
  }
152
157
 
153
158
  // An occurrence of a severity vulnerability on a resource.
@@ -238,4 +243,9 @@ message VulnerabilityOccurrence {
238
243
  // Output only. Whether at least one of the affected packages has a fix
239
244
  // available.
240
245
  bool fix_available = 9;
246
+
247
+ // Output only. CVSS version used to populate cvss_score and severity.
248
+ grafeas.v1.CVSSVersion cvss_version = 11;
249
+
250
+ // Next free ID is 12.
241
251
  }
@@ -6107,6 +6107,13 @@ export namespace grafeas {
6107
6107
  }
6108
6108
  }
6109
6109
 
6110
+ /** CVSSVersion enum. */
6111
+ enum CVSSVersion {
6112
+ CVSS_VERSION_UNSPECIFIED = 0,
6113
+ CVSS_VERSION_2 = 1,
6114
+ CVSS_VERSION_3 = 2
6115
+ }
6116
+
6110
6117
  /** Properties of a DeploymentNote. */
6111
6118
  interface IDeploymentNote {
6112
6119
 
@@ -6454,6 +6461,12 @@ export namespace grafeas {
6454
6461
  /** DiscoveryOccurrence analysisStatus */
6455
6462
  analysisStatus?: (grafeas.v1.DiscoveryOccurrence.AnalysisStatus|keyof typeof grafeas.v1.DiscoveryOccurrence.AnalysisStatus|null);
6456
6463
 
6464
+ /** DiscoveryOccurrence analysisCompleted */
6465
+ analysisCompleted?: (grafeas.v1.DiscoveryOccurrence.IAnalysisCompleted|null);
6466
+
6467
+ /** DiscoveryOccurrence analysisError */
6468
+ analysisError?: (google.rpc.IStatus[]|null);
6469
+
6457
6470
  /** DiscoveryOccurrence analysisStatusError */
6458
6471
  analysisStatusError?: (google.rpc.IStatus|null);
6459
6472
 
@@ -6482,6 +6495,12 @@ export namespace grafeas {
6482
6495
  /** DiscoveryOccurrence analysisStatus. */
6483
6496
  public analysisStatus: (grafeas.v1.DiscoveryOccurrence.AnalysisStatus|keyof typeof grafeas.v1.DiscoveryOccurrence.AnalysisStatus);
6484
6497
 
6498
+ /** DiscoveryOccurrence analysisCompleted. */
6499
+ public analysisCompleted?: (grafeas.v1.DiscoveryOccurrence.IAnalysisCompleted|null);
6500
+
6501
+ /** DiscoveryOccurrence analysisError. */
6502
+ public analysisError: google.rpc.IStatus[];
6503
+
6485
6504
  /** DiscoveryOccurrence analysisStatusError. */
6486
6505
  public analysisStatusError?: (google.rpc.IStatus|null);
6487
6506
 
@@ -6587,9 +6606,107 @@ export namespace grafeas {
6587
6606
  PENDING = 1,
6588
6607
  SCANNING = 2,
6589
6608
  FINISHED_SUCCESS = 3,
6609
+ COMPLETE = 3,
6590
6610
  FINISHED_FAILED = 4,
6591
6611
  FINISHED_UNSUPPORTED = 5
6592
6612
  }
6613
+
6614
+ /** Properties of an AnalysisCompleted. */
6615
+ interface IAnalysisCompleted {
6616
+
6617
+ /** AnalysisCompleted analysisType */
6618
+ analysisType?: (string[]|null);
6619
+ }
6620
+
6621
+ /** Represents an AnalysisCompleted. */
6622
+ class AnalysisCompleted implements IAnalysisCompleted {
6623
+
6624
+ /**
6625
+ * Constructs a new AnalysisCompleted.
6626
+ * @param [properties] Properties to set
6627
+ */
6628
+ constructor(properties?: grafeas.v1.DiscoveryOccurrence.IAnalysisCompleted);
6629
+
6630
+ /** AnalysisCompleted analysisType. */
6631
+ public analysisType: string[];
6632
+
6633
+ /**
6634
+ * Creates a new AnalysisCompleted instance using the specified properties.
6635
+ * @param [properties] Properties to set
6636
+ * @returns AnalysisCompleted instance
6637
+ */
6638
+ public static create(properties?: grafeas.v1.DiscoveryOccurrence.IAnalysisCompleted): grafeas.v1.DiscoveryOccurrence.AnalysisCompleted;
6639
+
6640
+ /**
6641
+ * Encodes the specified AnalysisCompleted message. Does not implicitly {@link grafeas.v1.DiscoveryOccurrence.AnalysisCompleted.verify|verify} messages.
6642
+ * @param message AnalysisCompleted message or plain object to encode
6643
+ * @param [writer] Writer to encode to
6644
+ * @returns Writer
6645
+ */
6646
+ public static encode(message: grafeas.v1.DiscoveryOccurrence.IAnalysisCompleted, writer?: $protobuf.Writer): $protobuf.Writer;
6647
+
6648
+ /**
6649
+ * Encodes the specified AnalysisCompleted message, length delimited. Does not implicitly {@link grafeas.v1.DiscoveryOccurrence.AnalysisCompleted.verify|verify} messages.
6650
+ * @param message AnalysisCompleted message or plain object to encode
6651
+ * @param [writer] Writer to encode to
6652
+ * @returns Writer
6653
+ */
6654
+ public static encodeDelimited(message: grafeas.v1.DiscoveryOccurrence.IAnalysisCompleted, writer?: $protobuf.Writer): $protobuf.Writer;
6655
+
6656
+ /**
6657
+ * Decodes an AnalysisCompleted message from the specified reader or buffer.
6658
+ * @param reader Reader or buffer to decode from
6659
+ * @param [length] Message length if known beforehand
6660
+ * @returns AnalysisCompleted
6661
+ * @throws {Error} If the payload is not a reader or valid buffer
6662
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
6663
+ */
6664
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): grafeas.v1.DiscoveryOccurrence.AnalysisCompleted;
6665
+
6666
+ /**
6667
+ * Decodes an AnalysisCompleted message from the specified reader or buffer, length delimited.
6668
+ * @param reader Reader or buffer to decode from
6669
+ * @returns AnalysisCompleted
6670
+ * @throws {Error} If the payload is not a reader or valid buffer
6671
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
6672
+ */
6673
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): grafeas.v1.DiscoveryOccurrence.AnalysisCompleted;
6674
+
6675
+ /**
6676
+ * Verifies an AnalysisCompleted message.
6677
+ * @param message Plain object to verify
6678
+ * @returns `null` if valid, otherwise the reason why it is not
6679
+ */
6680
+ public static verify(message: { [k: string]: any }): (string|null);
6681
+
6682
+ /**
6683
+ * Creates an AnalysisCompleted message from a plain object. Also converts values to their respective internal types.
6684
+ * @param object Plain object
6685
+ * @returns AnalysisCompleted
6686
+ */
6687
+ public static fromObject(object: { [k: string]: any }): grafeas.v1.DiscoveryOccurrence.AnalysisCompleted;
6688
+
6689
+ /**
6690
+ * Creates a plain object from an AnalysisCompleted message. Also converts values to other types if specified.
6691
+ * @param message AnalysisCompleted
6692
+ * @param [options] Conversion options
6693
+ * @returns Plain object
6694
+ */
6695
+ public static toObject(message: grafeas.v1.DiscoveryOccurrence.AnalysisCompleted, options?: $protobuf.IConversionOptions): { [k: string]: any };
6696
+
6697
+ /**
6698
+ * Converts this AnalysisCompleted to JSON.
6699
+ * @returns JSON object
6700
+ */
6701
+ public toJSON(): { [k: string]: any };
6702
+
6703
+ /**
6704
+ * Gets the default type url for AnalysisCompleted
6705
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
6706
+ * @returns The default type url
6707
+ */
6708
+ public static getTypeUrl(typeUrlPrefix?: string): string;
6709
+ }
6593
6710
  }
6594
6711
 
6595
6712
  /** Properties of a DSSEAttestationNote. */
@@ -11400,6 +11517,9 @@ export namespace grafeas {
11400
11517
 
11401
11518
  /** VulnerabilityNote sourceUpdateTime */
11402
11519
  sourceUpdateTime?: (google.protobuf.ITimestamp|null);
11520
+
11521
+ /** VulnerabilityNote cvssVersion */
11522
+ cvssVersion?: (grafeas.v1.CVSSVersion|keyof typeof grafeas.v1.CVSSVersion|null);
11403
11523
  }
11404
11524
 
11405
11525
  /** Represents a VulnerabilityNote. */
@@ -11429,6 +11549,9 @@ export namespace grafeas {
11429
11549
  /** VulnerabilityNote sourceUpdateTime. */
11430
11550
  public sourceUpdateTime?: (google.protobuf.ITimestamp|null);
11431
11551
 
11552
+ /** VulnerabilityNote cvssVersion. */
11553
+ public cvssVersion: (grafeas.v1.CVSSVersion|keyof typeof grafeas.v1.CVSSVersion);
11554
+
11432
11555
  /**
11433
11556
  * Creates a new VulnerabilityNote instance using the specified properties.
11434
11557
  * @param [properties] Properties to set
@@ -11938,6 +12061,9 @@ export namespace grafeas {
11938
12061
 
11939
12062
  /** VulnerabilityOccurrence fixAvailable */
11940
12063
  fixAvailable?: (boolean|null);
12064
+
12065
+ /** VulnerabilityOccurrence cvssVersion */
12066
+ cvssVersion?: (grafeas.v1.CVSSVersion|keyof typeof grafeas.v1.CVSSVersion|null);
11941
12067
  }
11942
12068
 
11943
12069
  /** Represents a VulnerabilityOccurrence. */
@@ -11979,6 +12105,9 @@ export namespace grafeas {
11979
12105
  /** VulnerabilityOccurrence fixAvailable. */
11980
12106
  public fixAvailable: boolean;
11981
12107
 
12108
+ /** VulnerabilityOccurrence cvssVersion. */
12109
+ public cvssVersion: (grafeas.v1.CVSSVersion|keyof typeof grafeas.v1.CVSSVersion);
12110
+
11982
12111
  /**
11983
12112
  * Creates a new VulnerabilityOccurrence instance using the specified properties.
11984
12113
  * @param [properties] Properties to set
@@ -15774,6 +15774,22 @@
15774
15774
  return CVSS;
15775
15775
  })();
15776
15776
 
15777
+ /**
15778
+ * CVSSVersion enum.
15779
+ * @name grafeas.v1.CVSSVersion
15780
+ * @enum {number}
15781
+ * @property {number} CVSS_VERSION_UNSPECIFIED=0 CVSS_VERSION_UNSPECIFIED value
15782
+ * @property {number} CVSS_VERSION_2=1 CVSS_VERSION_2 value
15783
+ * @property {number} CVSS_VERSION_3=2 CVSS_VERSION_3 value
15784
+ */
15785
+ v1.CVSSVersion = (function() {
15786
+ var valuesById = {}, values = Object.create(valuesById);
15787
+ values[valuesById[0] = "CVSS_VERSION_UNSPECIFIED"] = 0;
15788
+ values[valuesById[1] = "CVSS_VERSION_2"] = 1;
15789
+ values[valuesById[2] = "CVSS_VERSION_3"] = 2;
15790
+ return values;
15791
+ })();
15792
+
15777
15793
  v1.DeploymentNote = (function() {
15778
15794
 
15779
15795
  /**
@@ -16684,6 +16700,8 @@
16684
16700
  * @interface IDiscoveryOccurrence
16685
16701
  * @property {grafeas.v1.DiscoveryOccurrence.ContinuousAnalysis|null} [continuousAnalysis] DiscoveryOccurrence continuousAnalysis
16686
16702
  * @property {grafeas.v1.DiscoveryOccurrence.AnalysisStatus|null} [analysisStatus] DiscoveryOccurrence analysisStatus
16703
+ * @property {grafeas.v1.DiscoveryOccurrence.IAnalysisCompleted|null} [analysisCompleted] DiscoveryOccurrence analysisCompleted
16704
+ * @property {Array.<google.rpc.IStatus>|null} [analysisError] DiscoveryOccurrence analysisError
16687
16705
  * @property {google.rpc.IStatus|null} [analysisStatusError] DiscoveryOccurrence analysisStatusError
16688
16706
  * @property {string|null} [cpe] DiscoveryOccurrence cpe
16689
16707
  * @property {google.protobuf.ITimestamp|null} [lastScanTime] DiscoveryOccurrence lastScanTime
@@ -16699,6 +16717,7 @@
16699
16717
  * @param {grafeas.v1.IDiscoveryOccurrence=} [properties] Properties to set
16700
16718
  */
16701
16719
  function DiscoveryOccurrence(properties) {
16720
+ this.analysisError = [];
16702
16721
  if (properties)
16703
16722
  for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
16704
16723
  if (properties[keys[i]] != null)
@@ -16721,6 +16740,22 @@
16721
16740
  */
16722
16741
  DiscoveryOccurrence.prototype.analysisStatus = 0;
16723
16742
 
16743
+ /**
16744
+ * DiscoveryOccurrence analysisCompleted.
16745
+ * @member {grafeas.v1.DiscoveryOccurrence.IAnalysisCompleted|null|undefined} analysisCompleted
16746
+ * @memberof grafeas.v1.DiscoveryOccurrence
16747
+ * @instance
16748
+ */
16749
+ DiscoveryOccurrence.prototype.analysisCompleted = null;
16750
+
16751
+ /**
16752
+ * DiscoveryOccurrence analysisError.
16753
+ * @member {Array.<google.rpc.IStatus>} analysisError
16754
+ * @memberof grafeas.v1.DiscoveryOccurrence
16755
+ * @instance
16756
+ */
16757
+ DiscoveryOccurrence.prototype.analysisError = $util.emptyArray;
16758
+
16724
16759
  /**
16725
16760
  * DiscoveryOccurrence analysisStatusError.
16726
16761
  * @member {google.rpc.IStatus|null|undefined} analysisStatusError
@@ -16789,6 +16824,11 @@
16789
16824
  $root.google.protobuf.Timestamp.encode(message.lastScanTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
16790
16825
  if (message.archiveTime != null && Object.hasOwnProperty.call(message, "archiveTime"))
16791
16826
  $root.google.protobuf.Timestamp.encode(message.archiveTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
16827
+ if (message.analysisCompleted != null && Object.hasOwnProperty.call(message, "analysisCompleted"))
16828
+ $root.grafeas.v1.DiscoveryOccurrence.AnalysisCompleted.encode(message.analysisCompleted, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
16829
+ if (message.analysisError != null && message.analysisError.length)
16830
+ for (var i = 0; i < message.analysisError.length; ++i)
16831
+ $root.google.rpc.Status.encode(message.analysisError[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
16792
16832
  return writer;
16793
16833
  };
16794
16834
 
@@ -16831,6 +16871,16 @@
16831
16871
  message.analysisStatus = reader.int32();
16832
16872
  break;
16833
16873
  }
16874
+ case 7: {
16875
+ message.analysisCompleted = $root.grafeas.v1.DiscoveryOccurrence.AnalysisCompleted.decode(reader, reader.uint32());
16876
+ break;
16877
+ }
16878
+ case 8: {
16879
+ if (!(message.analysisError && message.analysisError.length))
16880
+ message.analysisError = [];
16881
+ message.analysisError.push($root.google.rpc.Status.decode(reader, reader.uint32()));
16882
+ break;
16883
+ }
16834
16884
  case 3: {
16835
16885
  message.analysisStatusError = $root.google.rpc.Status.decode(reader, reader.uint32());
16836
16886
  break;
@@ -16899,10 +16949,25 @@
16899
16949
  case 1:
16900
16950
  case 2:
16901
16951
  case 3:
16952
+ case 3:
16902
16953
  case 4:
16903
16954
  case 5:
16904
16955
  break;
16905
16956
  }
16957
+ if (message.analysisCompleted != null && message.hasOwnProperty("analysisCompleted")) {
16958
+ var error = $root.grafeas.v1.DiscoveryOccurrence.AnalysisCompleted.verify(message.analysisCompleted);
16959
+ if (error)
16960
+ return "analysisCompleted." + error;
16961
+ }
16962
+ if (message.analysisError != null && message.hasOwnProperty("analysisError")) {
16963
+ if (!Array.isArray(message.analysisError))
16964
+ return "analysisError: array expected";
16965
+ for (var i = 0; i < message.analysisError.length; ++i) {
16966
+ var error = $root.google.rpc.Status.verify(message.analysisError[i]);
16967
+ if (error)
16968
+ return "analysisError." + error;
16969
+ }
16970
+ }
16906
16971
  if (message.analysisStatusError != null && message.hasOwnProperty("analysisStatusError")) {
16907
16972
  var error = $root.google.rpc.Status.verify(message.analysisStatusError);
16908
16973
  if (error)
@@ -16976,6 +17041,10 @@
16976
17041
  message.analysisStatus = 2;
16977
17042
  break;
16978
17043
  case "FINISHED_SUCCESS":
17044
+ case 3:
17045
+ message.analysisStatus = 3;
17046
+ break;
17047
+ case "COMPLETE":
16979
17048
  case 3:
16980
17049
  message.analysisStatus = 3;
16981
17050
  break;
@@ -16988,6 +17057,21 @@
16988
17057
  message.analysisStatus = 5;
16989
17058
  break;
16990
17059
  }
17060
+ if (object.analysisCompleted != null) {
17061
+ if (typeof object.analysisCompleted !== "object")
17062
+ throw TypeError(".grafeas.v1.DiscoveryOccurrence.analysisCompleted: object expected");
17063
+ message.analysisCompleted = $root.grafeas.v1.DiscoveryOccurrence.AnalysisCompleted.fromObject(object.analysisCompleted);
17064
+ }
17065
+ if (object.analysisError) {
17066
+ if (!Array.isArray(object.analysisError))
17067
+ throw TypeError(".grafeas.v1.DiscoveryOccurrence.analysisError: array expected");
17068
+ message.analysisError = [];
17069
+ for (var i = 0; i < object.analysisError.length; ++i) {
17070
+ if (typeof object.analysisError[i] !== "object")
17071
+ throw TypeError(".grafeas.v1.DiscoveryOccurrence.analysisError: object expected");
17072
+ message.analysisError[i] = $root.google.rpc.Status.fromObject(object.analysisError[i]);
17073
+ }
17074
+ }
16991
17075
  if (object.analysisStatusError != null) {
16992
17076
  if (typeof object.analysisStatusError !== "object")
16993
17077
  throw TypeError(".grafeas.v1.DiscoveryOccurrence.analysisStatusError: object expected");
@@ -17021,6 +17105,8 @@
17021
17105
  if (!options)
17022
17106
  options = {};
17023
17107
  var object = {};
17108
+ if (options.arrays || options.defaults)
17109
+ object.analysisError = [];
17024
17110
  if (options.defaults) {
17025
17111
  object.continuousAnalysis = options.enums === String ? "CONTINUOUS_ANALYSIS_UNSPECIFIED" : 0;
17026
17112
  object.analysisStatus = options.enums === String ? "ANALYSIS_STATUS_UNSPECIFIED" : 0;
@@ -17028,6 +17114,7 @@
17028
17114
  object.cpe = "";
17029
17115
  object.lastScanTime = null;
17030
17116
  object.archiveTime = null;
17117
+ object.analysisCompleted = null;
17031
17118
  }
17032
17119
  if (message.continuousAnalysis != null && message.hasOwnProperty("continuousAnalysis"))
17033
17120
  object.continuousAnalysis = options.enums === String ? $root.grafeas.v1.DiscoveryOccurrence.ContinuousAnalysis[message.continuousAnalysis] === undefined ? message.continuousAnalysis : $root.grafeas.v1.DiscoveryOccurrence.ContinuousAnalysis[message.continuousAnalysis] : message.continuousAnalysis;
@@ -17041,6 +17128,13 @@
17041
17128
  object.lastScanTime = $root.google.protobuf.Timestamp.toObject(message.lastScanTime, options);
17042
17129
  if (message.archiveTime != null && message.hasOwnProperty("archiveTime"))
17043
17130
  object.archiveTime = $root.google.protobuf.Timestamp.toObject(message.archiveTime, options);
17131
+ if (message.analysisCompleted != null && message.hasOwnProperty("analysisCompleted"))
17132
+ object.analysisCompleted = $root.grafeas.v1.DiscoveryOccurrence.AnalysisCompleted.toObject(message.analysisCompleted, options);
17133
+ if (message.analysisError && message.analysisError.length) {
17134
+ object.analysisError = [];
17135
+ for (var j = 0; j < message.analysisError.length; ++j)
17136
+ object.analysisError[j] = $root.google.rpc.Status.toObject(message.analysisError[j], options);
17137
+ }
17044
17138
  return object;
17045
17139
  };
17046
17140
 
@@ -17094,6 +17188,7 @@
17094
17188
  * @property {number} PENDING=1 PENDING value
17095
17189
  * @property {number} SCANNING=2 SCANNING value
17096
17190
  * @property {number} FINISHED_SUCCESS=3 FINISHED_SUCCESS value
17191
+ * @property {number} COMPLETE=3 COMPLETE value
17097
17192
  * @property {number} FINISHED_FAILED=4 FINISHED_FAILED value
17098
17193
  * @property {number} FINISHED_UNSUPPORTED=5 FINISHED_UNSUPPORTED value
17099
17194
  */
@@ -17103,11 +17198,231 @@
17103
17198
  values[valuesById[1] = "PENDING"] = 1;
17104
17199
  values[valuesById[2] = "SCANNING"] = 2;
17105
17200
  values[valuesById[3] = "FINISHED_SUCCESS"] = 3;
17201
+ values["COMPLETE"] = 3;
17106
17202
  values[valuesById[4] = "FINISHED_FAILED"] = 4;
17107
17203
  values[valuesById[5] = "FINISHED_UNSUPPORTED"] = 5;
17108
17204
  return values;
17109
17205
  })();
17110
17206
 
17207
+ DiscoveryOccurrence.AnalysisCompleted = (function() {
17208
+
17209
+ /**
17210
+ * Properties of an AnalysisCompleted.
17211
+ * @memberof grafeas.v1.DiscoveryOccurrence
17212
+ * @interface IAnalysisCompleted
17213
+ * @property {Array.<string>|null} [analysisType] AnalysisCompleted analysisType
17214
+ */
17215
+
17216
+ /**
17217
+ * Constructs a new AnalysisCompleted.
17218
+ * @memberof grafeas.v1.DiscoveryOccurrence
17219
+ * @classdesc Represents an AnalysisCompleted.
17220
+ * @implements IAnalysisCompleted
17221
+ * @constructor
17222
+ * @param {grafeas.v1.DiscoveryOccurrence.IAnalysisCompleted=} [properties] Properties to set
17223
+ */
17224
+ function AnalysisCompleted(properties) {
17225
+ this.analysisType = [];
17226
+ if (properties)
17227
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
17228
+ if (properties[keys[i]] != null)
17229
+ this[keys[i]] = properties[keys[i]];
17230
+ }
17231
+
17232
+ /**
17233
+ * AnalysisCompleted analysisType.
17234
+ * @member {Array.<string>} analysisType
17235
+ * @memberof grafeas.v1.DiscoveryOccurrence.AnalysisCompleted
17236
+ * @instance
17237
+ */
17238
+ AnalysisCompleted.prototype.analysisType = $util.emptyArray;
17239
+
17240
+ /**
17241
+ * Creates a new AnalysisCompleted instance using the specified properties.
17242
+ * @function create
17243
+ * @memberof grafeas.v1.DiscoveryOccurrence.AnalysisCompleted
17244
+ * @static
17245
+ * @param {grafeas.v1.DiscoveryOccurrence.IAnalysisCompleted=} [properties] Properties to set
17246
+ * @returns {grafeas.v1.DiscoveryOccurrence.AnalysisCompleted} AnalysisCompleted instance
17247
+ */
17248
+ AnalysisCompleted.create = function create(properties) {
17249
+ return new AnalysisCompleted(properties);
17250
+ };
17251
+
17252
+ /**
17253
+ * Encodes the specified AnalysisCompleted message. Does not implicitly {@link grafeas.v1.DiscoveryOccurrence.AnalysisCompleted.verify|verify} messages.
17254
+ * @function encode
17255
+ * @memberof grafeas.v1.DiscoveryOccurrence.AnalysisCompleted
17256
+ * @static
17257
+ * @param {grafeas.v1.DiscoveryOccurrence.IAnalysisCompleted} message AnalysisCompleted message or plain object to encode
17258
+ * @param {$protobuf.Writer} [writer] Writer to encode to
17259
+ * @returns {$protobuf.Writer} Writer
17260
+ */
17261
+ AnalysisCompleted.encode = function encode(message, writer) {
17262
+ if (!writer)
17263
+ writer = $Writer.create();
17264
+ if (message.analysisType != null && message.analysisType.length)
17265
+ for (var i = 0; i < message.analysisType.length; ++i)
17266
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.analysisType[i]);
17267
+ return writer;
17268
+ };
17269
+
17270
+ /**
17271
+ * Encodes the specified AnalysisCompleted message, length delimited. Does not implicitly {@link grafeas.v1.DiscoveryOccurrence.AnalysisCompleted.verify|verify} messages.
17272
+ * @function encodeDelimited
17273
+ * @memberof grafeas.v1.DiscoveryOccurrence.AnalysisCompleted
17274
+ * @static
17275
+ * @param {grafeas.v1.DiscoveryOccurrence.IAnalysisCompleted} message AnalysisCompleted message or plain object to encode
17276
+ * @param {$protobuf.Writer} [writer] Writer to encode to
17277
+ * @returns {$protobuf.Writer} Writer
17278
+ */
17279
+ AnalysisCompleted.encodeDelimited = function encodeDelimited(message, writer) {
17280
+ return this.encode(message, writer).ldelim();
17281
+ };
17282
+
17283
+ /**
17284
+ * Decodes an AnalysisCompleted message from the specified reader or buffer.
17285
+ * @function decode
17286
+ * @memberof grafeas.v1.DiscoveryOccurrence.AnalysisCompleted
17287
+ * @static
17288
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
17289
+ * @param {number} [length] Message length if known beforehand
17290
+ * @returns {grafeas.v1.DiscoveryOccurrence.AnalysisCompleted} AnalysisCompleted
17291
+ * @throws {Error} If the payload is not a reader or valid buffer
17292
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
17293
+ */
17294
+ AnalysisCompleted.decode = function decode(reader, length) {
17295
+ if (!(reader instanceof $Reader))
17296
+ reader = $Reader.create(reader);
17297
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.grafeas.v1.DiscoveryOccurrence.AnalysisCompleted();
17298
+ while (reader.pos < end) {
17299
+ var tag = reader.uint32();
17300
+ switch (tag >>> 3) {
17301
+ case 1: {
17302
+ if (!(message.analysisType && message.analysisType.length))
17303
+ message.analysisType = [];
17304
+ message.analysisType.push(reader.string());
17305
+ break;
17306
+ }
17307
+ default:
17308
+ reader.skipType(tag & 7);
17309
+ break;
17310
+ }
17311
+ }
17312
+ return message;
17313
+ };
17314
+
17315
+ /**
17316
+ * Decodes an AnalysisCompleted message from the specified reader or buffer, length delimited.
17317
+ * @function decodeDelimited
17318
+ * @memberof grafeas.v1.DiscoveryOccurrence.AnalysisCompleted
17319
+ * @static
17320
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
17321
+ * @returns {grafeas.v1.DiscoveryOccurrence.AnalysisCompleted} AnalysisCompleted
17322
+ * @throws {Error} If the payload is not a reader or valid buffer
17323
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
17324
+ */
17325
+ AnalysisCompleted.decodeDelimited = function decodeDelimited(reader) {
17326
+ if (!(reader instanceof $Reader))
17327
+ reader = new $Reader(reader);
17328
+ return this.decode(reader, reader.uint32());
17329
+ };
17330
+
17331
+ /**
17332
+ * Verifies an AnalysisCompleted message.
17333
+ * @function verify
17334
+ * @memberof grafeas.v1.DiscoveryOccurrence.AnalysisCompleted
17335
+ * @static
17336
+ * @param {Object.<string,*>} message Plain object to verify
17337
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
17338
+ */
17339
+ AnalysisCompleted.verify = function verify(message) {
17340
+ if (typeof message !== "object" || message === null)
17341
+ return "object expected";
17342
+ if (message.analysisType != null && message.hasOwnProperty("analysisType")) {
17343
+ if (!Array.isArray(message.analysisType))
17344
+ return "analysisType: array expected";
17345
+ for (var i = 0; i < message.analysisType.length; ++i)
17346
+ if (!$util.isString(message.analysisType[i]))
17347
+ return "analysisType: string[] expected";
17348
+ }
17349
+ return null;
17350
+ };
17351
+
17352
+ /**
17353
+ * Creates an AnalysisCompleted message from a plain object. Also converts values to their respective internal types.
17354
+ * @function fromObject
17355
+ * @memberof grafeas.v1.DiscoveryOccurrence.AnalysisCompleted
17356
+ * @static
17357
+ * @param {Object.<string,*>} object Plain object
17358
+ * @returns {grafeas.v1.DiscoveryOccurrence.AnalysisCompleted} AnalysisCompleted
17359
+ */
17360
+ AnalysisCompleted.fromObject = function fromObject(object) {
17361
+ if (object instanceof $root.grafeas.v1.DiscoveryOccurrence.AnalysisCompleted)
17362
+ return object;
17363
+ var message = new $root.grafeas.v1.DiscoveryOccurrence.AnalysisCompleted();
17364
+ if (object.analysisType) {
17365
+ if (!Array.isArray(object.analysisType))
17366
+ throw TypeError(".grafeas.v1.DiscoveryOccurrence.AnalysisCompleted.analysisType: array expected");
17367
+ message.analysisType = [];
17368
+ for (var i = 0; i < object.analysisType.length; ++i)
17369
+ message.analysisType[i] = String(object.analysisType[i]);
17370
+ }
17371
+ return message;
17372
+ };
17373
+
17374
+ /**
17375
+ * Creates a plain object from an AnalysisCompleted message. Also converts values to other types if specified.
17376
+ * @function toObject
17377
+ * @memberof grafeas.v1.DiscoveryOccurrence.AnalysisCompleted
17378
+ * @static
17379
+ * @param {grafeas.v1.DiscoveryOccurrence.AnalysisCompleted} message AnalysisCompleted
17380
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
17381
+ * @returns {Object.<string,*>} Plain object
17382
+ */
17383
+ AnalysisCompleted.toObject = function toObject(message, options) {
17384
+ if (!options)
17385
+ options = {};
17386
+ var object = {};
17387
+ if (options.arrays || options.defaults)
17388
+ object.analysisType = [];
17389
+ if (message.analysisType && message.analysisType.length) {
17390
+ object.analysisType = [];
17391
+ for (var j = 0; j < message.analysisType.length; ++j)
17392
+ object.analysisType[j] = message.analysisType[j];
17393
+ }
17394
+ return object;
17395
+ };
17396
+
17397
+ /**
17398
+ * Converts this AnalysisCompleted to JSON.
17399
+ * @function toJSON
17400
+ * @memberof grafeas.v1.DiscoveryOccurrence.AnalysisCompleted
17401
+ * @instance
17402
+ * @returns {Object.<string,*>} JSON object
17403
+ */
17404
+ AnalysisCompleted.prototype.toJSON = function toJSON() {
17405
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
17406
+ };
17407
+
17408
+ /**
17409
+ * Gets the default type url for AnalysisCompleted
17410
+ * @function getTypeUrl
17411
+ * @memberof grafeas.v1.DiscoveryOccurrence.AnalysisCompleted
17412
+ * @static
17413
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
17414
+ * @returns {string} The default type url
17415
+ */
17416
+ AnalysisCompleted.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
17417
+ if (typeUrlPrefix === undefined) {
17418
+ typeUrlPrefix = "type.googleapis.com";
17419
+ }
17420
+ return typeUrlPrefix + "/grafeas.v1.DiscoveryOccurrence.AnalysisCompleted";
17421
+ };
17422
+
17423
+ return AnalysisCompleted;
17424
+ })();
17425
+
17111
17426
  return DiscoveryOccurrence;
17112
17427
  })();
17113
17428
 
@@ -29162,6 +29477,7 @@
29162
29477
  * @property {grafeas.v1.ICVSSv3|null} [cvssV3] VulnerabilityNote cvssV3
29163
29478
  * @property {Array.<grafeas.v1.VulnerabilityNote.IWindowsDetail>|null} [windowsDetails] VulnerabilityNote windowsDetails
29164
29479
  * @property {google.protobuf.ITimestamp|null} [sourceUpdateTime] VulnerabilityNote sourceUpdateTime
29480
+ * @property {grafeas.v1.CVSSVersion|null} [cvssVersion] VulnerabilityNote cvssVersion
29165
29481
  */
29166
29482
 
29167
29483
  /**
@@ -29229,6 +29545,14 @@
29229
29545
  */
29230
29546
  VulnerabilityNote.prototype.sourceUpdateTime = null;
29231
29547
 
29548
+ /**
29549
+ * VulnerabilityNote cvssVersion.
29550
+ * @member {grafeas.v1.CVSSVersion} cvssVersion
29551
+ * @memberof grafeas.v1.VulnerabilityNote
29552
+ * @instance
29553
+ */
29554
+ VulnerabilityNote.prototype.cvssVersion = 0;
29555
+
29232
29556
  /**
29233
29557
  * Creates a new VulnerabilityNote instance using the specified properties.
29234
29558
  * @function create
@@ -29267,6 +29591,8 @@
29267
29591
  $root.grafeas.v1.VulnerabilityNote.WindowsDetail.encode(message.windowsDetails[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
29268
29592
  if (message.sourceUpdateTime != null && Object.hasOwnProperty.call(message, "sourceUpdateTime"))
29269
29593
  $root.google.protobuf.Timestamp.encode(message.sourceUpdateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
29594
+ if (message.cvssVersion != null && Object.hasOwnProperty.call(message, "cvssVersion"))
29595
+ writer.uint32(/* id 7, wireType 0 =*/56).int32(message.cvssVersion);
29270
29596
  return writer;
29271
29597
  };
29272
29598
 
@@ -29329,6 +29655,10 @@
29329
29655
  message.sourceUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
29330
29656
  break;
29331
29657
  }
29658
+ case 7: {
29659
+ message.cvssVersion = reader.int32();
29660
+ break;
29661
+ }
29332
29662
  default:
29333
29663
  reader.skipType(tag & 7);
29334
29664
  break;
@@ -29407,6 +29737,15 @@
29407
29737
  if (error)
29408
29738
  return "sourceUpdateTime." + error;
29409
29739
  }
29740
+ if (message.cvssVersion != null && message.hasOwnProperty("cvssVersion"))
29741
+ switch (message.cvssVersion) {
29742
+ default:
29743
+ return "cvssVersion: enum value expected";
29744
+ case 0:
29745
+ case 1:
29746
+ case 2:
29747
+ break;
29748
+ }
29410
29749
  return null;
29411
29750
  };
29412
29751
 
@@ -29486,6 +29825,26 @@
29486
29825
  throw TypeError(".grafeas.v1.VulnerabilityNote.sourceUpdateTime: object expected");
29487
29826
  message.sourceUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.sourceUpdateTime);
29488
29827
  }
29828
+ switch (object.cvssVersion) {
29829
+ default:
29830
+ if (typeof object.cvssVersion === "number") {
29831
+ message.cvssVersion = object.cvssVersion;
29832
+ break;
29833
+ }
29834
+ break;
29835
+ case "CVSS_VERSION_UNSPECIFIED":
29836
+ case 0:
29837
+ message.cvssVersion = 0;
29838
+ break;
29839
+ case "CVSS_VERSION_2":
29840
+ case 1:
29841
+ message.cvssVersion = 1;
29842
+ break;
29843
+ case "CVSS_VERSION_3":
29844
+ case 2:
29845
+ message.cvssVersion = 2;
29846
+ break;
29847
+ }
29489
29848
  return message;
29490
29849
  };
29491
29850
 
@@ -29511,6 +29870,7 @@
29511
29870
  object.severity = options.enums === String ? "SEVERITY_UNSPECIFIED" : 0;
29512
29871
  object.cvssV3 = null;
29513
29872
  object.sourceUpdateTime = null;
29873
+ object.cvssVersion = options.enums === String ? "CVSS_VERSION_UNSPECIFIED" : 0;
29514
29874
  }
29515
29875
  if (message.cvssScore != null && message.hasOwnProperty("cvssScore"))
29516
29876
  object.cvssScore = options.json && !isFinite(message.cvssScore) ? String(message.cvssScore) : message.cvssScore;
@@ -29530,6 +29890,8 @@
29530
29890
  }
29531
29891
  if (message.sourceUpdateTime != null && message.hasOwnProperty("sourceUpdateTime"))
29532
29892
  object.sourceUpdateTime = $root.google.protobuf.Timestamp.toObject(message.sourceUpdateTime, options);
29893
+ if (message.cvssVersion != null && message.hasOwnProperty("cvssVersion"))
29894
+ object.cvssVersion = options.enums === String ? $root.grafeas.v1.CVSSVersion[message.cvssVersion] === undefined ? message.cvssVersion : $root.grafeas.v1.CVSSVersion[message.cvssVersion] : message.cvssVersion;
29533
29895
  return object;
29534
29896
  };
29535
29897
 
@@ -30623,6 +30985,7 @@
30623
30985
  * @property {Array.<grafeas.v1.IRelatedUrl>|null} [relatedUrls] VulnerabilityOccurrence relatedUrls
30624
30986
  * @property {grafeas.v1.Severity|null} [effectiveSeverity] VulnerabilityOccurrence effectiveSeverity
30625
30987
  * @property {boolean|null} [fixAvailable] VulnerabilityOccurrence fixAvailable
30988
+ * @property {grafeas.v1.CVSSVersion|null} [cvssVersion] VulnerabilityOccurrence cvssVersion
30626
30989
  */
30627
30990
 
30628
30991
  /**
@@ -30722,6 +31085,14 @@
30722
31085
  */
30723
31086
  VulnerabilityOccurrence.prototype.fixAvailable = false;
30724
31087
 
31088
+ /**
31089
+ * VulnerabilityOccurrence cvssVersion.
31090
+ * @member {grafeas.v1.CVSSVersion} cvssVersion
31091
+ * @memberof grafeas.v1.VulnerabilityOccurrence
31092
+ * @instance
31093
+ */
31094
+ VulnerabilityOccurrence.prototype.cvssVersion = 0;
31095
+
30725
31096
  /**
30726
31097
  * Creates a new VulnerabilityOccurrence instance using the specified properties.
30727
31098
  * @function create
@@ -30768,6 +31139,8 @@
30768
31139
  writer.uint32(/* id 9, wireType 0 =*/72).bool(message.fixAvailable);
30769
31140
  if (message.cvssv3 != null && Object.hasOwnProperty.call(message, "cvssv3"))
30770
31141
  $root.grafeas.v1.CVSS.encode(message.cvssv3, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
31142
+ if (message.cvssVersion != null && Object.hasOwnProperty.call(message, "cvssVersion"))
31143
+ writer.uint32(/* id 11, wireType 0 =*/88).int32(message.cvssVersion);
30771
31144
  return writer;
30772
31145
  };
30773
31146
 
@@ -30846,6 +31219,10 @@
30846
31219
  message.fixAvailable = reader.bool();
30847
31220
  break;
30848
31221
  }
31222
+ case 11: {
31223
+ message.cvssVersion = reader.int32();
31224
+ break;
31225
+ }
30849
31226
  default:
30850
31227
  reader.skipType(tag & 7);
30851
31228
  break;
@@ -30943,6 +31320,15 @@
30943
31320
  if (message.fixAvailable != null && message.hasOwnProperty("fixAvailable"))
30944
31321
  if (typeof message.fixAvailable !== "boolean")
30945
31322
  return "fixAvailable: boolean expected";
31323
+ if (message.cvssVersion != null && message.hasOwnProperty("cvssVersion"))
31324
+ switch (message.cvssVersion) {
31325
+ default:
31326
+ return "cvssVersion: enum value expected";
31327
+ case 0:
31328
+ case 1:
31329
+ case 2:
31330
+ break;
31331
+ }
30946
31332
  return null;
30947
31333
  };
30948
31334
 
@@ -31057,6 +31443,26 @@
31057
31443
  }
31058
31444
  if (object.fixAvailable != null)
31059
31445
  message.fixAvailable = Boolean(object.fixAvailable);
31446
+ switch (object.cvssVersion) {
31447
+ default:
31448
+ if (typeof object.cvssVersion === "number") {
31449
+ message.cvssVersion = object.cvssVersion;
31450
+ break;
31451
+ }
31452
+ break;
31453
+ case "CVSS_VERSION_UNSPECIFIED":
31454
+ case 0:
31455
+ message.cvssVersion = 0;
31456
+ break;
31457
+ case "CVSS_VERSION_2":
31458
+ case 1:
31459
+ message.cvssVersion = 1;
31460
+ break;
31461
+ case "CVSS_VERSION_3":
31462
+ case 2:
31463
+ message.cvssVersion = 2;
31464
+ break;
31465
+ }
31060
31466
  return message;
31061
31467
  };
31062
31468
 
@@ -31086,6 +31492,7 @@
31086
31492
  object.effectiveSeverity = options.enums === String ? "SEVERITY_UNSPECIFIED" : 0;
31087
31493
  object.fixAvailable = false;
31088
31494
  object.cvssv3 = null;
31495
+ object.cvssVersion = options.enums === String ? "CVSS_VERSION_UNSPECIFIED" : 0;
31089
31496
  }
31090
31497
  if (message.type != null && message.hasOwnProperty("type"))
31091
31498
  object.type = message.type;
@@ -31113,6 +31520,8 @@
31113
31520
  object.fixAvailable = message.fixAvailable;
31114
31521
  if (message.cvssv3 != null && message.hasOwnProperty("cvssv3"))
31115
31522
  object.cvssv3 = $root.grafeas.v1.CVSS.toObject(message.cvssv3, options);
31523
+ if (message.cvssVersion != null && message.hasOwnProperty("cvssVersion"))
31524
+ object.cvssVersion = options.enums === String ? $root.grafeas.v1.CVSSVersion[message.cvssVersion] === undefined ? message.cvssVersion : $root.grafeas.v1.CVSSVersion[message.cvssVersion] : message.cvssVersion;
31116
31525
  return object;
31117
31526
  };
31118
31527
 
@@ -1178,6 +1178,13 @@
1178
1178
  }
1179
1179
  }
1180
1180
  },
1181
+ "CVSSVersion": {
1182
+ "values": {
1183
+ "CVSS_VERSION_UNSPECIFIED": 0,
1184
+ "CVSS_VERSION_2": 1,
1185
+ "CVSS_VERSION_3": 2
1186
+ }
1187
+ },
1181
1188
  "DeploymentNote": {
1182
1189
  "fields": {
1183
1190
  "resourceUri": {
@@ -1248,6 +1255,15 @@
1248
1255
  "type": "AnalysisStatus",
1249
1256
  "id": 2
1250
1257
  },
1258
+ "analysisCompleted": {
1259
+ "type": "AnalysisCompleted",
1260
+ "id": 7
1261
+ },
1262
+ "analysisError": {
1263
+ "rule": "repeated",
1264
+ "type": "google.rpc.Status",
1265
+ "id": 8
1266
+ },
1251
1267
  "analysisStatusError": {
1252
1268
  "type": "google.rpc.Status",
1253
1269
  "id": 3
@@ -1277,14 +1293,27 @@
1277
1293
  }
1278
1294
  },
1279
1295
  "AnalysisStatus": {
1296
+ "options": {
1297
+ "allow_alias": true
1298
+ },
1280
1299
  "values": {
1281
1300
  "ANALYSIS_STATUS_UNSPECIFIED": 0,
1282
1301
  "PENDING": 1,
1283
1302
  "SCANNING": 2,
1284
1303
  "FINISHED_SUCCESS": 3,
1304
+ "COMPLETE": 3,
1285
1305
  "FINISHED_FAILED": 4,
1286
1306
  "FINISHED_UNSUPPORTED": 5
1287
1307
  }
1308
+ },
1309
+ "AnalysisCompleted": {
1310
+ "fields": {
1311
+ "analysisType": {
1312
+ "rule": "repeated",
1313
+ "type": "string",
1314
+ "id": 1
1315
+ }
1316
+ }
1288
1317
  }
1289
1318
  }
1290
1319
  },
@@ -2518,6 +2547,10 @@
2518
2547
  "sourceUpdateTime": {
2519
2548
  "type": "google.protobuf.Timestamp",
2520
2549
  "id": 6
2550
+ },
2551
+ "cvssVersion": {
2552
+ "type": "grafeas.v1.CVSSVersion",
2553
+ "id": 7
2521
2554
  }
2522
2555
  },
2523
2556
  "nested": {
@@ -2661,6 +2694,10 @@
2661
2694
  "fixAvailable": {
2662
2695
  "type": "bool",
2663
2696
  "id": 9
2697
+ },
2698
+ "cvssVersion": {
2699
+ "type": "grafeas.v1.CVSSVersion",
2700
+ "id": 11
2664
2701
  }
2665
2702
  },
2666
2703
  "nested": {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "repository": "googleapis/nodejs-containeranalysis",
3
3
  "name": "@google-cloud/containeranalysis",
4
- "version": "4.3.0",
4
+ "version": "4.4.0",
5
5
  "author": "Google LLC",
6
6
  "description": "Container Analysis API client for Node.js",
7
7
  "main": "build/src/index.js",