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=[{
"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)
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.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
})
}
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.
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 operating system type of the image. Valid values: Windows
and Linux
.
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
.
See also
Return
A collection of values returned by getImages.
Parameters
argument
Builder for com.pulumi.alicloud.eds.kotlin.inputs.GetImagesPlainArgs.