Desktop

class Desktop : KotlinCustomResource

Provides a ECD Desktop resource. For information about ECD Desktop and how to use it, see What is Desktop

NOTE: Available since v1.144.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.eds.SimpleOfficeSite;
import com.pulumi.alicloud.eds.SimpleOfficeSiteArgs;
import com.pulumi.alicloud.eds.EcdPolicyGroup;
import com.pulumi.alicloud.eds.EcdPolicyGroupArgs;
import com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs;
import com.pulumi.alicloud.eds.inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs;
import com.pulumi.alicloud.eds.EdsFunctions;
import com.pulumi.alicloud.eds.inputs.GetBundlesArgs;
import com.pulumi.alicloud.eds.Desktop;
import com.pulumi.alicloud.eds.DesktopArgs;
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("terraform-example");
var defaultSimpleOfficeSite = new SimpleOfficeSite("defaultSimpleOfficeSite", SimpleOfficeSiteArgs.builder()
.cidrBlock("172.16.0.0/12")
.enableAdminAccess(true)
.desktopAccessType("Internet")
.officeSiteName(name)
.build());
var defaultEcdPolicyGroup = new EcdPolicyGroup("defaultEcdPolicyGroup", EcdPolicyGroupArgs.builder()
.policyGroupName(name)
.clipboard("read")
.localDrive("read")
.usbRedirect("off")
.watermark("off")
.authorizeAccessPolicyRules(EcdPolicyGroupAuthorizeAccessPolicyRuleArgs.builder()
.description(name)
.cidrIp("1.2.3.45/24")
.build())
.authorizeSecurityPolicyRules(EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs.builder()
.type("inflow")
.policy("accept")
.description(name)
.portRange("80/80")
.ipProtocol("TCP")
.priority("1")
.cidrIp("1.2.3.4/24")
.build())
.build());
final var defaultBundles = EdsFunctions.getBundles(GetBundlesArgs.builder()
.bundleType("SYSTEM")
.build());
var defaultDesktop = new Desktop("defaultDesktop", DesktopArgs.builder()
.officeSiteId(defaultSimpleOfficeSite.id())
.policyGroupId(defaultEcdPolicyGroup.id())
.bundleId(defaultBundles.applyValue(getBundlesResult -> getBundlesResult.bundles()[1].id()))
.desktopName(name)
.build());
}
}

Import

ECD Desktop can be imported using the id, e.g.

$ pulumi import alicloud:eds/desktop:Desktop example <id>

Properties

Link copied to clipboard
val amount: Output<Int>?

The amount of the Desktop.

Link copied to clipboard
val autoPay: Output<Boolean>?

The auto-pay of the Desktop whether to pay automatically. values: true, false.

Link copied to clipboard
val autoRenew: Output<Boolean>?

The auto-renewal of the Desktop whether to renew automatically. It takes effect only when the parameter ChargeType is set to PrePaid. values: true, false.

Link copied to clipboard
val bundleId: Output<String>

The bundle id of the Desktop.

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

The desktop name of the Desktop.

Link copied to clipboard
val desktopType: Output<String>

The desktop type of the Desktop.

Link copied to clipboard
val endUserIds: Output<List<String>>?

The desktop end user id of the Desktop.

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

The hostname of the Desktop.

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

The ID of the Simple Office Site.

Link copied to clipboard
val paymentType: Output<String>

The payment type of the Desktop. Valid values: PayAsYouGo, Subscription. Default to PayAsYouGo.

Link copied to clipboard
val period: Output<Int>?

The period of the Desktop.

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

The period unit of the Desktop.

Link copied to clipboard
val policyGroupId: Output<String>

The policy group id of the Desktop.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val rootDiskSizeGib: Output<Int>?

The root disk size gib of the Desktop.

Link copied to clipboard
val status: Output<String>

The status of the Desktop. Valid values: Deleted, Expired, Pending, Running, Starting, Stopped, Stopping.

Link copied to clipboard
val stoppedMode: Output<String>

The stopped mode of the Desktop.

Link copied to clipboard
val tags: Output<Map<String, Any>>?

A mapping of tags to assign to the resource.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard
val userAssignMode: Output<String>

The user assign mode of the Desktop. Valid values: ALL, PER_USER. Default to ALL.

Link copied to clipboard
val userDiskSizeGib: Output<Int>?

The user disk size gib of the Desktop.