// Copyright 2025 Google LLC
//
// 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 google.cloud.securitycenter.v2;

option csharp_namespace = "Google.Cloud.SecurityCenter.V2";
option go_package = "cloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb";
option java_multiple_files = true;
option java_outer_classname = "AiModelProto";
option java_package = "com.google.cloud.securitycenter.v2";
option php_namespace = "Google\\Cloud\\SecurityCenter\\V2";
option ruby_package = "Google::Cloud::SecurityCenter::V2";

// Contains information about the AI model associated with the finding.
message AiModel {
  // The platform on which the model is deployed.
  enum DeploymentPlatform {
    // Unspecified deployment platform.
    DEPLOYMENT_PLATFORM_UNSPECIFIED = 0;

    // Vertex AI.
    VERTEX_AI = 1;

    // Google Kubernetes Engine.
    GKE = 2;

    // Google Compute Engine.
    GCE = 3;

    // Fine tuned model.
    FINE_TUNED_MODEL = 4;
  }

  // The name of the AI model, for example, "gemini:1.0.0".
  string name = 1;

  // The domain of the model, for example, “image-classification”.
  string domain = 2;

  // The name of the model library, for example, “transformers”.
  string library = 3;

  // The region in which the model is used, for example, “us-central1”.
  string location = 4;

  // The publisher of the model, for example, “google” or “nvidia”.
  string publisher = 5;

  // The platform on which the model is deployed.
  DeploymentPlatform deployment_platform = 6;

  // The user defined display name of model. Ex. baseline-classification-model
  string display_name = 7;
}
