EcdPolicyGroup

class EcdPolicyGroup : KotlinCustomResource

Provides a Elastic Desktop Service (ECD) Policy Group resource. For information about Elastic Desktop Service (ECD) Policy Group and how to use it, see What is Policy Group.

NOTE: Available since v1.130.0.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const _default = new alicloud.eds.EcdPolicyGroup("default", {
policyGroupName: "terraform-example",
clipboard: "read",
localDrive: "read",
usbRedirect: "off",
watermark: "off",
authorizeAccessPolicyRules: [{
description: "terraform-example",
cidrIp: "1.2.3.45/24",
}],
authorizeSecurityPolicyRules: [{
type: "inflow",
policy: "accept",
description: "terraform-example",
portRange: "80/80",
ipProtocol: "TCP",
priority: "1",
cidrIp: "1.2.3.4/24",
}],
});
import pulumi
import pulumi_alicloud as alicloud
default = alicloud.eds.EcdPolicyGroup("default",
policy_group_name="terraform-example",
clipboard="read",
local_drive="read",
usb_redirect="off",
watermark="off",
authorize_access_policy_rules=[{
"description": "terraform-example",
"cidr_ip": "1.2.3.45/24",
}],
authorize_security_policy_rules=[{
"type": "inflow",
"policy": "accept",
"description": "terraform-example",
"port_range": "80/80",
"ip_protocol": "TCP",
"priority": "1",
"cidr_ip": "1.2.3.4/24",
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var @default = new AliCloud.Eds.EcdPolicyGroup("default", new()
{
PolicyGroupName = "terraform-example",
Clipboard = "read",
LocalDrive = "read",
UsbRedirect = "off",
Watermark = "off",
AuthorizeAccessPolicyRules = new[]
{
new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs
{
Description = "terraform-example",
CidrIp = "1.2.3.45/24",
},
},
AuthorizeSecurityPolicyRules = new[]
{
new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs
{
Type = "inflow",
Policy = "accept",
Description = "terraform-example",
PortRange = "80/80",
IpProtocol = "TCP",
Priority = "1",
CidrIp = "1.2.3.4/24",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/eds"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := eds.NewEcdPolicyGroup(ctx, "default", &eds.EcdPolicyGroupArgs{
PolicyGroupName: pulumi.String("terraform-example"),
Clipboard: pulumi.String("read"),
LocalDrive: pulumi.String("read"),
UsbRedirect: pulumi.String("off"),
Watermark: pulumi.String("off"),
AuthorizeAccessPolicyRules: eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArray{
&eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs{
Description: pulumi.String("terraform-example"),
CidrIp: pulumi.String("1.2.3.45/24"),
},
},
AuthorizeSecurityPolicyRules: eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArray{
&eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs{
Type: pulumi.String("inflow"),
Policy: pulumi.String("accept"),
Description: pulumi.String("terraform-example"),
PortRange: pulumi.String("80/80"),
IpProtocol: pulumi.String("TCP"),
Priority: pulumi.String("1"),
CidrIp: pulumi.String("1.2.3.4/24"),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
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 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 default_ = new EcdPolicyGroup("default", EcdPolicyGroupArgs.builder()
.policyGroupName("terraform-example")
.clipboard("read")
.localDrive("read")
.usbRedirect("off")
.watermark("off")
.authorizeAccessPolicyRules(EcdPolicyGroupAuthorizeAccessPolicyRuleArgs.builder()
.description("terraform-example")
.cidrIp("1.2.3.45/24")
.build())
.authorizeSecurityPolicyRules(EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs.builder()
.type("inflow")
.policy("accept")
.description("terraform-example")
.portRange("80/80")
.ipProtocol("TCP")
.priority("1")
.cidrIp("1.2.3.4/24")
.build())
.build());
}
}
resources:
default:
type: alicloud:eds:EcdPolicyGroup
properties:
policyGroupName: terraform-example
clipboard: read
localDrive: read
usbRedirect: off
watermark: off
authorizeAccessPolicyRules:
- description: terraform-example
cidrIp: 1.2.3.45/24
authorizeSecurityPolicyRules:
- type: inflow
policy: accept
description: terraform-example
portRange: 80/80
ipProtocol: TCP
priority: '1'
cidrIp: 1.2.3.4/24

Import

Elastic Desktop Service (ECD) Policy Group can be imported using the id, e.g.

$ pulumi import alicloud:eds/ecdPolicyGroup:EcdPolicyGroup example <id>

Properties

Link copied to clipboard

The rule of authorize access rule. See authorize_access_policy_rules below.

Link copied to clipboard

The policy rule. See authorize_security_policy_rules below.

Link copied to clipboard
val cameraRedirect: Output<String>

Whether to enable local camera redirection. Valid values: on, off.

Link copied to clipboard
val clipboard: Output<String>

The clipboard policy. Valid values: off, read, readwrite.

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

The list of domain.

Link copied to clipboard
val htmlAccess: Output<String>

The access of html5. Valid values: off, on.

Link copied to clipboard

The html5 file transfer. Valid values: all, download, off, upload.

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

Local drive redirect policy. Valid values: readwrite, off, read.

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

The name of policy group.

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

Whether to enable screen recording. Valid values: off, all-time, period.

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

The end time of recording, value: HH:MM:SS. This return value is meaningful only when the value of recording is period.

Link copied to clipboard
val recordingExpires: Output<Int>

The screen recording video retention. Valid values between 30 and 180. This return value is meaningful only when the value of recording is period or all-time.

Link copied to clipboard
val recordingFps: Output<Int>

The fps of recording. Valid values: 2, 5, 10, 15.

Link copied to clipboard

The start time of recording, value: HH:MM:SS. This return value is meaningful only when the value of recording is period.

Link copied to clipboard
val status: Output<String>

The status of policy.

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

The usb redirect policy. Valid values: off, on.

Link copied to clipboard
val visualQuality: Output<String>

The quality of visual. Valid values: high, lossless, low, medium.

Link copied to clipboard
val watermark: Output<String>

The watermark policy. Valid values: off, on.

Link copied to clipboard

The watermark transparency. Valid values: DARK, LIGHT, MIDDLE.

Link copied to clipboard
val watermarkType: Output<String>

The type of watemark. Valid values: EndUserId, HostName.