From 9ca62aaf3395facd2c0469e3b6203f9dd7eac039 Mon Sep 17 00:00:00 2001 From: Melisa Griffin Date: Tue, 14 Nov 2023 16:18:20 -0500 Subject: [PATCH] Adds proto for the GatewayClass based on the GAMMA Kubernetes Sig (#19615) --- .../pbmesh/v2beta1/gateway_class.pb.binary.go | 28 ++ .../pbmesh/v2beta1/gateway_class.pb.go | 304 ++++++++++++++++++ .../pbmesh/v2beta1/gateway_class.proto | 49 +++ .../v2beta1/gateway_class_deepcopy.gen.go | 48 +++ .../pbmesh/v2beta1/gateway_class_json.gen.go | 33 ++ .../pbmesh/v2beta1/resource_types.gen.go | 7 + 6 files changed, 469 insertions(+) create mode 100644 proto-public/pbmesh/v2beta1/gateway_class.pb.binary.go create mode 100644 proto-public/pbmesh/v2beta1/gateway_class.pb.go create mode 100644 proto-public/pbmesh/v2beta1/gateway_class.proto create mode 100644 proto-public/pbmesh/v2beta1/gateway_class_deepcopy.gen.go create mode 100644 proto-public/pbmesh/v2beta1/gateway_class_json.gen.go diff --git a/proto-public/pbmesh/v2beta1/gateway_class.pb.binary.go b/proto-public/pbmesh/v2beta1/gateway_class.pb.binary.go new file mode 100644 index 000000000000..571b376668be --- /dev/null +++ b/proto-public/pbmesh/v2beta1/gateway_class.pb.binary.go @@ -0,0 +1,28 @@ +// Code generated by protoc-gen-go-binary. DO NOT EDIT. +// source: pbmesh/v2beta1/gateway_class.proto + +package meshv2beta1 + +import ( + "google.golang.org/protobuf/proto" +) + +// MarshalBinary implements encoding.BinaryMarshaler +func (msg *GatewayClass) MarshalBinary() ([]byte, error) { + return proto.Marshal(msg) +} + +// UnmarshalBinary implements encoding.BinaryUnmarshaler +func (msg *GatewayClass) UnmarshalBinary(b []byte) error { + return proto.Unmarshal(b, msg) +} + +// MarshalBinary implements encoding.BinaryMarshaler +func (msg *ParametersReference) MarshalBinary() ([]byte, error) { + return proto.Marshal(msg) +} + +// UnmarshalBinary implements encoding.BinaryUnmarshaler +func (msg *ParametersReference) UnmarshalBinary(b []byte) error { + return proto.Unmarshal(b, msg) +} diff --git a/proto-public/pbmesh/v2beta1/gateway_class.pb.go b/proto-public/pbmesh/v2beta1/gateway_class.pb.go new file mode 100644 index 000000000000..62f92451e150 --- /dev/null +++ b/proto-public/pbmesh/v2beta1/gateway_class.pb.go @@ -0,0 +1,304 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.30.0 +// protoc (unknown) +// source: pbmesh/v2beta1/gateway_class.proto + +package meshv2beta1 + +import ( + _ "github.com/hashicorp/consul/proto-public/pbresource" + 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) +) + +// NOTE: this should align to the GAMMA/gateway-api version, or at least be +// easily translatable. +// +// https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.GatewayClass +// +// This is a Resource type. +type GatewayClass struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ControllerName is the name of the Kubernetes controller that manages Gateways of this class + ControllerName string `protobuf:"bytes,1,opt,name=controller_name,json=controllerName,proto3" json:"controller_name,omitempty"` + // ParametersRef refers to a resource responsible for configuring + // the behavior of the GatewayClass. + ParametersRef *ParametersReference `protobuf:"bytes,2,opt,name=parameters_ref,json=parametersRef,proto3" json:"parameters_ref,omitempty"` + // Description of GatewayClass + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` +} + +func (x *GatewayClass) Reset() { + *x = GatewayClass{} + if protoimpl.UnsafeEnabled { + mi := &file_pbmesh_v2beta1_gateway_class_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GatewayClass) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GatewayClass) ProtoMessage() {} + +func (x *GatewayClass) ProtoReflect() protoreflect.Message { + mi := &file_pbmesh_v2beta1_gateway_class_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 GatewayClass.ProtoReflect.Descriptor instead. +func (*GatewayClass) Descriptor() ([]byte, []int) { + return file_pbmesh_v2beta1_gateway_class_proto_rawDescGZIP(), []int{0} +} + +func (x *GatewayClass) GetControllerName() string { + if x != nil { + return x.ControllerName + } + return "" +} + +func (x *GatewayClass) GetParametersRef() *ParametersReference { + if x != nil { + return x.ParametersRef + } + return nil +} + +func (x *GatewayClass) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +// NOTE: this should align to the GAMMA/gateway-api version, or at least be +// easily translatable. +// +// ParametersReference specifies a resource that contains Kubernetes controller-specific configuration +// for a resource +// https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.ParametersReference +type ParametersReference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Kubernetes Group that the referred object belongs to + Group string `protobuf:"bytes,1,opt,name=group,proto3" json:"group,omitempty"` + // The Kubernetes Kind that the referred object is + Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` + // The name of the referred object + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // The kubernetes namespace that the referred object is in + Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` +} + +func (x *ParametersReference) Reset() { + *x = ParametersReference{} + if protoimpl.UnsafeEnabled { + mi := &file_pbmesh_v2beta1_gateway_class_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParametersReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParametersReference) ProtoMessage() {} + +func (x *ParametersReference) ProtoReflect() protoreflect.Message { + mi := &file_pbmesh_v2beta1_gateway_class_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 ParametersReference.ProtoReflect.Descriptor instead. +func (*ParametersReference) Descriptor() ([]byte, []int) { + return file_pbmesh_v2beta1_gateway_class_proto_rawDescGZIP(), []int{1} +} + +func (x *ParametersReference) GetGroup() string { + if x != nil { + return x.Group + } + return "" +} + +func (x *ParametersReference) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *ParametersReference) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ParametersReference) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +var File_pbmesh_v2beta1_gateway_class_proto protoreflect.FileDescriptor + +var file_pbmesh_v2beta1_gateway_class_proto_rawDesc = []byte{ + 0x0a, 0x22, 0x70, 0x62, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x32, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x70, 0x62, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xbc, 0x01, 0x0a, 0x0c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x32, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x66, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x06, 0xa2, 0x93, 0x04, 0x02, 0x08, 0x01, + 0x22, 0x71, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 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, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x42, 0x92, 0x02, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2e, 0x6d, 0x65, 0x73, + 0x68, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x11, 0x47, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2f, 0x70, 0x62, 0x6d, 0x65, 0x73, 0x68, 0x2f, + 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x6d, 0x65, 0x73, 0x68, 0x76, 0x32, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x48, 0x43, 0x4d, 0xaa, 0x02, 0x1d, 0x48, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2e, 0x4d, 0x65, 0x73, + 0x68, 0x2e, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1d, 0x48, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x5c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x5c, 0x4d, 0x65, 0x73, + 0x68, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x29, 0x48, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x5c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x5c, 0x4d, 0x65, 0x73, + 0x68, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x20, 0x48, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x68, 0x3a, + 0x3a, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pbmesh_v2beta1_gateway_class_proto_rawDescOnce sync.Once + file_pbmesh_v2beta1_gateway_class_proto_rawDescData = file_pbmesh_v2beta1_gateway_class_proto_rawDesc +) + +func file_pbmesh_v2beta1_gateway_class_proto_rawDescGZIP() []byte { + file_pbmesh_v2beta1_gateway_class_proto_rawDescOnce.Do(func() { + file_pbmesh_v2beta1_gateway_class_proto_rawDescData = protoimpl.X.CompressGZIP(file_pbmesh_v2beta1_gateway_class_proto_rawDescData) + }) + return file_pbmesh_v2beta1_gateway_class_proto_rawDescData +} + +var file_pbmesh_v2beta1_gateway_class_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_pbmesh_v2beta1_gateway_class_proto_goTypes = []interface{}{ + (*GatewayClass)(nil), // 0: hashicorp.consul.mesh.v2beta1.GatewayClass + (*ParametersReference)(nil), // 1: hashicorp.consul.mesh.v2beta1.ParametersReference +} +var file_pbmesh_v2beta1_gateway_class_proto_depIdxs = []int32{ + 1, // 0: hashicorp.consul.mesh.v2beta1.GatewayClass.parameters_ref:type_name -> hashicorp.consul.mesh.v2beta1.ParametersReference + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_pbmesh_v2beta1_gateway_class_proto_init() } +func file_pbmesh_v2beta1_gateway_class_proto_init() { + if File_pbmesh_v2beta1_gateway_class_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pbmesh_v2beta1_gateway_class_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GatewayClass); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pbmesh_v2beta1_gateway_class_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ParametersReference); 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_pbmesh_v2beta1_gateway_class_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_pbmesh_v2beta1_gateway_class_proto_goTypes, + DependencyIndexes: file_pbmesh_v2beta1_gateway_class_proto_depIdxs, + MessageInfos: file_pbmesh_v2beta1_gateway_class_proto_msgTypes, + }.Build() + File_pbmesh_v2beta1_gateway_class_proto = out.File + file_pbmesh_v2beta1_gateway_class_proto_rawDesc = nil + file_pbmesh_v2beta1_gateway_class_proto_goTypes = nil + file_pbmesh_v2beta1_gateway_class_proto_depIdxs = nil +} diff --git a/proto-public/pbmesh/v2beta1/gateway_class.proto b/proto-public/pbmesh/v2beta1/gateway_class.proto new file mode 100644 index 000000000000..502a6d913b28 --- /dev/null +++ b/proto-public/pbmesh/v2beta1/gateway_class.proto @@ -0,0 +1,49 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +syntax = "proto3"; + +package hashicorp.consul.mesh.v2beta1; + +import "pbresource/annotations.proto"; + +// NOTE: this should align to the GAMMA/gateway-api version, or at least be +// easily translatable. +// +// https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.GatewayClass +// +// This is a Resource type. +message GatewayClass { + option (hashicorp.consul.resource.spec) = {scope: SCOPE_CLUSTER}; + + // ControllerName is the name of the Kubernetes controller that manages Gateways of this class + string controller_name = 1; + + // ParametersRef refers to a resource responsible for configuring + // the behavior of the GatewayClass. + ParametersReference parameters_ref = 2; + + // Description of GatewayClass + string description = 3; +} + +// NOTE: this should align to the GAMMA/gateway-api version, or at least be +// easily translatable. +// +// ParametersReference specifies a resource that contains Kubernetes controller-specific configuration +// for a resource +// https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.ParametersReference +// +message ParametersReference { + // The Kubernetes Group that the referred object belongs to + string group = 1; + + // The Kubernetes Kind that the referred object is + string kind = 2; + + // The name of the referred object + string name = 3; + + // The kubernetes namespace that the referred object is in + string namespace = 4; +} diff --git a/proto-public/pbmesh/v2beta1/gateway_class_deepcopy.gen.go b/proto-public/pbmesh/v2beta1/gateway_class_deepcopy.gen.go new file mode 100644 index 000000000000..c09a4cbe2005 --- /dev/null +++ b/proto-public/pbmesh/v2beta1/gateway_class_deepcopy.gen.go @@ -0,0 +1,48 @@ +// Code generated by protoc-gen-deepcopy. DO NOT EDIT. +package meshv2beta1 + +import ( + proto "google.golang.org/protobuf/proto" +) + +// DeepCopyInto supports using GatewayClass within kubernetes types, where deepcopy-gen is used. +func (in *GatewayClass) DeepCopyInto(out *GatewayClass) { + proto.Reset(out) + proto.Merge(out, proto.Clone(in)) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayClass. Required by controller-gen. +func (in *GatewayClass) DeepCopy() *GatewayClass { + if in == nil { + return nil + } + out := new(GatewayClass) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new GatewayClass. Required by controller-gen. +func (in *GatewayClass) DeepCopyInterface() interface{} { + return in.DeepCopy() +} + +// DeepCopyInto supports using ParametersReference within kubernetes types, where deepcopy-gen is used. +func (in *ParametersReference) DeepCopyInto(out *ParametersReference) { + proto.Reset(out) + proto.Merge(out, proto.Clone(in)) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParametersReference. Required by controller-gen. +func (in *ParametersReference) DeepCopy() *ParametersReference { + if in == nil { + return nil + } + out := new(ParametersReference) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new ParametersReference. Required by controller-gen. +func (in *ParametersReference) DeepCopyInterface() interface{} { + return in.DeepCopy() +} diff --git a/proto-public/pbmesh/v2beta1/gateway_class_json.gen.go b/proto-public/pbmesh/v2beta1/gateway_class_json.gen.go new file mode 100644 index 000000000000..0b3bdea9d01a --- /dev/null +++ b/proto-public/pbmesh/v2beta1/gateway_class_json.gen.go @@ -0,0 +1,33 @@ +// Code generated by protoc-json-shim. DO NOT EDIT. +package meshv2beta1 + +import ( + protojson "google.golang.org/protobuf/encoding/protojson" +) + +// MarshalJSON is a custom marshaler for GatewayClass +func (this *GatewayClass) MarshalJSON() ([]byte, error) { + str, err := GatewayClassMarshaler.Marshal(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for GatewayClass +func (this *GatewayClass) UnmarshalJSON(b []byte) error { + return GatewayClassUnmarshaler.Unmarshal(b, this) +} + +// MarshalJSON is a custom marshaler for ParametersReference +func (this *ParametersReference) MarshalJSON() ([]byte, error) { + str, err := GatewayClassMarshaler.Marshal(this) + return []byte(str), err +} + +// UnmarshalJSON is a custom unmarshaler for ParametersReference +func (this *ParametersReference) UnmarshalJSON(b []byte) error { + return GatewayClassUnmarshaler.Unmarshal(b, this) +} + +var ( + GatewayClassMarshaler = &protojson.MarshalOptions{} + GatewayClassUnmarshaler = &protojson.UnmarshalOptions{DiscardUnknown: false} +) diff --git a/proto-public/pbmesh/v2beta1/resource_types.gen.go b/proto-public/pbmesh/v2beta1/resource_types.gen.go index b82fbfc17611..9411e1af3c90 100644 --- a/proto-public/pbmesh/v2beta1/resource_types.gen.go +++ b/proto-public/pbmesh/v2beta1/resource_types.gen.go @@ -17,6 +17,7 @@ const ( DestinationsKind = "Destinations" DestinationsConfigurationKind = "DestinationsConfiguration" GRPCRouteKind = "GRPCRoute" + GatewayClassKind = "GatewayClass" HTTPRouteKind = "HTTPRoute" MeshGatewayKind = "MeshGateway" ProxyConfigurationKind = "ProxyConfiguration" @@ -67,6 +68,12 @@ var ( Kind: GRPCRouteKind, } + GatewayClassType = &pbresource.Type{ + Group: GroupName, + GroupVersion: Version, + Kind: GatewayClassKind, + } + HTTPRouteType = &pbresource.Type{ Group: GroupName, GroupVersion: Version,