syntax = "proto3";

// Package store provides protobufs for storing types in the host package.
package controller.storage.host.store.v1;
option go_package = "github.com/hashicorp/boundary/internal/host/store;store";

import "controller/storage/timestamp/v1/timestamp.proto";
import "controller/custom_options/v1/options.proto";

message Catalog {
  // public_is is a surrogate key suitable for use in a public API.
  // @inject_tag: `gorm:"primary_key"`
  string public_id = 1;

  // The scope_id of the owning scope and must be set.
  // @inject_tag: `gorm:"not_null"`
  string scope_id = 2;
}

message Host {
  // public_is is a surrogate key suitable for use in a public API.
  // @inject_tag: `gorm:"primary_key"`
  string public_id = 1;

  // The catalog_id of the owning catalog and must be set.
  // @inject_tag: `gorm:"not_null"`
  string catalog_id = 2;
}

message Set {
  // public_is is a surrogate key suitable for use in a public API.
  // @inject_tag: `gorm:"primary_key"`
  string public_id = 1;

  // The catalog_id of the owning catalog and must be set.
  // @inject_tag: `gorm:"not_null"`
  string catalog_id = 2;
}
