import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Resource Type definition for AWS::Lambda::MicrovmImage
 */
export declare class MicrovmImage extends pulumi.CustomResource {
    /**
     * Get an existing MicrovmImage resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): MicrovmImage;
    /**
     * Returns true if the given object is an instance of MicrovmImage.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is MicrovmImage;
    readonly additionalOsCapabilities: pulumi.Output<enums.lambda.MicrovmImageAdditionalOsCapabilitiesItem[]>;
    /**
     * ARN of the base MicroVM image.
     */
    readonly baseImageArn: pulumi.Output<string>;
    /**
     * Specific version of the base MicroVM image to use.
     */
    readonly baseImageVersion: pulumi.Output<string>;
    /**
     * ARN of the IAM build role.
     */
    readonly buildRoleArn: pulumi.Output<string>;
    /**
     * Code artifact for the active MicroVM image.
     */
    readonly codeArtifact: pulumi.Output<outputs.lambda.MicrovmImageCodeArtifact>;
    readonly cpuConfigurations: pulumi.Output<outputs.lambda.MicrovmImageCpuConfiguration[]>;
    /**
     * Timestamp when the MicroVM image was created.
     */
    readonly createdAt: pulumi.Output<string>;
    /**
     * Human-readable description of the MicroVM image and its purpose.
     */
    readonly description: pulumi.Output<string>;
    readonly egressNetworkConnectors: pulumi.Output<string[]>;
    /**
     * Environment variables to set in the container during the snapshot build.
     */
    readonly environmentVariables: pulumi.Output<outputs.lambda.MicrovmImageEnvironmentVariable[]>;
    readonly hooks: pulumi.Output<outputs.lambda.Hooks>;
    /**
     * ARN of the MicroVM image.
     */
    readonly imageArn: pulumi.Output<string>;
    /**
     * The latest active version of the MicroVM image.
     */
    readonly latestActiveImageVersion: pulumi.Output<string>;
    /**
     * The latest failed version of the MicroVM image.
     */
    readonly latestFailedImageVersion: pulumi.Output<string>;
    /**
     * Configuration for MicroVM image logging.
     */
    readonly logging: pulumi.Output<outputs.lambda.MicrovmImageLogging>;
    /**
     * Unique name for the MicroVM image within the account.
     */
    readonly name: pulumi.Output<string>;
    readonly resources: pulumi.Output<outputs.lambda.MicrovmImageResources[]>;
    /**
     * Current state of the MicroVM image.
     */
    readonly state: pulumi.Output<enums.lambda.MicrovmImageState>;
    /**
     * Key-value pairs to associate with the MicroVM image for organization and management.
     */
    readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
    /**
     * Timestamp when the MicroVM image was updated.
     */
    readonly updatedAt: pulumi.Output<string>;
    /**
     * Create a MicrovmImage resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: MicrovmImageArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a MicrovmImage resource.
 */
export interface MicrovmImageArgs {
    additionalOsCapabilities: pulumi.Input<pulumi.Input<enums.lambda.MicrovmImageAdditionalOsCapabilitiesItem>[]>;
    /**
     * ARN of the base MicroVM image.
     */
    baseImageArn: pulumi.Input<string>;
    /**
     * Specific version of the base MicroVM image to use.
     */
    baseImageVersion: pulumi.Input<string>;
    /**
     * ARN of the IAM build role.
     */
    buildRoleArn: pulumi.Input<string>;
    /**
     * Code artifact for the active MicroVM image.
     */
    codeArtifact: pulumi.Input<inputs.lambda.MicrovmImageCodeArtifactArgs>;
    cpuConfigurations: pulumi.Input<pulumi.Input<inputs.lambda.MicrovmImageCpuConfigurationArgs>[]>;
    /**
     * Human-readable description of the MicroVM image and its purpose.
     */
    description: pulumi.Input<string>;
    egressNetworkConnectors: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Environment variables to set in the container during the snapshot build.
     */
    environmentVariables: pulumi.Input<pulumi.Input<inputs.lambda.MicrovmImageEnvironmentVariableArgs>[]>;
    hooks: pulumi.Input<inputs.lambda.HooksArgs>;
    /**
     * Configuration for MicroVM image logging.
     */
    logging: pulumi.Input<inputs.lambda.MicrovmImageLoggingArgs>;
    /**
     * Unique name for the MicroVM image within the account.
     */
    name?: pulumi.Input<string>;
    resources: pulumi.Input<pulumi.Input<inputs.lambda.MicrovmImageResourcesArgs>[]>;
    /**
     * Key-value pairs to associate with the MicroVM image for organization and management.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
}
