package io.wdd.func.auto.beans;

import io.swagger.annotations.ApiModel;
import io.wdd.server.beans.po.ServerInfoPO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import java.util.ArrayList;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder(toBuilder = true)
@ApiModel("项目实施阶段的上下文实体类")
public class ProjectDeployContext {

    // harbor
    public static final ArrayList<String> PROJECT_NEED_TO_BY_SYNCHRONIZED = new ArrayList<>(
            List.of(
                    "rancher",
                    "cmii"
            )
    );
    Long projectId;
    ServerInfoPO masterNode;
    List<ServerInfoPO> agentNodeList;
    // base
    boolean masterBaseProcedureAccomplished;
    boolean agentBaseProcedureAccomplished;
    boolean rancherHarborSynchronized;
    boolean cmiiHarborSynchronized;
    String currentSynchronizingProject;

    // app

}
