1 /* 2 * Copyright 2019 The Grafeas Authors. All rights reserved. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * https://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 // Generated by the protocol buffer compiler. DO NOT EDIT! 18 // source: grafeas/v1/vulnerability.proto 19 20 package io.grafeas.v1; 21 22 public interface VulnerabilityOccurrenceOrBuilder 23 extends 24 // @@protoc_insertion_point(interface_extends:grafeas.v1.VulnerabilityOccurrence) 25 com.google.protobuf.MessageOrBuilder { 26 27 /** 28 * 29 * 30 * <pre> 31 * The type of package; whether native or non native (e.g., ruby gems, node.js 32 * packages, etc.). 33 * </pre> 34 * 35 * <code>string type = 1;</code> 36 * 37 * @return The type. 38 */ getType()39 java.lang.String getType(); 40 /** 41 * 42 * 43 * <pre> 44 * The type of package; whether native or non native (e.g., ruby gems, node.js 45 * packages, etc.). 46 * </pre> 47 * 48 * <code>string type = 1;</code> 49 * 50 * @return The bytes for type. 51 */ getTypeBytes()52 com.google.protobuf.ByteString getTypeBytes(); 53 54 /** 55 * 56 * 57 * <pre> 58 * Output only. The note provider assigned severity of this vulnerability. 59 * </pre> 60 * 61 * <code>.grafeas.v1.Severity severity = 2;</code> 62 * 63 * @return The enum numeric value on the wire for severity. 64 */ getSeverityValue()65 int getSeverityValue(); 66 /** 67 * 68 * 69 * <pre> 70 * Output only. The note provider assigned severity of this vulnerability. 71 * </pre> 72 * 73 * <code>.grafeas.v1.Severity severity = 2;</code> 74 * 75 * @return The severity. 76 */ getSeverity()77 io.grafeas.v1.Severity getSeverity(); 78 79 /** 80 * 81 * 82 * <pre> 83 * Output only. The CVSS score of this vulnerability. CVSS score is on a 84 * scale of 0 - 10 where 0 indicates low severity and 10 indicates high 85 * severity. 86 * </pre> 87 * 88 * <code>float cvss_score = 3;</code> 89 * 90 * @return The cvssScore. 91 */ getCvssScore()92 float getCvssScore(); 93 94 /** 95 * 96 * 97 * <pre> 98 * The cvss v3 score for the vulnerability. 99 * </pre> 100 * 101 * <code>.grafeas.v1.CVSS cvssv3 = 10;</code> 102 * 103 * @return Whether the cvssv3 field is set. 104 */ hasCvssv3()105 boolean hasCvssv3(); 106 /** 107 * 108 * 109 * <pre> 110 * The cvss v3 score for the vulnerability. 111 * </pre> 112 * 113 * <code>.grafeas.v1.CVSS cvssv3 = 10;</code> 114 * 115 * @return The cvssv3. 116 */ getCvssv3()117 io.grafeas.v1.CVSS getCvssv3(); 118 /** 119 * 120 * 121 * <pre> 122 * The cvss v3 score for the vulnerability. 123 * </pre> 124 * 125 * <code>.grafeas.v1.CVSS cvssv3 = 10;</code> 126 */ getCvssv3OrBuilder()127 io.grafeas.v1.CVSSOrBuilder getCvssv3OrBuilder(); 128 129 /** 130 * 131 * 132 * <pre> 133 * Required. The set of affected locations and their fixes (if available) 134 * within the associated resource. 135 * </pre> 136 * 137 * <code>repeated .grafeas.v1.VulnerabilityOccurrence.PackageIssue package_issue = 4;</code> 138 */ getPackageIssueList()139 java.util.List<io.grafeas.v1.VulnerabilityOccurrence.PackageIssue> getPackageIssueList(); 140 /** 141 * 142 * 143 * <pre> 144 * Required. The set of affected locations and their fixes (if available) 145 * within the associated resource. 146 * </pre> 147 * 148 * <code>repeated .grafeas.v1.VulnerabilityOccurrence.PackageIssue package_issue = 4;</code> 149 */ getPackageIssue(int index)150 io.grafeas.v1.VulnerabilityOccurrence.PackageIssue getPackageIssue(int index); 151 /** 152 * 153 * 154 * <pre> 155 * Required. The set of affected locations and their fixes (if available) 156 * within the associated resource. 157 * </pre> 158 * 159 * <code>repeated .grafeas.v1.VulnerabilityOccurrence.PackageIssue package_issue = 4;</code> 160 */ getPackageIssueCount()161 int getPackageIssueCount(); 162 /** 163 * 164 * 165 * <pre> 166 * Required. The set of affected locations and their fixes (if available) 167 * within the associated resource. 168 * </pre> 169 * 170 * <code>repeated .grafeas.v1.VulnerabilityOccurrence.PackageIssue package_issue = 4;</code> 171 */ 172 java.util.List<? extends io.grafeas.v1.VulnerabilityOccurrence.PackageIssueOrBuilder> getPackageIssueOrBuilderList()173 getPackageIssueOrBuilderList(); 174 /** 175 * 176 * 177 * <pre> 178 * Required. The set of affected locations and their fixes (if available) 179 * within the associated resource. 180 * </pre> 181 * 182 * <code>repeated .grafeas.v1.VulnerabilityOccurrence.PackageIssue package_issue = 4;</code> 183 */ getPackageIssueOrBuilder(int index)184 io.grafeas.v1.VulnerabilityOccurrence.PackageIssueOrBuilder getPackageIssueOrBuilder(int index); 185 186 /** 187 * 188 * 189 * <pre> 190 * Output only. A one sentence description of this vulnerability. 191 * </pre> 192 * 193 * <code>string short_description = 5;</code> 194 * 195 * @return The shortDescription. 196 */ getShortDescription()197 java.lang.String getShortDescription(); 198 /** 199 * 200 * 201 * <pre> 202 * Output only. A one sentence description of this vulnerability. 203 * </pre> 204 * 205 * <code>string short_description = 5;</code> 206 * 207 * @return The bytes for shortDescription. 208 */ getShortDescriptionBytes()209 com.google.protobuf.ByteString getShortDescriptionBytes(); 210 211 /** 212 * 213 * 214 * <pre> 215 * Output only. A detailed description of this vulnerability. 216 * </pre> 217 * 218 * <code>string long_description = 6;</code> 219 * 220 * @return The longDescription. 221 */ getLongDescription()222 java.lang.String getLongDescription(); 223 /** 224 * 225 * 226 * <pre> 227 * Output only. A detailed description of this vulnerability. 228 * </pre> 229 * 230 * <code>string long_description = 6;</code> 231 * 232 * @return The bytes for longDescription. 233 */ getLongDescriptionBytes()234 com.google.protobuf.ByteString getLongDescriptionBytes(); 235 236 /** 237 * 238 * 239 * <pre> 240 * Output only. URLs related to this vulnerability. 241 * </pre> 242 * 243 * <code>repeated .grafeas.v1.RelatedUrl related_urls = 7;</code> 244 */ getRelatedUrlsList()245 java.util.List<io.grafeas.v1.RelatedUrl> getRelatedUrlsList(); 246 /** 247 * 248 * 249 * <pre> 250 * Output only. URLs related to this vulnerability. 251 * </pre> 252 * 253 * <code>repeated .grafeas.v1.RelatedUrl related_urls = 7;</code> 254 */ getRelatedUrls(int index)255 io.grafeas.v1.RelatedUrl getRelatedUrls(int index); 256 /** 257 * 258 * 259 * <pre> 260 * Output only. URLs related to this vulnerability. 261 * </pre> 262 * 263 * <code>repeated .grafeas.v1.RelatedUrl related_urls = 7;</code> 264 */ getRelatedUrlsCount()265 int getRelatedUrlsCount(); 266 /** 267 * 268 * 269 * <pre> 270 * Output only. URLs related to this vulnerability. 271 * </pre> 272 * 273 * <code>repeated .grafeas.v1.RelatedUrl related_urls = 7;</code> 274 */ getRelatedUrlsOrBuilderList()275 java.util.List<? extends io.grafeas.v1.RelatedUrlOrBuilder> getRelatedUrlsOrBuilderList(); 276 /** 277 * 278 * 279 * <pre> 280 * Output only. URLs related to this vulnerability. 281 * </pre> 282 * 283 * <code>repeated .grafeas.v1.RelatedUrl related_urls = 7;</code> 284 */ getRelatedUrlsOrBuilder(int index)285 io.grafeas.v1.RelatedUrlOrBuilder getRelatedUrlsOrBuilder(int index); 286 287 /** 288 * 289 * 290 * <pre> 291 * The distro assigned severity for this vulnerability when it is available, 292 * otherwise this is the note provider assigned severity. 293 * When there are multiple PackageIssues for this vulnerability, they can have 294 * different effective severities because some might be provided by the distro 295 * while others are provided by the language ecosystem for a language pack. 296 * For this reason, it is advised to use the effective severity on the 297 * PackageIssue level. In the case where multiple PackageIssues have differing 298 * effective severities, this field should be the highest severity for any of 299 * the PackageIssues. 300 * </pre> 301 * 302 * <code>.grafeas.v1.Severity effective_severity = 8;</code> 303 * 304 * @return The enum numeric value on the wire for effectiveSeverity. 305 */ getEffectiveSeverityValue()306 int getEffectiveSeverityValue(); 307 /** 308 * 309 * 310 * <pre> 311 * The distro assigned severity for this vulnerability when it is available, 312 * otherwise this is the note provider assigned severity. 313 * When there are multiple PackageIssues for this vulnerability, they can have 314 * different effective severities because some might be provided by the distro 315 * while others are provided by the language ecosystem for a language pack. 316 * For this reason, it is advised to use the effective severity on the 317 * PackageIssue level. In the case where multiple PackageIssues have differing 318 * effective severities, this field should be the highest severity for any of 319 * the PackageIssues. 320 * </pre> 321 * 322 * <code>.grafeas.v1.Severity effective_severity = 8;</code> 323 * 324 * @return The effectiveSeverity. 325 */ getEffectiveSeverity()326 io.grafeas.v1.Severity getEffectiveSeverity(); 327 328 /** 329 * 330 * 331 * <pre> 332 * Output only. Whether at least one of the affected packages has a fix 333 * available. 334 * </pre> 335 * 336 * <code>bool fix_available = 9;</code> 337 * 338 * @return The fixAvailable. 339 */ getFixAvailable()340 boolean getFixAvailable(); 341 342 /** 343 * 344 * 345 * <pre> 346 * Output only. CVSS version used to populate cvss_score and severity. 347 * </pre> 348 * 349 * <code>.grafeas.v1.CVSSVersion cvss_version = 11;</code> 350 * 351 * @return The enum numeric value on the wire for cvssVersion. 352 */ getCvssVersionValue()353 int getCvssVersionValue(); 354 /** 355 * 356 * 357 * <pre> 358 * Output only. CVSS version used to populate cvss_score and severity. 359 * </pre> 360 * 361 * <code>.grafeas.v1.CVSSVersion cvss_version = 11;</code> 362 * 363 * @return The cvssVersion. 364 */ getCvssVersion()365 io.grafeas.v1.CVSSVersion getCvssVersion(); 366 367 /** 368 * 369 * 370 * <pre> 371 * The cvss v2 score for the vulnerability. 372 * </pre> 373 * 374 * <code>.grafeas.v1.CVSS cvss_v2 = 12;</code> 375 * 376 * @return Whether the cvssV2 field is set. 377 */ hasCvssV2()378 boolean hasCvssV2(); 379 /** 380 * 381 * 382 * <pre> 383 * The cvss v2 score for the vulnerability. 384 * </pre> 385 * 386 * <code>.grafeas.v1.CVSS cvss_v2 = 12;</code> 387 * 388 * @return The cvssV2. 389 */ getCvssV2()390 io.grafeas.v1.CVSS getCvssV2(); 391 /** 392 * 393 * 394 * <pre> 395 * The cvss v2 score for the vulnerability. 396 * </pre> 397 * 398 * <code>.grafeas.v1.CVSS cvss_v2 = 12;</code> 399 */ getCvssV2OrBuilder()400 io.grafeas.v1.CVSSOrBuilder getCvssV2OrBuilder(); 401 402 /** 403 * <code>.grafeas.v1.VulnerabilityOccurrence.VexAssessment vex_assessment = 13;</code> 404 * 405 * @return Whether the vexAssessment field is set. 406 */ hasVexAssessment()407 boolean hasVexAssessment(); 408 /** 409 * <code>.grafeas.v1.VulnerabilityOccurrence.VexAssessment vex_assessment = 13;</code> 410 * 411 * @return The vexAssessment. 412 */ getVexAssessment()413 io.grafeas.v1.VulnerabilityOccurrence.VexAssessment getVexAssessment(); 414 /** <code>.grafeas.v1.VulnerabilityOccurrence.VexAssessment vex_assessment = 13;</code> */ getVexAssessmentOrBuilder()415 io.grafeas.v1.VulnerabilityOccurrence.VexAssessmentOrBuilder getVexAssessmentOrBuilder(); 416 } 417