pcm-kubernetes/internal/logic/deploymentdetaillogic.go

37 lines
1.1 KiB
Go

package logic
import (
"context"
"gitlink.org.cn/jcce-pcm/utils/tool"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"gitlink.org.cn/jcce-pcm/pcm-participant-kubernetes/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-participant-kubernetes/kubernetes"
"github.com/zeromicro/go-zero/core/logx"
)
type DeploymentDetailLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewDeploymentDetailLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeploymentDetailLogic {
return &DeploymentDetailLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *DeploymentDetailLogic) DeploymentDetail(in *kubernetes.DeploymentDetailReq) (*kubernetes.DeploymentDetailResp, error) {
deployment, err := l.svcCtx.ClientSet.AppsV1().Deployments(in.GetNamespace()).Get(context.Background(), in.GetName(), v1.GetOptions{})
if err != nil {
return nil, err
}
var kDeployment kubernetes.Deployment
tool.Convert(deployment, &kDeployment)
return &kubernetes.DeploymentDetailResp{Code: "200", Msg: "Success", Deployment: &kDeployment}, nil
}