get Images
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);Content copied to clipboard
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=[alicloud.eds.EcdPolicyGroupAuthorizeAccessPolicyRuleArgs(
description="example_value",
cidr_ip="1.2.3.4/24",
)],
authorize_security_policy_rules=[alicloud.eds.EcdPolicyGroupAuthorizeSecurityPolicyRuleArgs(
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)Content copied to clipboard
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),
};
});Content copied to clipboard
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.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
})
}Content copied to clipboard
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(getImagesResult -> getImagesResult).applyValue(ids -> ids.applyValue(getImagesResult -> getImagesResult.images()[0].id())));
final var nameRegex = EdsFunctions.getImages(GetImagesArgs.builder()
.nameRegex(defaultImage.imageName())
.build());
ctx.export("ecdImageId2", nameRegex.applyValue(getImagesResult -> getImagesResult).applyValue(nameRegex -> nameRegex.applyValue(getImagesResult -> getImagesResult.images()[0].id())));
}
}Content copied to clipboard
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}Content copied to clipboard
Return
A collection of values returned by getImages.
Parameters
argument
A collection of arguments for invoking getImages.
suspend fun getImages(desktopInstanceType: String? = null, ids: List<String>? = null, imageType: String? = null, nameRegex: String? = null, osType: String? = null, outputFile: String? = null, status: String? = null): GetImagesResult
Return
A collection of values returned by getImages.
See also
Parameters
desktop Instance Type
The desktop type of the image.
ids
A list of Image IDs.
image Type
The image type of the image. Valid values: SYSTEM, CUSTOM.
name Regex
A regex string to filter results by Image name.
os Type
The os type of the image.
output File
File name where to save data source results (after running pulumi preview).
status
The status of the image. Valid values: Creating, Available, CreateFailed.
Return
A collection of values returned by getImages.
See also
Parameters
argument
Builder for com.pulumi.alicloud.eds.kotlin.inputs.GetImagesPlainArgs.