import * as core from "@terrascript/core"; export interface EphemeralBlockDeviceArgs extends core.SchemaArgs { deviceName: string | core.StringOut; noDevice?: boolean | core.BooleanOut; virtualName?: string | core.StringOut; } export declare class EphemeralBlockDevice extends core.Schema { deviceName: string | core.StringOut; noDevice?: boolean | core.BooleanOut; virtualName?: string | core.StringOut; } export interface MetadataOptionsArgs extends core.SchemaArgs { httpEndpoint: string | core.StringOut; httpPutResponseHopLimit: number | core.NumberOut; httpTokens: string | core.StringOut; instanceMetadataTags: string | core.StringOut; } export declare class MetadataOptions extends core.Schema { httpEndpoint: string | core.StringOut; httpPutResponseHopLimit: number | core.NumberOut; httpTokens: string | core.StringOut; instanceMetadataTags: string | core.StringOut; } export interface PrivateDnsNameOptionsArgs extends core.SchemaArgs { enableResourceNameDnsARecord: boolean | core.BooleanOut; enableResourceNameDnsAaaaRecord: boolean | core.BooleanOut; hostnameType: string | core.StringOut; } export declare class PrivateDnsNameOptions extends core.Schema { enableResourceNameDnsARecord: boolean | core.BooleanOut; enableResourceNameDnsAaaaRecord: boolean | core.BooleanOut; hostnameType: string | core.StringOut; } export interface MaintenanceOptionsArgs extends core.SchemaArgs { autoRecovery: string | core.StringOut; } export declare class MaintenanceOptions extends core.Schema { autoRecovery: string | core.StringOut; } export interface EnclaveOptionsArgs extends core.SchemaArgs { enabled: boolean | core.BooleanOut; } export declare class EnclaveOptions extends core.Schema { enabled: boolean | core.BooleanOut; } export interface FilterArgs extends core.SchemaArgs { name: string | core.StringOut; values: core.Array | core.ArrayOut; } export declare class Filter extends core.Schema { name: string | core.StringOut; values: core.Array | core.ArrayOut; } export interface CreditSpecificationArgs extends core.SchemaArgs { cpuCredits: string | core.StringOut; } export declare class CreditSpecification extends core.Schema { cpuCredits: string | core.StringOut; } export interface RootBlockDeviceArgs extends core.SchemaArgs { deleteOnTermination: boolean | core.BooleanOut; deviceName: string | core.StringOut; encrypted: boolean | core.BooleanOut; iops: number | core.NumberOut; kmsKeyId: string | core.StringOut; tags?: core.Map | core.MapOut; throughput: number | core.NumberOut; volumeId: string | core.StringOut; volumeSize: number | core.NumberOut; volumeType: string | core.StringOut; } export declare class RootBlockDevice extends core.Schema { deleteOnTermination: boolean | core.BooleanOut; deviceName: string | core.StringOut; encrypted: boolean | core.BooleanOut; iops: number | core.NumberOut; kmsKeyId: string | core.StringOut; tags?: core.Map | core.MapOut; throughput: number | core.NumberOut; volumeId: string | core.StringOut; volumeSize: number | core.NumberOut; volumeType: string | core.StringOut; } export interface EbsBlockDeviceArgs extends core.SchemaArgs { deleteOnTermination: boolean | core.BooleanOut; deviceName: string | core.StringOut; encrypted: boolean | core.BooleanOut; iops: number | core.NumberOut; kmsKeyId: string | core.StringOut; snapshotId: string | core.StringOut; tags?: core.Map | core.MapOut; throughput: number | core.NumberOut; volumeId: string | core.StringOut; 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; kmsKeyId: string | core.StringOut; snapshotId: string | core.StringOut; tags?: core.Map | core.MapOut; throughput: number | core.NumberOut; volumeId: string | core.StringOut; volumeSize: number | core.NumberOut; volumeType: string | core.StringOut; } export interface DsInstanceArgs { /** * (Optional) One or more name/value pairs to use as filters. There are */ filter?: core.Array | core.ArrayOut; /** * (Optional) If true, wait for password data to become available and retrieve it. Useful for getting t * he administrator password for instances running Microsoft Windows. The password data is exported to * the `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIRe * ference/API_GetPasswordData.html) for more information. */ getPasswordData?: boolean | core.BooleanOut; /** * (Optional) Retrieve Base64 encoded User Data contents into the `user_data_base64` attribute. A SHA-1 * hash of the User Data contents will always be present in the `user_data` attribute. Defaults to `fa * lse`. */ getUserData?: boolean | core.BooleanOut; /** * (Optional) Specify the exact Instance ID with which to populate the data source. */ instanceId?: string | core.StringOut; /** * (Optional) A map of tags, each pair of which must */ instanceTags?: core.Map | core.MapOut; /** * A map of tags assigned to the Instance. */ tags?: core.Map | core.MapOut; } export declare class DsInstance extends core.Data { /** * The ID of the AMI used to launch the instance. */ ami: string | core.StringOut; /** * The ARN of the instance. */ arn: string | core.StringOut; /** * Whether or not the Instance is associated with a public IP address or not (Boolean). */ associatePublicIpAddress: boolean | core.BooleanOut; /** * The availability zone of the Instance. */ availabilityZone: string | core.StringOut; /** * The credit specification of the Instance. */ creditSpecification: core.Array | core.ArrayOut; /** * Whether or not EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Sto * p_Start.html#Using_StopProtection) is enabled (Boolean). */ disableApiStop: boolean | core.BooleanOut; /** * Whether or not [EC2 Instance Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserG * uide/terminating-instances.html#Using_ChangingDisableAPITermination) is enabled (Boolean). */ disableApiTermination: boolean | core.BooleanOut; /** * The EBS block device mappings of the Instance. */ ebsBlockDevice: core.Array | core.ArrayOut; /** * Whether the Instance is EBS optimized or not (Boolean). */ ebsOptimized: boolean | core.BooleanOut; /** * The enclave options of the instance. */ enclaveOptions: core.Array | core.ArrayOut; /** * The ephemeral block device mappings of the Instance. */ ephemeralBlockDevice: core.Array | core.ArrayOut; /** * (Optional) One or more name/value pairs to use as filters. There are */ filter?: core.Array | core.ArrayOut; /** * (Optional) If true, wait for password data to become available and retrieve it. Useful for getting t * he administrator password for instances running Microsoft Windows. The password data is exported to * the `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIRe * ference/API_GetPasswordData.html) for more information. */ getPasswordData?: boolean | core.BooleanOut; /** * (Optional) Retrieve Base64 encoded User Data contents into the `user_data_base64` attribute. A SHA-1 * hash of the User Data contents will always be present in the `user_data` attribute. Defaults to `fa * lse`. */ getUserData?: boolean | core.BooleanOut; /** * The Id of the dedicated host the instance will be assigned to. */ hostId: string | core.StringOut; /** * The name of the instance profile associated with the Instance. */ iamInstanceProfile: string | core.StringOut; id: string | core.StringOut; /** * (Optional) Specify the exact Instance ID with which to populate the data source. */ instanceId?: string | core.StringOut; /** * The state of the instance. One of: `pending`, `running`, `shutting-down`, `terminated`, `stopping`, * stopped`. See [Instance Lifecycle](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance * lifecycle.html) for more information. */ instanceState: string | core.StringOut; /** * (Optional) A map of tags, each pair of which must */ instanceTags?: core.Map | core.MapOut; /** * The type of the Instance. */ instanceType: string | core.StringOut; /** * The IPv6 addresses associated to the Instance, if applicable. **NOTE**: Unlike the IPv4 address, thi * s doesn't change if you attach an EIP to the instance. */ ipv6Addresses: core.Array | core.ArrayOut; /** * The key name of the Instance. */ keyName: string | core.StringOut; /** * The maintenance and recovery options for the instance. */ maintenanceOptions: core.Array | core.ArrayOut; /** * The metadata options of the Instance. */ metadataOptions: core.Array | core.ArrayOut; /** * Whether detailed monitoring is enabled or disabled for the Instance (Boolean). */ monitoring: boolean | core.BooleanOut; /** * The ID of the network interface that was created with the Instance. */ networkInterfaceId: string | core.StringOut; /** * The Amazon Resource Name (ARN) of the Outpost. */ outpostArn: string | core.StringOut; /** * Base-64 encoded encrypted password data for the instance. */ passwordData: string | core.StringOut; /** * The placement group of the Instance. */ placementGroup: string | core.StringOut; /** * The number of the partition the instance is in. */ placementPartitionNumber: number | core.NumberOut; /** * The private DNS name assigned to the Instance. Can only be */ privateDns: string | core.StringOut; /** * The options for the instance hostname. */ privateDnsNameOptions: core.Array | core.ArrayOut; /** * The private IP address assigned to the Instance. */ privateIp: string | core.StringOut; /** * The public DNS name assigned to the Instance. For EC2-VPC, this */ publicDns: string | core.StringOut; /** * The public IP address assigned to the Instance, if applicable. **NOTE**: If you are using an [`aws_e * ip`](/docs/providers/aws/r/eip.html) with your instance, you should refer to the EIP's address direc * tly and not use `public_ip`, as this field will change after the EIP is attached. */ publicIp: string | core.StringOut; /** * The root block device mappings of the Instance */ rootBlockDevice: core.Array | core.ArrayOut; /** * The secondary private IPv4 addresses assigned to the instance's primary network interface (eth0) in * a VPC. */ secondaryPrivateIps: core.Array | core.ArrayOut; /** * The associated security groups. */ securityGroups: core.Array | core.ArrayOut; /** * Whether the network interface performs source/destination checking (Boolean). */ sourceDestCheck: boolean | core.BooleanOut; /** * The VPC subnet ID. */ subnetId: string | core.StringOut; /** * A map of tags assigned to the Instance. */ tags?: core.Map | core.MapOut; /** * The tenancy of the instance: `dedicated`, `default`, `host`. */ tenancy: string | core.StringOut; /** * SHA-1 hash of User Data supplied to the Instance. */ userData: string | core.StringOut; /** * Base64 encoded contents of User Data supplied to the Instance. Valid UTF-8 contents can be decoded w * ith the [`base64decode` function](https://www.terraform.io/docs/configuration/functions/base64decode * .html). This attribute is only exported if `get_user_data` is true. */ userDataBase64: string | core.StringOut; /** * The associated security groups in a non-default VPC. */ vpcSecurityGroupIds: core.Array | core.ArrayOut; constructor(name: string, args?: DsInstanceArgs); getNamespace(): string; } //# sourceMappingURL=ds_instance.d.ts.map