generated.proto 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. /*
  2. Copyright The Kubernetes Authors.
  3. Licensed under the Apache License, Version 2.0 (the "License");
  4. you may not use this file except in compliance with the License.
  5. You may obtain a copy of the License at
  6. http://www.apache.org/licenses/LICENSE-2.0
  7. Unless required by applicable law or agreed to in writing, software
  8. distributed under the License is distributed on an "AS IS" BASIS,
  9. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  10. See the License for the specific language governing permissions and
  11. limitations under the License.
  12. */
  13. // This file was autogenerated by go-to-protobuf. Do not edit it manually!
  14. syntax = "proto2";
  15. package k8s.io.api.apiserverinternal.v1alpha1;
  16. import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
  17. import "k8s.io/apimachinery/pkg/runtime/generated.proto";
  18. import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
  19. // Package-wide variables from generator "generated".
  20. option go_package = "k8s.io/api/apiserverinternal/v1alpha1";
  21. // An API server instance reports the version it can decode and the version it
  22. // encodes objects to when persisting objects in the backend.
  23. message ServerStorageVersion {
  24. // The ID of the reporting API server.
  25. optional string apiServerID = 1;
  26. // The API server encodes the object to this version when persisting it in
  27. // the backend (e.g., etcd).
  28. optional string encodingVersion = 2;
  29. // The API server can decode objects encoded in these versions.
  30. // The encodingVersion must be included in the decodableVersions.
  31. // +listType=set
  32. repeated string decodableVersions = 3;
  33. }
  34. // Storage version of a specific resource.
  35. message StorageVersion {
  36. // The name is <group>.<resource>.
  37. optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
  38. // Spec is an empty spec. It is here to comply with Kubernetes API style.
  39. optional StorageVersionSpec spec = 2;
  40. // API server instances report the version they can decode and the version they
  41. // encode objects to when persisting objects in the backend.
  42. optional StorageVersionStatus status = 3;
  43. }
  44. // Describes the state of the storageVersion at a certain point.
  45. message StorageVersionCondition {
  46. // Type of the condition.
  47. // +required
  48. optional string type = 1;
  49. // Status of the condition, one of True, False, Unknown.
  50. // +required
  51. optional string status = 2;
  52. // If set, this represents the .metadata.generation that the condition was set based upon.
  53. // +optional
  54. optional int64 observedGeneration = 3;
  55. // Last time the condition transitioned from one status to another.
  56. // +required
  57. optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4;
  58. // The reason for the condition's last transition.
  59. // +required
  60. optional string reason = 5;
  61. // A human readable message indicating details about the transition.
  62. // +required
  63. optional string message = 6;
  64. }
  65. // A list of StorageVersions.
  66. message StorageVersionList {
  67. // Standard list metadata.
  68. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
  69. // +optional
  70. optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
  71. // Items holds a list of StorageVersion
  72. repeated StorageVersion items = 2;
  73. }
  74. // StorageVersionSpec is an empty spec.
  75. message StorageVersionSpec {
  76. }
  77. // API server instances report the versions they can decode and the version they
  78. // encode objects to when persisting objects in the backend.
  79. message StorageVersionStatus {
  80. // The reported versions per API server instance.
  81. // +optional
  82. // +listType=map
  83. // +listMapKey=apiServerID
  84. repeated ServerStorageVersion storageVersions = 1;
  85. // If all API server instances agree on the same encoding storage version,
  86. // then this field is set to that version. Otherwise this field is left empty.
  87. // API servers should finish updating its storageVersionStatus entry before
  88. // serving write operations, so that this field will be in sync with the reality.
  89. // +optional
  90. optional string commonEncodingVersion = 2;
  91. // The latest available observations of the storageVersion's state.
  92. // +optional
  93. // +listType=map
  94. // +listMapKey=type
  95. repeated StorageVersionCondition conditions = 3;
  96. }