Storage.proto 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. syntax = "proto2";
  2. message GeoCoordiantes {
  3. optional float latitude = 3;
  4. optional float longitude = 4;
  5. }
  6. message NodeLocationMetadata {
  7. optional string country_code = 1; // ISO 3166-1 alpha-2 country code (2 letters)
  8. optional string city = 2; // City name
  9. optional GeoCoordiantes coordinates = 3; // Geographic coordinates (providing {} will unset current value)
  10. }
  11. message StorageBucketOperatorMetadata {
  12. optional string endpoint = 1; // Root storage node endpoint (ie. https://example.com/storage)
  13. optional NodeLocationMetadata location = 2; // Information about node's phisical location (providing {} will unset current value)
  14. optional string extra = 3; // Additional information about the node / node operator
  15. }
  16. message DistributionBucketOperatorMetadata {
  17. optional string endpoint = 1; // Root distribution node endpoint (ie. https://example.com/distribution)
  18. optional NodeLocationMetadata location = 2; // Information about node's phisical location (providing {} will unset current value)
  19. optional string extra = 3; // Additional information about the node / node operator
  20. }
  21. message GeographicalArea {
  22. enum Continent {
  23. AF = 1;
  24. NA = 2;
  25. OC = 3;
  26. AN = 4;
  27. AS = 5;
  28. EU = 6;
  29. SA = 7;
  30. }
  31. oneof code {
  32. Continent continent = 1;
  33. string country_code = 2; // ISO 3166-1 alpha-2 country code
  34. string subdivision_code = 3; // ISO 3166-2 subdivision code
  35. }
  36. }
  37. message DistributionBucketFamilyMetadata {
  38. optional string region = 1; // ID / name of the region covered by the distribution family (ie. us-east-1). Should be unique.
  39. optional string description = 2; // Additional, more specific description of the region
  40. repeated GeographicalArea areas = 3; // Standarized geographical areas covered by the family (providing [{}] will unset the current value)
  41. repeated string latency_test_targets = 4; // List of targets (hosts/ips) best suited latency measurements for this family
  42. }