// copy all key fields into the clone so it only differs by fields not from the key
clone.Prefix=key.prefix
iforig.ConfigMapRef==nil{
clone.ConfigMapRef=nil
}else{
ifclone.ConfigMapRef==nil{
clone.ConfigMapRef=&api.ConfigMapEnvSource{
LocalObjectReference:api.LocalObjectReference{},
}
}
clone.ConfigMapRef.Name=key.configMapRefName
}
iforig.SecretRef==nil{
clone.SecretRef=nil
}else{
ifclone.SecretRef==nil{
clone.SecretRef=&api.SecretEnvSource{
LocalObjectReference:api.LocalObjectReference{},
}
}
clone.SecretRef.Name=key.secretRefName
}
// zero out known non-identifying fields
for_,e:=range[]api.EnvFromSource{orig,clone}{
ife.ConfigMapRef!=nil{
e.ConfigMapRef.Optional=nil
}
ife.SecretRef!=nil{
e.SecretRef.Optional=nil
}
}
if!reflect.DeepEqual(orig,clone){
t.Errorf("expected all but known non-identifying fields for envFrom to be in envFromMergeKey but found unaccounted for differences, diff:\n%s",diff.ObjectReflectDiff(orig,clone))
r.t.Errorf("expected mutating admission plugin to be idempontent, but got different results on reinvocation, diff:\n%s",diff.ObjectReflectDiff(outputs[0],outputs[i]))
}
}
returnnil
}
// Handles will return true if any of the admission andler handlers handle the given operation.