Skip to content

microvm-image resource

Source: internal/service/lambdamicrovms/microvm_image_rsrc.go:25

Example usage:

imports: {
  aws-lambdamicrovms: 'github.com/cloudboss/unobin-library-aws//service/lambdamicrovms'
}

resources: {
  example: aws-lambdamicrovms.microvm-image {
    # Set input fields here.
  }
}

Inputs

name

string

required

base-image-arn

string

required

build-role-arn

string

required

code-artifact

object
object({
  uri: string
})

required

base-image-version

optional(string)

additional-os-capabilities

optional(list(string))

cpu-configurations

optional(list(object))
optional(
  list(
    object({
      architecture: string
    })
  )
)

description

optional(string)

egress-network-connectors

optional(list(string))

environment-variables

optional(map(string))

hooks

optional(object)
optional(
  object({
    port: optional(integer)
    microvm-hooks: optional(
      object({
        run: optional(string)
        run-timeout-in-seconds: optional(integer)
        resume: optional(string)
        resume-timeout-in-seconds: optional(integer)
        suspend: optional(string)
        suspend-timeout-in-seconds: optional(integer)
        terminate: optional(string)
        terminate-timeout-in-seconds: optional(integer)
      })
    )
    microvm-image-hooks: optional(
      object({
        ready: optional(string)
        ready-timeout-in-seconds: optional(integer)
        validate: optional(string)
        validate-timeout-in-seconds: optional(integer)
      })
    )
  })
)

logging

optional(object)
optional(
  object({
    cloud-watch: optional(
      object({
        log-group: optional(string)
        log-stream: optional(string)
      })
    )
    disabled: optional(boolean)
  })
)

resources

optional(list(object))
optional(
  list(
    object({
      minimum-memory-in-mib: integer
    })
  )
)

tags

optional(map(string))

terminate-on-destroy

optional(boolean)

Input Constraints

Logging rules

logging must set exactly one of cloud-watch or disabled.

Rule logic
When
input.logging != null
Require
((input.logging.cloud-watch != null) && (input.logging.disabled == null))
|| ((input.logging.cloud-watch == null) && (input.logging.disabled != null))

logging disabled must be true.

Rule logic
When
input.logging.disabled != null
Require
input.logging.disabled == true

Additional os capabilities rules

additional-os-capabilities values must be ALL.

Rule logic
For each
input.additional-os-capabilities ?? []
Require
@each.value == 'ALL'

Cpu configurations rules

cpu-configurations architecture must be ARM_64.

Rule logic
For each
input.cpu-configurations ?? []
Require
@each.value.architecture == 'ARM_64'

Egress network connectors rules

egress-network-connectors must have at most 10 items.

Rule logic
When
input.egress-network-connectors != null
Require
@core.length(input.egress-network-connectors) <= 10

Resources rules

resources must have at most one item.

Rule logic
When
input.resources != null
Require
@core.length(input.resources) <= 1

Hooks rules

hooks port must be between 1 and 65535.

Rule logic
When
input.hooks.port != null
Require
input.hooks.port >= 1
&& input.hooks.port <= 65535

microvm hook states must be ENABLED or DISABLED.

Rule logic
When
input.hooks.microvm-hooks.run != null
Require
input.hooks.microvm-hooks.run == 'ENABLED'
|| input.hooks.microvm-hooks.run == 'DISABLED'

microvm hook states must be ENABLED or DISABLED.

Rule logic
When
input.hooks.microvm-hooks.resume != null
Require
input.hooks.microvm-hooks.resume == 'ENABLED'
|| input.hooks.microvm-hooks.resume == 'DISABLED'

microvm hook states must be ENABLED or DISABLED.

Rule logic
When
input.hooks.microvm-hooks.suspend != null
Require
input.hooks.microvm-hooks.suspend == 'ENABLED'
|| input.hooks.microvm-hooks.suspend == 'DISABLED'

microvm hook states must be ENABLED or DISABLED.

Rule logic
When
input.hooks.microvm-hooks.terminate != null
Require
input.hooks.microvm-hooks.terminate == 'ENABLED'
|| input.hooks.microvm-hooks.terminate == 'DISABLED'

microvm hook timeouts must be between 1 and 60.

Rule logic
When
input.hooks.microvm-hooks.run-timeout-in-seconds != null
Require
input.hooks.microvm-hooks.run-timeout-in-seconds >= 1
&& input.hooks.microvm-hooks.run-timeout-in-seconds <= 60

microvm hook timeouts must be between 1 and 60.

Rule logic
When
input.hooks.microvm-hooks.resume-timeout-in-seconds != null
Require
input.hooks.microvm-hooks.resume-timeout-in-seconds >= 1
&& input.hooks.microvm-hooks.resume-timeout-in-seconds <= 60

microvm hook timeouts must be between 1 and 60.

Rule logic
When
input.hooks.microvm-hooks.suspend-timeout-in-seconds != null
Require
input.hooks.microvm-hooks.suspend-timeout-in-seconds >= 1
&& input.hooks.microvm-hooks.suspend-timeout-in-seconds <= 60

microvm hook timeouts must be between 1 and 60.

Rule logic
When
input.hooks.microvm-hooks.terminate-timeout-in-seconds != null
Require
input.hooks.microvm-hooks.terminate-timeout-in-seconds >= 1
&& input.hooks.microvm-hooks.terminate-timeout-in-seconds <= 60

microvm image hook states must be ENABLED or DISABLED.

Rule logic
When
input.hooks.microvm-image-hooks.ready != null
Require
input.hooks.microvm-image-hooks.ready == 'ENABLED'
|| input.hooks.microvm-image-hooks.ready == 'DISABLED'

microvm image hook states must be ENABLED or DISABLED.

Rule logic
When
input.hooks.microvm-image-hooks.validate != null
Require
input.hooks.microvm-image-hooks.validate == 'ENABLED'
|| input.hooks.microvm-image-hooks.validate == 'DISABLED'

microvm image hook timeouts must be between 1 and 3600.

Rule logic
When
input.hooks.microvm-image-hooks.ready-timeout-in-seconds != null
Require
input.hooks.microvm-image-hooks.ready-timeout-in-seconds >= 1
&& input.hooks.microvm-image-hooks.ready-timeout-in-seconds <= 3600

microvm image hook timeouts must be between 1 and 3600.

Rule logic
When
input.hooks.microvm-image-hooks.validate-timeout-in-seconds != null
Require
input.hooks.microvm-image-hooks.validate-timeout-in-seconds >= 1
&& input.hooks.microvm-image-hooks.validate-timeout-in-seconds <= 3600

Outputs

image-arn

string

name

string

state

string

created-at

string

updated-at

string

latest-active-image-version

string

latest-failed-image-version

string