# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/osconfig/v1/vulnerability.proto

require 'google/api/field_behavior_pb'
require 'google/api/resource_pb'
require 'google/protobuf/timestamp_pb'
require 'google/protobuf'

Google::Protobuf::DescriptorPool.generated_pool.build do
  add_file("google/cloud/osconfig/v1/vulnerability.proto", :syntax => :proto3) do
    add_message "google.cloud.osconfig.v1.VulnerabilityReport" do
      optional :name, :string, 1
      repeated :vulnerabilities, :message, 2, "google.cloud.osconfig.v1.VulnerabilityReport.Vulnerability"
      optional :update_time, :message, 3, "google.protobuf.Timestamp"
    end
    add_message "google.cloud.osconfig.v1.VulnerabilityReport.Vulnerability" do
      optional :details, :message, 1, "google.cloud.osconfig.v1.VulnerabilityReport.Vulnerability.Details"
      repeated :installed_inventory_item_ids, :string, 2
      repeated :available_inventory_item_ids, :string, 3
      optional :create_time, :message, 4, "google.protobuf.Timestamp"
      optional :update_time, :message, 5, "google.protobuf.Timestamp"
    end
    add_message "google.cloud.osconfig.v1.VulnerabilityReport.Vulnerability.Details" do
      optional :cve, :string, 1
      optional :cvss_v2_score, :float, 2
      optional :cvss_v3, :message, 3, "google.cloud.osconfig.v1.CVSSv3"
      optional :severity, :string, 4
      optional :description, :string, 5
      repeated :references, :message, 6, "google.cloud.osconfig.v1.VulnerabilityReport.Vulnerability.Details.Reference"
    end
    add_message "google.cloud.osconfig.v1.VulnerabilityReport.Vulnerability.Details.Reference" do
      optional :url, :string, 1
      optional :source, :string, 2
    end
    add_message "google.cloud.osconfig.v1.GetVulnerabilityReportRequest" do
      optional :name, :string, 1
    end
    add_message "google.cloud.osconfig.v1.ListVulnerabilityReportsRequest" do
      optional :parent, :string, 1
      optional :page_size, :int32, 2
      optional :page_token, :string, 3
      optional :filter, :string, 4
    end
    add_message "google.cloud.osconfig.v1.ListVulnerabilityReportsResponse" do
      repeated :vulnerability_reports, :message, 1, "google.cloud.osconfig.v1.VulnerabilityReport"
      optional :next_page_token, :string, 2
    end
    add_message "google.cloud.osconfig.v1.CVSSv3" do
      optional :base_score, :float, 1
      optional :exploitability_score, :float, 2
      optional :impact_score, :float, 3
      optional :attack_vector, :enum, 5, "google.cloud.osconfig.v1.CVSSv3.AttackVector"
      optional :attack_complexity, :enum, 6, "google.cloud.osconfig.v1.CVSSv3.AttackComplexity"
      optional :privileges_required, :enum, 7, "google.cloud.osconfig.v1.CVSSv3.PrivilegesRequired"
      optional :user_interaction, :enum, 8, "google.cloud.osconfig.v1.CVSSv3.UserInteraction"
      optional :scope, :enum, 9, "google.cloud.osconfig.v1.CVSSv3.Scope"
      optional :confidentiality_impact, :enum, 10, "google.cloud.osconfig.v1.CVSSv3.Impact"
      optional :integrity_impact, :enum, 11, "google.cloud.osconfig.v1.CVSSv3.Impact"
      optional :availability_impact, :enum, 12, "google.cloud.osconfig.v1.CVSSv3.Impact"
    end
    add_enum "google.cloud.osconfig.v1.CVSSv3.AttackVector" do
      value :ATTACK_VECTOR_UNSPECIFIED, 0
      value :ATTACK_VECTOR_NETWORK, 1
      value :ATTACK_VECTOR_ADJACENT, 2
      value :ATTACK_VECTOR_LOCAL, 3
      value :ATTACK_VECTOR_PHYSICAL, 4
    end
    add_enum "google.cloud.osconfig.v1.CVSSv3.AttackComplexity" do
      value :ATTACK_COMPLEXITY_UNSPECIFIED, 0
      value :ATTACK_COMPLEXITY_LOW, 1
      value :ATTACK_COMPLEXITY_HIGH, 2
    end
    add_enum "google.cloud.osconfig.v1.CVSSv3.PrivilegesRequired" do
      value :PRIVILEGES_REQUIRED_UNSPECIFIED, 0
      value :PRIVILEGES_REQUIRED_NONE, 1
      value :PRIVILEGES_REQUIRED_LOW, 2
      value :PRIVILEGES_REQUIRED_HIGH, 3
    end
    add_enum "google.cloud.osconfig.v1.CVSSv3.UserInteraction" do
      value :USER_INTERACTION_UNSPECIFIED, 0
      value :USER_INTERACTION_NONE, 1
      value :USER_INTERACTION_REQUIRED, 2
    end
    add_enum "google.cloud.osconfig.v1.CVSSv3.Scope" do
      value :SCOPE_UNSPECIFIED, 0
      value :SCOPE_UNCHANGED, 1
      value :SCOPE_CHANGED, 2
    end
    add_enum "google.cloud.osconfig.v1.CVSSv3.Impact" do
      value :IMPACT_UNSPECIFIED, 0
      value :IMPACT_HIGH, 1
      value :IMPACT_LOW, 2
      value :IMPACT_NONE, 3
    end
  end
end

module Google
  module Cloud
    module OsConfig
      module V1
        VulnerabilityReport = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.VulnerabilityReport").msgclass
        VulnerabilityReport::Vulnerability = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.VulnerabilityReport.Vulnerability").msgclass
        VulnerabilityReport::Vulnerability::Details = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.VulnerabilityReport.Vulnerability.Details").msgclass
        VulnerabilityReport::Vulnerability::Details::Reference = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.VulnerabilityReport.Vulnerability.Details.Reference").msgclass
        GetVulnerabilityReportRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.GetVulnerabilityReportRequest").msgclass
        ListVulnerabilityReportsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.ListVulnerabilityReportsRequest").msgclass
        ListVulnerabilityReportsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.ListVulnerabilityReportsResponse").msgclass
        CVSSv3 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.CVSSv3").msgclass
        CVSSv3::AttackVector = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.CVSSv3.AttackVector").enummodule
        CVSSv3::AttackComplexity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.CVSSv3.AttackComplexity").enummodule
        CVSSv3::PrivilegesRequired = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.CVSSv3.PrivilegesRequired").enummodule
        CVSSv3::UserInteraction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.CVSSv3.UserInteraction").enummodule
        CVSSv3::Scope = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.CVSSv3.Scope").enummodule
        CVSSv3::Impact = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.osconfig.v1.CVSSv3.Impact").enummodule
      end
    end
  end
end