LambdaMicrovms class

Provides APIs to create, manage, and operate AWS Lambda MicroVMs and their associated MicroVM Image environments.

Constructors

LambdaMicrovms({required String region, AwsClientCredentials? credentials, AwsClientCredentialsProvider? credentialsProvider, Client? client, String? endpointUrl, bool useFipsEndpoint = false, bool useDualStackEndpoint = false})
factory

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

close() → void
Closes the internal HTTP client if none was provided at creation. If a client was passed as a constructor argument, this becomes a noop.
createMicrovmAuthToken({required List<PortSpecification> allowedPorts, required int expirationInMinutes, required String microvmIdentifier}) → Future<CreateMicrovmAuthTokenResponse>
Creates an authentication token for accessing a running MicroVM. The token grants access to the specified ports on the MicroVM endpoint.
createMicrovmImage({required String baseImageArn, required String buildRoleArn, required CodeArtifact codeArtifact, required String name, List<Capability>? additionalOsCapabilities, String? baseImageVersion, String? clientToken, List<CpuConfiguration>? cpuConfigurations, String? description, List<String>? egressNetworkConnectors, Map<String, String>? environmentVariables, Hooks? hooks, Logging? logging, List<Resources>? resources, Map<String, String>? tags}) → Future<CreateMicrovmImageResponse>
Creates a MicroVM image from the specified code artifact and base image. The build is asynchronous — the image transitions from CREATING to CREATED on success, or CREATE_FAILED on failure. Use GetMicrovmImage to poll for completion.
createMicrovmShellAuthToken({required int expirationInMinutes, required String microvmIdentifier}) → Future<CreateMicrovmShellAuthTokenResponse>
Creates a shell authentication token for interactive shell access to a running MicroVM. The MicroVM must have been run with the SHELL_INGRESS network connector attached.
deleteMicrovmImage({required String imageIdentifier}) → Future<DeleteMicrovmImageOutput>
Deletes a MicroVM image. This operation is idempotent; deleting an image that has already been deleted succeeds without error.
deleteMicrovmImageVersion({required String imageIdentifier, required String imageVersion}) → Future<DeleteMicrovmImageVersionOutput>
Deletes a specific version of a MicroVM image. This operation is idempotent; deleting a version that has already been deleted succeeds without error.
getMicrovm({required String microvmIdentifier}) → Future<GetMicrovmResponse>
Retrieves the details of a specific MicroVM, including its state, endpoint, image information, and configuration. The state field is eventually consistent — determine readiness by connecting to the endpoint.
getMicrovmImage({required String imageIdentifier}) → Future<GetMicrovmImageOutput>
Retrieves the details of a MicroVM image, including its state, versions, and configuration.
getMicrovmImageBuild({required String buildId, required String imageIdentifier, required String imageVersion}) → Future<GetMicrovmImageBuildOutput>
Retrieves the details of a specific MicroVM image build, including its state, target architecture, and snapshot information.
getMicrovmImageVersion({required String imageIdentifier, required String imageVersion}) → Future<GetMicrovmImageVersionOutput>
Retrieves the details of a specific version of a MicroVM image, including its configuration, state, and build information.
listManagedMicrovmImages({int? maxResults, String? nextToken}) → Future<ListManagedMicrovmImagesOutput>
Lists AWS managed MicroVM images available for use as base images. We recommend using pagination to ensure that the operation returns quickly and successfully.
listManagedMicrovmImageVersions({required String imageIdentifier, int? maxResults, String? nextToken}) → Future<ListManagedMicrovmImageVersionsOutput>
Lists versions of a managed MicroVM image. We recommend using pagination to ensure that the operation returns quickly and successfully.
listMicrovmImageBuilds({required String imageIdentifier, required String imageVersion, Architecture? architecture, Chipset? chipset, String? chipsetGeneration, int? maxResults, String? nextToken}) → Future<ListMicrovmImageBuildsOutput>
Lists builds for a MicroVM image version with optional filtering by architecture and chipset. We recommend using pagination to ensure that the operation returns quickly and successfully.
listMicrovmImages({int? maxResults, String? nameFilter, String? nextToken}) → Future<ListMicrovmImagesResponse>
Lists MicroVM images in the account with optional name filtering. We recommend using pagination to ensure that the operation returns quickly and successfully.
listMicrovmImageVersions({required String imageIdentifier, int? maxResults, String? nextToken}) → Future<ListMicrovmImageVersionsOutput>
Lists versions of a MicroVM image. We recommend using pagination to ensure that the operation returns quickly and successfully.
listMicrovms({String? imageIdentifier, String? imageVersion, int? maxResults, String? nextToken}) → Future<ListMicrovmsResponse>
Lists MicroVMs in the account with optional filtering by image and version. We recommend using pagination to ensure that the operation returns quickly and successfully.
listTags({required String resource}) → Future<ListTagsResponse>
Lists the tags associated with a Lambda MicroVM resource.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
resumeMicrovm({required String microvmIdentifier}) → Future<void>
Resumes a suspended MicroVM, restoring it to RUNNING state with all state intact. The MicroVM must be in SUSPENDED state.
runMicrovm({required String imageIdentifier, String? clientToken, List<String>? egressNetworkConnectors, String? executionRoleArn, IdlePolicy? idlePolicy, String? imageVersion, List<String>? ingressNetworkConnectors, Logging? logging, int? maximumDurationInSeconds, String? runHookPayload}) → Future<RunMicrovmResponse>
Runs a new MicroVM from the specified image. The MicroVM starts in PENDING state and transitions to RUNNING once provisioning completes. To connect, generate an authentication token using CreateMicrovmAuthToken.
suspendMicrovm({required String microvmIdentifier}) → Future<void>
Suspends a running MicroVM, preserving its full memory and disk state. The MicroVM transitions through SUSPENDING to SUSPENDED. To restore, call ResumeMicrovm or send traffic to the endpoint if autoResumeEnabled is true.
tagResource({required String resource, required Map<String, String> tags}) → Future<void>
Adds tags to a Lambda MicroVM resource.
terminateMicrovm({required String microvmIdentifier}) → Future<void>
Terminates a MicroVM. This operation is idempotent; terminating a MicroVM that has already been terminated succeeds without error.
toString() → String
A string representation of this object.
inherited
untagResource({required String resource, required List<String> tagKeys}) → Future<void>
Removes tags from a Lambda MicroVM resource.
updateMicrovmImage({required String baseImageArn, required String buildRoleArn, required CodeArtifact codeArtifact, required String imageIdentifier, List<Capability>? additionalOsCapabilities, String? baseImageVersion, String? clientToken, List<CpuConfiguration>? cpuConfigurations, String? description, List<String>? egressNetworkConnectors, Map<String, String>? environmentVariables, Hooks? hooks, Logging? logging, List<Resources>? resources}) → Future<UpdateMicrovmImageResponse>
Updates the configuration of a MicroVM image and triggers a new version build. This operation uses PUT semantics — all required fields (codeArtifact, baseImageArn, buildRoleArn) must be provided with every request.
updateMicrovmImageVersion({required String imageIdentifier, required String imageVersion, required MicrovmImageVersionStatus status}) → Future<UpdateMicrovmImageVersionResponse>
Updates the status of a specific MicroVM image version.

Operators

operator ==(Object other) → bool
The equality operator.
inherited