All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.aliyun.bean.config.ToolkitDeployConfig Maven / Gradle / Ivy

Go to download

Aliyun Open API SDK for Java Copyright (C) Alibaba Cloud Computing All rights reserved. 版权所有 (C)阿里云计算有限公司 http://www.aliyun.com

There is a newer version: 1.1.9
Show newest version
package com.aliyun.bean.config;

import com.aliyun.bean.common.OssProfile;
import com.aliyun.enums.Constants;
import lombok.Data;

import java.util.List;

/**
 * Describe about application deployment. This config is used in toolkit:deploy.
 * This bean is used to replace DefaultConfigBean. In this bean, we define following entities:
 * apiVersion: xxx
 * kind: AppDeployment
 * metadata: xxx
 * spec:
 *   type: serverless | edas_ecs | edas_kubernetes | edas_swam | webx
 *   xxx
 *
 * @author nahai
 */
@Data
public class ToolkitDeployConfig {
    private String apiVersion = Constants.V1;
    private String kind;
    private String metadata;
    private ToolkitDeployConfig.Spec spec;

    @Data
    public static class Spec {
        private String type;
        private Target target;

        private String desc;
        private String version;
        private List envs;
        private Integer batchWaitTime;
        private String groupId;
        private Integer batch;
        private String jdk;
        private String command;
        private List commandArgs;
        private List customHostAlias;
        private String jarStartOptions;
        private String jarStartArgs;
        private Liveness liveness;
        private Readiness readiness;
        private Integer minReadyInstances;
        private String webContainer;
        // ecs
        private Integer releaseType;
        // k8s
        private UpdateStrategy updateStrategy;

        //plugin used param
        private Integer stageTimeout;
        private Integer serviceStageTimeout;
        private Integer instanceStageTimeout;
    }

    @Data
    public static class Exec {
        private List command;
    }

    @Data
    public static class Readiness {
        private Exec exec;
        private Integer initialDelaySeconds;
        private Integer timeoutSeconds;
    }

    @Data
    public static class Liveness {
        private Exec exec;
        private Integer initialDelaySeconds;
        private Integer timeoutSeconds;
    }

    @Data
    public static class HostAlias {
        private String hostName;
        private String ip;
    }

    @Data
    public static class Env {
        public Env(){}
        public Env(String n, String v) {
            name = n;
            value = v;
        }
        private String name;
        private String value;
    }

    @Data
    public static class Target {
        private String appName;
        private String namespaceId;
        private String appId;
    }

    @Data
    public static class UpdateStrategy {
        private String type;
        private GayUpdate grayUpdate;
        private BatchUpdate batchUpdate;
    }

    @Data
    public static class GayUpdate {
        private Integer gray;
    }

    @Data
    public static class BatchUpdate {
        private Integer batch;
        private String releaseType;
        private Integer batchWaitTime;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy