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
base-image-arn
string
build-role-arn
string
code-artifact
object
object({
uri: string
})
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