115 lines
4.7 KiB
Protocol Buffer
115 lines
4.7 KiB
Protocol Buffer
// Copyright 2019 The Grafeas Authors. All rights reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
syntax = "proto3";
|
|
|
|
package grafeas.v1;
|
|
|
|
import "google/protobuf/timestamp.proto";
|
|
import "grafeas/v1/package.proto";
|
|
|
|
option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
|
|
option java_multiple_files = true;
|
|
option java_package = "io.grafeas.v1";
|
|
option objc_class_prefix = "GRA";
|
|
|
|
// An Upgrade Note represents a potential upgrade of a package to a given
|
|
// version. For each package version combination (i.e. bash 4.0, bash 4.1,
|
|
// bash 4.1.2), there will be an Upgrade Note. For Windows, windows_update field
|
|
// represents the information related to the update.
|
|
message UpgradeNote {
|
|
// Required for non-Windows OS. The package this Upgrade is for.
|
|
string package = 1;
|
|
// Required for non-Windows OS. The version of the package in machine + human
|
|
// readable form.
|
|
grafeas.v1.Version version = 2;
|
|
// Metadata about the upgrade for each specific operating system.
|
|
repeated UpgradeDistribution distributions = 3;
|
|
// Required for Windows OS. Represents the metadata about the Windows update.
|
|
WindowsUpdate windows_update = 4;
|
|
}
|
|
|
|
// The Upgrade Distribution represents metadata about the Upgrade for each
|
|
// operating system (CPE). Some distributions have additional metadata around
|
|
// updates, classifying them into various categories and severities.
|
|
message UpgradeDistribution {
|
|
// Required - The specific operating system this metadata applies to. See
|
|
// https://cpe.mitre.org/specification/.
|
|
string cpe_uri = 1;
|
|
// The operating system classification of this Upgrade, as specified by the
|
|
// upstream operating system upgrade feed. For Windows the classification is
|
|
// one of the category_ids listed at
|
|
// https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ff357803(v=vs.85)
|
|
string classification = 2;
|
|
// The severity as specified by the upstream operating system.
|
|
string severity = 3;
|
|
// The cve tied to this Upgrade.
|
|
repeated string cve = 4;
|
|
}
|
|
|
|
// Windows Update represents the metadata about the update for the Windows
|
|
// operating system. The fields in this message come from the Windows Update API
|
|
// documented at
|
|
// https://docs.microsoft.com/en-us/windows/win32/api/wuapi/nn-wuapi-iupdate.
|
|
message WindowsUpdate {
|
|
// The unique identifier of the update.
|
|
message Identity {
|
|
// The revision independent identifier of the update.
|
|
string update_id = 1;
|
|
// The revision number of the update.
|
|
int32 revision = 2;
|
|
}
|
|
// Required - The unique identifier for the update.
|
|
Identity identity = 1;
|
|
// The localized title of the update.
|
|
string title = 2;
|
|
// The localized description of the update.
|
|
string description = 3;
|
|
// The category to which the update belongs.
|
|
message Category {
|
|
// The identifier of the category.
|
|
string category_id = 1;
|
|
// The localized name of the category.
|
|
string name = 2;
|
|
}
|
|
// The list of categories to which the update belongs.
|
|
repeated Category categories = 4;
|
|
// The Microsoft Knowledge Base article IDs that are associated with the
|
|
// update.
|
|
repeated string kb_article_ids = 5;
|
|
// The hyperlink to the support information for the update.
|
|
string support_url = 6;
|
|
// The last published timestamp of the update.
|
|
google.protobuf.Timestamp last_published_timestamp = 7;
|
|
}
|
|
|
|
// An Upgrade Occurrence represents that a specific resource_url could install a
|
|
// specific upgrade. This presence is supplied via local sources (i.e. it is
|
|
// present in the mirror and the running system has noticed its availability).
|
|
// For Windows, both distribution and windows_update contain information for the
|
|
// Windows update.
|
|
message UpgradeOccurrence {
|
|
// Required for non-Windows OS. The package this Upgrade is for.
|
|
string package = 1;
|
|
// Required for non-Windows OS. The version of the package in a machine +
|
|
// human readable form.
|
|
grafeas.v1.Version parsed_version = 3;
|
|
// Metadata about the upgrade for available for the specific operating system
|
|
// for the resource_url. This allows efficient filtering, as well as
|
|
// making it easier to use the occurrence.
|
|
UpgradeDistribution distribution = 4;
|
|
// Required for Windows OS. Represents the metadata about the Windows update.
|
|
WindowsUpdate windows_update = 5;
|
|
}
|