Alibaba Cloud v3.88.1 published on Saturday, Nov 8, 2025 by Pulumi
Alibaba Cloud v3.88.1 published on Saturday, Nov 8, 2025 by Pulumi
This data source provides the Ecd Images of the current Alibaba Cloud user.
NOTE: Available in v1.146.0+.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const defaultSimpleOfficeSite = new alicloud.eds.SimpleOfficeSite("default", {
cidrBlock: "172.16.0.0/12",
desktopAccessType: "Internet",
officeSiteName: "your_simple_office_site_name",
});
const _default = alicloud.eds.getBundles({
bundleType: "SYSTEM",
});
const defaultEcdPolicyGroup = new alicloud.eds.EcdPolicyGroup("default", {
policyGroupName: "your_policy_group_name",
clipboard: "readwrite",
localDrive: "read",
authorizeAccessPolicyRules: [{
description: "example_value",
cidrIp: "1.2.3.4/24",
}],
authorizeSecurityPolicyRules: [{
type: "inflow",
policy: "accept",
description: "example_value",
portRange: "80/80",
ipProtocol: "TCP",
priority: "1",
cidrIp: "0.0.0.0/0",
}],
});
const defaultDesktop = new alicloud.eds.Desktop("default", {
officeSiteId: defaultSimpleOfficeSite.id,
policyGroupId: defaultEcdPolicyGroup.id,
bundleId: _default.then(_default => _default.bundles?.[1]?.id),
desktopName: "your_desktop_name",
});
const defaultImage = new alicloud.eds.Image("default", {
imageName: "your_image_name",
desktopId: defaultDesktop.id,
description: "example_value",
});
const ids = alicloud.eds.getImagesOutput({
ids: [defaultImage.id],
});
export const ecdImageId1 = ids.apply(ids => ids.images?.[0]?.id);
const nameRegex = defaultImage.imageName.apply(imageName => alicloud.eds.getImagesOutput({
nameRegex: imageName,
}));
export const ecdImageId2 = nameRegex.apply(nameRegex => nameRegex.images?.[0]?.id);
import pulumi
import pulumi_alicloud as alicloud
default_simple_office_site = alicloud.eds.SimpleOfficeSite("default",
cidr_block="172.16.0.0/12",
desktop_access_type="Internet",
office_site_name="your_simple_office_site_name")
default = alicloud.eds.get_bundles(bundle_type="SYSTEM")
default_ecd_policy_group = alicloud.eds.EcdPolicyGroup("default",
policy_group_name="your_policy_group_name",
clipboard="readwrite",
local_drive="read",
authorize_access_policy_rules=[{
"description": "example_value",
"cidr_ip": "1.2.3.4/24",
}],
authorize_security_policy_rules=[{
"type": "inflow",
"policy": "accept",
"description": "example_value",
"port_range": "80/80",
"ip_protocol": "TCP",
"priority": "1",
"cidr_ip": "0.0.0.0/0",
}])
default_desktop = alicloud.eds.Desktop("default",
office_site_id=default_simple_office_site.id,
policy_group_id=default_ecd_policy_group.id,
bundle_id=default.bundles[1].id,
desktop_name="your_desktop_name")
default_image = alicloud.eds.Image("default",
image_name="your_image_name",
desktop_id=default_desktop.id,
description="example_value")
ids = alicloud.eds.get_images_output(ids=[default_image.id])
pulumi.export("ecdImageId1", ids.images[0].id)
name_regex = default_image.image_name.apply(lambda image_name: alicloud.eds.get_images_output(name_regex=image_name))
pulumi.export("ecdImageId2", name_regex.images[0].id)
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 {
defaultSimpleOfficeSite, err := eds.NewSimpleOfficeSite(ctx, "default", &eds.SimpleOfficeSiteArgs{
CidrBlock: pulumi.String("172.16.0.0/12"),
DesktopAccessType: pulumi.String("Internet"),
OfficeSiteName: pulumi.String("your_simple_office_site_name"),
})
if err != nil {
return err
}
_default, err := eds.GetBundles(ctx, &eds.GetBundlesArgs{
BundleType: pulumi.StringRef("SYSTEM"),
}, nil)
if err != nil {
return err
}
defaultEcdPolicyGroup, err := eds.NewEcdPolicyGroup(ctx, "default", &eds.EcdPolicyGroupArgs{
PolicyGroupName: pulumi.String("your_policy_group_name"),
Clipboard: pulumi.String("readwrite"),
LocalDrive: pulumi.String("read"),
AuthorizeAccessPolicyRules: eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArray{
&eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs{
Description: pulumi.String("example_value"),
CidrIp: pulumi.String("1.2.3.4/24"),
},
},
AuthorizeSecurityPolicyRules: eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArray{
&eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs{
Type: pulumi.String("inflow"),
Policy: pulumi.String("accept"),
Description: pulumi.String("example_value"),
PortRange: pulumi.String("80/80"),
IpProtocol: pulumi.String("TCP"),
Priority: pulumi.String("1"),
CidrIp: pulumi.String("0.0.0.0/0"),
},
},
})
if err != nil {
return err
}
defaultDesktop, err := eds.NewDesktop(ctx, "default", &eds.DesktopArgs{
OfficeSiteId: defaultSimpleOfficeSite.ID(),
PolicyGroupId: defaultEcdPolicyGroup.ID(),
BundleId: pulumi.String(_default.Bundles[1].Id),
DesktopName: pulumi.String("your_desktop_name"),
})
if err != nil {
return err
}
defaultImage, err := eds.NewImage(ctx, "default", &eds.ImageArgs{
ImageName: pulumi.String("your_image_name"),
DesktopId: defaultDesktop.ID(),
Description: pulumi.String("example_value"),
})
if err != nil {
return err
}
ids := eds.GetImagesOutput(ctx, eds.GetImagesOutputArgs{
Ids: pulumi.StringArray{
defaultImage.ID(),
},
}, nil)
ctx.Export("ecdImageId1", ids.ApplyT(func(ids eds.GetImagesResult) (*string, error) {
return &ids.Images[0].Id, nil
}).(pulumi.StringPtrOutput))
nameRegex := defaultImage.ImageName.ApplyT(func(imageName *string) (eds.GetImagesResult, error) {
return eds.GetImagesResult(interface{}(eds.GetImagesOutput(ctx, eds.GetImagesOutputArgs{
NameRegex: imageName,
}, nil))), nil
}).(eds.GetImagesResultOutput)
ctx.Export("ecdImageId2", nameRegex.ApplyT(func(nameRegex eds.GetImagesResult) (*string, error) {
return &nameRegex.Images[0].Id, nil
}).(pulumi.StringPtrOutput))
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var defaultSimpleOfficeSite = new AliCloud.Eds.SimpleOfficeSite("default", new()
{
CidrBlock = "172.16.0.0/12",
DesktopAccessType = "Internet",
OfficeSiteName = "your_simple_office_site_name",
});
var @default = AliCloud.Eds.GetBundles.Invoke(new()
{
BundleType = "SYSTEM",
});
var defaultEcdPolicyGroup = new AliCloud.Eds.EcdPolicyGroup("default", new()
{
PolicyGroupName = "your_policy_group_name",
Clipboard = "readwrite",
LocalDrive = "read",
AuthorizeAccessPolicyRules = new[]
{
new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs
{
Description = "example_value",
CidrIp = "1.2.3.4/24",
},
},
AuthorizeSecurityPolicyRules = new[]
{
new AliCloud.Eds.Inputs.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs
{
Type = "inflow",
Policy = "accept",
Description = "example_value",
PortRange = "80/80",
IpProtocol = "TCP",
Priority = "1",
CidrIp = "0.0.0.0/0",
},
},
});
var defaultDesktop = new AliCloud.Eds.Desktop("default", new()
{
OfficeSiteId = defaultSimpleOfficeSite.Id,
PolicyGroupId = defaultEcdPolicyGroup.Id,
BundleId = @default.Apply(@default => @default.Apply(getBundlesResult => getBundlesResult.Bundles[1]?.Id)),
DesktopName = "your_desktop_name",
});
var defaultImage = new AliCloud.Eds.Image("default", new()
{
ImageName = "your_image_name",
DesktopId = defaultDesktop.Id,
Description = "example_value",
});
var ids = AliCloud.Eds.GetImages.Invoke(new()
{
Ids = new[]
{
defaultImage.Id,
},
});
var nameRegex = AliCloud.Eds.GetImages.Invoke(new()
{
NameRegex = defaultImage.ImageName,
});
return new Dictionary<string, object?>
{
["ecdImageId1"] = ids.Apply(getImagesResult => getImagesResult.Images[0]?.Id),
["ecdImageId2"] = nameRegex.Apply(getImagesResult => getImagesResult.Images[0]?.Id),
};
});
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.Desktop;
import com.pulumi.alicloud.eds.DesktopArgs;
import com.pulumi.alicloud.eds.Image;
import com.pulumi.alicloud.eds.ImageArgs;
import com.pulumi.alicloud.eds.inputs.GetImagesArgs;
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_simple_office_site_name")
.build());
final var default = 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 defaultDesktop = new Desktop("defaultDesktop", DesktopArgs.builder()
.officeSiteId(defaultSimpleOfficeSite.id())
.policyGroupId(defaultEcdPolicyGroup.id())
.bundleId(default_.bundles()[1].id())
.desktopName("your_desktop_name")
.build());
var defaultImage = new Image("defaultImage", ImageArgs.builder()
.imageName("your_image_name")
.desktopId(defaultDesktop.id())
.description("example_value")
.build());
final var ids = EdsFunctions.getImages(GetImagesArgs.builder()
.ids(defaultImage.id())
.build());
ctx.export("ecdImageId1", ids.applyValue(_ids -> _ids.images()[0].id()));
final var nameRegex = defaultImage.imageName().applyValue(_imageName -> EdsFunctions.getImages(GetImagesArgs.builder()
.nameRegex(_imageName)
.build()));
ctx.export("ecdImageId2", nameRegex.applyValue(_nameRegex -> _nameRegex.images()[0].id()));
}
}
resources:
defaultSimpleOfficeSite:
type: alicloud:eds:SimpleOfficeSite
name: default
properties:
cidrBlock: 172.16.0.0/12
desktopAccessType: Internet
officeSiteName: your_simple_office_site_name
defaultEcdPolicyGroup:
type: alicloud:eds:EcdPolicyGroup
name: default
properties:
policyGroupName: your_policy_group_name
clipboard: readwrite
localDrive: read
authorizeAccessPolicyRules:
- description: example_value
cidrIp: 1.2.3.4/24
authorizeSecurityPolicyRules:
- type: inflow
policy: accept
description: example_value
portRange: 80/80
ipProtocol: TCP
priority: '1'
cidrIp: 0.0.0.0/0
defaultDesktop:
type: alicloud:eds:Desktop
name: default
properties:
officeSiteId: ${defaultSimpleOfficeSite.id}
policyGroupId: ${defaultEcdPolicyGroup.id}
bundleId: ${default.bundles[1].id}
desktopName: your_desktop_name
defaultImage:
type: alicloud:eds:Image
name: default
properties:
imageName: your_image_name
desktopId: ${defaultDesktop.id}
description: example_value
variables:
default:
fn::invoke:
function: alicloud:eds:getBundles
arguments:
bundleType: SYSTEM
ids:
fn::invoke:
function: alicloud:eds:getImages
arguments:
ids:
- ${defaultImage.id}
nameRegex:
fn::invoke:
function: alicloud:eds:getImages
arguments:
nameRegex: ${defaultImage.imageName}
outputs:
ecdImageId1: ${ids.images[0].id}
ecdImageId2: ${nameRegex.images[0].id}
Using getImages
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getImages(args: GetImagesArgs, opts?: InvokeOptions): Promise<GetImagesResult>
function getImagesOutput(args: GetImagesOutputArgs, opts?: InvokeOptions): Output<GetImagesResult>def get_images(desktop_instance_type: Optional[str] = None,
ids: Optional[Sequence[str]] = None,
image_type: Optional[str] = None,
name_regex: Optional[str] = None,
os_type: Optional[str] = None,
output_file: Optional[str] = None,
status: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetImagesResult
def get_images_output(desktop_instance_type: Optional[pulumi.Input[str]] = None,
ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
image_type: Optional[pulumi.Input[str]] = None,
name_regex: Optional[pulumi.Input[str]] = None,
os_type: Optional[pulumi.Input[str]] = None,
output_file: Optional[pulumi.Input[str]] = None,
status: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetImagesResult]func GetImages(ctx *Context, args *GetImagesArgs, opts ...InvokeOption) (*GetImagesResult, error)
func GetImagesOutput(ctx *Context, args *GetImagesOutputArgs, opts ...InvokeOption) GetImagesResultOutput> Note: This function is named GetImages in the Go SDK.
public static class GetImages
{
public static Task<GetImagesResult> InvokeAsync(GetImagesArgs args, InvokeOptions? opts = null)
public static Output<GetImagesResult> Invoke(GetImagesInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetImagesResult> getImages(GetImagesArgs args, InvokeOptions options)
public static Output<GetImagesResult> getImages(GetImagesArgs args, InvokeOptions options)
fn::invoke:
function: alicloud:eds/getImages:getImages
arguments:
# arguments dictionaryThe following arguments are supported:
- Desktop
Instance stringType - The desktop type of the image.
- Ids List<string>
- A list of Image IDs.
- Image
Type string - The image type of the image. Valid values:
SYSTEM,CUSTOM. - Name
Regex string - A regex string to filter results by Image name.
- Os
Type string - The operating system type of the image. Valid values:
WindowsandLinux. - Output
File string - File name where to save data source results (after running
pulumi preview). - Status string
- The status of the image. Valid values:
Creating,Available,CreateFailed.
- Desktop
Instance stringType - The desktop type of the image.
- Ids []string
- A list of Image IDs.
- Image
Type string - The image type of the image. Valid values:
SYSTEM,CUSTOM. - Name
Regex string - A regex string to filter results by Image name.
- Os
Type string - The operating system type of the image. Valid values:
WindowsandLinux. - Output
File string - File name where to save data source results (after running
pulumi preview). - Status string
- The status of the image. Valid values:
Creating,Available,CreateFailed.
- desktop
Instance StringType - The desktop type of the image.
- ids List<String>
- A list of Image IDs.
- image
Type String - The image type of the image. Valid values:
SYSTEM,CUSTOM. - name
Regex String - A regex string to filter results by Image name.
- os
Type String - The operating system type of the image. Valid values:
WindowsandLinux. - output
File String - File name where to save data source results (after running
pulumi preview). - status String
- The status of the image. Valid values:
Creating,Available,CreateFailed.
- desktop
Instance stringType - The desktop type of the image.
- ids string[]
- A list of Image IDs.
- image
Type string - The image type of the image. Valid values:
SYSTEM,CUSTOM. - name
Regex string - A regex string to filter results by Image name.
- os
Type string - The operating system type of the image. Valid values:
WindowsandLinux. - output
File string - File name where to save data source results (after running
pulumi preview). - status string
- The status of the image. Valid values:
Creating,Available,CreateFailed.
- desktop_
instance_ strtype - The desktop type of the image.
- ids Sequence[str]
- A list of Image IDs.
- image_
type str - The image type of the image. Valid values:
SYSTEM,CUSTOM. - name_
regex str - A regex string to filter results by Image name.
- os_
type str - The operating system type of the image. Valid values:
WindowsandLinux. - output_
file str - File name where to save data source results (after running
pulumi preview). - status str
- The status of the image. Valid values:
Creating,Available,CreateFailed.
- desktop
Instance StringType - The desktop type of the image.
- ids List<String>
- A list of Image IDs.
- image
Type String - The image type of the image. Valid values:
SYSTEM,CUSTOM. - name
Regex String - A regex string to filter results by Image name.
- os
Type String - The operating system type of the image. Valid values:
WindowsandLinux. - output
File String - File name where to save data source results (after running
pulumi preview). - status String
- The status of the image. Valid values:
Creating,Available,CreateFailed.
getImages Result
The following output properties are available:
- Id string
- The provider-assigned unique ID for this managed resource.
- Ids List<string>
- Images
List<Pulumi.
Ali Cloud. Eds. Outputs. Get Images Image> - Names List<string>
- Desktop
Instance stringType - Image
Type string - Name
Regex string - Os
Type string - Output
File string - Status string
- Id string
- The provider-assigned unique ID for this managed resource.
- Ids []string
- Images
[]Get
Images Image - Names []string
- Desktop
Instance stringType - Image
Type string - Name
Regex string - Os
Type string - Output
File string - Status string
- id String
- The provider-assigned unique ID for this managed resource.
- ids List<String>
- images
List<Get
Images Image> - names List<String>
- desktop
Instance StringType - image
Type String - name
Regex String - os
Type String - output
File String - status String
- id string
- The provider-assigned unique ID for this managed resource.
- ids string[]
- images
Get
Images Image[] - names string[]
- desktop
Instance stringType - image
Type string - name
Regex string - os
Type string - output
File string - status string
- id str
- The provider-assigned unique ID for this managed resource.
- ids Sequence[str]
- images
Sequence[Get
Images Image] - names Sequence[str]
- desktop_
instance_ strtype - image_
type str - name_
regex str - os_
type str - output_
file str - status str
- id String
- The provider-assigned unique ID for this managed resource.
- ids List<String>
- images List<Property Map>
- names List<String>
- desktop
Instance StringType - image
Type String - name
Regex String - os
Type String - output
File String - status String
Supporting Types
GetImagesImage
- Create
Time string - The creation time of the image.
- Data
Disk intSize - The size of data disk of the image.
- Description string
- The description of the image.
- Gpu
Category bool - The Gpu Category of the image.
- Id string
- The ID of the Image.
- Image
Id string - The image id of the image.
- Image
Name string - The image name.
- Image
Type string - The image type of the image. Valid values:
SYSTEM,CUSTOM. - Os
Type string - The os type of the image.
- Progress string
- The progress of the image.
- Size int
- The size of the image.
- Status string
- The status of the image. Valid values:
Creating,Available,CreateFailed.
- Create
Time string - The creation time of the image.
- Data
Disk intSize - The size of data disk of the image.
- Description string
- The description of the image.
- Gpu
Category bool - The Gpu Category of the image.
- Id string
- The ID of the Image.
- Image
Id string - The image id of the image.
- Image
Name string - The image name.
- Image
Type string - The image type of the image. Valid values:
SYSTEM,CUSTOM. - Os
Type string - The os type of the image.
- Progress string
- The progress of the image.
- Size int
- The size of the image.
- Status string
- The status of the image. Valid values:
Creating,Available,CreateFailed.
- create
Time String - The creation time of the image.
- data
Disk IntegerSize - The size of data disk of the image.
- description String
- The description of the image.
- gpu
Category Boolean - The Gpu Category of the image.
- id String
- The ID of the Image.
- image
Id String - The image id of the image.
- image
Name String - The image name.
- image
Type String - The image type of the image. Valid values:
SYSTEM,CUSTOM. - os
Type String - The os type of the image.
- progress String
- The progress of the image.
- size Integer
- The size of the image.
- status String
- The status of the image. Valid values:
Creating,Available,CreateFailed.
- create
Time string - The creation time of the image.
- data
Disk numberSize - The size of data disk of the image.
- description string
- The description of the image.
- gpu
Category boolean - The Gpu Category of the image.
- id string
- The ID of the Image.
- image
Id string - The image id of the image.
- image
Name string - The image name.
- image
Type string - The image type of the image. Valid values:
SYSTEM,CUSTOM. - os
Type string - The os type of the image.
- progress string
- The progress of the image.
- size number
- The size of the image.
- status string
- The status of the image. Valid values:
Creating,Available,CreateFailed.
- create_
time str - The creation time of the image.
- data_
disk_ intsize - The size of data disk of the image.
- description str
- The description of the image.
- gpu_
category bool - The Gpu Category of the image.
- id str
- The ID of the Image.
- image_
id str - The image id of the image.
- image_
name str - The image name.
- image_
type str - The image type of the image. Valid values:
SYSTEM,CUSTOM. - os_
type str - The os type of the image.
- progress str
- The progress of the image.
- size int
- The size of the image.
- status str
- The status of the image. Valid values:
Creating,Available,CreateFailed.
- create
Time String - The creation time of the image.
- data
Disk NumberSize - The size of data disk of the image.
- description String
- The description of the image.
- gpu
Category Boolean - The Gpu Category of the image.
- id String
- The ID of the Image.
- image
Id String - The image id of the image.
- image
Name String - The image name.
- image
Type String - The image type of the image. Valid values:
SYSTEM,CUSTOM. - os
Type String - The os type of the image.
- progress String
- The progress of the image.
- size Number
- The size of the image.
- status String
- The status of the image. Valid values:
Creating,Available,CreateFailed.
Package Details
- Repository
- Alibaba Cloud pulumi/pulumi-alicloud
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
alicloudTerraform Provider.
Alibaba Cloud v3.88.1 published on Saturday, Nov 8, 2025 by Pulumi
