getKeys

suspend fun getKeys(argument: GetKeysPlainArgs): GetKeysResult

This data source provides a list of KMS keys in an Alibaba Cloud account according to the specified filters. For information about KMS Key and how to use it, see What is Key.

NOTE: Available since v1.85.0.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
// Declare the data source
const kmsKeysDs = alicloud.kms.getKeys({
descriptionRegex: "Hello KMS",
outputFile: "kms_keys.json",
});
export const firstKeyId = kmsKeysDs.then(kmsKeysDs => kmsKeysDs.keys?.[0]?.id);
import pulumi
import pulumi_alicloud as alicloud
# Declare the data source
kms_keys_ds = alicloud.kms.get_keys(description_regex="Hello KMS",
output_file="kms_keys.json")
pulumi.export("firstKeyId", kms_keys_ds.keys[0].id)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
// Declare the data source
var kmsKeysDs = AliCloud.Kms.GetKeys.Invoke(new()
{
DescriptionRegex = "Hello KMS",
OutputFile = "kms_keys.json",
});
return new Dictionary<string, object?>
{
["firstKeyId"] = kmsKeysDs&#46;Apply(getKeysResult => getKeysResult&#46;Keys[0]?.Id),
};
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kms"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Declare the data source
kmsKeysDs, err := kms.GetKeys(ctx, &kms.GetKeysArgs{
DescriptionRegex: pulumi.StringRef("Hello KMS"),
OutputFile: pulumi.StringRef("kms_keys.json"),
}, nil)
if err != nil {
return err
}
ctx.Export("firstKeyId", kmsKeysDs.Keys[0].Id)
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.kms.KmsFunctions;
import com.pulumi.alicloud.kms.inputs.GetKeysArgs;
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) {
// Declare the data source
final var kmsKeysDs = KmsFunctions.getKeys(GetKeysArgs.builder()
.descriptionRegex("Hello KMS")
.outputFile("kms_keys.json")
.build());
ctx.export("firstKeyId", kmsKeysDs.keys()[0].id());
}
}
variables:
# Declare the data source
kmsKeysDs:
fn::invoke:
function: alicloud:kms:getKeys
arguments:
descriptionRegex: Hello KMS
outputFile: kms_keys.json
outputs:
firstKeyId: ${kmsKeysDs.keys[0].id}

Return

A collection of values returned by getKeys.

Parameters

argument

A collection of arguments for invoking getKeys.


suspend fun getKeys(descriptionRegex: String? = null, enableDetails: Boolean? = null, filters: String? = null, ids: List<String>? = null, outputFile: String? = null, status: String? = null): GetKeysResult

Return

A collection of values returned by getKeys.

Parameters

descriptionRegex

A regex string to filter the results by the KMS key description.

enableDetails

Default to true. Set it to true can output more details about resource attributes.

filters

The CMK filter. The filter consists of one or more key-value pairs. You can specify a maximum of 10 key-value pairs. More details see API ListKeys.

ids

A list of KMS key IDs.

outputFile

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

status

Filter the results by status of the KMS keys. Valid values: Enabled, Disabled, PendingDeletion.

See also


suspend fun getKeys(argument: suspend GetKeysPlainArgsBuilder.() -> Unit): GetKeysResult

Return

A collection of values returned by getKeys.

Parameters

argument

Builder for com.pulumi.alicloud.kms.kotlin.inputs.GetKeysPlainArgs.

See also