Как разрешить ссылку на несколько объектов - PullRequest
0 голосов
/ 22 сентября 2019

Я использую библиотеку go-client.
Я ищу смонтированные секреты внутри рабочей нагрузки.
В моем примере у нас есть две рабочие нагрузки: daemonset и deployments.
Хотя обаэто разные объекты, они имеют похожую структуру:

type DaemonSet struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
    Spec DaemonSetSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
    Status DaemonSetStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}


type Deployment struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
    Spec DeploymentSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
    Status DeploymentStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

Я получаю ошибки:

Неразрешенная ссылка

Это происходит из-за компиляциине знает, на какой объект я ссылаюсь: v1beta2.DaemonSetList или v1beta2.DeploymentList.

Как я могу решить это для них обоих?

enter image description here

1 Ответ

1 голос
/ 22 сентября 2019

нет.Это происходит потому, что ваша переменная controllerList не объявлена ​​в нужной области.

она должна быть объявлена ​​в общей области, общей для цикла for и оператора switch, родительской области, IEif controllerName != ....

** Обратите внимание, что для публикации на SO вы НЕ ДОЛЖНЫ включать снимок экрана с кодом, но должны предоставить минимальный воспроизводимый пример кода, скопируйте && вставил &&, указанный в вашем сообщении.

...