syntax = "proto3";

package nominal.ingest.v2;

import "buf/validate/validate.proto";
import "nominal/protos/gen/v1/alias.proto";
import "nominal/protos/ingest/v2/common.proto";

option java_multiple_files = true;
option java_package = "io.nominal.ingest.v2";

// One containerized extractor invocation. Input sources are bound to environment variables.
message ContainerizedIngestItem {
  string extractor_rid = 1 [
    (buf.validate.field).required = true,
    (nominal.gen.v1.alias) = {java_name: "io.nominal.ingest.api.ContainerizedExtractorRid"}
  ];
  map<string, IngestSource> sources = 2 [(nominal.gen.v1.alias) = {key_java_name: "io.nominal.ingest.api.EnvironmentVariable"}];
  map<string, string> arguments = 3 [(nominal.gen.v1.alias) = {key_java_name: "io.nominal.ingest.api.EnvironmentVariable"}];
  optional TimestampMetadata timestamp_metadata = 4;
}
