diff --git a/api/json-schema/schema.json b/api/json-schema/schema.json
index 182d559307..672241cef4 100644
--- a/api/json-schema/schema.json
+++ b/api/json-schema/schema.json
@@ -20187,6 +20187,11 @@
"message": {
"type": "string"
},
+ "observedGeneration": {
+ "description": "ObservedGeneration stores the generation value observed by the controller.",
+ "format": "int64",
+ "type": "integer"
+ },
"phase": {
"type": "string"
},
diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json
index 970d40c2b4..54a84b6a45 100644
--- a/api/openapi-spec/swagger.json
+++ b/api/openapi-spec/swagger.json
@@ -20169,6 +20169,11 @@
"message": {
"type": "string"
},
+ "observedGeneration": {
+ "description": "ObservedGeneration stores the generation value observed by the controller.",
+ "type": "integer",
+ "format": "int64"
+ },
"phase": {
"type": "string"
},
diff --git a/config/base/crds/full/numaflow.numaproj.io_vertices.yaml b/config/base/crds/full/numaflow.numaproj.io_vertices.yaml
index a59413c864..b192548491 100644
--- a/config/base/crds/full/numaflow.numaproj.io_vertices.yaml
+++ b/config/base/crds/full/numaflow.numaproj.io_vertices.yaml
@@ -5449,6 +5449,9 @@ spec:
type: string
message:
type: string
+ observedGeneration:
+ format: int64
+ type: integer
phase:
enum:
- ""
diff --git a/config/install.yaml b/config/install.yaml
index 47a68284f8..fe76099057 100644
--- a/config/install.yaml
+++ b/config/install.yaml
@@ -17837,6 +17837,9 @@ spec:
type: string
message:
type: string
+ observedGeneration:
+ format: int64
+ type: integer
phase:
enum:
- ""
diff --git a/config/namespace-install.yaml b/config/namespace-install.yaml
index 54b23ef9db..5ebdcc3712 100644
--- a/config/namespace-install.yaml
+++ b/config/namespace-install.yaml
@@ -17837,6 +17837,9 @@ spec:
type: string
message:
type: string
+ observedGeneration:
+ format: int64
+ type: integer
phase:
enum:
- ""
diff --git a/docs/APIs.md b/docs/APIs.md
index 5640bc0c23..3b6632fa1c 100644
--- a/docs/APIs.md
+++ b/docs/APIs.md
@@ -9973,6 +9973,25 @@ Kubernetes meta/v1.Time
+
+
+
+
+observedGeneration int64
+ |
+
+
+
+
+
+ObservedGeneration stores the generation value observed by the
+controller.
+
+
+ |
+
+
+
diff --git a/pkg/apis/numaflow/v1alpha1/generated.pb.go b/pkg/apis/numaflow/v1alpha1/generated.pb.go
index 99fc0bc46c..a7ec5071ed 100644
--- a/pkg/apis/numaflow/v1alpha1/generated.pb.go
+++ b/pkg/apis/numaflow/v1alpha1/generated.pb.go
@@ -2501,13 +2501,13 @@ func init() {
}
var fileDescriptor_9d0d1b17d3865563 = []byte{
- // 7207 bytes of a gzipped FileDescriptorProto
+ // 7214 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x5b, 0x6c, 0x24, 0xc7,
0x75, 0xa8, 0xe6, 0x45, 0xce, 0x9c, 0x21, 0xb9, 0xbb, 0xb5, 0xd2, 0x8a, 0x4b, 0xad, 0x76, 0xd6,
0xed, 0x2b, 0xdd, 0xf5, 0xb5, 0x4d, 0x5e, 0xf1, 0x4a, 0x96, 0xec, 0x6b, 0x5b, 0xe2, 0x90, 0x4b,
0x2e, 0xb5, 0xe4, 0x2e, 0x7d, 0x86, 0x5c, 0xc9, 0xd6, 0xb5, 0x75, 0x9b, 0xdd, 0xc5, 0x61, 0x6b,
- 0x7a, 0xba, 0xc7, 0xdd, 0x3d, 0xdc, 0xa5, 0x1c, 0xc3, 0xaf, 0x0f, 0x29, 0x08, 0x82, 0x04, 0xfe,
- 0x32, 0x10, 0x38, 0x41, 0x82, 0x00, 0xfe, 0x30, 0xfc, 0x13, 0xc0, 0xf9, 0x08, 0x10, 0xc4, 0x01,
+ 0x7a, 0xba, 0xc7, 0xdd, 0x3d, 0xdc, 0xa5, 0x1c, 0xc3, 0xaf, 0x0f, 0x29, 0x48, 0x82, 0x04, 0xfe,
+ 0x32, 0x10, 0x38, 0x41, 0x82, 0x00, 0xfe, 0x30, 0xfc, 0x13, 0xc0, 0xf9, 0x08, 0x10, 0x24, 0x01,
0x82, 0xc0, 0x09, 0xf2, 0xf0, 0x47, 0x80, 0x38, 0x08, 0x40, 0xc4, 0x0c, 0xf2, 0x91, 0x04, 0x31,
0x8c, 0x18, 0x48, 0x9c, 0x85, 0x01, 0x07, 0xf5, 0xea, 0xd7, 0xf4, 0xec, 0x92, 0xd3, 0xa4, 0xbc,
0x4e, 0xfc, 0x37, 0x5d, 0x75, 0xea, 0x9c, 0xea, 0xd3, 0x55, 0x75, 0x9e, 0x75, 0x06, 0x56, 0xda,
@@ -2526,7 +2526,7 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0x5f, 0x98, 0x1d, 0xf1, 0x5b, 0xcc, 0xae, 0x4b, 0x44, 0xcd, 0x89, 0xc3, 0x83, 0x46, 0x55, 0x3d,
0x61, 0x48, 0x80, 0x7c, 0xa5, 0x00, 0x13, 0x8e, 0x6b, 0xd2, 0x16, 0xb5, 0xa9, 0x11, 0xb8, 0xde,
0x74, 0xf1, 0x4a, 0xe9, 0x6a, 0x7d, 0xfe, 0x53, 0x23, 0x53, 0xcc, 0x78, 0xa3, 0xd9, 0x9b, 0x31,
- 0x02, 0xd7, 0x9c, 0xc0, 0xdb, 0x6f, 0x3e, 0xfa, 0xed, 0x83, 0xc6, 0x23, 0x87, 0x07, 0x8d, 0x89,
+ 0x02, 0xd7, 0x9c, 0xc0, 0xdb, 0x6f, 0x3e, 0xfa, 0xad, 0x83, 0xc6, 0x23, 0x87, 0x07, 0x8d, 0x89,
0x78, 0x17, 0x26, 0x66, 0x42, 0xb6, 0xa0, 0x1e, 0xb8, 0x36, 0x63, 0x99, 0xe5, 0x3a, 0xfe, 0x74,
0x89, 0x4f, 0xec, 0xf2, 0xac, 0xe0, 0x36, 0x23, 0x3f, 0xcb, 0x96, 0xcb, 0xec, 0xde, 0x33, 0xb3,
0x9b, 0x21, 0x58, 0xf3, 0xbc, 0x44, 0x5c, 0x8f, 0xda, 0x7c, 0x8c, 0xe3, 0x21, 0x14, 0xce, 0xf8,
@@ -2550,7 +2550,7 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0xc2, 0x45, 0xd7, 0xd9, 0xb1, 0xda, 0xd3, 0x93, 0xfc, 0x6b, 0x5c, 0x19, 0xb2, 0xa0, 0x97, 0x6e,
0xb6, 0x04, 0x5c, 0x73, 0x52, 0x92, 0x13, 0x8f, 0x18, 0x61, 0x98, 0x79, 0x11, 0xce, 0x0d, 0xec,
0x5a, 0x72, 0x16, 0x4a, 0x1d, 0xba, 0xcf, 0x0f, 0xa5, 0x1a, 0xb2, 0x9f, 0xe4, 0x51, 0xa8, 0xec,
- 0xe9, 0x76, 0x9f, 0x4e, 0x17, 0x79, 0x9b, 0x78, 0xf8, 0x50, 0xf1, 0x85, 0x82, 0xf6, 0x5b, 0x25,
+ 0xe9, 0x76, 0x9f, 0x4e, 0x17, 0x79, 0x9b, 0x78, 0xf8, 0x50, 0xf1, 0x85, 0x82, 0xf6, 0x9b, 0x25,
0x98, 0x50, 0x67, 0x41, 0xcb, 0x72, 0x3a, 0xe4, 0x15, 0x28, 0xd9, 0x6e, 0x5b, 0x9e, 0x68, 0x1f,
0x1e, 0xf9, 0x7c, 0x59, 0x73, 0xdb, 0xcd, 0xf1, 0xc3, 0x83, 0x46, 0x69, 0xcd, 0x6d, 0x23, 0xc3,
0x48, 0x0c, 0xa8, 0x74, 0xf4, 0x9d, 0x8e, 0xce, 0xe7, 0x50, 0x9f, 0x6f, 0x8e, 0x8c, 0xfa, 0x06,
@@ -2558,14 +2558,14 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0xdb, 0xd6, 0x8d, 0xce, 0xae, 0x6b, 0xd3, 0xe9, 0x52, 0x4e, 0x42, 0x4d, 0x85, 0x49, 0x7c, 0x80,
0xf0, 0x11, 0x23, 0x1a, 0xc4, 0x80, 0xb1, 0xbe, 0xe9, 0x5b, 0x4e, 0x47, 0x9e, 0x4e, 0x2f, 0x8e,
0x4c, 0x6d, 0x6b, 0x89, 0xbf, 0x13, 0x1c, 0x1e, 0x34, 0xc6, 0xc4, 0x6f, 0x94, 0xa8, 0xb5, 0xef,
- 0xd7, 0x61, 0x4a, 0x7d, 0xa4, 0xdb, 0xd4, 0x0b, 0xe8, 0x5d, 0x72, 0x05, 0xca, 0x0e, 0xdb, 0x34,
+ 0xd5, 0x61, 0x4a, 0x7d, 0xa4, 0xdb, 0xd4, 0x0b, 0xe8, 0x5d, 0x72, 0x05, 0xca, 0x0e, 0xdb, 0x34,
0xfc, 0x23, 0x37, 0x27, 0xe4, 0x9a, 0x2c, 0xf3, 0xcd, 0xc2, 0x7b, 0xd8, 0xcc, 0x84, 0xc0, 0x95,
0x0c, 0x1f, 0x7d, 0x66, 0x2d, 0x8e, 0x46, 0xcc, 0x4c, 0xfc, 0x46, 0x89, 0x9a, 0xbc, 0x06, 0x65,
0xfe, 0xf2, 0x82, 0xd5, 0x1f, 0x19, 0x9d, 0x04, 0x7b, 0xf5, 0x2a, 0x7b, 0x03, 0xfe, 0xe2, 0x1c,
0x29, 0x5b, 0x8a, 0x7d, 0x73, 0x47, 0x32, 0xf6, 0xc3, 0x39, 0x18, 0xbb, 0x2c, 0x96, 0xe2, 0xd6,
- 0xd2, 0x32, 0x32, 0x8c, 0xe4, 0x57, 0x0a, 0x70, 0xce, 0x70, 0x9d, 0x40, 0x67, 0x4a, 0x80, 0x12,
+ 0xd2, 0x32, 0x32, 0x8c, 0xe4, 0x97, 0x0b, 0x70, 0xce, 0x70, 0x9d, 0x40, 0x67, 0x4a, 0x80, 0x12,
0x7f, 0xd3, 0x15, 0x4e, 0xe7, 0xe5, 0x91, 0xe9, 0x2c, 0xa6, 0x31, 0x36, 0x1f, 0x63, 0xa7, 0xf9,
- 0x40, 0x33, 0x0e, 0xd2, 0x26, 0xbf, 0x56, 0x80, 0xc7, 0xd8, 0x29, 0x3b, 0x00, 0xcc, 0x65, 0xc3,
+ 0x40, 0x33, 0x0e, 0xd2, 0x26, 0xbf, 0x5a, 0x80, 0xc7, 0xd8, 0x29, 0x3b, 0x00, 0xcc, 0x65, 0xc3,
0xc9, 0xce, 0xea, 0xe2, 0xe1, 0x41, 0xe3, 0xb1, 0xd5, 0x2c, 0x62, 0x98, 0x3d, 0x07, 0x36, 0xbb,
0xf3, 0xfa, 0xa0, 0xc2, 0xc0, 0xe5, 0x4e, 0x7d, 0x7e, 0xed, 0x24, 0x95, 0x90, 0xe6, 0x13, 0x72,
0x29, 0x67, 0xe9, 0x5c, 0x98, 0x35, 0x0b, 0x72, 0x0d, 0xc6, 0xf7, 0x5c, 0xbb, 0xdf, 0xa5, 0xfe,
@@ -2583,10 +2583,10 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0x38, 0x3c, 0x68, 0x3c, 0xd1, 0x1a, 0x4e, 0x12, 0xef, 0x37, 0x1f, 0xed, 0x15, 0x98, 0x5c, 0xe8,
0x07, 0xbb, 0xae, 0x67, 0xbd, 0xc9, 0xd5, 0x61, 0xb2, 0x0c, 0x95, 0x80, 0xab, 0x35, 0x42, 0x2e,
0x3f, 0x95, 0xc5, 0x6a, 0xa1, 0x62, 0xde, 0xa0, 0xfb, 0x4a, 0x1b, 0x10, 0xf2, 0x51, 0xa8, 0x39,
- 0x62, 0xb8, 0xf6, 0x9b, 0x05, 0xa8, 0x35, 0x75, 0xdf, 0x32, 0x18, 0x7a, 0xb2, 0x08, 0xe5, 0xbe,
+ 0x62, 0xb8, 0xf6, 0x1b, 0x05, 0xa8, 0x35, 0x75, 0xdf, 0x32, 0x18, 0x7a, 0xb2, 0x08, 0xe5, 0xbe,
0x4f, 0xbd, 0xe3, 0x21, 0xe5, 0xa7, 0xf4, 0x96, 0x4f, 0x3d, 0xe4, 0x83, 0xc9, 0x2d, 0xa8, 0xf6,
0x74, 0xdf, 0xbf, 0xe3, 0x7a, 0xa6, 0x94, 0x34, 0x47, 0x44, 0x24, 0xf4, 0x55, 0x39, 0x14, 0x43,
- 0x24, 0x5a, 0x1d, 0x22, 0x51, 0xab, 0xfd, 0xb0, 0x00, 0xe7, 0x9b, 0xfd, 0x9d, 0x1d, 0xea, 0x49,
+ 0x24, 0x5a, 0x1d, 0x22, 0x51, 0xab, 0xfd, 0xa0, 0x00, 0xe7, 0x9b, 0xfd, 0x9d, 0x1d, 0xea, 0x49,
0xf5, 0x4c, 0x28, 0x3e, 0x84, 0x42, 0xc5, 0xa3, 0xa6, 0xe5, 0xcb, 0xb9, 0x2f, 0x8d, 0xfc, 0xe9,
0x90, 0x61, 0x91, 0x7a, 0x16, 0xe7, 0x17, 0x6f, 0x40, 0x81, 0x9d, 0xf4, 0xa1, 0xf6, 0x06, 0x0d,
0xfc, 0xc0, 0xa3, 0x7a, 0x57, 0xbe, 0xdd, 0xf5, 0x91, 0x49, 0xbd, 0x4c, 0x83, 0x16, 0xc7, 0x14,
@@ -2601,7 +2601,7 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0x94, 0xc5, 0xbc, 0xe9, 0x0e, 0xe5, 0x56, 0x62, 0x1c, 0x41, 0xb8, 0xa0, 0x9e, 0x53, 0x9c, 0x1a,
0xe3, 0x9c, 0x9a, 0x39, 0x3c, 0x68, 0x5c, 0xd8, 0xcc, 0x84, 0xc0, 0x21, 0x23, 0xc9, 0x17, 0x0a,
0x30, 0xa5, 0xba, 0x24, 0x8f, 0xc6, 0x4f, 0x92, 0x47, 0x84, 0xad, 0x88, 0xcd, 0x04, 0x01, 0x4c,
- 0x11, 0xd4, 0x7e, 0x54, 0x86, 0x5a, 0x78, 0xb2, 0x91, 0x77, 0x43, 0x85, 0xdb, 0xc2, 0x52, 0x61,
+ 0x11, 0xd4, 0x7e, 0x58, 0x86, 0x5a, 0x78, 0xb2, 0x91, 0x77, 0x43, 0x85, 0xdb, 0xc2, 0x52, 0x61,
0x0d, 0x45, 0x16, 0x37, 0x99, 0x51, 0xf4, 0x91, 0xa7, 0x60, 0xdc, 0x70, 0xbb, 0x5d, 0xdd, 0x31,
0xb9, 0x7f, 0xa3, 0xd6, 0xac, 0x33, 0x49, 0xbd, 0x28, 0x9a, 0x50, 0xf5, 0x91, 0x4b, 0x50, 0xd6,
0xbd, 0xb6, 0x70, 0x35, 0xd4, 0xc4, 0x79, 0xb4, 0xe0, 0xb5, 0x7d, 0xe4, 0xad, 0xe4, 0x83, 0x50,
@@ -2614,11 +2614,11 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0x9b, 0xe7, 0x94, 0x01, 0xab, 0x7a, 0x7d, 0x8c, 0xb0, 0x91, 0xed, 0x41, 0xbf, 0x8b, 0x70, 0x1a,
0xbc, 0x7b, 0xc8, 0xa9, 0x3e, 0x82, 0xd3, 0xe5, 0x53, 0x70, 0x26, 0x74, 0x8c, 0x48, 0xdb, 0x5a,
0xb8, 0x11, 0x9e, 0x65, 0xc3, 0x57, 0x93, 0x5d, 0xf7, 0x0e, 0x1a, 0x4f, 0x66, 0x58, 0xd7, 0x11,
- 0x00, 0xa6, 0x91, 0x69, 0x7f, 0x50, 0x82, 0x41, 0xb5, 0x3b, 0xc9, 0xb4, 0xc2, 0x49, 0x33, 0x2d,
+ 0x00, 0xa6, 0x91, 0x69, 0xbf, 0x5f, 0x82, 0x41, 0xb5, 0x3b, 0xc9, 0xb4, 0xc2, 0x49, 0x33, 0x2d,
0xfd, 0x42, 0xe2, 0xf8, 0x7c, 0x41, 0x0e, 0xcb, 0xff, 0x52, 0x59, 0x1f, 0xa6, 0x74, 0xd2, 0x1f,
0xe6, 0x61, 0xd9, 0x3b, 0xda, 0xdb, 0x65, 0x98, 0x5a, 0xd2, 0x69, 0xd7, 0x75, 0x1e, 0x68, 0x84,
0x14, 0x1e, 0x0a, 0x23, 0xe4, 0x2a, 0x54, 0x3d, 0xda, 0xb3, 0x2d, 0x43, 0xf7, 0xf9, 0xa7, 0x97,
- 0xee, 0x38, 0x94, 0x6d, 0x18, 0xf6, 0x0e, 0x31, 0x3e, 0x4b, 0x0f, 0xa5, 0xf1, 0x59, 0xfe, 0xe9,
+ 0xee, 0x38, 0x94, 0x6d, 0x18, 0xf6, 0x0e, 0x31, 0x3e, 0x4b, 0x0f, 0xa5, 0xf1, 0x59, 0xfe, 0xc9,
0x1b, 0x9f, 0xda, 0x17, 0x8a, 0xc0, 0x15, 0x15, 0x72, 0x05, 0xca, 0x4c, 0x08, 0xa7, 0x5d, 0x1e,
0x7c, 0xe1, 0xf0, 0x1e, 0x32, 0x03, 0xc5, 0xc0, 0x95, 0x3b, 0x0f, 0x64, 0x7f, 0x71, 0xd3, 0xc5,
0x62, 0xe0, 0x92, 0x37, 0x01, 0x0c, 0xd7, 0x31, 0x2d, 0xe5, 0xa5, 0xce, 0xf7, 0x62, 0xcb, 0xae,
@@ -2631,11 +2631,11 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0x0b, 0xa3, 0x94, 0x63, 0x40, 0x89, 0x89, 0xcc, 0x41, 0x4d, 0x68, 0x9f, 0x96, 0xd3, 0xe6, 0x3c,
0xac, 0x46, 0x87, 0x5e, 0x4b, 0x75, 0x60, 0x04, 0xa3, 0xed, 0xc3, 0xb9, 0x01, 0x36, 0x10, 0x13,
0xca, 0x81, 0xde, 0x56, 0xe7, 0xeb, 0xf2, 0xc8, 0x0c, 0xde, 0xd4, 0xdb, 0x31, 0xe6, 0x72, 0x19,
- 0xbf, 0xa9, 0x33, 0x19, 0xcf, 0xb0, 0x6b, 0x3f, 0x2e, 0x40, 0x75, 0xb9, 0xef, 0x18, 0xdc, 0x36,
+ 0xbf, 0xa9, 0x33, 0x19, 0xcf, 0xb0, 0x6b, 0x3f, 0x2a, 0x40, 0x75, 0xb9, 0xef, 0x18, 0xdc, 0x36,
0x7a, 0xb0, 0x2b, 0x4c, 0x29, 0x0c, 0xc5, 0x4c, 0x85, 0xa1, 0x0f, 0x63, 0x9d, 0x3b, 0xa1, 0x42,
0x51, 0x9f, 0x5f, 0x1f, 0x7d, 0x55, 0xc8, 0x29, 0xcd, 0xde, 0xe0, 0xf8, 0x44, 0x0c, 0x65, 0x4a,
0x4e, 0x68, 0xec, 0xc6, 0x2b, 0x9c, 0xa8, 0x24, 0x36, 0xf3, 0x41, 0xa8, 0xc7, 0xc0, 0x8e, 0xe5,
- 0xb4, 0xfd, 0xdd, 0x32, 0x8c, 0xad, 0xb4, 0x5a, 0x0b, 0x1b, 0xab, 0xe4, 0x39, 0xa8, 0x4b, 0xf7,
+ 0xb4, 0xfd, 0x9d, 0x32, 0x8c, 0xad, 0xb4, 0x5a, 0x0b, 0x1b, 0xab, 0xe4, 0x39, 0xa8, 0x4b, 0xf7,
0xfa, 0xcd, 0x88, 0x07, 0x61, 0x74, 0xa5, 0x15, 0x75, 0x61, 0x1c, 0x8e, 0xa9, 0x63, 0x1e, 0xd5,
0xed, 0xae, 0xdc, 0x2c, 0xa1, 0x3a, 0x86, 0xac, 0x11, 0x45, 0x1f, 0xd1, 0x61, 0x8a, 0x59, 0x78,
0x8c, 0x85, 0xc2, 0x7a, 0x93, 0xdb, 0xe6, 0x88, 0xf6, 0x1d, 0x57, 0x12, 0xb7, 0x12, 0x08, 0x30,
@@ -2653,13 +2653,13 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0xb5, 0x59, 0xd8, 0x2a, 0x28, 0x0b, 0x4b, 0xfe, 0x36, 0x6b, 0x90, 0xfb, 0x86, 0x1d, 0x99, 0x6f,
0x58, 0x41, 0x40, 0x3d, 0xf9, 0x19, 0x47, 0x3a, 0x32, 0x5f, 0xe6, 0x18, 0x50, 0x62, 0x22, 0xef,
0x85, 0x1a, 0x47, 0xde, 0xb4, 0xdd, 0x6d, 0xfe, 0xe1, 0x6a, 0xc2, 0xa6, 0xbf, 0xad, 0x1a, 0x31,
- 0xea, 0xd7, 0x7e, 0x52, 0x84, 0x0b, 0x2b, 0x34, 0x10, 0x5a, 0xcd, 0x12, 0xed, 0xd9, 0xee, 0x3e,
+ 0xea, 0xd7, 0x7e, 0x5c, 0x84, 0x0b, 0x2b, 0x34, 0x10, 0x5a, 0xcd, 0x12, 0xed, 0xd9, 0xee, 0x3e,
0x53, 0x2d, 0x91, 0x7e, 0x9a, 0xbc, 0x04, 0x60, 0xf9, 0xdb, 0xad, 0x3d, 0x83, 0xef, 0x03, 0xb1,
0x87, 0xaf, 0xc8, 0x2d, 0x09, 0xab, 0xad, 0xa6, 0xec, 0xb9, 0x97, 0x78, 0xc2, 0xd8, 0x98, 0xc8,
0xbc, 0x2a, 0xde, 0xc7, 0xbc, 0x6a, 0x01, 0xf4, 0x22, 0x05, 0xb5, 0xc4, 0x21, 0xff, 0x8f, 0x22,
0x73, 0x1c, 0xdd, 0x34, 0x86, 0x26, 0x8f, 0xca, 0xe8, 0xc0, 0x59, 0x93, 0xee, 0xe8, 0x7d, 0x3b,
0x08, 0x95, 0x6a, 0xb9, 0x89, 0x8f, 0xae, 0x97, 0x87, 0xb1, 0xd7, 0xa5, 0x14, 0x26, 0x1c, 0xc0,
- 0xad, 0xfd, 0x5e, 0x09, 0x66, 0x56, 0x68, 0x10, 0x7a, 0x5c, 0xe4, 0xe9, 0xd8, 0xea, 0x51, 0x83,
+ 0xad, 0xfd, 0x6e, 0x09, 0x66, 0x56, 0x68, 0x10, 0x7a, 0x5c, 0xe4, 0xe9, 0xd8, 0xea, 0x51, 0x83,
0x7d, 0x85, 0xb7, 0x0a, 0x30, 0x66, 0xeb, 0xdb, 0xd4, 0x66, 0xd2, 0x8b, 0xbd, 0xcd, 0xeb, 0x23,
0x0b, 0x82, 0xe1, 0x54, 0x66, 0xd7, 0x38, 0x85, 0x94, 0x68, 0x10, 0x8d, 0x28, 0xc9, 0xb3, 0x43,
0xdd, 0xb0, 0xfb, 0x7e, 0x40, 0xbd, 0x0d, 0xd7, 0x0b, 0xa4, 0x3e, 0x19, 0x1e, 0xea, 0x8b, 0x51,
@@ -2668,7 +2668,7 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0xa4, 0xd6, 0xa3, 0x2e, 0x8c, 0xc3, 0xf1, 0x61, 0x34, 0xf0, 0x2c, 0xc3, 0xe7, 0xc3, 0x2a, 0xa9,
0x61, 0x51, 0x17, 0xc6, 0xe1, 0x98, 0xcc, 0x8b, 0xbd, 0xff, 0xb1, 0x64, 0xde, 0xd7, 0x6b, 0x70,
0x39, 0xc1, 0xd6, 0x40, 0x0f, 0xe8, 0x4e, 0xdf, 0x6e, 0xd1, 0x40, 0x7d, 0xc0, 0x11, 0x65, 0xe1,
- 0x2f, 0x45, 0xdf, 0x5d, 0x64, 0x55, 0x18, 0x27, 0xf3, 0xdd, 0x07, 0x26, 0x78, 0xa4, 0x6f, 0x3f,
+ 0x2f, 0x44, 0xdf, 0x5d, 0x64, 0x55, 0x18, 0x27, 0xf3, 0xdd, 0x07, 0x26, 0x78, 0xa4, 0x6f, 0x3f,
0x07, 0x35, 0x47, 0x0f, 0x7c, 0xbe, 0x71, 0xe5, 0x1e, 0x0d, 0xd5, 0xb0, 0x9b, 0xaa, 0x03, 0x23,
0x18, 0xb2, 0x01, 0x8f, 0x4a, 0x16, 0x5f, 0xbb, 0xdb, 0x73, 0xbd, 0x80, 0x7a, 0x62, 0xac, 0x14,
0xa7, 0x72, 0xec, 0xa3, 0xeb, 0x19, 0x30, 0x98, 0x39, 0x92, 0xac, 0xc3, 0x79, 0x43, 0x44, 0x9a,
@@ -2699,7 +2699,7 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0x1d, 0xb9, 0x98, 0x06, 0xc0, 0xc1, 0x31, 0x5c, 0x34, 0x1b, 0x9e, 0xd5, 0x0b, 0xfc, 0x24, 0xae,
0xa9, 0x94, 0x68, 0xce, 0x80, 0xc1, 0xcc, 0x91, 0x4c, 0x29, 0xda, 0xa5, 0xba, 0x1d, 0xec, 0x26,
0x11, 0x9e, 0x49, 0x2a, 0x45, 0xd7, 0x07, 0x41, 0x30, 0x6b, 0x5c, 0xa6, 0x2c, 0x3b, 0xfb, 0x70,
- 0xca, 0xb2, 0x2f, 0x96, 0xe0, 0xe2, 0x0a, 0x0d, 0xc2, 0x64, 0x86, 0x9f, 0xdb, 0xae, 0x3f, 0x05,
+ 0xca, 0xb2, 0x2f, 0x96, 0xe0, 0xe2, 0x0a, 0x0d, 0xc2, 0x64, 0x86, 0x9f, 0xd9, 0xae, 0x3f, 0x01,
0xdb, 0xf5, 0x6b, 0x15, 0x38, 0xbf, 0x42, 0x65, 0xf6, 0xdf, 0x86, 0x6b, 0x2a, 0x61, 0xf6, 0xdf,
0x94, 0xfd, 0xeb, 0x70, 0x3e, 0xca, 0x9f, 0x69, 0x05, 0xae, 0x27, 0x64, 0x79, 0xca, 0x44, 0x69,
0x0d, 0x82, 0x60, 0xd6, 0x38, 0xf2, 0x71, 0x78, 0x9c, 0x8b, 0x7a, 0xa7, 0x2d, 0x9c, 0x62, 0xc2,
@@ -2715,21 +2715,21 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0x02, 0xda, 0x57, 0x0b, 0x00, 0xd7, 0x37, 0x37, 0x37, 0xa4, 0x4f, 0xd7, 0x84, 0xb2, 0xde, 0x0f,
0xa3, 0x43, 0xa3, 0x47, 0x61, 0x12, 0x49, 0x68, 0x32, 0x70, 0xd2, 0x0f, 0x76, 0x91, 0x63, 0x27,
0xef, 0x81, 0x71, 0xa9, 0x20, 0x4b, 0xb6, 0x87, 0xf1, 0x5c, 0xa9, 0x44, 0xa3, 0xea, 0xd7, 0x7e,
- 0xa7, 0x08, 0xb0, 0x6a, 0xda, 0xb4, 0xa5, 0xd2, 0x86, 0x6b, 0xc1, 0xae, 0x47, 0xfd, 0x5d, 0xd7,
+ 0xbb, 0x08, 0xb0, 0x6a, 0xda, 0xb4, 0xa5, 0xd2, 0x86, 0x6b, 0xc1, 0xae, 0x47, 0xfd, 0x5d, 0xd7,
0x36, 0x47, 0x0c, 0x61, 0x71, 0x47, 0xeb, 0xa6, 0x42, 0x82, 0x11, 0x3e, 0x62, 0x32, 0x03, 0x93,
0xf6, 0x56, 0x9d, 0x80, 0x7a, 0x7b, 0xba, 0x3d, 0xa2, 0xe7, 0xfa, 0xac, 0x30, 0x46, 0x23, 0x3c,
0x98, 0xc0, 0x4a, 0x74, 0xa8, 0x5b, 0x8e, 0x21, 0x36, 0x48, 0x73, 0x7f, 0xc4, 0x85, 0x74, 0x86,
- 0x59, 0x1c, 0xab, 0x11, 0x1a, 0x8c, 0xe3, 0xd4, 0x7e, 0x50, 0x84, 0x0b, 0x9c, 0x1e, 0x9b, 0x46,
+ 0x59, 0x1c, 0xab, 0x11, 0x1a, 0x8c, 0xe3, 0xd4, 0xbe, 0x5f, 0x84, 0x0b, 0x9c, 0x1e, 0x9b, 0x46,
0x22, 0x09, 0x8e, 0xfc, 0xff, 0x81, 0xcb, 0x47, 0xff, 0xfb, 0x68, 0xa4, 0xc5, 0xdd, 0x95, 0x75,
0x1a, 0xe8, 0x91, 0x3e, 0x17, 0xb5, 0xc5, 0x6e, 0x1c, 0xf5, 0xa1, 0xec, 0xb3, 0xf3, 0x4a, 0x70,
0xaf, 0x35, 0xf2, 0x12, 0xca, 0x7e, 0x01, 0x7e, 0x7a, 0x85, 0xa1, 0x3a, 0x7e, 0x6a, 0x71, 0x72,
0xe4, 0xb3, 0x30, 0xe6, 0x07, 0x7a, 0xd0, 0x57, 0x5b, 0x73, 0xeb, 0xa4, 0x09, 0x73, 0xe4, 0xd1,
- 0x39, 0x22, 0x9e, 0x51, 0x12, 0xd5, 0x7e, 0x50, 0x80, 0x99, 0xec, 0x81, 0x6b, 0x96, 0x1f, 0x90,
+ 0x39, 0x22, 0x9e, 0x51, 0x12, 0xd5, 0xbe, 0x5f, 0x80, 0x99, 0xec, 0x81, 0x6b, 0x96, 0x1f, 0x90,
0xff, 0x37, 0xc0, 0xf6, 0x23, 0x7e, 0x71, 0x36, 0x9a, 0x33, 0x3d, 0xcc, 0x82, 0x55, 0x2d, 0x31,
0x96, 0x07, 0x50, 0xb1, 0x02, 0xda, 0x55, 0xf6, 0xe5, 0xad, 0x13, 0x7e, 0xf5, 0x98, 0x68, 0x67,
0x54, 0x50, 0x10, 0xd3, 0xde, 0x2e, 0x0e, 0x7b, 0x65, 0x2e, 0x3e, 0xec, 0x64, 0xa2, 0xe5, 0x8d,
- 0x7c, 0x89, 0x96, 0xc9, 0x09, 0x0d, 0xe6, 0x5b, 0xfe, 0xc2, 0x60, 0xbe, 0xe5, 0xad, 0xfc, 0xf9,
- 0x96, 0x29, 0x36, 0x0c, 0x4d, 0xbb, 0xfc, 0x6e, 0x09, 0x2e, 0xdd, 0x6f, 0xd9, 0x30, 0x79, 0x26,
+ 0x7c, 0x89, 0x96, 0xc9, 0x09, 0x0d, 0xe6, 0x5b, 0xfe, 0xdc, 0x60, 0xbe, 0xe5, 0xad, 0xfc, 0xf9,
+ 0x96, 0x29, 0x36, 0x0c, 0x4d, 0xbb, 0xfc, 0x4e, 0x09, 0x2e, 0xdd, 0x6f, 0xd9, 0x30, 0x79, 0x26,
0x57, 0x67, 0x5e, 0x79, 0x76, 0xff, 0x75, 0x48, 0xe6, 0xa1, 0xd2, 0xdb, 0xd5, 0x7d, 0xa5, 0x94,
0x29, 0x83, 0xa5, 0xb2, 0xc1, 0x1a, 0xef, 0xb1, 0x43, 0x83, 0x2b, 0x73, 0xfc, 0x11, 0x05, 0x28,
0x3b, 0x8e, 0xbb, 0xd4, 0xf7, 0x23, 0x9f, 0x40, 0x78, 0x1c, 0xaf, 0x8b, 0x66, 0x54, 0xfd, 0x24,
@@ -2738,8 +2738,8 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0x0e, 0xc7, 0x0c, 0x7b, 0x77, 0x9b, 0x7b, 0x32, 0x4d, 0x19, 0xb4, 0xb4, 0x5c, 0x87, 0x2b, 0x64,
0xa5, 0xc8, 0xb0, 0xbf, 0x35, 0x00, 0x81, 0x19, 0xa3, 0xb4, 0xbf, 0xac, 0xc2, 0x85, 0xec, 0xf5,
0xc0, 0xf8, 0xb6, 0x47, 0x3d, 0x9f, 0xe1, 0x2e, 0x24, 0xf9, 0x76, 0x5b, 0x34, 0xa3, 0xea, 0xff,
- 0x99, 0xce, 0xf2, 0xf9, 0x5a, 0x01, 0x2e, 0x7a, 0xd2, 0x31, 0xff, 0x4e, 0x64, 0xfa, 0x3c, 0x29,
- 0xdc, 0x19, 0x43, 0x08, 0xe2, 0xf0, 0xb9, 0x90, 0xdf, 0x2e, 0xc0, 0x74, 0x37, 0xe5, 0xe7, 0x38,
+ 0xa9, 0xce, 0xf2, 0xf9, 0x5a, 0x01, 0x2e, 0x7a, 0xd2, 0x31, 0xff, 0x4e, 0x64, 0xfa, 0x3c, 0x29,
+ 0xdc, 0x19, 0x43, 0x08, 0xe2, 0xf0, 0xb9, 0x90, 0xdf, 0x2a, 0xc0, 0x74, 0x37, 0xe5, 0xe7, 0x38,
0xc5, 0x5b, 0x3a, 0x3c, 0x15, 0x79, 0x7d, 0x08, 0x3d, 0x1c, 0x3a, 0x13, 0xf2, 0x39, 0xa8, 0xf7,
0xd8, 0xba, 0xf0, 0x03, 0xea, 0x18, 0xea, 0xa2, 0xce, 0xe8, 0x3b, 0x69, 0x23, 0xc2, 0xa5, 0xf2,
0x7f, 0x84, 0x7e, 0x10, 0xeb, 0xc0, 0x38, 0xc5, 0x87, 0xfc, 0x5a, 0xce, 0x55, 0xa8, 0xfa, 0x34,
@@ -2748,14 +2748,14 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0x23, 0x46, 0xfd, 0xe4, 0x59, 0x98, 0xd8, 0xe6, 0xdb, 0x57, 0xde, 0xa1, 0x14, 0x3e, 0x2e, 0xae,
0xad, 0x35, 0x63, 0xed, 0x98, 0x80, 0x22, 0xf3, 0x00, 0x34, 0x0c, 0x86, 0xa4, 0xfd, 0x59, 0x51,
0x98, 0x04, 0x63, 0x50, 0xe4, 0x49, 0x28, 0x05, 0xb6, 0xcf, 0x7d, 0x58, 0xd5, 0xc8, 0x04, 0xdd,
- 0x5c, 0x6b, 0x21, 0x6b, 0xd7, 0x7e, 0x52, 0x80, 0x33, 0xa9, 0x8c, 0x7e, 0x36, 0xa4, 0xef, 0xd9,
+ 0x5c, 0x6b, 0x21, 0x6b, 0xd7, 0x7e, 0x5c, 0x80, 0x33, 0xa9, 0x8c, 0x7e, 0x36, 0xa4, 0xef, 0xd9,
0xf2, 0x18, 0x09, 0x87, 0x6c, 0xe1, 0x1a, 0xb2, 0x76, 0xf2, 0xba, 0x54, 0xcb, 0x8b, 0x39, 0xaf,
0x8b, 0xdf, 0xd4, 0x03, 0x9f, 0xe9, 0xe1, 0x03, 0x1a, 0x39, 0x8f, 0xad, 0x44, 0xf3, 0x91, 0x72,
0x20, 0x16, 0x5b, 0x89, 0xfa, 0x30, 0x01, 0x99, 0x72, 0xf8, 0x95, 0x8f, 0xe2, 0xf0, 0xd3, 0xbe,
0x5c, 0x8c, 0x71, 0x40, 0x6a, 0xf6, 0x0f, 0xe0, 0xc0, 0xd3, 0x4c, 0x80, 0x86, 0xc2, 0xbd, 0x16,
0x97, 0x7f, 0x5c, 0x18, 0xcb, 0x5e, 0xf2, 0x8a, 0xe0, 0x7d, 0x29, 0xe7, 0xd5, 0xbf, 0xcd, 0xb5,
0x96, 0x48, 0x69, 0x51, 0x5f, 0x2d, 0xfc, 0x04, 0xe5, 0x53, 0xfa, 0x04, 0xda, 0x9f, 0x96, 0xa0,
- 0xfe, 0xb2, 0xbb, 0xfd, 0x33, 0x92, 0xb6, 0x9a, 0x2d, 0xa6, 0x8a, 0x3f, 0x45, 0x31, 0xb5, 0x05,
+ 0xfe, 0xb2, 0xbb, 0xfd, 0x53, 0x92, 0xb6, 0x9a, 0x2d, 0xa6, 0x8a, 0x3f, 0x41, 0x31, 0xb5, 0x05,
0x8f, 0x07, 0x81, 0xdd, 0xa2, 0x86, 0xeb, 0x98, 0xfe, 0xc2, 0x4e, 0x40, 0xbd, 0x65, 0xcb, 0xb1,
0xfc, 0x5d, 0x6a, 0xca, 0x70, 0xd2, 0x13, 0x87, 0x07, 0x8d, 0xc7, 0x37, 0x37, 0xd7, 0xb2, 0x40,
0x70, 0xd8, 0x58, 0x7e, 0x6c, 0xe8, 0x46, 0xc7, 0xdd, 0xd9, 0xe1, 0xd7, 0x13, 0x64, 0xa2, 0x83,
@@ -2764,7 +2764,7 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0xbc, 0x1b, 0x2a, 0x81, 0xdb, 0xb3, 0x8c, 0xb4, 0x43, 0x6d, 0x93, 0x35, 0xa2, 0xe8, 0x3b, 0xbd,
0x05, 0xfe, 0x74, 0x42, 0xb5, 0xab, 0x0d, 0x55, 0xc6, 0x5e, 0x83, 0xb2, 0xaf, 0xfb, 0xb6, 0x94,
0xa7, 0x39, 0x6e, 0xee, 0x2e, 0xb4, 0xd6, 0xe4, 0xcd, 0xdd, 0x85, 0xd6, 0x1a, 0x72, 0xa4, 0xda,
- 0x8f, 0x8a, 0x50, 0x17, 0x7c, 0x13, 0xa7, 0xc2, 0x49, 0x72, 0xee, 0x45, 0x1e, 0xbf, 0xf6, 0xfb,
+ 0x0f, 0x8b, 0x50, 0x17, 0x7c, 0x13, 0xa7, 0xc2, 0x49, 0x72, 0xee, 0x45, 0x1e, 0xbf, 0xf6, 0xfb,
0x5d, 0xea, 0x71, 0x37, 0x93, 0x3c, 0xe4, 0xe2, 0xf1, 0x81, 0xa8, 0x33, 0x8c, 0x61, 0x47, 0x4d,
0x8a, 0xf5, 0xe5, 0x53, 0x64, 0x7d, 0xe5, 0x48, 0xac, 0x1f, 0x3b, 0x0d, 0xd6, 0xbf, 0x55, 0x84,
0xda, 0x9a, 0xb5, 0x43, 0x8d, 0x7d, 0xc3, 0xe6, 0x17, 0xb1, 0x4c, 0x6a, 0xd3, 0x80, 0xae, 0x78,
@@ -2772,14 +2772,14 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0x1a, 0x02, 0x83, 0x43, 0x47, 0x93, 0x55, 0x98, 0x30, 0xa9, 0x6f, 0x79, 0xd4, 0xdc, 0x88, 0x19,
0x2a, 0x4f, 0x29, 0x51, 0xb3, 0x14, 0xeb, 0xbb, 0x77, 0xd0, 0x98, 0x54, 0x0e, 0x4a, 0x61, 0xb1,
0x24, 0x86, 0xb2, 0x2d, 0xdf, 0xd3, 0xfb, 0x7e, 0xd6, 0x1c, 0x63, 0x5b, 0x7e, 0x23, 0x1b, 0x04,
- 0x87, 0x8d, 0xd5, 0x2a, 0x50, 0x5a, 0x73, 0xdb, 0xda, 0xdb, 0x25, 0x08, 0x2b, 0xaa, 0x90, 0x5f,
- 0x2c, 0x40, 0x5d, 0x77, 0x1c, 0x37, 0x90, 0xd5, 0x4a, 0x44, 0x04, 0x1e, 0x73, 0x17, 0x6e, 0x99,
+ 0x87, 0x8d, 0xd5, 0x2a, 0x50, 0x5a, 0x73, 0xdb, 0xda, 0xdb, 0x25, 0x08, 0x2b, 0xaa, 0x90, 0x9f,
+ 0x2f, 0x40, 0x5d, 0x77, 0x1c, 0x37, 0x90, 0xd5, 0x4a, 0x44, 0x04, 0x1e, 0x73, 0x17, 0x6e, 0x99,
0x5d, 0x88, 0x90, 0x8a, 0xe0, 0x6d, 0x18, 0x50, 0x8e, 0xf5, 0x60, 0x9c, 0x36, 0xe9, 0xa7, 0xe2,
0xc9, 0xeb, 0xf9, 0x67, 0x71, 0x84, 0xe8, 0xf1, 0xcc, 0x47, 0xe1, 0x6c, 0x7a, 0xb2, 0xc7, 0x09,
0x07, 0xe5, 0x89, 0x24, 0x7d, 0xa9, 0x06, 0xf5, 0x9b, 0x7a, 0x60, 0xed, 0x51, 0x6e, 0xf4, 0x9f,
- 0x8e, 0xe5, 0xf5, 0xeb, 0x05, 0xb8, 0x90, 0x8c, 0xec, 0x9e, 0xa2, 0xf9, 0xc5, 0x2f, 0xe7, 0x61,
+ 0x8e, 0xe5, 0xf5, 0x6b, 0x05, 0xb8, 0x90, 0x8c, 0xec, 0x9e, 0xa2, 0xf9, 0xc5, 0x2f, 0xe7, 0x61,
0x26, 0x35, 0x1c, 0x32, 0x0b, 0x6e, 0x88, 0x0d, 0x04, 0x8a, 0x4f, 0xdb, 0x10, 0x6b, 0x0d, 0x23,
- 0x88, 0xc3, 0xe7, 0xf2, 0xb3, 0x62, 0x88, 0x3d, 0xdc, 0xc5, 0x13, 0x52, 0x66, 0xe2, 0xf8, 0x43,
+ 0x88, 0xc3, 0xe7, 0xf2, 0xd3, 0x62, 0x88, 0x3d, 0xdc, 0xc5, 0x13, 0x52, 0x66, 0xe2, 0xf8, 0x43,
0x63, 0x26, 0x56, 0x1f, 0x0a, 0x0d, 0xb4, 0x17, 0x33, 0x13, 0x6b, 0x39, 0xc3, 0x15, 0x32, 0x19,
0x4a, 0x60, 0x1b, 0x66, 0x6e, 0xf2, 0xcb, 0x23, 0x4a, 0x7d, 0x27, 0x06, 0x54, 0xb6, 0x75, 0xdf,
0x32, 0xa4, 0x3e, 0x9e, 0xa3, 0x58, 0x8c, 0xba, 0x55, 0x2f, 0xbc, 0x9a, 0xfc, 0x11, 0x05, 0xee,
@@ -2808,7 +2808,7 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0x32, 0x9c, 0x0b, 0x93, 0x62, 0x59, 0x37, 0x53, 0x7d, 0x38, 0x00, 0x4d, 0x74, 0xa8, 0xb3, 0x19,
0x6d, 0x5a, 0x5d, 0xea, 0xf6, 0x55, 0xd5, 0xc4, 0x91, 0x22, 0xd3, 0x18, 0xa1, 0xc1, 0x38, 0x4e,
0xed, 0xaf, 0x0a, 0x30, 0x11, 0xf1, 0xeb, 0xd4, 0x03, 0xa3, 0x3b, 0xc9, 0xc0, 0xe8, 0x42, 0xee,
- 0xe5, 0x30, 0x24, 0x14, 0xfa, 0xcb, 0xe3, 0x90, 0xc8, 0xa4, 0x21, 0xdb, 0x30, 0x63, 0x65, 0xc6,
+ 0xe5, 0x30, 0x24, 0x14, 0xfa, 0x4b, 0xe3, 0x90, 0xc8, 0xa4, 0x21, 0xdb, 0x30, 0x63, 0x65, 0xc6,
0x03, 0x63, 0xa7, 0x4d, 0x98, 0x8f, 0xbf, 0x3a, 0x14, 0x12, 0xef, 0x83, 0x85, 0xf4, 0xa1, 0xba,
0x47, 0xbd, 0xc0, 0x32, 0xa8, 0x7a, 0xbf, 0x95, 0xdc, 0x2a, 0x99, 0x48, 0x13, 0x8b, 0x78, 0x7a,
0x5b, 0x12, 0xc0, 0x90, 0x14, 0xd9, 0x86, 0x0a, 0x35, 0xdb, 0x54, 0x5d, 0x7a, 0xcd, 0x59, 0x52,
@@ -2828,10 +2828,10 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0xfb, 0xe6, 0x8e, 0x80, 0xad, 0x72, 0x58, 0xae, 0x61, 0x6e, 0x2d, 0x2d, 0xcb, 0x1b, 0xbd, 0xaa,
0x97, 0xcd, 0xa4, 0xab, 0xf7, 0x54, 0x07, 0xb7, 0x0d, 0xe5, 0x4c, 0xd6, 0xa3, 0x66, 0x8c, 0xc3,
0x90, 0x0f, 0xc1, 0x94, 0x47, 0xcd, 0xbe, 0x41, 0xc3, 0x51, 0xc0, 0x47, 0xf1, 0xcb, 0xde, 0x98,
- 0xe8, 0xc1, 0x14, 0xe4, 0x90, 0x64, 0x83, 0xfa, 0x48, 0xc9, 0x06, 0xdf, 0x2f, 0x00, 0x19, 0x4c,
+ 0xe8, 0xc1, 0x14, 0xe4, 0x90, 0x64, 0x83, 0xfa, 0x48, 0xc9, 0x06, 0xdf, 0x2b, 0x00, 0x19, 0x4c,
0x77, 0x21, 0xbb, 0x30, 0xe6, 0x70, 0xef, 0x57, 0xee, 0xa2, 0x65, 0x31, 0x27, 0x9a, 0x38, 0x96,
0x64, 0x83, 0xc4, 0x4f, 0x1c, 0xa8, 0xd2, 0xbb, 0x01, 0xf5, 0x9c, 0x30, 0xfd, 0xed, 0x64, 0x0a,
- 0xa4, 0x09, 0x6b, 0x40, 0x62, 0xc6, 0x90, 0x86, 0xf6, 0xc3, 0x22, 0xd4, 0x63, 0x70, 0x0f, 0x32,
+ 0xa4, 0x09, 0x6b, 0x40, 0x62, 0xc6, 0x90, 0x86, 0xf6, 0x83, 0x22, 0xd4, 0x63, 0x70, 0x0f, 0x32,
0x2a, 0xf9, 0x0d, 0x1c, 0xe1, 0x74, 0xda, 0xf2, 0x6c, 0xb9, 0xc3, 0x62, 0x37, 0x70, 0x64, 0x17,
0xae, 0x61, 0x1c, 0x8e, 0xcc, 0x03, 0x74, 0x75, 0x3f, 0xa0, 0x1e, 0x97, 0xbe, 0xa9, 0x7b, 0x2f,
0xeb, 0x61, 0x0f, 0xc6, 0xa0, 0xc8, 0x15, 0x59, 0xe2, 0xae, 0x9c, 0x2c, 0x0e, 0x31, 0xa4, 0x7e,
@@ -2879,13 +2879,13 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0x54, 0x64, 0xb4, 0x37, 0xe0, 0x6c, 0x1a, 0x92, 0x6b, 0x68, 0xc6, 0x2e, 0x35, 0xfb, 0xb6, 0xe2,
0x71, 0xa4, 0xa1, 0xc9, 0x76, 0x0c, 0x21, 0x98, 0x95, 0xc6, 0x3e, 0xd3, 0x9b, 0xae, 0xa3, 0xec,
0x5f, 0xae, 0xec, 0x6e, 0xca, 0x36, 0x0c, 0x7b, 0xb5, 0x7f, 0x2c, 0xc1, 0xc5, 0xc8, 0x7a, 0x5f,
- 0xd7, 0x1d, 0xbd, 0x7d, 0x84, 0xc2, 0xf1, 0x3f, 0x4f, 0x7e, 0x3b, 0x6e, 0x25, 0xc6, 0xd2, 0x43,
- 0x50, 0x89, 0xf1, 0x47, 0x05, 0xe0, 0x7f, 0xcf, 0x40, 0x3e, 0x07, 0x13, 0x7a, 0xec, 0x3f, 0x43,
+ 0xd7, 0x1d, 0xbd, 0x7d, 0x84, 0xc2, 0xf1, 0x3f, 0x4b, 0x7e, 0x3b, 0x6e, 0x25, 0xc6, 0xd2, 0x43,
+ 0x50, 0x89, 0xf1, 0x87, 0x05, 0xe0, 0x7f, 0xcf, 0x40, 0x3e, 0x07, 0x13, 0x7a, 0xec, 0x3f, 0x43,
0xe4, 0xe7, 0xbc, 0x96, 0xfb, 0x73, 0xf2, 0x7f, 0x81, 0x08, 0xb3, 0x55, 0xe3, 0xad, 0x98, 0x20,
0x48, 0x5c, 0xa8, 0xee, 0xe8, 0xb6, 0xcd, 0x94, 0x96, 0xdc, 0xd1, 0x88, 0x04, 0x71, 0xbe, 0xcc,
0x97, 0x25, 0x6a, 0x0c, 0x89, 0x68, 0xff, 0x50, 0x80, 0xc9, 0x96, 0x6d, 0x99, 0x96, 0xd3, 0x3e,
0xc5, 0x12, 0x8c, 0xb7, 0xa0, 0xe2, 0xdb, 0x96, 0x49, 0x47, 0x3c, 0xc7, 0x85, 0x04, 0x61, 0x08,
- 0x50, 0xe0, 0x49, 0xd6, 0x74, 0x2c, 0x1d, 0xa1, 0xa6, 0xe3, 0x8f, 0xc7, 0x40, 0xfe, 0xc5, 0x07,
+ 0x50, 0xe0, 0x49, 0xd6, 0x74, 0x2c, 0x1d, 0xa1, 0xa6, 0xe3, 0x8f, 0xc6, 0x40, 0xfe, 0xc5, 0x07,
0xe9, 0x43, 0xad, 0xad, 0x4a, 0xc5, 0xc9, 0x77, 0xbc, 0x9e, 0xa3, 0xe2, 0x45, 0xa2, 0xe8, 0x9c,
0x38, 0x75, 0xc3, 0x46, 0x8c, 0x28, 0x11, 0x9a, 0xfc, 0x9b, 0x98, 0xa5, 0x9c, 0x7f, 0x13, 0x23,
0xc8, 0x0d, 0xfe, 0x51, 0x8c, 0x0e, 0xe5, 0xdd, 0x20, 0xe8, 0xc9, 0x7d, 0x35, 0xfa, 0xcd, 0xcc,
@@ -2908,7 +2908,7 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0x2d, 0x97, 0x1d, 0xbc, 0xc8, 0xa4, 0x8f, 0xb2, 0x47, 0xfb, 0x7c, 0x19, 0xa2, 0xe0, 0x0d, 0xf1,
0x61, 0xcc, 0xe4, 0x85, 0x26, 0xe5, 0xc9, 0x3d, 0x7a, 0x10, 0x2c, 0x59, 0x85, 0x5b, 0xd8, 0x47,
0xc9, 0x36, 0x94, 0xa4, 0x48, 0x1b, 0x4a, 0x6f, 0xb8, 0xdb, 0xb9, 0x0f, 0xee, 0xd8, 0xed, 0x09,
- 0xe1, 0x4e, 0x8a, 0x35, 0x20, 0xa3, 0x40, 0x7e, 0xa3, 0x00, 0xe7, 0xfc, 0xb4, 0xd2, 0x29, 0x97,
+ 0xe1, 0x4e, 0x8a, 0x35, 0x20, 0xa3, 0x40, 0x7e, 0xbd, 0x00, 0xe7, 0xfc, 0xb4, 0xd2, 0x29, 0x97,
0x03, 0xe6, 0xd7, 0xae, 0xd3, 0x6a, 0xac, 0xcc, 0xa0, 0x1c, 0xd6, 0x8d, 0x83, 0x73, 0x61, 0xfc,
0x17, 0x51, 0x15, 0xb9, 0x9c, 0x56, 0x72, 0xfe, 0xef, 0x42, 0x92, 0xff, 0xc9, 0x36, 0x94, 0xa4,
0xb4, 0x2f, 0x16, 0xa1, 0x1e, 0x3b, 0xad, 0x73, 0x17, 0x46, 0xbe, 0x9b, 0x2a, 0x8c, 0xbc, 0x31,
@@ -2918,41 +2918,41 @@ var fileDescriptor_9d0d1b17d3865563 = []byte{
0x60, 0x23, 0x77, 0xea, 0x95, 0x2c, 0xd4, 0x21, 0x08, 0xc9, 0x07, 0x54, 0xd8, 0xb5, 0xcf, 0x82,
0xfc, 0x27, 0x3a, 0xe2, 0x9f, 0x0e, 0x37, 0x43, 0x65, 0x34, 0x8b, 0xa3, 0xda, 0x67, 0x20, 0xd4,
0x04, 0xde, 0xf1, 0xcf, 0xa9, 0xfd, 0x4b, 0x01, 0x92, 0xca, 0xcf, 0x3b, 0xbf, 0xa2, 0x3a, 0xe9,
- 0x15, 0xb5, 0x74, 0x12, 0x1b, 0x30, 0x7b, 0x51, 0x69, 0xdf, 0x2a, 0xc2, 0x98, 0xfc, 0x6f, 0xc1,
- 0xd3, 0xcf, 0x24, 0xa3, 0x89, 0x4c, 0xb2, 0xc5, 0x9c, 0x87, 0xe3, 0xd0, 0x3c, 0xb2, 0x6e, 0x2a,
- 0x8f, 0x2c, 0xef, 0xbf, 0xdf, 0x3c, 0x20, 0x8b, 0xec, 0x2f, 0x0a, 0x20, 0x8f, 0xe6, 0x55, 0xc7,
- 0x0f, 0x74, 0xc7, 0xe0, 0x7f, 0xc2, 0x28, 0xe5, 0x40, 0xde, 0x74, 0x05, 0x99, 0xd2, 0x23, 0x44,
- 0x3f, 0xff, 0xad, 0xce, 0x7d, 0xf2, 0x3e, 0xa8, 0xee, 0xba, 0x7e, 0xc0, 0xcf, 0xfa, 0x62, 0xd2,
- 0xb7, 0x73, 0x5d, 0xb6, 0x63, 0x08, 0x91, 0x0e, 0xeb, 0x55, 0x86, 0x87, 0xf5, 0xb4, 0xaf, 0x17,
- 0x61, 0x22, 0xf1, 0x9f, 0x47, 0x23, 0x27, 0xc5, 0xa5, 0x72, 0xd2, 0x8a, 0x27, 0x9f, 0x93, 0x96,
- 0x95, 0x77, 0x57, 0xca, 0x99, 0x77, 0x57, 0x3e, 0x4e, 0xde, 0x9d, 0xf6, 0x9d, 0x02, 0x80, 0xe2,
- 0xd6, 0xa9, 0xa7, 0xc4, 0x99, 0xc9, 0x94, 0xb8, 0xdc, 0xeb, 0x2a, 0x3b, 0x21, 0xee, 0xf7, 0x2b,
- 0xea, 0x95, 0x78, 0x3a, 0xdc, 0x5b, 0x05, 0x98, 0xd2, 0x13, 0x29, 0x66, 0xb9, 0xd5, 0xcb, 0x54,
- 0xc6, 0x5a, 0xf8, 0xef, 0x83, 0xc9, 0x76, 0x4c, 0x91, 0x25, 0x2f, 0x44, 0x55, 0xb5, 0x6e, 0x46,
- 0xcb, 0x7e, 0xa0, 0x1c, 0x16, 0x57, 0x75, 0x12, 0x90, 0x0f, 0x48, 0xe9, 0x2b, 0x9d, 0x48, 0x4a,
- 0x5f, 0xfc, 0xb2, 0x52, 0xf9, 0xbe, 0x97, 0x95, 0xf6, 0xa0, 0xb6, 0xe3, 0xb9, 0x5d, 0x9e, 0x35,
- 0x27, 0xff, 0x37, 0xe7, 0x5a, 0x0e, 0x99, 0x12, 0xfd, 0x63, 0x5c, 0x24, 0x5a, 0x97, 0x15, 0x7e,
- 0x8c, 0x48, 0x71, 0xa7, 0xb4, 0x2b, 0xa8, 0x8e, 0x9d, 0x24, 0xd5, 0xf0, 0x2c, 0xd9, 0x14, 0xd8,
- 0x51, 0x91, 0x49, 0x66, 0xca, 0x8d, 0xbf, 0x33, 0x99, 0x72, 0xda, 0xb7, 0x4a, 0xea, 0x00, 0x6b,
- 0xa5, 0xea, 0xaa, 0x14, 0x86, 0xd4, 0x55, 0x91, 0x05, 0xf6, 0xe2, 0x39, 0x5d, 0x4f, 0xc3, 0x98,
- 0x47, 0x75, 0x5f, 0x96, 0x1e, 0x89, 0xe5, 0x4b, 0x20, 0x6f, 0x45, 0xd9, 0x1b, 0xcf, 0xfd, 0x2a,
- 0x3e, 0x20, 0xf7, 0xeb, 0x7d, 0xb1, 0x05, 0x22, 0x92, 0x7b, 0xc3, 0xbd, 0x9e, 0xb1, 0x48, 0x78,
- 0x76, 0x85, 0xfc, 0xdf, 0xf7, 0x4a, 0x3a, 0xbb, 0x42, 0xfe, 0x27, 0x7b, 0x08, 0x41, 0x4c, 0x98,
- 0xb0, 0x75, 0x3f, 0xe0, 0x61, 0x3b, 0x73, 0x21, 0x18, 0x21, 0xb1, 0x2c, 0xdc, 0x46, 0x6b, 0x31,
- 0x3c, 0x98, 0xc0, 0x1a, 0xcb, 0xc3, 0x1b, 0x3f, 0xd5, 0x3c, 0x3c, 0xed, 0xa0, 0x04, 0x29, 0x7b,
- 0xe7, 0xe7, 0x51, 0x85, 0xff, 0x52, 0x51, 0x85, 0xb7, 0x8b, 0x10, 0x6d, 0xde, 0x63, 0xa6, 0x47,
- 0xbc, 0x0a, 0xd5, 0xae, 0x7e, 0x77, 0x89, 0xda, 0xfa, 0x7e, 0x9e, 0x3f, 0x28, 0x59, 0x97, 0x38,
- 0x30, 0xc4, 0x46, 0x7c, 0x00, 0x2b, 0xac, 0x57, 0x97, 0xdb, 0x4b, 0x1c, 0x95, 0xbe, 0x13, 0x7e,
- 0xa8, 0xe8, 0x19, 0x63, 0x64, 0xb4, 0x3f, 0x2f, 0x82, 0x2c, 0x6c, 0x48, 0x28, 0x54, 0x76, 0xac,
- 0xbb, 0xd4, 0xcc, 0x9d, 0x2a, 0x18, 0xfb, 0xdb, 0x28, 0xe1, 0x06, 0xe7, 0x0d, 0x28, 0xb0, 0x73,
- 0xff, 0xa6, 0x08, 0x6b, 0x48, 0xfe, 0xe5, 0xf0, 0x6f, 0xc6, 0xc3, 0x23, 0xd2, 0xbf, 0x29, 0x9a,
- 0x50, 0xd1, 0x10, 0xee, 0x54, 0x1e, 0x5b, 0x96, 0x2c, 0xcd, 0xe3, 0x4e, 0x8d, 0xc5, 0xa8, 0x95,
- 0x3b, 0xd5, 0x17, 0x97, 0x86, 0x25, 0x8d, 0xe6, 0x27, 0xbf, 0xfd, 0xbd, 0xcb, 0x8f, 0x7c, 0xe7,
- 0x7b, 0x97, 0x1f, 0xf9, 0xee, 0xf7, 0x2e, 0x3f, 0xf2, 0xf9, 0xc3, 0xcb, 0x85, 0x6f, 0x1f, 0x5e,
- 0x2e, 0x7c, 0xe7, 0xf0, 0x72, 0xe1, 0xbb, 0x87, 0x97, 0x0b, 0x7f, 0x77, 0x78, 0xb9, 0xf0, 0xab,
- 0x7f, 0x7f, 0xf9, 0x91, 0x4f, 0x3c, 0x1f, 0x4d, 0x61, 0x4e, 0x4d, 0x61, 0x4e, 0x11, 0x9c, 0xeb,
- 0x75, 0xda, 0x73, 0x6c, 0x0a, 0x51, 0x8b, 0x9a, 0xc2, 0x7f, 0x06, 0x00, 0x00, 0xff, 0xff, 0x0e,
- 0x7e, 0x84, 0x52, 0xc4, 0x85, 0x00, 0x00,
+ 0x15, 0xb5, 0x74, 0x12, 0x1b, 0x30, 0x7b, 0x51, 0x69, 0x7f, 0x50, 0x84, 0x31, 0xf9, 0xdf, 0x82,
+ 0xa7, 0x9f, 0x49, 0x46, 0x13, 0x99, 0x64, 0x8b, 0x39, 0x0f, 0xc7, 0xa1, 0x79, 0x64, 0xdd, 0x54,
+ 0x1e, 0x59, 0xde, 0x7f, 0xbf, 0x79, 0x40, 0x16, 0xd9, 0x5f, 0x14, 0x40, 0x1e, 0xcd, 0xab, 0x8e,
+ 0x1f, 0xe8, 0x8e, 0xc1, 0xff, 0x84, 0x51, 0xca, 0x81, 0xbc, 0xe9, 0x0a, 0x32, 0xa5, 0x47, 0x88,
+ 0x7e, 0xfe, 0x5b, 0x9d, 0xfb, 0xe4, 0x7d, 0x50, 0xdd, 0x75, 0xfd, 0x80, 0x9f, 0xf5, 0xc5, 0xa4,
+ 0x6f, 0xe7, 0xba, 0x6c, 0xc7, 0x10, 0x22, 0x1d, 0xd6, 0xab, 0x0c, 0x0f, 0xeb, 0x69, 0x5f, 0x2f,
+ 0xc2, 0x44, 0xe2, 0x3f, 0x8f, 0x46, 0x4e, 0x8a, 0x4b, 0xe5, 0xa4, 0x15, 0x4f, 0x3e, 0x27, 0x2d,
+ 0x2b, 0xef, 0xae, 0x94, 0x33, 0xef, 0xae, 0x7c, 0x9c, 0xbc, 0x3b, 0xed, 0xdb, 0x05, 0x00, 0xc5,
+ 0xad, 0x53, 0x4f, 0x89, 0x33, 0x93, 0x29, 0x71, 0xb9, 0xd7, 0x55, 0x76, 0x42, 0xdc, 0xef, 0x55,
+ 0xd4, 0x2b, 0xf1, 0x74, 0xb8, 0xb7, 0x0a, 0x30, 0xa5, 0x27, 0x52, 0xcc, 0x72, 0xab, 0x97, 0xa9,
+ 0x8c, 0xb5, 0xf0, 0xdf, 0x07, 0x93, 0xed, 0x98, 0x22, 0x4b, 0x5e, 0x88, 0xaa, 0x6a, 0xdd, 0x8c,
+ 0x96, 0xfd, 0x40, 0x39, 0x2c, 0xae, 0xea, 0x24, 0x20, 0x1f, 0x90, 0xd2, 0x57, 0x3a, 0x91, 0x94,
+ 0xbe, 0xf8, 0x65, 0xa5, 0xf2, 0x7d, 0x2f, 0x2b, 0xed, 0x41, 0x6d, 0xc7, 0x73, 0xbb, 0x3c, 0x6b,
+ 0x4e, 0xfe, 0x6f, 0xce, 0xb5, 0x1c, 0x32, 0x25, 0xfa, 0xc7, 0xb8, 0x48, 0xb4, 0x2e, 0x2b, 0xfc,
+ 0x18, 0x91, 0xe2, 0x4e, 0x69, 0x57, 0x50, 0x1d, 0x3b, 0x49, 0xaa, 0xe1, 0x59, 0xb2, 0x29, 0xb0,
+ 0xa3, 0x22, 0x93, 0xcc, 0x94, 0x1b, 0x7f, 0x67, 0x32, 0xe5, 0xb4, 0x5f, 0x2c, 0xab, 0x03, 0xac,
+ 0x95, 0xaa, 0xab, 0x52, 0x18, 0x52, 0x57, 0x45, 0x16, 0xd8, 0x8b, 0xe7, 0x74, 0x3d, 0x0d, 0x63,
+ 0x1e, 0xd5, 0x7d, 0x59, 0x7a, 0x24, 0x96, 0x2f, 0x81, 0xbc, 0x15, 0x65, 0x6f, 0x3c, 0xf7, 0xab,
+ 0xf8, 0x80, 0xdc, 0xaf, 0xf7, 0xc5, 0x16, 0x88, 0x48, 0xee, 0x0d, 0xf7, 0x7a, 0xc6, 0x22, 0xe1,
+ 0xd9, 0x15, 0xf2, 0x7f, 0xdf, 0x2b, 0xe9, 0xec, 0x0a, 0xf9, 0x9f, 0xec, 0x21, 0x04, 0x31, 0x61,
+ 0xc2, 0xd6, 0xfd, 0x80, 0x87, 0xed, 0xcc, 0x85, 0x60, 0x84, 0xc4, 0xb2, 0x70, 0x1b, 0xad, 0xc5,
+ 0xf0, 0x60, 0x02, 0x6b, 0x2c, 0x0f, 0x6f, 0xfc, 0x74, 0xf3, 0xf0, 0xb2, 0xf3, 0xb2, 0xaa, 0x23,
+ 0xe5, 0x65, 0x1d, 0x94, 0x20, 0x65, 0x3b, 0xfd, 0x2c, 0x42, 0xf1, 0x5f, 0x2a, 0x42, 0xf1, 0x76,
+ 0x11, 0xa2, 0x83, 0xe0, 0x98, 0xa9, 0x16, 0xaf, 0x42, 0xb5, 0xab, 0xdf, 0x5d, 0xa2, 0xb6, 0xbe,
+ 0x9f, 0xe7, 0xcf, 0x4e, 0xd6, 0x25, 0x0e, 0x0c, 0xb1, 0x11, 0x1f, 0xc0, 0x0a, 0x6b, 0xdf, 0xe5,
+ 0xf6, 0x38, 0x47, 0x65, 0xf4, 0x84, 0x4f, 0x2b, 0x7a, 0xc6, 0x18, 0x19, 0xed, 0xcf, 0x8b, 0x20,
+ 0x8b, 0x24, 0x12, 0x0a, 0x95, 0x1d, 0xeb, 0x2e, 0x35, 0x73, 0xa7, 0x1d, 0xc6, 0xfe, 0x82, 0x4a,
+ 0xb8, 0xd4, 0x79, 0x03, 0x0a, 0xec, 0xdc, 0x57, 0x2a, 0x42, 0x24, 0x92, 0x7f, 0x39, 0x7c, 0xa5,
+ 0xf1, 0x50, 0x8b, 0xf4, 0x95, 0x8a, 0x26, 0x54, 0x34, 0x84, 0x6b, 0x96, 0xc7, 0xa9, 0x25, 0x4b,
+ 0xf3, 0xb8, 0x66, 0x63, 0xf1, 0x6e, 0xe5, 0x9a, 0xf5, 0xc5, 0x05, 0x64, 0x49, 0xa3, 0xf9, 0xc9,
+ 0x6f, 0x7d, 0xf7, 0xf2, 0x23, 0xdf, 0xfe, 0xee, 0xe5, 0x47, 0xbe, 0xf3, 0xdd, 0xcb, 0x8f, 0x7c,
+ 0xfe, 0xf0, 0x72, 0xe1, 0x5b, 0x87, 0x97, 0x0b, 0xdf, 0x3e, 0xbc, 0x5c, 0xf8, 0xce, 0xe1, 0xe5,
+ 0xc2, 0xdf, 0x1d, 0x5e, 0x2e, 0xfc, 0xca, 0xdf, 0x5f, 0x7e, 0xe4, 0x13, 0xcf, 0x47, 0x53, 0x98,
+ 0x53, 0x53, 0x98, 0x53, 0x04, 0xe7, 0x7a, 0x9d, 0xf6, 0x1c, 0x9b, 0x42, 0xd4, 0xa2, 0xa6, 0xf0,
+ 0x9f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x16, 0xbc, 0x15, 0xa3, 0x10, 0x86, 0x00, 0x00,
}
func (m *AbstractPodTemplate) Marshal() (dAtA []byte, err error) {
@@ -8062,6 +8062,9 @@ func (m *VertexStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ i = encodeVarintGenerated(dAtA, i, uint64(m.ObservedGeneration))
+ i--
+ dAtA[i] = 0x40
{
size, err := m.Status.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
@@ -10196,6 +10199,7 @@ func (m *VertexStatus) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l))
l = m.Status.Size()
n += 1 + l + sovGenerated(uint64(l))
+ n += 1 + sovGenerated(uint64(m.ObservedGeneration))
return n
}
@@ -11556,6 +11560,7 @@ func (this *VertexStatus) String() string {
`Selector:` + fmt.Sprintf("%v", this.Selector) + `,`,
`Reason:` + fmt.Sprintf("%v", this.Reason) + `,`,
`Status:` + strings.Replace(strings.Replace(this.Status.String(), "Status", "Status", 1), `&`, ``, 1) + `,`,
+ `ObservedGeneration:` + fmt.Sprintf("%v", this.ObservedGeneration) + `,`,
`}`,
}, "")
return s
@@ -27841,6 +27846,25 @@ func (m *VertexStatus) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 8:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ObservedGeneration", wireType)
+ }
+ m.ObservedGeneration = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.ObservedGeneration |= int64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
diff --git a/pkg/apis/numaflow/v1alpha1/generated.proto b/pkg/apis/numaflow/v1alpha1/generated.proto
index 19fbc9a266..69851f9ded 100644
--- a/pkg/apis/numaflow/v1alpha1/generated.proto
+++ b/pkg/apis/numaflow/v1alpha1/generated.proto
@@ -1486,6 +1486,9 @@ message VertexStatus {
optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastScaledAt = 4;
optional Status status = 7;
+
+ // ObservedGeneration stores the generation value observed by the controller.
+ optional int64 observedGeneration = 8;
}
message VertexTemplate {
diff --git a/pkg/apis/numaflow/v1alpha1/openapi_generated.go b/pkg/apis/numaflow/v1alpha1/openapi_generated.go
index 477414aa8e..6a3bf1406c 100644
--- a/pkg/apis/numaflow/v1alpha1/openapi_generated.go
+++ b/pkg/apis/numaflow/v1alpha1/openapi_generated.go
@@ -4970,6 +4970,13 @@ func schema_pkg_apis_numaflow_v1alpha1_VertexStatus(ref common.ReferenceCallback
},
},
},
+ "observedGeneration": {
+ SchemaProps: spec.SchemaProps{
+ Description: "ObservedGeneration stores the generation value observed by the controller.",
+ Type: []string{"integer"},
+ Format: "int64",
+ },
+ },
},
Required: []string{"phase", "replicas"},
},
diff --git a/pkg/apis/numaflow/v1alpha1/vertex_types.go b/pkg/apis/numaflow/v1alpha1/vertex_types.go
index 806e4fc6ce..39a4c05b18 100644
--- a/pkg/apis/numaflow/v1alpha1/vertex_types.go
+++ b/pkg/apis/numaflow/v1alpha1/vertex_types.go
@@ -829,6 +829,8 @@ type VertexStatus struct {
Selector string `json:"selector,omitempty" protobuf:"bytes,5,opt,name=selector"`
LastScaledAt metav1.Time `json:"lastScaledAt,omitempty" protobuf:"bytes,4,opt,name=lastScaledAt"`
Status `json:",inline" protobuf:"bytes,7,opt,name=status"`
+ // ObservedGeneration stores the generation value observed by the controller.
+ ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,8,opt,name=observedGeneration"`
}
func (vs *VertexStatus) MarkPhase(phase VertexPhase, reason, message string) {
@@ -868,6 +870,11 @@ func (vs *VertexStatus) IsHealthy() bool {
return vs.IsReady()
}
+// SetObservedGeneration sets the Status ObservedGeneration
+func (vs *VertexStatus) SetObservedGeneration(value int64) {
+ vs.ObservedGeneration = value
+}
+
// +kubebuilder:object:root=true
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type VertexList struct {
diff --git a/pkg/reconciler/isbsvc/installer/jetstream.go b/pkg/reconciler/isbsvc/installer/jetstream.go
index ffb5ea2d09..e0d618e9ac 100644
--- a/pkg/reconciler/isbsvc/installer/jetstream.go
+++ b/pkg/reconciler/isbsvc/installer/jetstream.go
@@ -569,10 +569,10 @@ func (r *jetStreamInstaller) CheckChildrenResourceStatus(ctx context.Context) er
return err
}
// calculate the status of the InterStepBufferService by statefulset status and update the status of isbSvc
- if msg, status := getStatefulSetStatus(&isbStatefulSet); status {
- r.isbSvc.Status.MarkChildrenResourceHealthy("RolloutFinished", msg)
+ if msg, reason, status := getStatefulSetStatus(&isbStatefulSet); status {
+ r.isbSvc.Status.MarkChildrenResourceHealthy(reason, msg)
} else {
- r.isbSvc.Status.MarkChildrenResourceNotHealthy("Progressing", msg)
+ r.isbSvc.Status.MarkChildrenResourceNotHealthy(reason, msg)
}
return nil
}
diff --git a/pkg/reconciler/isbsvc/installer/native_redis.go b/pkg/reconciler/isbsvc/installer/native_redis.go
index 0723bf25da..f3f5d2cd62 100644
--- a/pkg/reconciler/isbsvc/installer/native_redis.go
+++ b/pkg/reconciler/isbsvc/installer/native_redis.go
@@ -627,13 +627,19 @@ func (r *redisInstaller) CheckChildrenResourceStatus(ctx context.Context) error
Namespace: r.isbSvc.Namespace,
Name: generateRedisStatefulSetName(r.isbSvc),
}, &isbStatefulSet); err != nil {
+ if apierrors.IsNotFound(err) {
+ r.isbSvc.Status.MarkChildrenResourceNotHealthy("GetStatefulSetFailed",
+ "StatefulSet not found, might be still under creation")
+ return nil
+ }
+ r.isbSvc.Status.MarkChildrenResourceNotHealthy("GetStatefulSetFailed", err.Error())
return err
}
// calculate the status of the InterStepBufferService by statefulset status and update the status of isbSvc
- if msg, status := getStatefulSetStatus(&isbStatefulSet); status {
- r.isbSvc.Status.MarkChildrenResourceHealthy("RolloutFinished", msg)
+ if msg, reason, status := getStatefulSetStatus(&isbStatefulSet); status {
+ r.isbSvc.Status.MarkChildrenResourceHealthy(reason, msg)
} else {
- r.isbSvc.Status.MarkChildrenResourceNotHealthy("Progressing", msg)
+ r.isbSvc.Status.MarkChildrenResourceNotHealthy(reason, msg)
}
return nil
}
diff --git a/pkg/reconciler/isbsvc/installer/watcher.go b/pkg/reconciler/isbsvc/installer/watcher.go
index 9951e49461..88e06c11fa 100644
--- a/pkg/reconciler/isbsvc/installer/watcher.go
+++ b/pkg/reconciler/isbsvc/installer/watcher.go
@@ -8,29 +8,29 @@ import (
// getStatefulSetStatus returns a message describing statefulset status, and a bool value indicating if the status is considered done.
// Borrowed at kubernetes/kubectl/rollout_status.go https://github.com/kubernetes/kubernetes/blob/cea1d4e20b4a7886d8ff65f34c6d4f95efcb4742/staging/src/k8s.io/kubectl/pkg/polymorphichelpers/rollout_status.go#L130
-func getStatefulSetStatus(sts *appv1.StatefulSet) (string, bool) {
+func getStatefulSetStatus(sts *appv1.StatefulSet) (string, string, bool) {
if sts.Status.ObservedGeneration == 0 || sts.Generation > sts.Status.ObservedGeneration {
- return "Waiting for statefulset spec update to be observed...\n", false
+ return "Waiting for statefulset spec update to be observed...\n", "Progressing", false
+ }
+ if sts.Status.UpdateRevision != sts.Status.CurrentRevision {
+ return fmt.Sprintf("waiting for statefulset rolling update to complete %d pods at revision %s...\n",
+ sts.Status.UpdatedReplicas, sts.Status.UpdateRevision), "Progressing", false
}
if sts.Spec.Replicas != nil && sts.Status.ReadyReplicas < *sts.Spec.Replicas {
- return fmt.Sprintf("Waiting for %d pods to be ready...\n", *sts.Spec.Replicas-sts.Status.ReadyReplicas), false
+ return fmt.Sprintf("Waiting for %d pods to be ready...\n", *sts.Spec.Replicas-sts.Status.ReadyReplicas), "Unavailable", false
}
if sts.Spec.UpdateStrategy.Type == appv1.RollingUpdateStatefulSetStrategyType && sts.Spec.UpdateStrategy.RollingUpdate != nil {
if sts.Spec.Replicas != nil && sts.Spec.UpdateStrategy.RollingUpdate.Partition != nil {
if sts.Status.UpdatedReplicas < (*sts.Spec.Replicas - *sts.Spec.UpdateStrategy.RollingUpdate.Partition) {
return fmt.Sprintf(
"Waiting for partitioned roll out to finish: %d out of %d new pods have been updated...\n",
- sts.Status.UpdatedReplicas, *sts.Spec.Replicas-*sts.Spec.UpdateStrategy.RollingUpdate.Partition), false
+ sts.Status.UpdatedReplicas, *sts.Spec.Replicas-*sts.Spec.UpdateStrategy.RollingUpdate.Partition), "Progressing", false
}
}
return fmt.Sprintf("partitioned roll out complete: %d new pods have been updated...\n",
- sts.Status.UpdatedReplicas), true
- }
- if sts.Status.UpdateRevision != sts.Status.CurrentRevision {
- return fmt.Sprintf("waiting for statefulset rolling update to complete %d pods at revision %s...\n",
- sts.Status.UpdatedReplicas, sts.Status.UpdateRevision), false
+ sts.Status.UpdatedReplicas), "Healthy", true
}
return fmt.Sprintf(
"statefulset rolling update complete %d pods at revision %s...\n",
- sts.Status.CurrentReplicas, sts.Status.CurrentRevision), true
+ sts.Status.CurrentReplicas, sts.Status.CurrentRevision), "Healthy", true
}
diff --git a/pkg/reconciler/isbsvc/installer/watcher_test.go b/pkg/reconciler/isbsvc/installer/watcher_test.go
index 37fdbd9cad..79c912dc40 100644
--- a/pkg/reconciler/isbsvc/installer/watcher_test.go
+++ b/pkg/reconciler/isbsvc/installer/watcher_test.go
@@ -30,7 +30,8 @@ var (
func TestGetStatefulSetStatus(t *testing.T) {
t.Run("Test statefulset status as true", func(t *testing.T) {
testSts := statefulSet.DeepCopy()
- msg, status := getStatefulSetStatus(testSts)
+ msg, reason, status := getStatefulSetStatus(testSts)
+ assert.Equal(t, "Healthy", reason)
assert.True(t, status)
assert.Equal(t, "statefulset rolling update complete 3 pods at revision isbsvc-default-js-597b7f74d7...\n", msg)
})
@@ -38,7 +39,8 @@ func TestGetStatefulSetStatus(t *testing.T) {
t.Run("Test statefulset status as false", func(t *testing.T) {
testSts := statefulSet.DeepCopy()
testSts.Status.UpdateRevision = "isbsvc-default-js-597b7f73a1"
- msg, status := getStatefulSetStatus(testSts)
+ msg, reason, status := getStatefulSetStatus(testSts)
+ assert.Equal(t, "Progressing", reason)
assert.False(t, status)
assert.Equal(t, "waiting for statefulset rolling update to complete 3 pods at revision isbsvc-default-js-597b7f73a1...\n", msg)
})
@@ -46,7 +48,8 @@ func TestGetStatefulSetStatus(t *testing.T) {
t.Run("Test statefulset with ObservedGeneration as zero", func(t *testing.T) {
testSts := statefulSet.DeepCopy()
testSts.Status.ObservedGeneration = 0
- msg, status := getStatefulSetStatus(testSts)
+ msg, reason, status := getStatefulSetStatus(testSts)
+ assert.Equal(t, "Progressing", reason)
assert.False(t, status)
assert.Equal(t, "Waiting for statefulset spec update to be observed...\n", msg)
})
diff --git a/pkg/reconciler/pipeline/watcher.go b/pkg/reconciler/pipeline/watcher.go
index 85499b1fcf..2b65987dc4 100644
--- a/pkg/reconciler/pipeline/watcher.go
+++ b/pkg/reconciler/pipeline/watcher.go
@@ -11,11 +11,14 @@ import (
// getVertexStatus will calculate the status of the vertices and return the status and reason
func getVertexStatus(vertices *dfv1.VertexList) (bool, string) {
for _, vertex := range vertices.Items {
- if !vertex.Status.IsHealthy() {
+ if vertex.Status.ObservedGeneration == 0 || vertex.Generation > vertex.Status.ObservedGeneration {
return false, "Progressing"
}
+ if !vertex.Status.IsHealthy() {
+ return false, "Unavailable"
+ }
}
- return true, "Successful"
+ return true, "Healthy"
}
// getDeploymentStatus returns a message describing deployment status, and message with reason where bool value
@@ -30,21 +33,21 @@ func getDeploymentStatus(deployment *appv1.Deployment) (string, string, bool) {
if deployment.Spec.Replicas != nil && deployment.Status.UpdatedReplicas < *deployment.Spec.Replicas {
return fmt.Sprintf(
"Waiting for deployment %q rollout to finish: %d out of %d new replicas have been updated...\n",
- deployment.Name, deployment.Status.UpdatedReplicas, *deployment.Spec.Replicas), "DeploymentNotComplete", false
+ deployment.Name, deployment.Status.UpdatedReplicas, *deployment.Spec.Replicas), "Progressing", false
}
if deployment.Status.Replicas > deployment.Status.UpdatedReplicas {
return fmt.Sprintf(
"Waiting for deployment %q rollout to finish: %d old replicas are pending termination...\n",
- deployment.Name, deployment.Status.Replicas-deployment.Status.UpdatedReplicas), "DeploymentNotComplete", false
+ deployment.Name, deployment.Status.Replicas-deployment.Status.UpdatedReplicas), "Progressing", false
}
if deployment.Status.AvailableReplicas < deployment.Status.UpdatedReplicas {
return fmt.Sprintf(
"Waiting for deployment %q rollout to finish: %d of %d updated replicas are available...\n",
- deployment.Name, deployment.Status.AvailableReplicas, deployment.Status.UpdatedReplicas), "DeploymentNotComplete", false
+ deployment.Name, deployment.Status.AvailableReplicas, deployment.Status.UpdatedReplicas), "Progressing", false
}
- return fmt.Sprintf("deployment %q successfully rolled out\n", deployment.Name), "DeploymentComplete", true
+ return fmt.Sprintf("deployment %q successfully rolled out\n", deployment.Name), "Healthy", true
}
- return "Waiting for deployment spec update to be observed...", "DeploymentNotComplete", false
+ return "Waiting for deployment spec update to be observed...", "Progressing", false
}
// GetDeploymentCondition returns the condition with the provided type.
diff --git a/pkg/reconciler/pipeline/watcher_test.go b/pkg/reconciler/pipeline/watcher_test.go
index 9662687208..0cd01a5024 100644
--- a/pkg/reconciler/pipeline/watcher_test.go
+++ b/pkg/reconciler/pipeline/watcher_test.go
@@ -33,7 +33,7 @@ func TestGetDeploymentStatus(t *testing.T) {
t.Run("Test Deployment status as true", func(t *testing.T) {
testDeployment := deployment.DeepCopy()
message, reason, done := getDeploymentStatus(testDeployment)
- assert.Equal(t, "DeploymentComplete", reason)
+ assert.Equal(t, "Healthy", reason)
assert.True(t, done)
assert.Equal(t, "deployment \"test-deployment\" successfully rolled out\n", message)
})
@@ -43,7 +43,7 @@ func TestGetDeploymentStatus(t *testing.T) {
testDeployment.Status.ObservedGeneration = 0
testDeployment.Status.UpdatedReplicas = 0
message, reason, done := getDeploymentStatus(testDeployment)
- assert.Equal(t, "DeploymentNotComplete", reason)
+ assert.Equal(t, "Progressing", reason)
assert.False(t, done)
assert.Equal(t, "Waiting for deployment \"test-deployment\" rollout to finish: 0 out of 1 new replicas have been updated...\n", message)
})
@@ -53,7 +53,7 @@ func TestGetDeploymentStatus(t *testing.T) {
testDeployment.Status.UpdatedReplicas = 1
testDeployment.Status.Replicas = 2
message, reason, done := getDeploymentStatus(testDeployment)
- assert.Equal(t, "DeploymentNotComplete", reason)
+ assert.Equal(t, "Progressing", reason)
assert.False(t, done)
assert.Equal(t, "Waiting for deployment \"test-deployment\" rollout to finish: 1 old replicas are pending termination...\n", message)
})
@@ -64,8 +64,12 @@ func TestGetVertexStatus(t *testing.T) {
vertices := dfv1.VertexList{
Items: []dfv1.Vertex{
{
+ ObjectMeta: metav1.ObjectMeta{
+ Generation: 1,
+ },
Status: dfv1.VertexStatus{
- Phase: "Running",
+ Phase: "Running",
+ ObservedGeneration: 1,
},
},
},
@@ -78,7 +82,32 @@ func TestGetVertexStatus(t *testing.T) {
}
status, reason := getVertexStatus(&vertices)
assert.True(t, status)
- assert.Equal(t, "Successful", reason)
+ assert.Equal(t, "Healthy", reason)
+ })
+
+ t.Run("Test Vertex status as false when ObservedGeneration is not matching", func(t *testing.T) {
+ vertices := dfv1.VertexList{
+ Items: []dfv1.Vertex{
+ {
+ ObjectMeta: metav1.ObjectMeta{
+ Generation: 2,
+ },
+ Status: dfv1.VertexStatus{
+ Phase: "Running",
+ ObservedGeneration: 1,
+ },
+ },
+ },
+ }
+ vertices.Items[0].Status.Conditions = []metav1.Condition{
+ {
+ Type: string(dfv1.VertexConditionPodsHealthy),
+ Status: metav1.ConditionTrue,
+ },
+ }
+ status, reason := getVertexStatus(&vertices)
+ assert.False(t, status)
+ assert.Equal(t, "Progressing", reason)
})
t.Run("Test Vertex status as false", func(t *testing.T) {
diff --git a/pkg/reconciler/vertex/controller.go b/pkg/reconciler/vertex/controller.go
index 11528f8e20..a1ccd7dd62 100644
--- a/pkg/reconciler/vertex/controller.go
+++ b/pkg/reconciler/vertex/controller.go
@@ -320,6 +320,7 @@ func (r *vertexReconciler) reconcile(ctx context.Context, vertex *dfv1.Vertex) (
vertex.Status.Selector = selector.String()
vertex.Status.MarkPhaseRunning()
+ vertex.Status.SetObservedGeneration(vertex.Generation)
if err = checkChildrenResourceStatus(ctx, r.client, vertex); err != nil {
return ctrl.Result{}, fmt.Errorf("failed to check children resource status: %w", err)
}