CustomImageArgs

data class CustomImageArgs(val customImageName: Output<String>? = null, val description: Output<String>? = null, val instanceId: Output<String>? = null, val status: Output<String>? = null, val systemSnapshotId: Output<String>? = null) : ConvertibleToJava<CustomImageArgs>

Provides a Simple Application Server Custom Image resource. For information about Simple Application Server Custom Image and how to use it, see What is Custom Image.

NOTE: Available since v1.143.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.simpleapplicationserver.SimpleapplicationserverFunctions;
import com.pulumi.alicloud.simpleapplicationserver.inputs.GetImagesArgs;
import com.pulumi.alicloud.simpleapplicationserver.inputs.GetServerPlansArgs;
import com.pulumi.alicloud.simpleapplicationserver.Instance;
import com.pulumi.alicloud.simpleapplicationserver.InstanceArgs;
import com.pulumi.alicloud.simpleapplicationserver.inputs.GetServerDisksArgs;
import com.pulumi.alicloud.simpleapplicationserver.Snapshot;
import com.pulumi.alicloud.simpleapplicationserver.SnapshotArgs;
import com.pulumi.alicloud.simpleapplicationserver.CustomImage;
import com.pulumi.alicloud.simpleapplicationserver.CustomImageArgs;
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 defaultImages = SimpleapplicationserverFunctions.getImages();
final var defaultServerPlans = SimpleapplicationserverFunctions.getServerPlans();
var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
.paymentType("Subscription")
.planId(defaultServerPlans.applyValue(getServerPlansResult -> getServerPlansResult.plans()[0].id()))
.instanceName(name)
.imageId(defaultImages.applyValue(getImagesResult -> getImagesResult.images()[0].id()))
.period(1)
.dataDiskSize(100)
.build());
final var defaultServerDisks = SimpleapplicationserverFunctions.getServerDisks(GetServerDisksArgs.builder()
.instanceId(defaultInstance.id())
.build());
var defaultSnapshot = new Snapshot("defaultSnapshot", SnapshotArgs.builder()
.diskId(defaultServerDisks.applyValue(getServerDisksResult -> getServerDisksResult).applyValue(defaultServerDisks -> defaultServerDisks.applyValue(getServerDisksResult -> getServerDisksResult.ids()[0])))
.snapshotName(name)
.build());
var defaultCustomImage = new CustomImage("defaultCustomImage", CustomImageArgs.builder()
.customImageName(name)
.instanceId(defaultInstance.id())
.systemSnapshotId(defaultSnapshot.id())
.status("Share")
.description(name)
.build());
}
}

Import

Simple Application Server Custom Image can be imported using the id, e.g.

$ pulumi import alicloud:simpleapplicationserver/customImage:CustomImage example <id>

Constructors

Link copied to clipboard
fun CustomImageArgs(customImageName: Output<String>? = null, description: Output<String>? = null, instanceId: Output<String>? = null, status: Output<String>? = null, systemSnapshotId: Output<String>? = null)

Functions

Link copied to clipboard
open override fun toJava(): CustomImageArgs

Properties

Link copied to clipboard
val customImageName: Output<String>? = null

The name of the resource. The name must be 2 to 128 characters in length. It must start with a letter or a number. It can contain letters, digits, colons (:), underscores (_) and hyphens (-).

Link copied to clipboard
val description: Output<String>? = null

The description of the Custom Image.

Link copied to clipboard
val instanceId: Output<String>? = null

The ID of the instance.

Link copied to clipboard
val status: Output<String>? = null

The Shared status of the Custom Image. Valid values: Share, UnShare. NOTE: The status will be automatically change to UnShare when the resource is deleted, please operate with caution.

Link copied to clipboard
val systemSnapshotId: Output<String>? = null

The ID of the system snapshot.