getEcsDisks

This data source provides the Ecs Disks of the current Alibaba Cloud user.

NOTE: Available since v1.122.0.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const _default = alicloud.getZones({
availableResourceCreation: "VSwitch",
});
const defaultEcsDisk = new alicloud.ecs.EcsDisk("default", {
zoneId: _default.then(_default => _default.zones?.[0]?.id),
diskName: "terraform-example",
description: "terraform-example",
category: "cloud_efficiency",
size: 30,
tags: {
Name: "terraform-example",
},
});
const ids = alicloud.ecs.getEcsDisksOutput({
ids: [defaultEcsDisk.id],
});
export const ecsDiskId0 = ids.apply(ids => ids.disks?.[0]?.id);
import pulumi
import pulumi_alicloud as alicloud
default = alicloud.get_zones(available_resource_creation="VSwitch")
default_ecs_disk = alicloud.ecs.EcsDisk("default",
zone_id=default.zones[0].id,
disk_name="terraform-example",
description="terraform-example",
category="cloud_efficiency",
size=30,
tags={
"Name": "terraform-example",
})
ids = alicloud.ecs.get_ecs_disks_output(ids=[default_ecs_disk.id])
pulumi.export("ecsDiskId0", ids.disks[0].id)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var @default = AliCloud.GetZones.Invoke(new()
{
AvailableResourceCreation = "VSwitch",
});
var defaultEcsDisk = new AliCloud.Ecs.EcsDisk("default", new()
{
ZoneId = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)),
DiskName = "terraform-example",
Description = "terraform-example",
Category = "cloud_efficiency",
Size = 30,
Tags =
{
{ "Name", "terraform-example" },
},
});
var ids = AliCloud.Ecs.GetEcsDisks.Invoke(new()
{
Ids = new[]
{
defaultEcsDisk.Id,
},
});
return new Dictionary<string, object?>
{
["ecsDiskId0"] = ids&#46;Apply(getEcsDisksResult => getEcsDisksResult&#46;Disks[0]?.Id),
};
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
AvailableResourceCreation: pulumi.StringRef("VSwitch"),
}, nil)
if err != nil {
return err
}
defaultEcsDisk, err := ecs.NewEcsDisk(ctx, "default", &ecs.EcsDiskArgs{
ZoneId: pulumi.String(_default.Zones[0].Id),
DiskName: pulumi.String("terraform-example"),
Description: pulumi.String("terraform-example"),
Category: pulumi.String("cloud_efficiency"),
Size: pulumi.Int(30),
Tags: pulumi.StringMap{
"Name": pulumi.String("terraform-example"),
},
})
if err != nil {
return err
}
ids := ecs.GetEcsDisksOutput(ctx, ecs.GetEcsDisksOutputArgs{
Ids: pulumi.StringArray{
defaultEcsDisk.ID(),
},
}, nil)
ctx.Export("ecsDiskId0", ids.ApplyT(func(ids ecs.GetEcsDisksResult) (*string, error) {
return &ids.Disks[0].Id, nil
}).(pulumi.StringPtrOutput))
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.ecs.EcsDisk;
import com.pulumi.alicloud.ecs.EcsDiskArgs;
import com.pulumi.alicloud.ecs.EcsFunctions;
import com.pulumi.alicloud.ecs.inputs.GetEcsDisksArgs;
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) {
final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("VSwitch")
.build());
var defaultEcsDisk = new EcsDisk("defaultEcsDisk", EcsDiskArgs.builder()
.zoneId(default_.zones()[0].id())
.diskName("terraform-example")
.description("terraform-example")
.category("cloud_efficiency")
.size(30)
.tags(Map.of("Name", "terraform-example"))
.build());
final var ids = EcsFunctions.getEcsDisks(GetEcsDisksArgs.builder()
.ids(defaultEcsDisk.id())
.build());
ctx.export("ecsDiskId0", ids.applyValue(_ids -> _ids.disks()[0].id()));
}
}
resources:
defaultEcsDisk:
type: alicloud:ecs:EcsDisk
name: default
properties:
zoneId: ${default.zones[0].id}
diskName: terraform-example
description: terraform-example
category: cloud_efficiency
size: '30'
tags:
Name: terraform-example
variables:
default:
fn::invoke:
function: alicloud:getZones
arguments:
availableResourceCreation: VSwitch
ids:
fn::invoke:
function: alicloud:ecs:getEcsDisks
arguments:
ids:
- ${defaultEcsDisk.id}
outputs:
ecsDiskId0: ${ids.disks[0].id}

Return

A collection of values returned by getEcsDisks.

Parameters

argument

A collection of arguments for invoking getEcsDisks.


suspend fun getEcsDisks(additionalAttributes: List<String>? = null, autoSnapshotPolicyId: String? = null, availabilityZone: String? = null, category: String? = null, deleteAutoSnapshot: Boolean? = null, deleteWithInstance: Boolean? = null, diskName: String? = null, diskType: String? = null, dryRun: Boolean? = null, enableAutoSnapshot: Boolean? = null, enableAutomatedSnapshotPolicy: Boolean? = null, enableShared: Boolean? = null, encrypted: String? = null, ids: List<String>? = null, instanceId: String? = null, kmsKeyId: String? = null, nameRegex: String? = null, operationLocks: List<GetEcsDisksOperationLock>? = null, outputFile: String? = null, pageNumber: Int? = null, pageSize: Int? = null, paymentType: String? = null, portable: Boolean? = null, resourceGroupId: String? = null, snapshotId: String? = null, status: String? = null, tags: Map<String, String>? = null, type: String? = null, zoneId: String? = null): GetEcsDisksResult

Return

A collection of values returned by getEcsDisks.

Parameters

additionalAttributes

Other attribute values. Currently, only the incoming value of IOPS is supported, which means to query the IOPS upper limit of the current disk.

autoSnapshotPolicyId

Query cloud disks based on the automatic snapshot policy ID.

availabilityZone

Field availability_zone has been deprecated from provider version 1.122.0. New field zone_id instead.

category

Disk category. Valid values: cloud, cloud_efficiency, cloud_essd, cloud_ssd, ephemeral_ssd, cloud_auto, cloud_essd_entry.

deleteAutoSnapshot

Indicates whether the automatic snapshot is deleted when the disk is released.

deleteWithInstance

Indicates whether the disk is released together with the instance.

diskName

The disk name.

diskType

The disk type. Valid values: system, data, all.

dryRun

Specifies whether to check the validity of the request without actually making the request.request Default value: false. Valid values:

enableAutoSnapshot

Indicates whether the automatic snapshot is deleted when the disk is released.

enableAutomatedSnapshotPolicy

Whether the cloud disk has an automatic snapshot policy

enableShared

Whether it is shared block storage.

encrypted

Indicate whether the disk is encrypted or not. Valid values: on and off.

ids

A list of Disk IDs.

instanceId

Filter the results by the specified ECS instance ID.

kmsKeyId

The kms key id.

nameRegex

A regex string to filter results by Disk name.

operationLocks

The reasons why the disk was locked. See operation_locks below for details.

outputFile

File name where to save data source results (after running pulumi preview).

pageNumber
pageSize
paymentType

Payment method for disk. Valid Values: PayAsYouGo, Subscription.

portable

Whether the cloud disk or local disk supports uninstallation.

resourceGroupId

The Id of resource group which the disk belongs.

snapshotId

The source snapshot id.

status

The status of disk. Valid Values: Attaching, Available, Creating, Detaching, In_use, Migrating, ReIniting, Transferring.

tags

A map of tags assigned to the disks.

type

Field type has been deprecated from provider version 1.122.0. New field disk_type instead.

zoneId

ID of the free zone to which the disk belongs.

See also


suspend fun getEcsDisks(argument: suspend GetEcsDisksPlainArgsBuilder.() -> Unit): GetEcsDisksResult

Return

A collection of values returned by getEcsDisks.

Parameters

argument

Builder for com.pulumi.alicloud.ecs.kotlin.inputs.GetEcsDisksPlainArgs.

See also