import * as core from "@terrascript/core"; export interface DsPublicKeyArgs { /** * (Optional) List of grant tokens */ grantTokens?: core.Array | core.ArrayOut; /** * (Required) Key identifier which can be one of the following format: */ keyId: string | core.StringOut; } export class DsPublicKey extends core.Data { /** * Key ARN of the asymmetric CMK from which the public key was downloaded. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * Type of the public key that was downloaded. */ @core.attr(String, { computed: true }) public customerMasterKeySpec!: string | core.StringOut; /** * Encryption algorithms that AWS KMS supports for this key. Only set when the `key_usage` of the publi * c key is `ENCRYPT_DECRYPT`. */ @core.attr(String, { computed: true, kind: "array" }) public encryptionAlgorithms!: | core.Array | core.ArrayOut; /** * (Optional) List of grant tokens */ @core.attr(String, { kind: "array" }) public grantTokens?: core.Array | core.ArrayOut; /** * Key ARN of the asymmetric CMK from which the public key was downloaded. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) Key identifier which can be one of the following format: */ @core.attr(String) public keyId!: string | core.StringOut; /** * Permitted use of the public key. Valid values are `ENCRYPT_DECRYPT` or `SIGN_VERIFY` */ @core.attr(String, { computed: true }) public keyUsage!: string | core.StringOut; /** * Exported public key. The value is a DER-encoded X.509 public key, also known as SubjectPublicKeyInfo * (SPKI), as defined in [RFC 5280](https://tools.ietf.org/html/rfc5280). The value is Base64-encoded. */ @core.attr(String, { computed: true }) public publicKey!: string | core.StringOut; /** * Exported public key. The value is Privacy Enhanced Mail (PEM) encoded. */ @core.attr(String, { computed: true }) public publicKeyPem!: string | core.StringOut; /** * Signing algorithms that AWS KMS supports for this key. Only set when the `key_usage` of the public k * ey is `SIGN_VERIFY`. */ @core.attr(String, { computed: true, kind: "array" }) public signingAlgorithms!: core.Array | core.ArrayOut; constructor(name: string, args?: DsPublicKeyArgs) { super(name, "aws_kms_public_key", args); } public override getNamespace(): string { return "aws_kms"; } }