1*d5c09012SAndroid Build Coastguard Worker// Copyright 2019 The Grafeas Authors. All rights reserved. 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage grafeas.v1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "grafeas/v1/package.proto"; 21*d5c09012SAndroid Build Coastguard Worker 22*d5c09012SAndroid Build Coastguard Workeroption go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas"; 23*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 24*d5c09012SAndroid Build Coastguard Workeroption java_package = "io.grafeas.v1"; 25*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "GRA"; 26*d5c09012SAndroid Build Coastguard Worker 27*d5c09012SAndroid Build Coastguard Worker// An Upgrade Note represents a potential upgrade of a package to a given 28*d5c09012SAndroid Build Coastguard Worker// version. For each package version combination (i.e. bash 4.0, bash 4.1, 29*d5c09012SAndroid Build Coastguard Worker// bash 4.1.2), there will be an Upgrade Note. For Windows, windows_update field 30*d5c09012SAndroid Build Coastguard Worker// represents the information related to the update. 31*d5c09012SAndroid Build Coastguard Workermessage UpgradeNote { 32*d5c09012SAndroid Build Coastguard Worker // Required for non-Windows OS. The package this Upgrade is for. 33*d5c09012SAndroid Build Coastguard Worker string package = 1; 34*d5c09012SAndroid Build Coastguard Worker // Required for non-Windows OS. The version of the package in machine + human 35*d5c09012SAndroid Build Coastguard Worker // readable form. 36*d5c09012SAndroid Build Coastguard Worker grafeas.v1.Version version = 2; 37*d5c09012SAndroid Build Coastguard Worker // Metadata about the upgrade for each specific operating system. 38*d5c09012SAndroid Build Coastguard Worker repeated UpgradeDistribution distributions = 3; 39*d5c09012SAndroid Build Coastguard Worker // Required for Windows OS. Represents the metadata about the Windows update. 40*d5c09012SAndroid Build Coastguard Worker WindowsUpdate windows_update = 4; 41*d5c09012SAndroid Build Coastguard Worker} 42*d5c09012SAndroid Build Coastguard Worker 43*d5c09012SAndroid Build Coastguard Worker// The Upgrade Distribution represents metadata about the Upgrade for each 44*d5c09012SAndroid Build Coastguard Worker// operating system (CPE). Some distributions have additional metadata around 45*d5c09012SAndroid Build Coastguard Worker// updates, classifying them into various categories and severities. 46*d5c09012SAndroid Build Coastguard Workermessage UpgradeDistribution { 47*d5c09012SAndroid Build Coastguard Worker // Required - The specific operating system this metadata applies to. See 48*d5c09012SAndroid Build Coastguard Worker // https://cpe.mitre.org/specification/. 49*d5c09012SAndroid Build Coastguard Worker string cpe_uri = 1; 50*d5c09012SAndroid Build Coastguard Worker // The operating system classification of this Upgrade, as specified by the 51*d5c09012SAndroid Build Coastguard Worker // upstream operating system upgrade feed. For Windows the classification is 52*d5c09012SAndroid Build Coastguard Worker // one of the category_ids listed at 53*d5c09012SAndroid Build Coastguard Worker // https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ff357803(v=vs.85) 54*d5c09012SAndroid Build Coastguard Worker string classification = 2; 55*d5c09012SAndroid Build Coastguard Worker // The severity as specified by the upstream operating system. 56*d5c09012SAndroid Build Coastguard Worker string severity = 3; 57*d5c09012SAndroid Build Coastguard Worker // The cve tied to this Upgrade. 58*d5c09012SAndroid Build Coastguard Worker repeated string cve = 4; 59*d5c09012SAndroid Build Coastguard Worker} 60*d5c09012SAndroid Build Coastguard Worker 61*d5c09012SAndroid Build Coastguard Worker// Windows Update represents the metadata about the update for the Windows 62*d5c09012SAndroid Build Coastguard Worker// operating system. The fields in this message come from the Windows Update API 63*d5c09012SAndroid Build Coastguard Worker// documented at 64*d5c09012SAndroid Build Coastguard Worker// https://docs.microsoft.com/en-us/windows/win32/api/wuapi/nn-wuapi-iupdate. 65*d5c09012SAndroid Build Coastguard Workermessage WindowsUpdate { 66*d5c09012SAndroid Build Coastguard Worker // The unique identifier of the update. 67*d5c09012SAndroid Build Coastguard Worker message Identity { 68*d5c09012SAndroid Build Coastguard Worker // The revision independent identifier of the update. 69*d5c09012SAndroid Build Coastguard Worker string update_id = 1; 70*d5c09012SAndroid Build Coastguard Worker // The revision number of the update. 71*d5c09012SAndroid Build Coastguard Worker int32 revision = 2; 72*d5c09012SAndroid Build Coastguard Worker } 73*d5c09012SAndroid Build Coastguard Worker // Required - The unique identifier for the update. 74*d5c09012SAndroid Build Coastguard Worker Identity identity = 1; 75*d5c09012SAndroid Build Coastguard Worker // The localized title of the update. 76*d5c09012SAndroid Build Coastguard Worker string title = 2; 77*d5c09012SAndroid Build Coastguard Worker // The localized description of the update. 78*d5c09012SAndroid Build Coastguard Worker string description = 3; 79*d5c09012SAndroid Build Coastguard Worker // The category to which the update belongs. 80*d5c09012SAndroid Build Coastguard Worker message Category { 81*d5c09012SAndroid Build Coastguard Worker // The identifier of the category. 82*d5c09012SAndroid Build Coastguard Worker string category_id = 1; 83*d5c09012SAndroid Build Coastguard Worker // The localized name of the category. 84*d5c09012SAndroid Build Coastguard Worker string name = 2; 85*d5c09012SAndroid Build Coastguard Worker } 86*d5c09012SAndroid Build Coastguard Worker // The list of categories to which the update belongs. 87*d5c09012SAndroid Build Coastguard Worker repeated Category categories = 4; 88*d5c09012SAndroid Build Coastguard Worker // The Microsoft Knowledge Base article IDs that are associated with the 89*d5c09012SAndroid Build Coastguard Worker // update. 90*d5c09012SAndroid Build Coastguard Worker repeated string kb_article_ids = 5; 91*d5c09012SAndroid Build Coastguard Worker // The hyperlink to the support information for the update. 92*d5c09012SAndroid Build Coastguard Worker string support_url = 6; 93*d5c09012SAndroid Build Coastguard Worker // The last published timestamp of the update. 94*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp last_published_timestamp = 7; 95*d5c09012SAndroid Build Coastguard Worker} 96*d5c09012SAndroid Build Coastguard Worker 97*d5c09012SAndroid Build Coastguard Worker// An Upgrade Occurrence represents that a specific resource_url could install a 98*d5c09012SAndroid Build Coastguard Worker// specific upgrade. This presence is supplied via local sources (i.e. it is 99*d5c09012SAndroid Build Coastguard Worker// present in the mirror and the running system has noticed its availability). 100*d5c09012SAndroid Build Coastguard Worker// For Windows, both distribution and windows_update contain information for the 101*d5c09012SAndroid Build Coastguard Worker// Windows update. 102*d5c09012SAndroid Build Coastguard Workermessage UpgradeOccurrence { 103*d5c09012SAndroid Build Coastguard Worker // Required for non-Windows OS. The package this Upgrade is for. 104*d5c09012SAndroid Build Coastguard Worker string package = 1; 105*d5c09012SAndroid Build Coastguard Worker // Required for non-Windows OS. The version of the package in a machine + 106*d5c09012SAndroid Build Coastguard Worker // human readable form. 107*d5c09012SAndroid Build Coastguard Worker grafeas.v1.Version parsed_version = 3; 108*d5c09012SAndroid Build Coastguard Worker // Metadata about the upgrade for available for the specific operating system 109*d5c09012SAndroid Build Coastguard Worker // for the resource_url. This allows efficient filtering, as well as 110*d5c09012SAndroid Build Coastguard Worker // making it easier to use the occurrence. 111*d5c09012SAndroid Build Coastguard Worker UpgradeDistribution distribution = 4; 112*d5c09012SAndroid Build Coastguard Worker // Required for Windows OS. Represents the metadata about the Windows update. 113*d5c09012SAndroid Build Coastguard Worker WindowsUpdate windows_update = 5; 114*d5c09012SAndroid Build Coastguard Worker} 115