get Ecs Disks
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.Apply(getEcsDisksResult => getEcsDisksResult.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
A collection of arguments for invoking getEcsDisks.
Return
A collection of values returned by getEcsDisks.
Parameters
Other attribute values. Currently, only the incoming value of IOPS is supported, which means to query the IOPS upper limit of the current disk.
Query cloud disks based on the automatic snapshot policy ID.
Field availability_zone
has been deprecated from provider version 1.122.0. New field zone_id
instead.
Disk category. Valid values: cloud
, cloud_efficiency
, cloud_essd
, cloud_ssd
, ephemeral_ssd
, cloud_auto
, cloud_essd_entry
.
Indicates whether the automatic snapshot is deleted when the disk is released.
Indicates whether the disk is released together with the instance.
The disk name.
The disk type. Valid values: system
, data
, all
.
Specifies whether to check the validity of the request without actually making the request.request Default value: false. Valid values:
Indicates whether the automatic snapshot is deleted when the disk is released.
Whether the cloud disk has an automatic snapshot policy
Whether it is shared block storage.
Indicate whether the disk is encrypted or not. Valid values: on
and off
.
A list of Disk IDs.
Filter the results by the specified ECS instance ID.
The kms key id.
A regex string to filter results by Disk name.
The reasons why the disk was locked. See operation_locks
below for details.
File name where to save data source results (after running pulumi preview
).
Payment method for disk. Valid Values: PayAsYouGo
, Subscription
.
Whether the cloud disk or local disk supports uninstallation.
The Id of resource group which the disk belongs.
The source snapshot id.
The status of disk. Valid Values: Attaching
, Available
, Creating
, Detaching
, In_use
, Migrating
, ReIniting
, Transferring
.
A map of tags assigned to the disks.
Field type
has been deprecated from provider version 1.122.0. New field disk_type
instead.
ID of the free zone to which the disk belongs.
See also
Return
A collection of values returned by getEcsDisks.
Parameters
Builder for com.pulumi.alicloud.ecs.kotlin.inputs.GetEcsDisksPlainArgs.