ApplicationDeployment

class ApplicationDeployment : KotlinCustomResource

Deploys applications on EDAS, see What is EDAS Application Deployment.

NOTE: Available since v1.82.0.

Example Usage

Basic Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetRegionsArgs;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.ecs.EcsFunctions;
import com.pulumi.alicloud.ecs.inputs.GetImagesArgs;
import com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;
import com.pulumi.alicloud.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
import com.pulumi.alicloud.ecs.SecurityGroup;
import com.pulumi.alicloud.ecs.SecurityGroupArgs;
import com.pulumi.alicloud.ecs.Instance;
import com.pulumi.alicloud.ecs.InstanceArgs;
import com.pulumi.alicloud.edas.Cluster;
import com.pulumi.alicloud.edas.ClusterArgs;
import com.pulumi.alicloud.edas.InstanceClusterAttachment;
import com.pulumi.alicloud.edas.InstanceClusterAttachmentArgs;
import com.pulumi.alicloud.edas.Application;
import com.pulumi.alicloud.edas.ApplicationArgs;
import com.pulumi.alicloud.edas.DeployGroup;
import com.pulumi.alicloud.edas.DeployGroupArgs;
import com.pulumi.alicloud.edas.ApplicationDeployment;
import com.pulumi.alicloud.edas.ApplicationDeploymentArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var config = ctx.config();
final var name = config.get("name").orElse("tf-example");
final var defaultRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()
.current(true)
.build());
final var defaultZones = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("VSwitch")
.build());
final var defaultImages = EcsFunctions.getImages(GetImagesArgs.builder()
.nameRegex("^ubuntu_[0-9]+_[0-9]+_x64*")
.owners("system")
.build());
final var defaultInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
.availabilityZone(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.cpuCoreCount(1)
.memorySize(2)
.build());
var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.vpcName(name)
.cidrBlock("10.4.0.0/16")
.build());
var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
.vswitchName(name)
.cidrBlock("10.4.0.0/24")
.vpcId(defaultNetwork.id())
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.build());
var defaultSecurityGroup = new SecurityGroup("defaultSecurityGroup", SecurityGroupArgs.builder()
.vpcId(defaultNetwork.id())
.build());
var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
.availabilityZone(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.instanceName(name)
.imageId(defaultImages.applyValue(getImagesResult -> getImagesResult.images()[0].id()))
.instanceType(defaultInstanceTypes.applyValue(getInstanceTypesResult -> getInstanceTypesResult.instanceTypes()[0].id()))
.securityGroups(defaultSecurityGroup.id())
.vswitchId(defaultSwitch.id())
.build());
var defaultCluster = new Cluster("defaultCluster", ClusterArgs.builder()
.clusterName(name)
.clusterType("2")
.networkMode("2")
.logicalRegionId(defaultRegions.applyValue(getRegionsResult -> getRegionsResult.regions()[0].id()))
.vpcId(defaultNetwork.id())
.build());
var defaultInstanceClusterAttachment = new InstanceClusterAttachment("defaultInstanceClusterAttachment", InstanceClusterAttachmentArgs.builder()
.clusterId(defaultCluster.id())
.instanceIds(defaultInstance.id())
.build());
var defaultApplication = new Application("defaultApplication", ApplicationArgs.builder()
.applicationName(name)
.clusterId(defaultCluster.id())
.packageType("JAR")
.build());
var defaultDeployGroup = new DeployGroup("defaultDeployGroup", DeployGroupArgs.builder()
.appId(defaultApplication.id())
.groupName(name)
.build());
var defaultApplicationDeployment = new ApplicationDeployment("defaultApplicationDeployment", ApplicationDeploymentArgs.builder()
.appId(defaultApplication.id())
.groupId("all")
.warUrl("http://edas-sz.oss-cn-shenzhen.aliyuncs.com/prod/demo/SPRING_CLOUD_CONSUMER.jar")
.build());
}
}

Properties

Link copied to clipboard
val appId: Output<String>

The ID of the application that you want to deploy.

Link copied to clipboard
val groupId: Output<String>

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.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

Last package version deployed.

Link copied to clipboard
val packageVersion: Output<String>?

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.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val urn: Output<String>
Link copied to clipboard
val warUrl: Output<String>

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.