Desktop

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

NOTE: Available in 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.EdsFunctions;
import com.pulumi.alicloud.eds.inputs.GetBundlesArgs;
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.User;
import com.pulumi.alicloud.eds.UserArgs;
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) {
var defaultSimpleOfficeSite = new SimpleOfficeSite("defaultSimpleOfficeSite", SimpleOfficeSiteArgs.builder()
.cidrBlock("172.16.0.0/12")
.desktopAccessType("Internet")
.officeSiteName("your_office_site_name")
.enableInternetAccess(false)
.build());
final var defaultBundles = EdsFunctions.getBundles(GetBundlesArgs.builder()
.bundleType("SYSTEM")
.build());
var defaultEcdPolicyGroup = new EcdPolicyGroup("defaultEcdPolicyGroup", EcdPolicyGroupArgs.builder()
.policyGroupName("your_policy_group_name")
.clipboard("readwrite")
.localDrive("read")
.authorizeAccessPolicyRules(EcdPolicyGroupAuthorizeAccessPolicyRuleArgs.builder()
.description("example_value")
.cidrIp("1.2.3.4/24")
.build())
.authorizeSecurityPolicyRules(EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs.builder()
.type("inflow")
.policy("accept")
.description("example_value")
.portRange("80/80")
.ipProtocol("TCP")
.priority("1")
.cidrIp("0.0.0.0/0")
.build())
.build());
var defaultUser = new User("defaultUser", UserArgs.builder()
.endUserId("your_end_user_id")
.email("your_email")
.phone("your_phone")
.password("your_password")
.build());
var defaultDesktop = new Desktop("defaultDesktop", DesktopArgs.builder()
.officeSiteId(defaultSimpleOfficeSite.id())
.policyGroupId(defaultEcdPolicyGroup.id())
.bundleId(defaultBundles.applyValue(getBundlesResult -> getBundlesResult.bundles()[0].id()))
.desktopName("your_desktop_name")
.endUserIds(defaultUser.id())
.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
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.