f3c80c4eef
Protobuf Refactoring for Multi-Module Cleanliness This commit includes the following: Moves all packages that were within proto/ to proto/private Rewrites imports to account for the packages being moved Adds in buf.work.yaml to enable buf workspaces Names the proto-public buf module so that we can override the Go package imports within proto/buf.yaml Bumps the buf version dependency to 1.14.0 (I was trying out the version to see if it would get around an issue - it didn't but it also doesn't break things and it seemed best to keep up with the toolchain changes) Why: In the future we will need to consume other protobuf dependencies such as the Google HTTP annotations for openapi generation or grpc-gateway usage. There were some recent changes to have our own ratelimiting annotations. The two combined were not working when I was trying to use them together (attempting to rebase another branch) Buf workspaces should be the solution to the problem Buf workspaces means that each module will have generated Go code that embeds proto file names relative to the proto dir and not the top level repo root. This resulted in proto file name conflicts in the Go global protobuf type registry. The solution to that was to add in a private/ directory into the path within the proto/ directory. That then required rewriting all the imports. Is this safe? AFAICT yes The gRPC wire protocol doesn't seem to care about the proto file names (although the Go grpc code does tack on the proto file name as Metadata in the ServiceDesc) Other than imports, there were no changes to any generated code as a result of this.
748 lines
25 KiB
Go
748 lines
25 KiB
Go
// generated by deep-copy -pointer-receiver -o ./proxycfg.deepcopy.go -type ConfigSnapshot -type ConfigSnapshotUpstreams -type PeerServersValue -type PeeringServiceValue -type configSnapshotAPIGateway -type configSnapshotConnectProxy -type configSnapshotIngressGateway -type configSnapshotMeshGateway -type configSnapshotTerminatingGateway ./; DO NOT EDIT.
|
|
|
|
package proxycfg
|
|
|
|
import (
|
|
"context"
|
|
"github.com/hashicorp/consul/agent/structs"
|
|
"github.com/hashicorp/consul/proto/private/pbpeering"
|
|
"github.com/hashicorp/consul/types"
|
|
)
|
|
|
|
// DeepCopy generates a deep copy of *ConfigSnapshot
|
|
func (o *ConfigSnapshot) DeepCopy() *ConfigSnapshot {
|
|
var cp ConfigSnapshot = *o
|
|
if o.ServiceMeta != nil {
|
|
cp.ServiceMeta = make(map[string]string, len(o.ServiceMeta))
|
|
for k2, v2 := range o.ServiceMeta {
|
|
cp.ServiceMeta[k2] = v2
|
|
}
|
|
}
|
|
if o.TaggedAddresses != nil {
|
|
cp.TaggedAddresses = make(map[string]structs.ServiceAddress, len(o.TaggedAddresses))
|
|
for k2, v2 := range o.TaggedAddresses {
|
|
cp.TaggedAddresses[k2] = v2
|
|
}
|
|
}
|
|
{
|
|
retV := o.Proxy.DeepCopy()
|
|
cp.Proxy = *retV
|
|
}
|
|
if o.Roots != nil {
|
|
cp.Roots = o.Roots.DeepCopy()
|
|
}
|
|
{
|
|
retV := o.ConnectProxy.DeepCopy()
|
|
cp.ConnectProxy = *retV
|
|
}
|
|
{
|
|
retV := o.TerminatingGateway.DeepCopy()
|
|
cp.TerminatingGateway = *retV
|
|
}
|
|
{
|
|
retV := o.MeshGateway.DeepCopy()
|
|
cp.MeshGateway = *retV
|
|
}
|
|
{
|
|
retV := o.IngressGateway.DeepCopy()
|
|
cp.IngressGateway = *retV
|
|
}
|
|
{
|
|
retV := o.APIGateway.DeepCopy()
|
|
cp.APIGateway = *retV
|
|
}
|
|
return &cp
|
|
}
|
|
|
|
// DeepCopy generates a deep copy of *ConfigSnapshotUpstreams
|
|
func (o *ConfigSnapshotUpstreams) DeepCopy() *ConfigSnapshotUpstreams {
|
|
var cp ConfigSnapshotUpstreams = *o
|
|
if o.Leaf != nil {
|
|
cp.Leaf = new(structs.IssuedCert)
|
|
*cp.Leaf = *o.Leaf
|
|
}
|
|
if o.MeshConfig != nil {
|
|
cp.MeshConfig = o.MeshConfig.DeepCopy()
|
|
}
|
|
if o.DiscoveryChain != nil {
|
|
cp.DiscoveryChain = make(map[UpstreamID]*structs.CompiledDiscoveryChain, len(o.DiscoveryChain))
|
|
for k2, v2 := range o.DiscoveryChain {
|
|
var cp_DiscoveryChain_v2 *structs.CompiledDiscoveryChain
|
|
if v2 != nil {
|
|
cp_DiscoveryChain_v2 = v2.DeepCopy()
|
|
}
|
|
cp.DiscoveryChain[k2] = cp_DiscoveryChain_v2
|
|
}
|
|
}
|
|
if o.WatchedDiscoveryChains != nil {
|
|
cp.WatchedDiscoveryChains = make(map[UpstreamID]context.CancelFunc, len(o.WatchedDiscoveryChains))
|
|
for k2, v2 := range o.WatchedDiscoveryChains {
|
|
cp.WatchedDiscoveryChains[k2] = v2
|
|
}
|
|
}
|
|
if o.WatchedUpstreams != nil {
|
|
cp.WatchedUpstreams = make(map[UpstreamID]map[string]context.CancelFunc, len(o.WatchedUpstreams))
|
|
for k2, v2 := range o.WatchedUpstreams {
|
|
var cp_WatchedUpstreams_v2 map[string]context.CancelFunc
|
|
if v2 != nil {
|
|
cp_WatchedUpstreams_v2 = make(map[string]context.CancelFunc, len(v2))
|
|
for k3, v3 := range v2 {
|
|
cp_WatchedUpstreams_v2[k3] = v3
|
|
}
|
|
}
|
|
cp.WatchedUpstreams[k2] = cp_WatchedUpstreams_v2
|
|
}
|
|
}
|
|
if o.WatchedUpstreamEndpoints != nil {
|
|
cp.WatchedUpstreamEndpoints = make(map[UpstreamID]map[string]structs.CheckServiceNodes, len(o.WatchedUpstreamEndpoints))
|
|
for k2, v2 := range o.WatchedUpstreamEndpoints {
|
|
var cp_WatchedUpstreamEndpoints_v2 map[string]structs.CheckServiceNodes
|
|
if v2 != nil {
|
|
cp_WatchedUpstreamEndpoints_v2 = make(map[string]structs.CheckServiceNodes, len(v2))
|
|
for k3, v3 := range v2 {
|
|
var cp_WatchedUpstreamEndpoints_v2_v3 structs.CheckServiceNodes
|
|
cp_WatchedUpstreamEndpoints_v2_v3 = v3.DeepCopy()
|
|
cp_WatchedUpstreamEndpoints_v2[k3] = cp_WatchedUpstreamEndpoints_v2_v3
|
|
}
|
|
}
|
|
cp.WatchedUpstreamEndpoints[k2] = cp_WatchedUpstreamEndpoints_v2
|
|
}
|
|
}
|
|
cp.UpstreamPeerTrustBundles = o.UpstreamPeerTrustBundles.DeepCopy()
|
|
if o.WatchedGateways != nil {
|
|
cp.WatchedGateways = make(map[UpstreamID]map[string]context.CancelFunc, len(o.WatchedGateways))
|
|
for k2, v2 := range o.WatchedGateways {
|
|
var cp_WatchedGateways_v2 map[string]context.CancelFunc
|
|
if v2 != nil {
|
|
cp_WatchedGateways_v2 = make(map[string]context.CancelFunc, len(v2))
|
|
for k3, v3 := range v2 {
|
|
cp_WatchedGateways_v2[k3] = v3
|
|
}
|
|
}
|
|
cp.WatchedGateways[k2] = cp_WatchedGateways_v2
|
|
}
|
|
}
|
|
if o.WatchedGatewayEndpoints != nil {
|
|
cp.WatchedGatewayEndpoints = make(map[UpstreamID]map[string]structs.CheckServiceNodes, len(o.WatchedGatewayEndpoints))
|
|
for k2, v2 := range o.WatchedGatewayEndpoints {
|
|
var cp_WatchedGatewayEndpoints_v2 map[string]structs.CheckServiceNodes
|
|
if v2 != nil {
|
|
cp_WatchedGatewayEndpoints_v2 = make(map[string]structs.CheckServiceNodes, len(v2))
|
|
for k3, v3 := range v2 {
|
|
var cp_WatchedGatewayEndpoints_v2_v3 structs.CheckServiceNodes
|
|
cp_WatchedGatewayEndpoints_v2_v3 = v3.DeepCopy()
|
|
cp_WatchedGatewayEndpoints_v2[k3] = cp_WatchedGatewayEndpoints_v2_v3
|
|
}
|
|
}
|
|
cp.WatchedGatewayEndpoints[k2] = cp_WatchedGatewayEndpoints_v2
|
|
}
|
|
}
|
|
cp.WatchedLocalGWEndpoints = o.WatchedLocalGWEndpoints.DeepCopy()
|
|
if o.UpstreamConfig != nil {
|
|
cp.UpstreamConfig = make(map[UpstreamID]*structs.Upstream, len(o.UpstreamConfig))
|
|
for k2, v2 := range o.UpstreamConfig {
|
|
var cp_UpstreamConfig_v2 *structs.Upstream
|
|
if v2 != nil {
|
|
cp_UpstreamConfig_v2 = v2.DeepCopy()
|
|
}
|
|
cp.UpstreamConfig[k2] = cp_UpstreamConfig_v2
|
|
}
|
|
}
|
|
if o.PassthroughUpstreams != nil {
|
|
cp.PassthroughUpstreams = make(map[UpstreamID]map[string]map[string]struct{}, len(o.PassthroughUpstreams))
|
|
for k2, v2 := range o.PassthroughUpstreams {
|
|
var cp_PassthroughUpstreams_v2 map[string]map[string]struct{}
|
|
if v2 != nil {
|
|
cp_PassthroughUpstreams_v2 = make(map[string]map[string]struct{}, len(v2))
|
|
for k3, v3 := range v2 {
|
|
var cp_PassthroughUpstreams_v2_v3 map[string]struct{}
|
|
if v3 != nil {
|
|
cp_PassthroughUpstreams_v2_v3 = make(map[string]struct{}, len(v3))
|
|
for k4, v4 := range v3 {
|
|
cp_PassthroughUpstreams_v2_v3[k4] = v4
|
|
}
|
|
}
|
|
cp_PassthroughUpstreams_v2[k3] = cp_PassthroughUpstreams_v2_v3
|
|
}
|
|
}
|
|
cp.PassthroughUpstreams[k2] = cp_PassthroughUpstreams_v2
|
|
}
|
|
}
|
|
if o.PassthroughIndices != nil {
|
|
cp.PassthroughIndices = make(map[string]indexedTarget, len(o.PassthroughIndices))
|
|
for k2, v2 := range o.PassthroughIndices {
|
|
cp.PassthroughIndices[k2] = v2
|
|
}
|
|
}
|
|
if o.IntentionUpstreams != nil {
|
|
cp.IntentionUpstreams = make(map[UpstreamID]struct{}, len(o.IntentionUpstreams))
|
|
for k2, v2 := range o.IntentionUpstreams {
|
|
cp.IntentionUpstreams[k2] = v2
|
|
}
|
|
}
|
|
if o.PeeredUpstreams != nil {
|
|
cp.PeeredUpstreams = make(map[UpstreamID]struct{}, len(o.PeeredUpstreams))
|
|
for k2, v2 := range o.PeeredUpstreams {
|
|
cp.PeeredUpstreams[k2] = v2
|
|
}
|
|
}
|
|
cp.PeerUpstreamEndpoints = o.PeerUpstreamEndpoints.DeepCopy()
|
|
if o.PeerUpstreamEndpointsUseHostnames != nil {
|
|
cp.PeerUpstreamEndpointsUseHostnames = make(map[UpstreamID]struct{}, len(o.PeerUpstreamEndpointsUseHostnames))
|
|
for k2, v2 := range o.PeerUpstreamEndpointsUseHostnames {
|
|
cp.PeerUpstreamEndpointsUseHostnames[k2] = v2
|
|
}
|
|
}
|
|
return &cp
|
|
}
|
|
|
|
// DeepCopy generates a deep copy of *PeerServersValue
|
|
func (o *PeerServersValue) DeepCopy() *PeerServersValue {
|
|
var cp PeerServersValue = *o
|
|
if o.Addresses != nil {
|
|
cp.Addresses = make([]structs.ServiceAddress, len(o.Addresses))
|
|
copy(cp.Addresses, o.Addresses)
|
|
}
|
|
return &cp
|
|
}
|
|
|
|
// DeepCopy generates a deep copy of *PeeringServiceValue
|
|
func (o *PeeringServiceValue) DeepCopy() *PeeringServiceValue {
|
|
var cp PeeringServiceValue = *o
|
|
cp.Nodes = o.Nodes.DeepCopy()
|
|
return &cp
|
|
}
|
|
|
|
// DeepCopy generates a deep copy of *configSnapshotAPIGateway
|
|
func (o *configSnapshotAPIGateway) DeepCopy() *configSnapshotAPIGateway {
|
|
var cp configSnapshotAPIGateway = *o
|
|
{
|
|
retV := o.ConfigSnapshotUpstreams.DeepCopy()
|
|
cp.ConfigSnapshotUpstreams = *retV
|
|
}
|
|
if o.TLSConfig.SDS != nil {
|
|
cp.TLSConfig.SDS = new(structs.GatewayTLSSDSConfig)
|
|
*cp.TLSConfig.SDS = *o.TLSConfig.SDS
|
|
}
|
|
if o.TLSConfig.CipherSuites != nil {
|
|
cp.TLSConfig.CipherSuites = make([]types.TLSCipherSuite, len(o.TLSConfig.CipherSuites))
|
|
copy(cp.TLSConfig.CipherSuites, o.TLSConfig.CipherSuites)
|
|
}
|
|
if o.GatewayConfig != nil {
|
|
cp.GatewayConfig = new(structs.APIGatewayConfigEntry)
|
|
*cp.GatewayConfig = *o.GatewayConfig
|
|
if o.GatewayConfig.Listeners != nil {
|
|
cp.GatewayConfig.Listeners = make([]structs.APIGatewayListener, len(o.GatewayConfig.Listeners))
|
|
copy(cp.GatewayConfig.Listeners, o.GatewayConfig.Listeners)
|
|
for i4 := range o.GatewayConfig.Listeners {
|
|
{
|
|
retV := o.GatewayConfig.Listeners[i4].DeepCopy()
|
|
cp.GatewayConfig.Listeners[i4] = *retV
|
|
}
|
|
}
|
|
}
|
|
{
|
|
retV := o.GatewayConfig.Status.DeepCopy()
|
|
cp.GatewayConfig.Status = *retV
|
|
}
|
|
if o.GatewayConfig.Meta != nil {
|
|
cp.GatewayConfig.Meta = make(map[string]string, len(o.GatewayConfig.Meta))
|
|
for k4, v4 := range o.GatewayConfig.Meta {
|
|
cp.GatewayConfig.Meta[k4] = v4
|
|
}
|
|
}
|
|
}
|
|
if o.BoundGatewayConfig != nil {
|
|
cp.BoundGatewayConfig = o.BoundGatewayConfig.DeepCopy()
|
|
}
|
|
if o.Hosts != nil {
|
|
cp.Hosts = make([]string, len(o.Hosts))
|
|
copy(cp.Hosts, o.Hosts)
|
|
}
|
|
if o.Upstreams != nil {
|
|
cp.Upstreams = make(map[structs.ResourceReference]listenerUpstreamMap, len(o.Upstreams))
|
|
for k2, v2 := range o.Upstreams {
|
|
var cp_Upstreams_v2 listenerUpstreamMap
|
|
if v2 != nil {
|
|
cp_Upstreams_v2 = make(map[IngressListenerKey]structs.Upstreams, len(v2))
|
|
for k3, v3 := range v2 {
|
|
var cp_Upstreams_v2_v3 structs.Upstreams
|
|
if v3 != nil {
|
|
cp_Upstreams_v2_v3 = make([]structs.Upstream, len(v3))
|
|
copy(cp_Upstreams_v2_v3, v3)
|
|
for i4 := range v3 {
|
|
{
|
|
retV := v3[i4].DeepCopy()
|
|
cp_Upstreams_v2_v3[i4] = *retV
|
|
}
|
|
}
|
|
}
|
|
cp_Upstreams_v2[k3] = cp_Upstreams_v2_v3
|
|
}
|
|
}
|
|
cp.Upstreams[k2] = cp_Upstreams_v2
|
|
}
|
|
}
|
|
if o.UpstreamsSet != nil {
|
|
cp.UpstreamsSet = make(map[structs.ResourceReference]upstreamIDSet, len(o.UpstreamsSet))
|
|
for k2, v2 := range o.UpstreamsSet {
|
|
var cp_UpstreamsSet_v2 upstreamIDSet
|
|
if v2 != nil {
|
|
cp_UpstreamsSet_v2 = make(map[UpstreamID]struct{}, len(v2))
|
|
for k3, v3 := range v2 {
|
|
cp_UpstreamsSet_v2[k3] = v3
|
|
}
|
|
}
|
|
cp.UpstreamsSet[k2] = cp_UpstreamsSet_v2
|
|
}
|
|
}
|
|
cp.HTTPRoutes = o.HTTPRoutes.DeepCopy()
|
|
cp.TCPRoutes = o.TCPRoutes.DeepCopy()
|
|
cp.Certificates = o.Certificates.DeepCopy()
|
|
if o.Listeners != nil {
|
|
cp.Listeners = make(map[string]structs.APIGatewayListener, len(o.Listeners))
|
|
for k2, v2 := range o.Listeners {
|
|
var cp_Listeners_v2 structs.APIGatewayListener
|
|
{
|
|
retV := v2.DeepCopy()
|
|
cp_Listeners_v2 = *retV
|
|
}
|
|
cp.Listeners[k2] = cp_Listeners_v2
|
|
}
|
|
}
|
|
if o.ListenerCertificates != nil {
|
|
cp.ListenerCertificates = make(map[IngressListenerKey][]structs.InlineCertificateConfigEntry, len(o.ListenerCertificates))
|
|
for k2, v2 := range o.ListenerCertificates {
|
|
var cp_ListenerCertificates_v2 []structs.InlineCertificateConfigEntry
|
|
if v2 != nil {
|
|
cp_ListenerCertificates_v2 = make([]structs.InlineCertificateConfigEntry, len(v2))
|
|
copy(cp_ListenerCertificates_v2, v2)
|
|
for i3 := range v2 {
|
|
{
|
|
retV := v2[i3].DeepCopy()
|
|
cp_ListenerCertificates_v2[i3] = *retV
|
|
}
|
|
}
|
|
}
|
|
cp.ListenerCertificates[k2] = cp_ListenerCertificates_v2
|
|
}
|
|
}
|
|
if o.BoundListeners != nil {
|
|
cp.BoundListeners = make(map[string]structs.BoundAPIGatewayListener, len(o.BoundListeners))
|
|
for k2, v2 := range o.BoundListeners {
|
|
var cp_BoundListeners_v2 structs.BoundAPIGatewayListener
|
|
{
|
|
retV := v2.DeepCopy()
|
|
cp_BoundListeners_v2 = *retV
|
|
}
|
|
cp.BoundListeners[k2] = cp_BoundListeners_v2
|
|
}
|
|
}
|
|
return &cp
|
|
}
|
|
|
|
// DeepCopy generates a deep copy of *configSnapshotConnectProxy
|
|
func (o *configSnapshotConnectProxy) DeepCopy() *configSnapshotConnectProxy {
|
|
var cp configSnapshotConnectProxy = *o
|
|
{
|
|
retV := o.ConfigSnapshotUpstreams.DeepCopy()
|
|
cp.ConfigSnapshotUpstreams = *retV
|
|
}
|
|
if o.InboundPeerTrustBundles != nil {
|
|
cp.InboundPeerTrustBundles = make([]*pbpeering.PeeringTrustBundle, len(o.InboundPeerTrustBundles))
|
|
copy(cp.InboundPeerTrustBundles, o.InboundPeerTrustBundles)
|
|
for i2 := range o.InboundPeerTrustBundles {
|
|
if o.InboundPeerTrustBundles[i2] != nil {
|
|
cp.InboundPeerTrustBundles[i2] = o.InboundPeerTrustBundles[i2].DeepCopy()
|
|
}
|
|
}
|
|
}
|
|
if o.WatchedServiceChecks != nil {
|
|
cp.WatchedServiceChecks = make(map[structs.ServiceID][]structs.CheckType, len(o.WatchedServiceChecks))
|
|
for k2, v2 := range o.WatchedServiceChecks {
|
|
var cp_WatchedServiceChecks_v2 []structs.CheckType
|
|
if v2 != nil {
|
|
cp_WatchedServiceChecks_v2 = make([]structs.CheckType, len(v2))
|
|
copy(cp_WatchedServiceChecks_v2, v2)
|
|
for i3 := range v2 {
|
|
{
|
|
retV := v2[i3].DeepCopy()
|
|
cp_WatchedServiceChecks_v2[i3] = *retV
|
|
}
|
|
}
|
|
}
|
|
cp.WatchedServiceChecks[k2] = cp_WatchedServiceChecks_v2
|
|
}
|
|
}
|
|
if o.PreparedQueryEndpoints != nil {
|
|
cp.PreparedQueryEndpoints = make(map[UpstreamID]structs.CheckServiceNodes, len(o.PreparedQueryEndpoints))
|
|
for k2, v2 := range o.PreparedQueryEndpoints {
|
|
var cp_PreparedQueryEndpoints_v2 structs.CheckServiceNodes
|
|
cp_PreparedQueryEndpoints_v2 = v2.DeepCopy()
|
|
cp.PreparedQueryEndpoints[k2] = cp_PreparedQueryEndpoints_v2
|
|
}
|
|
}
|
|
if o.Intentions != nil {
|
|
cp.Intentions = make([]*structs.Intention, len(o.Intentions))
|
|
copy(cp.Intentions, o.Intentions)
|
|
for i2 := range o.Intentions {
|
|
if o.Intentions[i2] != nil {
|
|
cp.Intentions[i2] = o.Intentions[i2].DeepCopy()
|
|
}
|
|
}
|
|
}
|
|
cp.DestinationsUpstream = o.DestinationsUpstream.DeepCopy()
|
|
cp.DestinationGateways = o.DestinationGateways.DeepCopy()
|
|
return &cp
|
|
}
|
|
|
|
// DeepCopy generates a deep copy of *configSnapshotIngressGateway
|
|
func (o *configSnapshotIngressGateway) DeepCopy() *configSnapshotIngressGateway {
|
|
var cp configSnapshotIngressGateway = *o
|
|
{
|
|
retV := o.ConfigSnapshotUpstreams.DeepCopy()
|
|
cp.ConfigSnapshotUpstreams = *retV
|
|
}
|
|
if o.TLSConfig.SDS != nil {
|
|
cp.TLSConfig.SDS = new(structs.GatewayTLSSDSConfig)
|
|
*cp.TLSConfig.SDS = *o.TLSConfig.SDS
|
|
}
|
|
if o.TLSConfig.CipherSuites != nil {
|
|
cp.TLSConfig.CipherSuites = make([]types.TLSCipherSuite, len(o.TLSConfig.CipherSuites))
|
|
copy(cp.TLSConfig.CipherSuites, o.TLSConfig.CipherSuites)
|
|
}
|
|
if o.Hosts != nil {
|
|
cp.Hosts = make([]string, len(o.Hosts))
|
|
copy(cp.Hosts, o.Hosts)
|
|
}
|
|
if o.Upstreams != nil {
|
|
cp.Upstreams = make(map[IngressListenerKey]structs.Upstreams, len(o.Upstreams))
|
|
for k2, v2 := range o.Upstreams {
|
|
var cp_Upstreams_v2 structs.Upstreams
|
|
if v2 != nil {
|
|
cp_Upstreams_v2 = make([]structs.Upstream, len(v2))
|
|
copy(cp_Upstreams_v2, v2)
|
|
for i3 := range v2 {
|
|
{
|
|
retV := v2[i3].DeepCopy()
|
|
cp_Upstreams_v2[i3] = *retV
|
|
}
|
|
}
|
|
}
|
|
cp.Upstreams[k2] = cp_Upstreams_v2
|
|
}
|
|
}
|
|
if o.UpstreamsSet != nil {
|
|
cp.UpstreamsSet = make(map[UpstreamID]struct{}, len(o.UpstreamsSet))
|
|
for k2, v2 := range o.UpstreamsSet {
|
|
cp.UpstreamsSet[k2] = v2
|
|
}
|
|
}
|
|
if o.Listeners != nil {
|
|
cp.Listeners = make(map[IngressListenerKey]structs.IngressListener, len(o.Listeners))
|
|
for k2, v2 := range o.Listeners {
|
|
var cp_Listeners_v2 structs.IngressListener
|
|
{
|
|
retV := v2.DeepCopy()
|
|
cp_Listeners_v2 = *retV
|
|
}
|
|
cp.Listeners[k2] = cp_Listeners_v2
|
|
}
|
|
}
|
|
if o.Defaults.PassiveHealthCheck != nil {
|
|
cp.Defaults.PassiveHealthCheck = new(structs.PassiveHealthCheck)
|
|
*cp.Defaults.PassiveHealthCheck = *o.Defaults.PassiveHealthCheck
|
|
if o.Defaults.PassiveHealthCheck.EnforcingConsecutive5xx != nil {
|
|
cp.Defaults.PassiveHealthCheck.EnforcingConsecutive5xx = new(uint32)
|
|
*cp.Defaults.PassiveHealthCheck.EnforcingConsecutive5xx = *o.Defaults.PassiveHealthCheck.EnforcingConsecutive5xx
|
|
}
|
|
}
|
|
return &cp
|
|
}
|
|
|
|
// DeepCopy generates a deep copy of *configSnapshotMeshGateway
|
|
func (o *configSnapshotMeshGateway) DeepCopy() *configSnapshotMeshGateway {
|
|
var cp configSnapshotMeshGateway = *o
|
|
if o.WatchedServices != nil {
|
|
cp.WatchedServices = make(map[structs.ServiceName]context.CancelFunc, len(o.WatchedServices))
|
|
for k2, v2 := range o.WatchedServices {
|
|
cp.WatchedServices[k2] = v2
|
|
}
|
|
}
|
|
if o.WatchedGateways != nil {
|
|
cp.WatchedGateways = make(map[string]context.CancelFunc, len(o.WatchedGateways))
|
|
for k2, v2 := range o.WatchedGateways {
|
|
cp.WatchedGateways[k2] = v2
|
|
}
|
|
}
|
|
if o.ServiceGroups != nil {
|
|
cp.ServiceGroups = make(map[structs.ServiceName]structs.CheckServiceNodes, len(o.ServiceGroups))
|
|
for k2, v2 := range o.ServiceGroups {
|
|
var cp_ServiceGroups_v2 structs.CheckServiceNodes
|
|
cp_ServiceGroups_v2 = v2.DeepCopy()
|
|
cp.ServiceGroups[k2] = cp_ServiceGroups_v2
|
|
}
|
|
}
|
|
if o.PeeringServices != nil {
|
|
cp.PeeringServices = make(map[string]map[structs.ServiceName]PeeringServiceValue, len(o.PeeringServices))
|
|
for k2, v2 := range o.PeeringServices {
|
|
var cp_PeeringServices_v2 map[structs.ServiceName]PeeringServiceValue
|
|
if v2 != nil {
|
|
cp_PeeringServices_v2 = make(map[structs.ServiceName]PeeringServiceValue, len(v2))
|
|
for k3, v3 := range v2 {
|
|
var cp_PeeringServices_v2_v3 PeeringServiceValue
|
|
{
|
|
retV := v3.DeepCopy()
|
|
cp_PeeringServices_v2_v3 = *retV
|
|
}
|
|
cp_PeeringServices_v2[k3] = cp_PeeringServices_v2_v3
|
|
}
|
|
}
|
|
cp.PeeringServices[k2] = cp_PeeringServices_v2
|
|
}
|
|
}
|
|
if o.WatchedPeeringServices != nil {
|
|
cp.WatchedPeeringServices = make(map[string]map[structs.ServiceName]context.CancelFunc, len(o.WatchedPeeringServices))
|
|
for k2, v2 := range o.WatchedPeeringServices {
|
|
var cp_WatchedPeeringServices_v2 map[structs.ServiceName]context.CancelFunc
|
|
if v2 != nil {
|
|
cp_WatchedPeeringServices_v2 = make(map[structs.ServiceName]context.CancelFunc, len(v2))
|
|
for k3, v3 := range v2 {
|
|
cp_WatchedPeeringServices_v2[k3] = v3
|
|
}
|
|
}
|
|
cp.WatchedPeeringServices[k2] = cp_WatchedPeeringServices_v2
|
|
}
|
|
}
|
|
if o.WatchedPeers != nil {
|
|
cp.WatchedPeers = make(map[string]context.CancelFunc, len(o.WatchedPeers))
|
|
for k2, v2 := range o.WatchedPeers {
|
|
cp.WatchedPeers[k2] = v2
|
|
}
|
|
}
|
|
if o.ServiceResolvers != nil {
|
|
cp.ServiceResolvers = make(map[structs.ServiceName]*structs.ServiceResolverConfigEntry, len(o.ServiceResolvers))
|
|
for k2, v2 := range o.ServiceResolvers {
|
|
var cp_ServiceResolvers_v2 *structs.ServiceResolverConfigEntry
|
|
if v2 != nil {
|
|
cp_ServiceResolvers_v2 = v2.DeepCopy()
|
|
}
|
|
cp.ServiceResolvers[k2] = cp_ServiceResolvers_v2
|
|
}
|
|
}
|
|
if o.GatewayGroups != nil {
|
|
cp.GatewayGroups = make(map[string]structs.CheckServiceNodes, len(o.GatewayGroups))
|
|
for k2, v2 := range o.GatewayGroups {
|
|
var cp_GatewayGroups_v2 structs.CheckServiceNodes
|
|
cp_GatewayGroups_v2 = v2.DeepCopy()
|
|
cp.GatewayGroups[k2] = cp_GatewayGroups_v2
|
|
}
|
|
}
|
|
if o.FedStateGateways != nil {
|
|
cp.FedStateGateways = make(map[string]structs.CheckServiceNodes, len(o.FedStateGateways))
|
|
for k2, v2 := range o.FedStateGateways {
|
|
var cp_FedStateGateways_v2 structs.CheckServiceNodes
|
|
cp_FedStateGateways_v2 = v2.DeepCopy()
|
|
cp.FedStateGateways[k2] = cp_FedStateGateways_v2
|
|
}
|
|
}
|
|
cp.WatchedLocalServers = o.WatchedLocalServers.DeepCopy()
|
|
if o.HostnameDatacenters != nil {
|
|
cp.HostnameDatacenters = make(map[string]structs.CheckServiceNodes, len(o.HostnameDatacenters))
|
|
for k2, v2 := range o.HostnameDatacenters {
|
|
var cp_HostnameDatacenters_v2 structs.CheckServiceNodes
|
|
cp_HostnameDatacenters_v2 = v2.DeepCopy()
|
|
cp.HostnameDatacenters[k2] = cp_HostnameDatacenters_v2
|
|
}
|
|
}
|
|
if o.ExportedServicesSlice != nil {
|
|
cp.ExportedServicesSlice = make([]structs.ServiceName, len(o.ExportedServicesSlice))
|
|
copy(cp.ExportedServicesSlice, o.ExportedServicesSlice)
|
|
}
|
|
if o.ExportedServicesWithPeers != nil {
|
|
cp.ExportedServicesWithPeers = make(map[structs.ServiceName][]string, len(o.ExportedServicesWithPeers))
|
|
for k2, v2 := range o.ExportedServicesWithPeers {
|
|
var cp_ExportedServicesWithPeers_v2 []string
|
|
if v2 != nil {
|
|
cp_ExportedServicesWithPeers_v2 = make([]string, len(v2))
|
|
copy(cp_ExportedServicesWithPeers_v2, v2)
|
|
}
|
|
cp.ExportedServicesWithPeers[k2] = cp_ExportedServicesWithPeers_v2
|
|
}
|
|
}
|
|
if o.DiscoveryChain != nil {
|
|
cp.DiscoveryChain = make(map[structs.ServiceName]*structs.CompiledDiscoveryChain, len(o.DiscoveryChain))
|
|
for k2, v2 := range o.DiscoveryChain {
|
|
var cp_DiscoveryChain_v2 *structs.CompiledDiscoveryChain
|
|
if v2 != nil {
|
|
cp_DiscoveryChain_v2 = v2.DeepCopy()
|
|
}
|
|
cp.DiscoveryChain[k2] = cp_DiscoveryChain_v2
|
|
}
|
|
}
|
|
if o.WatchedDiscoveryChains != nil {
|
|
cp.WatchedDiscoveryChains = make(map[structs.ServiceName]context.CancelFunc, len(o.WatchedDiscoveryChains))
|
|
for k2, v2 := range o.WatchedDiscoveryChains {
|
|
cp.WatchedDiscoveryChains[k2] = v2
|
|
}
|
|
}
|
|
if o.MeshConfig != nil {
|
|
cp.MeshConfig = o.MeshConfig.DeepCopy()
|
|
}
|
|
if o.Leaf != nil {
|
|
cp.Leaf = new(structs.IssuedCert)
|
|
*cp.Leaf = *o.Leaf
|
|
}
|
|
if o.PeerServers != nil {
|
|
cp.PeerServers = make(map[string]PeerServersValue, len(o.PeerServers))
|
|
for k2, v2 := range o.PeerServers {
|
|
var cp_PeerServers_v2 PeerServersValue
|
|
{
|
|
retV := v2.DeepCopy()
|
|
cp_PeerServers_v2 = *retV
|
|
}
|
|
cp.PeerServers[k2] = cp_PeerServers_v2
|
|
}
|
|
}
|
|
if o.PeeringTrustBundles != nil {
|
|
cp.PeeringTrustBundles = make([]*pbpeering.PeeringTrustBundle, len(o.PeeringTrustBundles))
|
|
copy(cp.PeeringTrustBundles, o.PeeringTrustBundles)
|
|
for i2 := range o.PeeringTrustBundles {
|
|
if o.PeeringTrustBundles[i2] != nil {
|
|
cp.PeeringTrustBundles[i2] = o.PeeringTrustBundles[i2].DeepCopy()
|
|
}
|
|
}
|
|
}
|
|
return &cp
|
|
}
|
|
|
|
// DeepCopy generates a deep copy of *configSnapshotTerminatingGateway
|
|
func (o *configSnapshotTerminatingGateway) DeepCopy() *configSnapshotTerminatingGateway {
|
|
var cp configSnapshotTerminatingGateway = *o
|
|
if o.MeshConfig != nil {
|
|
cp.MeshConfig = o.MeshConfig.DeepCopy()
|
|
}
|
|
if o.WatchedServices != nil {
|
|
cp.WatchedServices = make(map[structs.ServiceName]context.CancelFunc, len(o.WatchedServices))
|
|
for k2, v2 := range o.WatchedServices {
|
|
cp.WatchedServices[k2] = v2
|
|
}
|
|
}
|
|
if o.WatchedIntentions != nil {
|
|
cp.WatchedIntentions = make(map[structs.ServiceName]context.CancelFunc, len(o.WatchedIntentions))
|
|
for k2, v2 := range o.WatchedIntentions {
|
|
cp.WatchedIntentions[k2] = v2
|
|
}
|
|
}
|
|
if o.Intentions != nil {
|
|
cp.Intentions = make(map[structs.ServiceName]structs.Intentions, len(o.Intentions))
|
|
for k2, v2 := range o.Intentions {
|
|
var cp_Intentions_v2 structs.Intentions
|
|
if v2 != nil {
|
|
cp_Intentions_v2 = make([]*structs.Intention, len(v2))
|
|
copy(cp_Intentions_v2, v2)
|
|
for i3 := range v2 {
|
|
if v2[i3] != nil {
|
|
cp_Intentions_v2[i3] = v2[i3].DeepCopy()
|
|
}
|
|
}
|
|
}
|
|
cp.Intentions[k2] = cp_Intentions_v2
|
|
}
|
|
}
|
|
if o.WatchedLeaves != nil {
|
|
cp.WatchedLeaves = make(map[structs.ServiceName]context.CancelFunc, len(o.WatchedLeaves))
|
|
for k2, v2 := range o.WatchedLeaves {
|
|
cp.WatchedLeaves[k2] = v2
|
|
}
|
|
}
|
|
if o.ServiceLeaves != nil {
|
|
cp.ServiceLeaves = make(map[structs.ServiceName]*structs.IssuedCert, len(o.ServiceLeaves))
|
|
for k2, v2 := range o.ServiceLeaves {
|
|
var cp_ServiceLeaves_v2 *structs.IssuedCert
|
|
if v2 != nil {
|
|
cp_ServiceLeaves_v2 = new(structs.IssuedCert)
|
|
*cp_ServiceLeaves_v2 = *v2
|
|
}
|
|
cp.ServiceLeaves[k2] = cp_ServiceLeaves_v2
|
|
}
|
|
}
|
|
if o.WatchedConfigs != nil {
|
|
cp.WatchedConfigs = make(map[structs.ServiceName]context.CancelFunc, len(o.WatchedConfigs))
|
|
for k2, v2 := range o.WatchedConfigs {
|
|
cp.WatchedConfigs[k2] = v2
|
|
}
|
|
}
|
|
if o.ServiceConfigs != nil {
|
|
cp.ServiceConfigs = make(map[structs.ServiceName]*structs.ServiceConfigResponse, len(o.ServiceConfigs))
|
|
for k2, v2 := range o.ServiceConfigs {
|
|
var cp_ServiceConfigs_v2 *structs.ServiceConfigResponse
|
|
if v2 != nil {
|
|
cp_ServiceConfigs_v2 = v2.DeepCopy()
|
|
}
|
|
cp.ServiceConfigs[k2] = cp_ServiceConfigs_v2
|
|
}
|
|
}
|
|
if o.WatchedResolvers != nil {
|
|
cp.WatchedResolvers = make(map[structs.ServiceName]context.CancelFunc, len(o.WatchedResolvers))
|
|
for k2, v2 := range o.WatchedResolvers {
|
|
cp.WatchedResolvers[k2] = v2
|
|
}
|
|
}
|
|
if o.ServiceResolvers != nil {
|
|
cp.ServiceResolvers = make(map[structs.ServiceName]*structs.ServiceResolverConfigEntry, len(o.ServiceResolvers))
|
|
for k2, v2 := range o.ServiceResolvers {
|
|
var cp_ServiceResolvers_v2 *structs.ServiceResolverConfigEntry
|
|
if v2 != nil {
|
|
cp_ServiceResolvers_v2 = v2.DeepCopy()
|
|
}
|
|
cp.ServiceResolvers[k2] = cp_ServiceResolvers_v2
|
|
}
|
|
}
|
|
if o.ServiceResolversSet != nil {
|
|
cp.ServiceResolversSet = make(map[structs.ServiceName]bool, len(o.ServiceResolversSet))
|
|
for k2, v2 := range o.ServiceResolversSet {
|
|
cp.ServiceResolversSet[k2] = v2
|
|
}
|
|
}
|
|
if o.ServiceGroups != nil {
|
|
cp.ServiceGroups = make(map[structs.ServiceName]structs.CheckServiceNodes, len(o.ServiceGroups))
|
|
for k2, v2 := range o.ServiceGroups {
|
|
var cp_ServiceGroups_v2 structs.CheckServiceNodes
|
|
cp_ServiceGroups_v2 = v2.DeepCopy()
|
|
cp.ServiceGroups[k2] = cp_ServiceGroups_v2
|
|
}
|
|
}
|
|
if o.GatewayServices != nil {
|
|
cp.GatewayServices = make(map[structs.ServiceName]structs.GatewayService, len(o.GatewayServices))
|
|
for k2, v2 := range o.GatewayServices {
|
|
var cp_GatewayServices_v2 structs.GatewayService
|
|
{
|
|
retV := v2.DeepCopy()
|
|
cp_GatewayServices_v2 = *retV
|
|
}
|
|
cp.GatewayServices[k2] = cp_GatewayServices_v2
|
|
}
|
|
}
|
|
if o.DestinationServices != nil {
|
|
cp.DestinationServices = make(map[structs.ServiceName]structs.GatewayService, len(o.DestinationServices))
|
|
for k2, v2 := range o.DestinationServices {
|
|
var cp_DestinationServices_v2 structs.GatewayService
|
|
{
|
|
retV := v2.DeepCopy()
|
|
cp_DestinationServices_v2 = *retV
|
|
}
|
|
cp.DestinationServices[k2] = cp_DestinationServices_v2
|
|
}
|
|
}
|
|
if o.HostnameServices != nil {
|
|
cp.HostnameServices = make(map[structs.ServiceName]structs.CheckServiceNodes, len(o.HostnameServices))
|
|
for k2, v2 := range o.HostnameServices {
|
|
var cp_HostnameServices_v2 structs.CheckServiceNodes
|
|
cp_HostnameServices_v2 = v2.DeepCopy()
|
|
cp.HostnameServices[k2] = cp_HostnameServices_v2
|
|
}
|
|
}
|
|
return &cp
|
|
}
|