import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Resource Type definition for AWS::EC2::Instance
 */
export declare function getInstance(args: GetInstanceArgs, opts?: pulumi.InvokeOptions): Promise<GetInstanceResult>;
export interface GetInstanceArgs {
    /**
     * The EC2 Instance ID.
     */
    instanceId: string;
}
export interface GetInstanceResult {
    /**
     * Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default.
     */
    readonly affinity?: enums.ec2.InstanceAffinity;
    /**
     * The block device mapping entries that defines the block devices to attach to the instance at launch.
     */
    readonly blockDeviceMappings?: outputs.ec2.InstanceBlockDeviceMapping[];
    /**
     * The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited.
     */
    readonly creditSpecification?: outputs.ec2.CreditSpecificationProperties;
    /**
     * If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can.
     */
    readonly disableApiTermination?: boolean;
    /**
     * Indicates whether the instance is optimized for Amazon EBS I/O.
     */
    readonly ebsOptimized?: boolean;
    /**
     * If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account.
     */
    readonly hostId?: string;
    /**
     * The IAM instance profile.
     */
    readonly iamInstanceProfile?: string;
    /**
     * The EC2 Instance ID.
     */
    readonly instanceId?: string;
    /**
     * Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).
     */
    readonly instanceInitiatedShutdownBehavior?: string;
    /**
     * The instance type.
     */
    readonly instanceType?: string;
    /**
     * The ID of the kernel.
     */
    readonly kernelId?: string;
    /**
     * The metadata options for the instance
     */
    readonly metadataOptions?: outputs.ec2.InstanceMetadataOptions;
    /**
     * Specifies whether detailed monitoring is enabled for the instance.
     */
    readonly monitoring?: boolean;
    /**
     * The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal.
     */
    readonly privateDnsName?: string;
    /**
     * The options for the instance hostname.
     */
    readonly privateDnsNameOptions?: outputs.ec2.InstancePrivateDnsNameOptions;
    /**
     * The private IP address of the specified instance. For example: 10.24.34.0.
     */
    readonly privateIp?: string;
    /**
     * The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com.
     */
    readonly publicDnsName?: string;
    /**
     * The public IP address of the specified instance. For example: 192.0.2.0.
     */
    readonly publicIp?: string;
    /**
     * The ID of the RAM disk to select.
     */
    readonly ramdiskId?: string;
    /**
     * The IDs of the security groups.
     */
    readonly securityGroupIds?: string[];
    /**
     * Specifies whether to enable an instance launched in a VPC to perform NAT.
     */
    readonly sourceDestCheck?: boolean;
    /**
     * The SSM document and parameter values in AWS Systems Manager to associate with this instance.
     */
    readonly ssmAssociations?: outputs.ec2.InstanceSsmAssociation[];
    /**
     * The current state of the instance.
     */
    readonly state?: outputs.ec2.InstanceState;
    /**
     * The tags to add to the instance.
     */
    readonly tags?: outputs.Tag[];
    /**
     * The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware.
     */
    readonly tenancy?: string;
    /**
     * The user data to make available to the instance.
     */
    readonly userData?: string;
    /**
     * The volumes to attach to the instance.
     */
    readonly volumes?: outputs.ec2.InstanceVolume[];
    /**
     * The ID of the VPC that the instance is running in.
     */
    readonly vpcId?: string;
}
/**
 * Resource Type definition for AWS::EC2::Instance
 */
export declare function getInstanceOutput(args: GetInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetInstanceResult>;
export interface GetInstanceOutputArgs {
    /**
     * The EC2 Instance ID.
     */
    instanceId: pulumi.Input<string>;
}
