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

com.pulumi.alicloud.edas.ApplicationArgs Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.alicloud.edas;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ApplicationArgs extends com.pulumi.resources.ResourceArgs {

    public static final ApplicationArgs Empty = new ApplicationArgs();

    /**
     * Name of your EDAS application. Only letters '-' '_' and numbers are allowed. The length cannot exceed 36 characters.
     * 
     */
    @Import(name="applicationName", required=true)
    private Output applicationName;

    /**
     * @return Name of your EDAS application. Only letters '-' '_' and numbers are allowed. The length cannot exceed 36 characters.
     * 
     */
    public Output applicationName() {
        return this.applicationName;
    }

    /**
     * The package ID of Enterprise Distributed Application Service (EDAS) Container, which can be retrieved by calling container version list interface ListBuildPack or the "Pack ID" column in container version list. When creating High-speed Service Framework (HSF) application, this parameter is required.
     * 
     */
    @Import(name="buildPackId")
    private @Nullable Output buildPackId;

    /**
     * @return The package ID of Enterprise Distributed Application Service (EDAS) Container, which can be retrieved by calling container version list interface ListBuildPack or the "Pack ID" column in container version list. When creating High-speed Service Framework (HSF) application, this parameter is required.
     * 
     */
    public Optional> buildPackId() {
        return Optional.ofNullable(this.buildPackId);
    }

    /**
     * The ID of the cluster that you want to create the application. The default cluster will be used if you do not specify this parameter.
     * 
     */
    @Import(name="clusterId", required=true)
    private Output clusterId;

    /**
     * @return The ID of the cluster that you want to create the application. The default cluster will be used if you do not specify this parameter.
     * 
     */
    public Output clusterId() {
        return this.clusterId;
    }

    /**
     * The description of the application that you want to create.
     * 
     */
    @Import(name="descriotion")
    private @Nullable Output descriotion;

    /**
     * @return The description of the application that you want to create.
     * 
     */
    public Optional> descriotion() {
        return Optional.ofNullable(this.descriotion);
    }

    /**
     * The ID of the Elastic Compute Unit (ECU) where you want to deploy the application. Type: List.
     * 
     */
    @Import(name="ecuInfos")
    private @Nullable Output> ecuInfos;

    /**
     * @return The ID of the Elastic Compute Unit (ECU) where you want to deploy the application. Type: List.
     * 
     */
    public Optional>> ecuInfos() {
        return Optional.ofNullable(this.ecuInfos);
    }

    /**
     * The ID of the instance group where the application is going to be deployed. Set this parameter to all if you want to deploy the application to all groups.
     * 
     */
    @Import(name="groupId")
    private @Nullable Output groupId;

    /**
     * @return The ID of the instance group where the application is going to be deployed. Set this parameter to all if you want to deploy the application to all groups.
     * 
     */
    public Optional> groupId() {
        return Optional.ofNullable(this.groupId);
    }

    /**
     * The URL for health checking of the application.
     * 
     */
    @Import(name="healthCheckUrl")
    private @Nullable Output healthCheckUrl;

    /**
     * @return The URL for health checking of the application.
     * 
     */
    public Optional> healthCheckUrl() {
        return Optional.ofNullable(this.healthCheckUrl);
    }

    /**
     * The ID of the namespace where you want to create the application. You can call the ListUserDefineRegion operation to query the namespace ID.
     * 
     */
    @Import(name="logicalRegionId")
    private @Nullable Output logicalRegionId;

    /**
     * @return The ID of the namespace where you want to create the application. You can call the ListUserDefineRegion operation to query the namespace ID.
     * 
     */
    public Optional> logicalRegionId() {
        return Optional.ofNullable(this.logicalRegionId);
    }

    /**
     * The type of the package for the deployment of the application that you want to create. The valid values are: WAR and JAR. We strongly recommend you to set this parameter when creating the application.
     * 
     */
    @Import(name="packageType", required=true)
    private Output packageType;

    /**
     * @return The type of the package for the deployment of the application that you want to create. The valid values are: WAR and JAR. We strongly recommend you to set this parameter when creating the application.
     * 
     */
    public Output packageType() {
        return this.packageType;
    }

    /**
     * The version of the application that you want to deploy. It must be unique for every application. The length cannot exceed 64 characters. We recommended you to use a timestamp.
     * 
     */
    @Import(name="packageVersion")
    private @Nullable Output packageVersion;

    /**
     * @return The version of the application that you want to deploy. It must be unique for every application. The length cannot exceed 64 characters. We recommended you to use a timestamp.
     * 
     */
    public Optional> packageVersion() {
        return Optional.ofNullable(this.packageVersion);
    }

    /**
     * The address to store the uploaded web application (WAR) package for application deployment. This parameter is required when the deployType parameter is set as url.
     * 
     */
    @Import(name="warUrl")
    private @Nullable Output warUrl;

    /**
     * @return The address to store the uploaded web application (WAR) package for application deployment. This parameter is required when the deployType parameter is set as url.
     * 
     */
    public Optional> warUrl() {
        return Optional.ofNullable(this.warUrl);
    }

    private ApplicationArgs() {}

    private ApplicationArgs(ApplicationArgs $) {
        this.applicationName = $.applicationName;
        this.buildPackId = $.buildPackId;
        this.clusterId = $.clusterId;
        this.descriotion = $.descriotion;
        this.ecuInfos = $.ecuInfos;
        this.groupId = $.groupId;
        this.healthCheckUrl = $.healthCheckUrl;
        this.logicalRegionId = $.logicalRegionId;
        this.packageType = $.packageType;
        this.packageVersion = $.packageVersion;
        this.warUrl = $.warUrl;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(ApplicationArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private ApplicationArgs $;

        public Builder() {
            $ = new ApplicationArgs();
        }

        public Builder(ApplicationArgs defaults) {
            $ = new ApplicationArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param applicationName Name of your EDAS application. Only letters '-' '_' and numbers are allowed. The length cannot exceed 36 characters.
         * 
         * @return builder
         * 
         */
        public Builder applicationName(Output applicationName) {
            $.applicationName = applicationName;
            return this;
        }

        /**
         * @param applicationName Name of your EDAS application. Only letters '-' '_' and numbers are allowed. The length cannot exceed 36 characters.
         * 
         * @return builder
         * 
         */
        public Builder applicationName(String applicationName) {
            return applicationName(Output.of(applicationName));
        }

        /**
         * @param buildPackId The package ID of Enterprise Distributed Application Service (EDAS) Container, which can be retrieved by calling container version list interface ListBuildPack or the "Pack ID" column in container version list. When creating High-speed Service Framework (HSF) application, this parameter is required.
         * 
         * @return builder
         * 
         */
        public Builder buildPackId(@Nullable Output buildPackId) {
            $.buildPackId = buildPackId;
            return this;
        }

        /**
         * @param buildPackId The package ID of Enterprise Distributed Application Service (EDAS) Container, which can be retrieved by calling container version list interface ListBuildPack or the "Pack ID" column in container version list. When creating High-speed Service Framework (HSF) application, this parameter is required.
         * 
         * @return builder
         * 
         */
        public Builder buildPackId(Integer buildPackId) {
            return buildPackId(Output.of(buildPackId));
        }

        /**
         * @param clusterId The ID of the cluster that you want to create the application. The default cluster will be used if you do not specify this parameter.
         * 
         * @return builder
         * 
         */
        public Builder clusterId(Output clusterId) {
            $.clusterId = clusterId;
            return this;
        }

        /**
         * @param clusterId The ID of the cluster that you want to create the application. The default cluster will be used if you do not specify this parameter.
         * 
         * @return builder
         * 
         */
        public Builder clusterId(String clusterId) {
            return clusterId(Output.of(clusterId));
        }

        /**
         * @param descriotion The description of the application that you want to create.
         * 
         * @return builder
         * 
         */
        public Builder descriotion(@Nullable Output descriotion) {
            $.descriotion = descriotion;
            return this;
        }

        /**
         * @param descriotion The description of the application that you want to create.
         * 
         * @return builder
         * 
         */
        public Builder descriotion(String descriotion) {
            return descriotion(Output.of(descriotion));
        }

        /**
         * @param ecuInfos The ID of the Elastic Compute Unit (ECU) where you want to deploy the application. Type: List.
         * 
         * @return builder
         * 
         */
        public Builder ecuInfos(@Nullable Output> ecuInfos) {
            $.ecuInfos = ecuInfos;
            return this;
        }

        /**
         * @param ecuInfos The ID of the Elastic Compute Unit (ECU) where you want to deploy the application. Type: List.
         * 
         * @return builder
         * 
         */
        public Builder ecuInfos(List ecuInfos) {
            return ecuInfos(Output.of(ecuInfos));
        }

        /**
         * @param ecuInfos The ID of the Elastic Compute Unit (ECU) where you want to deploy the application. Type: List.
         * 
         * @return builder
         * 
         */
        public Builder ecuInfos(String... ecuInfos) {
            return ecuInfos(List.of(ecuInfos));
        }

        /**
         * @param groupId The ID of the instance group where the application is going to be deployed. Set this parameter to all if you want to deploy the application to all groups.
         * 
         * @return builder
         * 
         */
        public Builder groupId(@Nullable Output groupId) {
            $.groupId = groupId;
            return this;
        }

        /**
         * @param groupId The ID of the instance group where the application is going to be deployed. Set this parameter to all if you want to deploy the application to all groups.
         * 
         * @return builder
         * 
         */
        public Builder groupId(String groupId) {
            return groupId(Output.of(groupId));
        }

        /**
         * @param healthCheckUrl The URL for health checking of the application.
         * 
         * @return builder
         * 
         */
        public Builder healthCheckUrl(@Nullable Output healthCheckUrl) {
            $.healthCheckUrl = healthCheckUrl;
            return this;
        }

        /**
         * @param healthCheckUrl The URL for health checking of the application.
         * 
         * @return builder
         * 
         */
        public Builder healthCheckUrl(String healthCheckUrl) {
            return healthCheckUrl(Output.of(healthCheckUrl));
        }

        /**
         * @param logicalRegionId The ID of the namespace where you want to create the application. You can call the ListUserDefineRegion operation to query the namespace ID.
         * 
         * @return builder
         * 
         */
        public Builder logicalRegionId(@Nullable Output logicalRegionId) {
            $.logicalRegionId = logicalRegionId;
            return this;
        }

        /**
         * @param logicalRegionId The ID of the namespace where you want to create the application. You can call the ListUserDefineRegion operation to query the namespace ID.
         * 
         * @return builder
         * 
         */
        public Builder logicalRegionId(String logicalRegionId) {
            return logicalRegionId(Output.of(logicalRegionId));
        }

        /**
         * @param packageType The type of the package for the deployment of the application that you want to create. The valid values are: WAR and JAR. We strongly recommend you to set this parameter when creating the application.
         * 
         * @return builder
         * 
         */
        public Builder packageType(Output packageType) {
            $.packageType = packageType;
            return this;
        }

        /**
         * @param packageType The type of the package for the deployment of the application that you want to create. The valid values are: WAR and JAR. We strongly recommend you to set this parameter when creating the application.
         * 
         * @return builder
         * 
         */
        public Builder packageType(String packageType) {
            return packageType(Output.of(packageType));
        }

        /**
         * @param packageVersion The version of the application that you want to deploy. It must be unique for every application. The length cannot exceed 64 characters. We recommended you to use a timestamp.
         * 
         * @return builder
         * 
         */
        public Builder packageVersion(@Nullable Output packageVersion) {
            $.packageVersion = packageVersion;
            return this;
        }

        /**
         * @param packageVersion The version of the application that you want to deploy. It must be unique for every application. The length cannot exceed 64 characters. We recommended you to use a timestamp.
         * 
         * @return builder
         * 
         */
        public Builder packageVersion(String packageVersion) {
            return packageVersion(Output.of(packageVersion));
        }

        /**
         * @param warUrl The address to store the uploaded web application (WAR) package for application deployment. This parameter is required when the deployType parameter is set as url.
         * 
         * @return builder
         * 
         */
        public Builder warUrl(@Nullable Output warUrl) {
            $.warUrl = warUrl;
            return this;
        }

        /**
         * @param warUrl The address to store the uploaded web application (WAR) package for application deployment. This parameter is required when the deployType parameter is set as url.
         * 
         * @return builder
         * 
         */
        public Builder warUrl(String warUrl) {
            return warUrl(Output.of(warUrl));
        }

        public ApplicationArgs build() {
            if ($.applicationName == null) {
                throw new MissingRequiredPropertyException("ApplicationArgs", "applicationName");
            }
            if ($.clusterId == null) {
                throw new MissingRequiredPropertyException("ApplicationArgs", "clusterId");
            }
            if ($.packageType == null) {
                throw new MissingRequiredPropertyException("ApplicationArgs", "packageType");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy