import * as core from "@terrascript/core"; export interface EbsBlockDeviceArgs extends core.SchemaArgs { deleteOnTermination?: boolean | core.BooleanOut; deviceName: string | core.StringOut; encrypted?: boolean | core.BooleanOut; iops?: number | core.NumberOut; outpostArn?: string | core.StringOut; snapshotId?: string | core.StringOut; throughput?: number | core.NumberOut; volumeSize?: number | core.NumberOut; volumeType?: string | core.StringOut; } export declare class EbsBlockDevice extends core.Schema { deleteOnTermination?: boolean | core.BooleanOut; deviceName: string | core.StringOut; encrypted?: boolean | core.BooleanOut; iops?: number | core.NumberOut; outpostArn?: string | core.StringOut; snapshotId?: string | core.StringOut; throughput?: number | core.NumberOut; volumeSize?: number | core.NumberOut; volumeType?: string | core.StringOut; } export interface EphemeralBlockDeviceArgs extends core.SchemaArgs { deviceName: string | core.StringOut; virtualName: string | core.StringOut; } export declare class EphemeralBlockDevice extends core.Schema { deviceName: string | core.StringOut; virtualName: string | core.StringOut; } export interface AmiArgs extends core.ResourceArgs { /** * (Optional) Machine architecture for created instances. Defaults to "x86_64". */ architecture?: string | core.StringOut; /** * (Optional) The boot mode of the AMI. For more information, see [Boot modes](https://docs.aws.amazon. * com/AWSEC2/latest/UserGuide/ami-boot.html) in the Amazon Elastic Compute Cloud User Guide. */ bootMode?: string | core.StringOut; /** * (Optional) The date and time to deprecate the AMI. If you specified a value for seconds, Amazon EC2 * rounds the seconds to the nearest minute. Valid values: [RFC3339 time string](https://tools.ietf.org * /html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) */ deprecationTime?: string | core.StringOut; /** * (Optional) A longer, human-readable description for the AMI. */ description?: string | core.StringOut; /** * (Optional) Nested block describing an EBS block device that should be */ ebsBlockDevice?: core.Array | core.ArrayOut; /** * (Optional) Specifies whether enhanced networking with ENA is enabled. Defaults to `false`. */ enaSupport?: boolean | core.BooleanOut; /** * (Optional) Nested block describing an ephemeral block device that */ ephemeralBlockDevice?: core.Array | core.ArrayOut; /** * (Required) Path to an S3 object containing an image manifest, e.g., created */ imageLocation?: string | core.StringOut; /** * (Required) The id of the kernel image (AKI) that will be used as the paravirtual */ kernelId?: string | core.StringOut; /** * (Required) A region-unique name for the AMI. */ name: string | core.StringOut; /** * (Optional) The id of an initrd image (ARI) that will be used when booting the */ ramdiskId?: string | core.StringOut; /** * (Optional) The name of the root device (for example, `/dev/sda1`, or `/dev/xvda`). */ rootDeviceName?: string | core.StringOut; /** * (Optional) When set to "simple" (the default), enables enhanced networking */ sriovNetSupport?: string | core.StringOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ 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) If the image is configured for NitroTPM support, the value is `v2.0`. For more informatio * n, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon E * lastic Compute Cloud User Guide. */ tpmSupport?: string | core.StringOut; /** * (Optional) Keyword to choose what virtualization mode created instances */ virtualizationType?: string | core.StringOut; } export declare class Ami extends core.Resource { /** * (Optional) Machine architecture for created instances. Defaults to "x86_64". */ architecture?: string | core.StringOut; /** * The ARN of the AMI. */ arn: string | core.StringOut; /** * (Optional) The boot mode of the AMI. For more information, see [Boot modes](https://docs.aws.amazon. * com/AWSEC2/latest/UserGuide/ami-boot.html) in the Amazon Elastic Compute Cloud User Guide. */ bootMode?: string | core.StringOut; /** * (Optional) The date and time to deprecate the AMI. If you specified a value for seconds, Amazon EC2 * rounds the seconds to the nearest minute. Valid values: [RFC3339 time string](https://tools.ietf.org * /html/rfc3339#section-5.8) (`YYYY-MM-DDTHH:MM:SSZ`) */ deprecationTime?: string | core.StringOut; /** * (Optional) A longer, human-readable description for the AMI. */ description?: string | core.StringOut; /** * (Optional) Nested block describing an EBS block device that should be */ ebsBlockDevice?: core.Array | core.ArrayOut; /** * (Optional) Specifies whether enhanced networking with ENA is enabled. Defaults to `false`. */ enaSupport?: boolean | core.BooleanOut; /** * (Optional) Nested block describing an ephemeral block device that */ ephemeralBlockDevice?: core.Array | core.ArrayOut; /** * The hypervisor type of the image. */ hypervisor: string | core.StringOut; /** * The ID of the created AMI. */ id: string | core.StringOut; /** * (Required) Path to an S3 object containing an image manifest, e.g., created */ imageLocation?: string | core.StringOut; /** * The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner. */ imageOwnerAlias: string | core.StringOut; /** * The type of image. */ imageType: string | core.StringOut; /** * (Required) The id of the kernel image (AKI) that will be used as the paravirtual */ kernelId?: string | core.StringOut; manageEbsSnapshots: boolean | core.BooleanOut; /** * (Required) A region-unique name for the AMI. */ name: string | core.StringOut; /** * The AWS account ID of the image owner. */ ownerId: string | core.StringOut; /** * This value is set to windows for Windows AMIs; otherwise, it is blank. */ platform: string | core.StringOut; /** * The platform details associated with the billing code of the AMI. */ platformDetails: string | core.StringOut; /** * Indicates whether the image has public launch permissions. */ public: boolean | core.BooleanOut; /** * (Optional) The id of an initrd image (ARI) that will be used when booting the */ ramdiskId?: string | core.StringOut; /** * (Optional) The name of the root device (for example, `/dev/sda1`, or `/dev/xvda`). */ rootDeviceName?: string | core.StringOut; /** * The Snapshot ID for the root volume (for EBS-backed AMIs) */ rootSnapshotId: string | core.StringOut; /** * (Optional) When set to "simple" (the default), enables enhanced networking */ sriovNetSupport?: string | core.StringOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ 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) If the image is configured for NitroTPM support, the value is `v2.0`. For more informatio * n, see [NitroTPM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html) in the Amazon E * lastic Compute Cloud User Guide. */ tpmSupport?: string | core.StringOut; /** * The operation of the Amazon EC2 instance and the billing code that is associated with the AMI. */ usageOperation: string | core.StringOut; /** * (Optional) Keyword to choose what virtualization mode created instances */ virtualizationType?: string | core.StringOut; constructor(name: string, args?: AmiArgs); getNamespace(): string; } //# sourceMappingURL=ami.d.ts.map