import * as core from "@terrascript/core"; export interface ApiKeyArgs extends core.ResourceArgs { /** * (Optional) The API key description. Defaults to "Managed by Terraform". */ description?: string | core.StringOut; /** * (Optional) Specifies whether the API key can be used by callers. Defaults to `true`. */ enabled?: boolean | core.BooleanOut; /** * (Required) The name of the API key */ name: string | core.StringOut; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) The value of the API key. If not specified, it will be automatically generated by AWS on * creation. */ value?: string | core.StringOut; } export class ApiKey extends core.Resource { /** * Amazon Resource Name (ARN) */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * The creation date of the API key */ @core.attr(String, { computed: true }) public createdDate!: string | core.StringOut; /** * (Optional) The API key description. Defaults to "Managed by Terraform". */ @core.attr(String) public description?: string | core.StringOut; /** * (Optional) Specifies whether the API key can be used by callers. Defaults to `true`. */ @core.attr(Boolean) public enabled?: boolean | core.BooleanOut; /** * The ID of the API key */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * The last update date of the API key */ @core.attr(String, { computed: true }) public lastUpdatedDate!: string | core.StringOut; /** * (Required) The name of the API key */ @core.attr(String) public name!: string | core.StringOut; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined at the provider-level. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; /** * (Optional) The value of the API key. If not specified, it will be automatically generated by AWS on * creation. */ @core.attr(String, { computed: true }) public value?: string | core.StringOut; constructor(name: string, args?: ApiKeyArgs) { super(name, "aws_api_gateway_api_key", args); } public override getNamespace(): string { return "aws_api_gateway"; } }