import * as core from "@terrascript/core"; export interface PublicKeyArgs extends core.ResourceArgs { /** * (Optional) An optional comment about the public key. */ comment?: string | core.StringOut; /** * (Required) The encoded public key that you want to add to CloudFront to use with features like field * level encryption. */ encodedKey: string | core.StringOut; /** * (Optional) The name for the public key. By default generated by Terraform. */ name?: string | core.StringOut; /** * (Optional) The name for the public key. Conflicts with `name`. */ namePrefix?: string | core.StringOut; } export class PublicKey extends core.Resource { /** * Internal value used by CloudFront to allow future updates to the public key configuration. */ @core.attr(String, { computed: true }) public callerReference!: string | core.StringOut; /** * (Optional) An optional comment about the public key. */ @core.attr(String) public comment?: string | core.StringOut; /** * (Required) The encoded public key that you want to add to CloudFront to use with features like field * level encryption. */ @core.attr(String) public encodedKey!: string | core.StringOut; /** * The current version of the public key. For example: `E2QWRUHAPOMQZL`. */ @core.attr(String, { computed: true }) public etag!: string | core.StringOut; /** * The identifier for the public key. For example: `K3D5EWEUDCCXON`. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) The name for the public key. By default generated by Terraform. */ @core.attr(String, { computed: true }) public name?: string | core.StringOut; /** * (Optional) The name for the public key. Conflicts with `name`. */ @core.attr(String, { computed: true }) public namePrefix?: string | core.StringOut; constructor(name: string, args?: PublicKeyArgs) { super(name, "aws_cloudfront_public_key", args); } public override getNamespace(): string { return "aws_cloudfront"; } }