cluster.proto 950 B

123456789101112131415161718192021222324252627282930313233343536
  1. syntax = "proto3";
  2. import "model/window.proto";
  3. package kubemodel;
  4. option go_package = "github.com/opencost/opencost/core/pkg/model/pb/kubemodel";
  5. // Provider represents the cloud provider or infrastructure type
  6. enum Provider {
  7. PROVIDER_UNSPECIFIED = 0;
  8. PROVIDER_AWS = 1;
  9. PROVIDER_GCP = 2;
  10. PROVIDER_AZURE = 3;
  11. PROVIDER_ON_PREMISES = 4;
  12. PROVIDER_ALIBABA = 5;
  13. PROVIDER_DIGITALOCEAN = 6;
  14. PROVIDER_ORACLE = 7;
  15. }
  16. // Cluster represents the top-level Kubernetes cluster
  17. message Cluster {
  18. // Identification
  19. // User-configured cluster identifier, defaults to kube-system namespace UID
  20. // The kube-system namespace UID is unique per cluster and stable across its lifetime
  21. string ID = 1;
  22. // Properties
  23. Provider provider = 2;
  24. string account = 3;
  25. string name = 4;
  26. // Centralized window definition for entire cluster
  27. // All resources inherit this window unless they specify their own duration
  28. model.Window window = 5;
  29. }