diff --git a/meta/v1alpha1/status.pb.go b/meta/v1alpha1/status.pb.go index 801c0439cc3..7bb44f33169 100644 --- a/meta/v1alpha1/status.pb.go +++ b/meta/v1alpha1/status.pb.go @@ -29,6 +29,7 @@ import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" v1alpha1 "istio.io/api/analysis/v1alpha1" + v1beta1 "istio.io/api/type/v1beta1" reflect "reflect" sync "sync" ) @@ -61,6 +62,9 @@ type IstioStatus struct { // generation is still in progress. See https://istio.io/latest/docs/reference/config/config-status/ for more info. // +optional ObservedGeneration int64 `protobuf:"varint,3,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"` + // Status from Ancestors + // +optional + Ancestors []*v1beta1.PolicyAncestorStatus `protobuf:"bytes,4,rep,name=ancestors,proto3" json:"ancestors,omitempty"` } func (x *IstioStatus) Reset() { @@ -116,6 +120,13 @@ func (x *IstioStatus) GetObservedGeneration() int64 { return 0 } +func (x *IstioStatus) GetAncestors() []*v1beta1.PolicyAncestorStatus { + if x != nil { + return x.Ancestors + } + return nil +} + type IstioCondition struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -224,40 +235,47 @@ var file_meta_v1alpha1_status_proto_rawDesc = []byte{ 0x70, 0x68, 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x01, 0x0a, 0x0b, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, - 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73, - 0x74, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x13, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x61, 0x6e, - 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, - 0x61, 0x73, 0x65, 0x52, 0x12, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x64, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x80, 0x02, 0x0a, 0x0e, 0x49, 0x73, 0x74, - 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, - 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x6c, 0x61, - 0x73, 0x74, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x14, 0x6c, - 0x61, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x1c, 0x5a, 0x1a, 0x69, - 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x74, 0x61, - 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2d, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x2d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, + 0x02, 0x0a, 0x0b, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x43, + 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x74, 0x69, 0x6f, 0x43, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x52, 0x12, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x09, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x41, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x09, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x80, 0x02, 0x0a, 0x0e, + 0x49, 0x73, 0x74, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4c, + 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x1c, + 0x5a, 0x1a, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, + 0x65, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -277,18 +295,20 @@ var file_meta_v1alpha1_status_proto_goTypes = []interface{}{ (*IstioStatus)(nil), // 0: istio.meta.v1alpha1.IstioStatus (*IstioCondition)(nil), // 1: istio.meta.v1alpha1.IstioCondition (*v1alpha1.AnalysisMessageBase)(nil), // 2: istio.analysis.v1alpha1.AnalysisMessageBase - (*timestamp.Timestamp)(nil), // 3: google.protobuf.Timestamp + (*v1beta1.PolicyAncestorStatus)(nil), // 3: istio.type.v1beta1.PolicyAncestorStatus + (*timestamp.Timestamp)(nil), // 4: google.protobuf.Timestamp } var file_meta_v1alpha1_status_proto_depIdxs = []int32{ 1, // 0: istio.meta.v1alpha1.IstioStatus.conditions:type_name -> istio.meta.v1alpha1.IstioCondition 2, // 1: istio.meta.v1alpha1.IstioStatus.validation_messages:type_name -> istio.analysis.v1alpha1.AnalysisMessageBase - 3, // 2: istio.meta.v1alpha1.IstioCondition.last_probe_time:type_name -> google.protobuf.Timestamp - 3, // 3: istio.meta.v1alpha1.IstioCondition.last_transition_time:type_name -> google.protobuf.Timestamp - 4, // [4:4] is the sub-list for method output_type - 4, // [4:4] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 3, // 2: istio.meta.v1alpha1.IstioStatus.ancestors:type_name -> istio.type.v1beta1.PolicyAncestorStatus + 4, // 3: istio.meta.v1alpha1.IstioCondition.last_probe_time:type_name -> google.protobuf.Timestamp + 4, // 4: istio.meta.v1alpha1.IstioCondition.last_transition_time:type_name -> google.protobuf.Timestamp + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name } func init() { file_meta_v1alpha1_status_proto_init() } diff --git a/meta/v1alpha1/status.pb.html b/meta/v1alpha1/status.pb.html index 03acced8955..820f26f9576 100644 --- a/meta/v1alpha1/status.pb.html +++ b/meta/v1alpha1/status.pb.html @@ -49,6 +49,17 @@

IstioStatus

When this value is not equal to the object’s metadata generation, reconciled condition calculation for the current generation is still in progress. See https://istio.io/latest/docs/reference/config/config-status/ for more info.

+ + +No + + + +ancestors +PolicyAncestorStatus[] + +

Status from Ancestors

+ No diff --git a/meta/v1alpha1/status.proto b/meta/v1alpha1/status.proto index 402bad14f5b..dcc273ae6e3 100644 --- a/meta/v1alpha1/status.proto +++ b/meta/v1alpha1/status.proto @@ -14,9 +14,10 @@ syntax = "proto3"; import "analysis/v1alpha1/message.proto"; - import "google/protobuf/timestamp.proto"; +import "type/v1beta1/policy-ancestor-status.proto"; + // $title: Istio Status // $description: Common status field for all istio collections. // $location: https://istio.io/docs/reference/config/meta/v1beta1/istio-status.html @@ -44,6 +45,11 @@ message IstioStatus { // generation is still in progress. See https://istio.io/latest/docs/reference/config/config-status/ for more info. // +optional int64 observed_generation = 3; + + // Status from Ancestors + // +optional + // $hide_from_docs + repeated istio.type.v1beta1.PolicyAncestorStatus ancestors = 4; } message IstioCondition { @@ -70,3 +76,4 @@ message IstioCondition { // +optional string message = 6; } + diff --git a/proto.lock b/proto.lock index 1a338440b2d..7908f8095dd 100644 --- a/proto.lock +++ b/proto.lock @@ -39249,6 +39249,12 @@ "id": 3, "name": "observed_generation", "type": "int64" + }, + { + "id": 4, + "name": "ancestors", + "type": "istio.type.v1beta1.PolicyAncestorStatus", + "is_repeated": true } ] }, @@ -39294,6 +39300,9 @@ }, { "path": "google/protobuf/timestamp.proto" + }, + { + "path": "type/v1beta1/policy-ancestor-status.proto" } ], "package": { @@ -48304,6 +48313,118 @@ ] } }, + { + "protopath": "type:/:v1beta1:/:policy-ancestor-status.proto", + "def": { + "messages": [ + { + "name": "ParentReference", + "fields": [ + { + "id": 1, + "name": "group", + "type": "string" + }, + { + "id": 2, + "name": "kind", + "type": "string" + }, + { + "id": 3, + "name": "namespace", + "type": "string" + }, + { + "id": 4, + "name": "name", + "type": "string" + }, + { + "id": 5, + "name": "section_name", + "type": "string" + }, + { + "id": 6, + "name": "port", + "type": "int32" + } + ] + }, + { + "name": "PolicyAncestorStatus", + "fields": [ + { + "id": 1, + "name": "ancestor_ref", + "type": "ParentReference" + }, + { + "id": 2, + "name": "controller_name", + "type": "string" + }, + { + "id": 3, + "name": "conditions", + "type": "Condition", + "is_repeated": true + } + ] + }, + { + "name": "Condition", + "fields": [ + { + "id": 1, + "name": "type", + "type": "string" + }, + { + "id": 2, + "name": "status", + "type": "string" + }, + { + "id": 3, + "name": "observed_generation", + "type": "int64" + }, + { + "id": 4, + "name": "last_transition_time", + "type": "google.protobuf.Timestamp" + }, + { + "id": 5, + "name": "reason", + "type": "string" + }, + { + "id": 6, + "name": "message", + "type": "string" + } + ] + } + ], + "imports": [ + { + "path": "google/protobuf/timestamp.proto" + } + ], + "package": { + "name": "istio.type.v1beta1" + }, + "options": [ + { + "name": "go_package", + "value": "istio.io/api/type/v1beta1" + } + ] + } + }, { "protopath": "type:/:v1beta1:/:selector.proto", "def": { diff --git a/type/v1beta1/policy-ancestor-status.pb.go b/type/v1beta1/policy-ancestor-status.pb.go new file mode 100644 index 00000000000..e37c25a8601 --- /dev/null +++ b/type/v1beta1/policy-ancestor-status.pb.go @@ -0,0 +1,466 @@ +// Copyright 2019 Istio Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc (unknown) +// source: type/v1beta1/policy-ancestor-status.proto + +// $title: Kubernetes Gateway-API Policy Ancestor Status +// $description: Definition of Policy Ancestor Status +// $location: https://istio.io/docs/reference/config/type/policy-ancestor-status.html + +package v1beta1 + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ParentReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Group is the group of the referent. + // +optional + Group string `protobuf:"bytes,1,opt,name=group,proto3" json:"group,omitempty"` + // Kind is kind of the referent. + // +optional + Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` + // Namespace is the namespace of the referent. When unspecified, this refers + // to the local namespace of the Route. + // +optional + Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Name is the name of the referent. + // Name ObjectName `json:"name"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + // SectionName is the name of a section within the target resource. In the + // following resources, SectionName is interpreted as the following: + // +optional + SectionName string `protobuf:"bytes,5,opt,name=section_name,json=sectionName,proto3" json:"section_name,omitempty"` + // Port is the network port this Route targets. It can be interpreted + // differently based on the type of parent resource. + // +optional + Port int32 `protobuf:"varint,6,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *ParentReference) Reset() { + *x = ParentReference{} + if protoimpl.UnsafeEnabled { + mi := &file_type_v1beta1_policy_ancestor_status_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParentReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParentReference) ProtoMessage() {} + +func (x *ParentReference) ProtoReflect() protoreflect.Message { + mi := &file_type_v1beta1_policy_ancestor_status_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ParentReference.ProtoReflect.Descriptor instead. +func (*ParentReference) Descriptor() ([]byte, []int) { + return file_type_v1beta1_policy_ancestor_status_proto_rawDescGZIP(), []int{0} +} + +func (x *ParentReference) GetGroup() string { + if x != nil { + return x.Group + } + return "" +} + +func (x *ParentReference) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *ParentReference) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ParentReference) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ParentReference) GetSectionName() string { + if x != nil { + return x.SectionName + } + return "" +} + +func (x *ParentReference) GetPort() int32 { + if x != nil { + return x.Port + } + return 0 +} + +type PolicyAncestorStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // AncestorRef corresponds with a ParentRef in the spec that this + // PolicyAncestorStatus struct describes the status of. + AncestorRef *ParentReference `protobuf:"bytes,1,opt,name=ancestor_ref,json=ancestorRef,proto3" json:"ancestor_ref,omitempty"` + // ControllerName is a domain/path string that indicates the name of the + // controller that wrote this status. This corresponds with the + // controllerName field on GatewayClass. + ControllerName string `protobuf:"bytes,2,opt,name=controller_name,json=controllerName,proto3" json:"controller_name,omitempty"` + // repeated k8s.io.apimachinery.pkg.apis.meta.v1.Condition conditions = 3; + Conditions []*Condition `protobuf:"bytes,3,rep,name=conditions,proto3" json:"conditions,omitempty"` +} + +func (x *PolicyAncestorStatus) Reset() { + *x = PolicyAncestorStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_type_v1beta1_policy_ancestor_status_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PolicyAncestorStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PolicyAncestorStatus) ProtoMessage() {} + +func (x *PolicyAncestorStatus) ProtoReflect() protoreflect.Message { + mi := &file_type_v1beta1_policy_ancestor_status_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PolicyAncestorStatus.ProtoReflect.Descriptor instead. +func (*PolicyAncestorStatus) Descriptor() ([]byte, []int) { + return file_type_v1beta1_policy_ancestor_status_proto_rawDescGZIP(), []int{1} +} + +func (x *PolicyAncestorStatus) GetAncestorRef() *ParentReference { + if x != nil { + return x.AncestorRef + } + return nil +} + +func (x *PolicyAncestorStatus) GetControllerName() string { + if x != nil { + return x.ControllerName + } + return "" +} + +func (x *PolicyAncestorStatus) GetConditions() []*Condition { + if x != nil { + return x.Conditions + } + return nil +} + +type Condition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // type of condition in CamelCase or in foo.example.com/CamelCase. + // --- + // Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + // useful (see .node.status.conditions), the ability to deconflict is important. + // The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + // +required + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // status of the condition, one of True, False, Unknown. + // +required + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + // observedGeneration represents the .metadata.generation that the condition was set based upon. + // For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + // with respect to the current state of the instance. + // +optional + ObservedGeneration int64 `protobuf:"varint,3,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"` + // lastTransitionTime is the last time the condition transitioned from one status to another. + // This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + // +required + LastTransitionTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=last_transition_time,json=lastTransitionTime,proto3" json:"last_transition_time,omitempty"` + // reason contains a programmatic identifier indicating the reason for the condition's last transition. + // Producers of specific condition types may define expected values and meanings for this field, + // and whether the values are considered a guaranteed API. + // The value should be a CamelCase string. + // This field may not be empty. + // +required + Reason string `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"` + // message is a human readable message indicating details about the transition. + // This may be an empty string. + // +required + Message string `protobuf:"bytes,6,opt,name=message,proto3" json:"message,omitempty"` +} + +func (x *Condition) Reset() { + *x = Condition{} + if protoimpl.UnsafeEnabled { + mi := &file_type_v1beta1_policy_ancestor_status_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Condition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Condition) ProtoMessage() {} + +func (x *Condition) ProtoReflect() protoreflect.Message { + mi := &file_type_v1beta1_policy_ancestor_status_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Condition.ProtoReflect.Descriptor instead. +func (*Condition) Descriptor() ([]byte, []int) { + return file_type_v1beta1_policy_ancestor_status_proto_rawDescGZIP(), []int{2} +} + +func (x *Condition) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *Condition) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *Condition) GetObservedGeneration() int64 { + if x != nil { + return x.ObservedGeneration + } + return 0 +} + +func (x *Condition) GetLastTransitionTime() *timestamp.Timestamp { + if x != nil { + return x.LastTransitionTime + } + return nil +} + +func (x *Condition) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *Condition) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +var File_type_v1beta1_policy_ancestor_status_proto protoreflect.FileDescriptor + +var file_type_v1beta1_policy_ancestor_status_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2d, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x2d, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x69, 0x73, 0x74, + 0x69, 0x6f, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xa4, 0x01, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1c, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xc6, 0x01, 0x0a, 0x14, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x41, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x46, 0x0a, 0x0c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x66, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0b, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x66, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x3d, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x22, 0xe8, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x6f, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x14, 0x6c, + 0x61, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x1b, 0x5a, 0x19, 0x69, + 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x79, 0x70, 0x65, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_type_v1beta1_policy_ancestor_status_proto_rawDescOnce sync.Once + file_type_v1beta1_policy_ancestor_status_proto_rawDescData = file_type_v1beta1_policy_ancestor_status_proto_rawDesc +) + +func file_type_v1beta1_policy_ancestor_status_proto_rawDescGZIP() []byte { + file_type_v1beta1_policy_ancestor_status_proto_rawDescOnce.Do(func() { + file_type_v1beta1_policy_ancestor_status_proto_rawDescData = protoimpl.X.CompressGZIP(file_type_v1beta1_policy_ancestor_status_proto_rawDescData) + }) + return file_type_v1beta1_policy_ancestor_status_proto_rawDescData +} + +var file_type_v1beta1_policy_ancestor_status_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_type_v1beta1_policy_ancestor_status_proto_goTypes = []interface{}{ + (*ParentReference)(nil), // 0: istio.type.v1beta1.ParentReference + (*PolicyAncestorStatus)(nil), // 1: istio.type.v1beta1.PolicyAncestorStatus + (*Condition)(nil), // 2: istio.type.v1beta1.Condition + (*timestamp.Timestamp)(nil), // 3: google.protobuf.Timestamp +} +var file_type_v1beta1_policy_ancestor_status_proto_depIdxs = []int32{ + 0, // 0: istio.type.v1beta1.PolicyAncestorStatus.ancestor_ref:type_name -> istio.type.v1beta1.ParentReference + 2, // 1: istio.type.v1beta1.PolicyAncestorStatus.conditions:type_name -> istio.type.v1beta1.Condition + 3, // 2: istio.type.v1beta1.Condition.last_transition_time:type_name -> google.protobuf.Timestamp + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_type_v1beta1_policy_ancestor_status_proto_init() } +func file_type_v1beta1_policy_ancestor_status_proto_init() { + if File_type_v1beta1_policy_ancestor_status_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_type_v1beta1_policy_ancestor_status_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ParentReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_type_v1beta1_policy_ancestor_status_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PolicyAncestorStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_type_v1beta1_policy_ancestor_status_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Condition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_type_v1beta1_policy_ancestor_status_proto_rawDesc, + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_type_v1beta1_policy_ancestor_status_proto_goTypes, + DependencyIndexes: file_type_v1beta1_policy_ancestor_status_proto_depIdxs, + MessageInfos: file_type_v1beta1_policy_ancestor_status_proto_msgTypes, + }.Build() + File_type_v1beta1_policy_ancestor_status_proto = out.File + file_type_v1beta1_policy_ancestor_status_proto_rawDesc = nil + file_type_v1beta1_policy_ancestor_status_proto_goTypes = nil + file_type_v1beta1_policy_ancestor_status_proto_depIdxs = nil +} diff --git a/type/v1beta1/policy-ancestor-status.pb.html b/type/v1beta1/policy-ancestor-status.pb.html new file mode 100644 index 00000000000..921d6aa09fd --- /dev/null +++ b/type/v1beta1/policy-ancestor-status.pb.html @@ -0,0 +1,236 @@ +--- +title: Kubernetes Gateway-API Policy Ancestor Status +description: Definition of Policy Ancestor Status +location: https://istio.io/docs/reference/config/type/policy-ancestor-status.html +layout: protoc-gen-docs +generator: protoc-gen-docs +number_of_entries: 3 +--- +

ParentReference

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
groupstring +

Group is the group of the referent.

+ +
+No +
kindstring +

Kind is kind of the referent.

+ +
+No +
namespacestring +

Namespace is the namespace of the referent. When unspecified, this refers +to the local namespace of the Route.

+ +
+No +
namestring +

Name is the name of the referent. +Name ObjectName json:"name"

+ +
+No +
sectionNamestring +

SectionName is the name of a section within the target resource. In the +following resources, SectionName is interpreted as the following:

+ +
+No +
portint32 +

Port is the network port this Route targets. It can be interpreted +differently based on the type of parent resource.

+ +
+No +
+
+

PolicyAncestorStatus

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
ancestorRefParentReference +

AncestorRef corresponds with a ParentRef in the spec that this +PolicyAncestorStatus struct describes the status of.

+ +
+No +
controllerNamestring +

ControllerName is a domain/path string that indicates the name of the +controller that wrote this status. This corresponds with the +controllerName field on GatewayClass.

+ +
+No +
conditionsCondition[] +

repeated k8s.io.apimachinery.pkg.apis.meta.v1.Condition conditions = 3;

+ +
+No +
+
+

Condition

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
typestring +

type of condition in CamelCase or in foo.example.com/CamelCase.

+

Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be +useful (see .node.status.conditions), the ability to deconflict is important. +The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)

+ +
+No +
statusstring +

status of the condition, one of True, False, Unknown.

+ +
+No +
observedGenerationint64 +

observedGeneration represents the .metadata.generation that the condition was set based upon. +For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date +with respect to the current state of the instance.

+ +
+No +
lastTransitionTimeTimestamp +

lastTransitionTime is the last time the condition transitioned from one status to another. +This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.

+ +
+No +
reasonstring +

reason contains a programmatic identifier indicating the reason for the condition’s last transition. +Producers of specific condition types may define expected values and meanings for this field, +and whether the values are considered a guaranteed API. +The value should be a CamelCase string. +This field may not be empty.

+ +
+No +
messagestring +

message is a human readable message indicating details about the transition. +This may be an empty string.

+ +
+No +
+
diff --git a/type/v1beta1/policy-ancestor-status.proto b/type/v1beta1/policy-ancestor-status.proto new file mode 100644 index 00000000000..a965dc8c97f --- /dev/null +++ b/type/v1beta1/policy-ancestor-status.proto @@ -0,0 +1,108 @@ +// Copyright 2019 Istio Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +import "google/protobuf/timestamp.proto"; + +// $title: Kubernetes Gateway-API Policy Ancestor Status +// $description: Definition of Policy Ancestor Status +// $location: https://istio.io/docs/reference/config/type/policy-ancestor-status.html + + +package istio.type.v1beta1; + +option go_package="istio.io/api/type/v1beta1"; + +message ParentReference { + // Group is the group of the referent. + // +optional + string group = 1; + + // Kind is kind of the referent. + // +optional + string kind = 2; + + // Namespace is the namespace of the referent. When unspecified, this refers + // to the local namespace of the Route. + // +optional + string namespace = 3; + + // Name is the name of the referent. + // Name ObjectName `json:"name"` + string name = 4; + + // SectionName is the name of a section within the target resource. In the + // following resources, SectionName is interpreted as the following: + // +optional + string section_name = 5; + + // Port is the network port this Route targets. It can be interpreted + // differently based on the type of parent resource. + // +optional + int32 port = 6; +} + +message PolicyAncestorStatus { + // AncestorRef corresponds with a ParentRef in the spec that this + // PolicyAncestorStatus struct describes the status of. + ParentReference ancestor_ref = 1; + + // ControllerName is a domain/path string that indicates the name of the + // controller that wrote this status. This corresponds with the + // controllerName field on GatewayClass. + string controller_name = 2; + + // repeated k8s.io.apimachinery.pkg.apis.meta.v1.Condition conditions = 3; + repeated Condition conditions = 3; +} + +message Condition { + // type of condition in CamelCase or in foo.example.com/CamelCase. + // --- + // Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + // useful (see .node.status.conditions), the ability to deconflict is important. + // The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + // +required + string type = 1; + + // status of the condition, one of True, False, Unknown. + // +required + string status = 2; + + // observedGeneration represents the .metadata.generation that the condition was set based upon. + // For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + // with respect to the current state of the instance. + // +optional + int64 observed_generation = 3; + + // lastTransitionTime is the last time the condition transitioned from one status to another. + // This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + // +required + google.protobuf.Timestamp last_transition_time = 4; + + // reason contains a programmatic identifier indicating the reason for the condition's last transition. + // Producers of specific condition types may define expected values and meanings for this field, + // and whether the values are considered a guaranteed API. + // The value should be a CamelCase string. + // This field may not be empty. + // +required + string reason = 5; + + // message is a human readable message indicating details about the transition. + // This may be an empty string. + // +required + string message = 6; +} + diff --git a/type/v1beta1/policy-ancestor-status_deepcopy.gen.go b/type/v1beta1/policy-ancestor-status_deepcopy.gen.go new file mode 100644 index 00000000000..d6cb5dcc02d --- /dev/null +++ b/type/v1beta1/policy-ancestor-status_deepcopy.gen.go @@ -0,0 +1,69 @@ +// Code generated by protoc-gen-deepcopy. DO NOT EDIT. +package v1beta1 + +import ( + proto "google.golang.org/protobuf/proto" +) + +// DeepCopyInto supports using ParentReference within kubernetes types, where deepcopy-gen is used. +func (in *ParentReference) DeepCopyInto(out *ParentReference) { + p := proto.Clone(in).(*ParentReference) + *out = *p +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParentReference. Required by controller-gen. +func (in *ParentReference) DeepCopy() *ParentReference { + if in == nil { + return nil + } + out := new(ParentReference) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new ParentReference. Required by controller-gen. +func (in *ParentReference) DeepCopyInterface() interface{} { + return in.DeepCopy() +} + +// DeepCopyInto supports using PolicyAncestorStatus within kubernetes types, where deepcopy-gen is used. +func (in *PolicyAncestorStatus) DeepCopyInto(out *PolicyAncestorStatus) { + p := proto.Clone(in).(*PolicyAncestorStatus) + *out = *p +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyAncestorStatus. Required by controller-gen. +func (in *PolicyAncestorStatus) DeepCopy() *PolicyAncestorStatus { + if in == nil { + return nil + } + out := new(PolicyAncestorStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new PolicyAncestorStatus. Required by controller-gen. +func (in *PolicyAncestorStatus) DeepCopyInterface() interface{} { + return in.DeepCopy() +} + +// DeepCopyInto supports using Condition within kubernetes types, where deepcopy-gen is used. +func (in *Condition) DeepCopyInto(out *Condition) { + p := proto.Clone(in).(*Condition) + *out = *p +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition. Required by controller-gen. +func (in *Condition) DeepCopy() *Condition { + if in == nil { + return nil + } + out := new(Condition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new Condition. Required by controller-gen. +func (in *Condition) DeepCopyInterface() interface{} { + return in.DeepCopy() +} diff --git a/type/v1beta1/policy-ancestor-status_json.gen.go b/type/v1beta1/policy-ancestor-status_json.gen.go new file mode 100644 index 00000000000..bd2fba0fc32 --- /dev/null +++ b/type/v1beta1/policy-ancestor-status_json.gen.go @@ -0,0 +1,45 @@ +// Code generated by protoc-gen-jsonshim. DO NOT EDIT. +package v1beta1 + +import ( + bytes "bytes" + jsonpb "github.com/golang/protobuf/jsonpb" +) + +// MarshalJSON is a custom marshaler for ParentReference +func (this *ParentReference) MarshalJSON() ([]byte, error) { + str, err := PolicyAncestorStatusMarshaler.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ParentReference +func (this *ParentReference) UnmarshalJSON(b []byte) error { + return PolicyAncestorStatusUnmarshaler.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for PolicyAncestorStatus +func (this *PolicyAncestorStatus) MarshalJSON() ([]byte, error) { + str, err := PolicyAncestorStatusMarshaler.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for PolicyAncestorStatus +func (this *PolicyAncestorStatus) UnmarshalJSON(b []byte) error { + return PolicyAncestorStatusUnmarshaler.Unmarshal(bytes.NewReader(b), this) +} + +// MarshalJSON is a custom marshaler for Condition +func (this *Condition) MarshalJSON() ([]byte, error) { + str, err := PolicyAncestorStatusMarshaler.MarshalToString(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for Condition +func (this *Condition) UnmarshalJSON(b []byte) error { + return PolicyAncestorStatusUnmarshaler.Unmarshal(bytes.NewReader(b), this) +} + +var ( + PolicyAncestorStatusMarshaler = &jsonpb.Marshaler{} + PolicyAncestorStatusUnmarshaler = &jsonpb.Unmarshaler{AllowUnknownFields: true} +)