import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages an AWS Lambda MicroVMs MicroVM. Use this resource to run a MicroVM from a MicroVM image, which provisions a dedicated HTTPS endpoint and starts your application from the image snapshot. * * > MicroVMs are immutable. Because the service has no update operation, changing any argument terminates the MicroVM and runs a new one. * * ## Example Usage * * ### Basic Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.lambdamicrovms.Microvm("example", {imageArn: exampleAwsLambdamicrovmsImage.arn}); * ``` * * ### With Idle Policy and Logging * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.lambdamicrovms.Microvm("example", { * idlePolicy: { * autoResumeEnabled: true, * maxIdleDurationSeconds: 900, * suspendedDurationSeconds: 1800, * }, * logging: { * cloudwatch: { * logGroup: exampleAwsCloudwatchLogGroup.name, * }, * }, * imageArn: exampleAwsLambdamicrovmsImage.arn, * executionRoleArn: exampleAwsIamRole.arn, * maximumDurationInSeconds: 14400, * egressNetworkConnectors: ["arn:aws:lambda:us-east-1:aws:network-connector:aws-network-connector:INTERNET_EGRESS"], * ingressNetworkConnectors: ["arn:aws:lambda:us-east-1:aws:network-connector:aws-network-connector:ALL_INGRESS"], * }); * ``` * * ## Import * * ### Identity Schema * * #### Required * * * `microvmId` (String) Unique identifier of the MicroVM. * * #### Optional * * * `accountId` (String) AWS Account where this resource is managed. * * `region` (String) Region where this resource is managed. * * Using `pulumi import`, import Lambda MicroVMs MicroVM using the `microvmId`. For example: * * ```sh * $ pulumi import aws:lambdamicrovms/microvm:Microvm example mvm-01234567-abcd-ef01-2345-6789abcdef01 * ``` */ export declare class Microvm extends pulumi.CustomResource { /** * Get an existing Microvm 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 state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: MicrovmState, opts?: pulumi.CustomResourceOptions): Microvm; /** * Returns true if the given object is an instance of Microvm. 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 Microvm; /** * List of egress network connector ARNs for outbound connectivity. Changing this value creates a new resource. */ readonly egressNetworkConnectors: pulumi.Output; /** * HTTPS endpoint URL for communicating with the MicroVM. */ readonly endpoint: pulumi.Output; /** * ARN of the IAM role assumed by the MicroVM during execution. Changing this value creates a new resource. */ readonly executionRoleArn: pulumi.Output; /** * Configuration controlling automatic suspend and resume behavior. See below. Changing this value creates a new resource. */ readonly idlePolicy: pulumi.Output; /** * ARN of the MicroVM image to run. Changing this value creates a new resource. * * The following arguments are optional: */ readonly imageArn: pulumi.Output; /** * Version of the MicroVM image to run. Defaults to the latest active version. Changing this value creates a new resource. */ readonly imageVersion: pulumi.Output; /** * List of ingress network connector ARNs for inbound connectivity. Changing this value creates a new resource. */ readonly ingressNetworkConnectors: pulumi.Output; /** * Logging configuration for the MicroVM. See below. Changing this value creates a new resource. */ readonly logging: pulumi.Output; /** * Maximum duration in seconds that the MicroVM can exist before the platform terminates it. Valid range: `1`–`28800` (8 hours). Changing this value creates a new resource. */ readonly maximumDurationInSeconds: pulumi.Output; /** * Unique identifier of the MicroVM. */ readonly microvmId: pulumi.Output; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ readonly region: pulumi.Output; /** * String payload (maximum 16 KB) delivered to the `/run` lifecycle hook when the MicroVM starts. Changing this value creates a new resource. */ readonly runHookPayload: pulumi.Output; /** * Timestamp when the MicroVM first started, in RFC 3339 format. */ readonly startedAt: pulumi.Output; /** * Current lifecycle state of the MicroVM (e.g., `RUNNING`). */ readonly state: pulumi.Output; readonly timeouts: pulumi.Output; /** * Create a Microvm 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: MicrovmArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Microvm resources. */ export interface MicrovmState { /** * List of egress network connector ARNs for outbound connectivity. Changing this value creates a new resource. */ egressNetworkConnectors?: pulumi.Input[] | undefined>; /** * HTTPS endpoint URL for communicating with the MicroVM. */ endpoint?: pulumi.Input; /** * ARN of the IAM role assumed by the MicroVM during execution. Changing this value creates a new resource. */ executionRoleArn?: pulumi.Input; /** * Configuration controlling automatic suspend and resume behavior. See below. Changing this value creates a new resource. */ idlePolicy?: pulumi.Input; /** * ARN of the MicroVM image to run. Changing this value creates a new resource. * * The following arguments are optional: */ imageArn?: pulumi.Input; /** * Version of the MicroVM image to run. Defaults to the latest active version. Changing this value creates a new resource. */ imageVersion?: pulumi.Input; /** * List of ingress network connector ARNs for inbound connectivity. Changing this value creates a new resource. */ ingressNetworkConnectors?: pulumi.Input[] | undefined>; /** * Logging configuration for the MicroVM. See below. Changing this value creates a new resource. */ logging?: pulumi.Input; /** * Maximum duration in seconds that the MicroVM can exist before the platform terminates it. Valid range: `1`–`28800` (8 hours). Changing this value creates a new resource. */ maximumDurationInSeconds?: pulumi.Input; /** * Unique identifier of the MicroVM. */ microvmId?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * String payload (maximum 16 KB) delivered to the `/run` lifecycle hook when the MicroVM starts. Changing this value creates a new resource. */ runHookPayload?: pulumi.Input; /** * Timestamp when the MicroVM first started, in RFC 3339 format. */ startedAt?: pulumi.Input; /** * Current lifecycle state of the MicroVM (e.g., `RUNNING`). */ state?: pulumi.Input; timeouts?: pulumi.Input; } /** * The set of arguments for constructing a Microvm resource. */ export interface MicrovmArgs { /** * List of egress network connector ARNs for outbound connectivity. Changing this value creates a new resource. */ egressNetworkConnectors?: pulumi.Input[] | undefined>; /** * ARN of the IAM role assumed by the MicroVM during execution. Changing this value creates a new resource. */ executionRoleArn?: pulumi.Input; /** * Configuration controlling automatic suspend and resume behavior. See below. Changing this value creates a new resource. */ idlePolicy?: pulumi.Input; /** * ARN of the MicroVM image to run. Changing this value creates a new resource. * * The following arguments are optional: */ imageArn: pulumi.Input; /** * Version of the MicroVM image to run. Defaults to the latest active version. Changing this value creates a new resource. */ imageVersion?: pulumi.Input; /** * List of ingress network connector ARNs for inbound connectivity. Changing this value creates a new resource. */ ingressNetworkConnectors?: pulumi.Input[] | undefined>; /** * Logging configuration for the MicroVM. See below. Changing this value creates a new resource. */ logging?: pulumi.Input; /** * Maximum duration in seconds that the MicroVM can exist before the platform terminates it. Valid range: `1`–`28800` (8 hours). Changing this value creates a new resource. */ maximumDurationInSeconds?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * String payload (maximum 16 KB) delivered to the `/run` lifecycle hook when the MicroVM starts. Changing this value creates a new resource. */ runHookPayload?: pulumi.Input; timeouts?: pulumi.Input; } //# sourceMappingURL=microvm.d.ts.map