Skip to content
v2.277.0

CfnMicrovmImageProps Struct ​

Properties for defining a CfnMicrovmImage.

Example ​

ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_lambda as lambda } from 'aws-cdk-lib';
const cfnMicrovmImageProps: lambda.CfnMicrovmImageProps = {
  additionalOsCapabilities: ['additionalOsCapabilities'],
  baseImageArn: 'baseImageArn',
  baseImageVersion: 'baseImageVersion',
  buildRoleArn: 'buildRoleArn',
  codeArtifact: {
    uri: 'uri',
  },
  cpuConfigurations: [{
    architecture: 'architecture',
  }],
  description: 'description',
  egressNetworkConnectors: ['egressNetworkConnectors'],
  environmentVariables: [{
    key: 'key',
    value: 'value',
  }],
  hooks: {
    microvmHooks: {
      resume: 'resume',
      resumeTimeoutInSeconds: 123,
      run: 'run',
      runTimeoutInSeconds: 123,
      suspend: 'suspend',
      suspendTimeoutInSeconds: 123,
      terminate: 'terminate',
      terminateTimeoutInSeconds: 123,
    },
    microvmImageHooks: {
      ready: 'ready',
      readyTimeoutInSeconds: 123,
      validate: 'validate',
      validateTimeoutInSeconds: 123,
    },
    port: 123,
  },
  logging: {
    cloudWatch: {
      logGroup: 'logGroup',
      logStream: 'logStream',
    },
    disabled: false,
  },
  name: 'name',
  resources: [{
    minimumMemoryInMiB: 123,
  }],

  // the properties below are optional
  kmsKeyIdentifier: 'kmsKeyIdentifier',
  tags: [{
    key: 'key',
    value: 'value',
  }],
};
python
from aws_cdk import CfnTag
# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_lambda as lambda_

cfn_microvm_image_props = lambda.CfnMicrovmImageProps(
    additional_os_capabilities=["additionalOsCapabilities"],
    base_image_arn="baseImageArn",
    base_image_version="baseImageVersion",
    build_role_arn="buildRoleArn",
    code_artifact=lambda.CfnMicrovmImage.CodeArtifactProperty(
        uri="uri"
    ),
    cpu_configurations=[lambda.CfnMicrovmImage.CpuConfigurationProperty(
        architecture="architecture"
    )],
    description="description",
    egress_network_connectors=["egressNetworkConnectors"],
    environment_variables=[lambda.CfnMicrovmImage.EnvironmentVariableProperty(
        key="key",
        value="value"
    )],
    hooks=lambda.CfnMicrovmImage.HooksProperty(
        microvm_hooks=lambda.CfnMicrovmImage.MicrovmHooksProperty(
            resume="resume",
            resume_timeout_in_seconds=123,
            run="run",
            run_timeout_in_seconds=123,
            suspend="suspend",
            suspend_timeout_in_seconds=123,
            terminate="terminate",
            terminate_timeout_in_seconds=123
        ),
        microvm_image_hooks=lambda.CfnMicrovmImage.MicrovmImageHooksProperty(
            ready="ready",
            ready_timeout_in_seconds=123,
            validate="validate",
            validate_timeout_in_seconds=123
        ),
        port=123
    ),
    logging=lambda.CfnMicrovmImage.LoggingProperty(
        cloud_watch=lambda.CfnMicrovmImage.CloudWatchLoggingProperty(
            log_group="logGroup",
            log_stream="logStream"
        ),
        disabled=False
    ),
    name="name",
    resources=[lambda.CfnMicrovmImage.ResourcesProperty(
        minimum_memory_in_mi_b=123
    )],

    # the properties below are optional
    kms_key_identifier="kmsKeyIdentifier",
    tags=[CfnTag(
        key="key",
        value="value"
    )]
)
java
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.lambda.*;

CfnMicrovmImageProps cfnMicrovmImageProps = CfnMicrovmImageProps.builder()
        .additionalOsCapabilities(List.of("additionalOsCapabilities"))
        .baseImageArn("baseImageArn")
        .baseImageVersion("baseImageVersion")
        .buildRoleArn("buildRoleArn")
        .codeArtifact(CodeArtifactProperty.builder()
                .uri("uri")
                .build())
        .cpuConfigurations(List.of(CpuConfigurationProperty.builder()
                .architecture("architecture")
                .build()))
        .description("description")
        .egressNetworkConnectors(List.of("egressNetworkConnectors"))
        .environmentVariables(List.of(EnvironmentVariableProperty.builder()
                .key("key")
                .value("value")
                .build()))
        .hooks(HooksProperty.builder()
                .microvmHooks(MicrovmHooksProperty.builder()
                        .resume("resume")
                        .resumeTimeoutInSeconds(123)
                        .run("run")
                        .runTimeoutInSeconds(123)
                        .suspend("suspend")
                        .suspendTimeoutInSeconds(123)
                        .terminate("terminate")
                        .terminateTimeoutInSeconds(123)
                        .build())
                .microvmImageHooks(MicrovmImageHooksProperty.builder()
                        .ready("ready")
                        .readyTimeoutInSeconds(123)
                        .validate("validate")
                        .validateTimeoutInSeconds(123)
                        .build())
                .port(123)
                .build())
        .logging(LoggingProperty.builder()
                .cloudWatch(CloudWatchLoggingProperty.builder()
                        .logGroup("logGroup")
                        .logStream("logStream")
                        .build())
                .disabled(false)
                .build())
        .name("name")
        .resources(List.of(ResourcesProperty.builder()
                .minimumMemoryInMiB(123)
                .build()))

        // the properties below are optional
        .kmsKeyIdentifier("kmsKeyIdentifier")
        .tags(List.of(CfnTag.builder()
                .key("key")
                .value("value")
                .build()))
        .build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.Lambda;

var cfnMicrovmImageProps = new CfnMicrovmImageProps {
    AdditionalOsCapabilities = new [] { "additionalOsCapabilities" },
    BaseImageArn = "baseImageArn",
    BaseImageVersion = "baseImageVersion",
    BuildRoleArn = "buildRoleArn",
    CodeArtifact = new CodeArtifactProperty {
        Uri = "uri"
    },
    CpuConfigurations = new [] { new CpuConfigurationProperty {
        Architecture = "architecture"
    } },
    Description = "description",
    EgressNetworkConnectors = new [] { "egressNetworkConnectors" },
    EnvironmentVariables = new [] { new EnvironmentVariableProperty {
        Key = "key",
        Value = "value"
    } },
    Hooks = new HooksProperty {
        MicrovmHooks = new MicrovmHooksProperty {
            Resume = "resume",
            ResumeTimeoutInSeconds = 123,
            Run = "run",
            RunTimeoutInSeconds = 123,
            Suspend = "suspend",
            SuspendTimeoutInSeconds = 123,
            Terminate = "terminate",
            TerminateTimeoutInSeconds = 123
        },
        MicrovmImageHooks = new MicrovmImageHooksProperty {
            Ready = "ready",
            ReadyTimeoutInSeconds = 123,
            Validate = "validate",
            ValidateTimeoutInSeconds = 123
        },
        Port = 123
    },
    Logging = new LoggingProperty {
        CloudWatch = new CloudWatchLoggingProperty {
            LogGroup = "logGroup",
            LogStream = "logStream"
        },
        Disabled = false
    },
    Name = "name",
    Resources = new [] { new ResourcesProperty {
        MinimumMemoryInMiB = 123
    } },

    // the properties below are optional
    KmsKeyIdentifier = "kmsKeyIdentifier",
    Tags = new [] { new CfnTag {
        Key = "key",
        Value = "value"
    } }
};
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnMicrovmImageProps := &CfnMicrovmImageProps{
	AdditionalOsCapabilities: []*string{
		jsii.String("additionalOsCapabilities"),
	},
	BaseImageArn: jsii.String("baseImageArn"),
	BaseImageVersion: jsii.String("baseImageVersion"),
	BuildRoleArn: jsii.String("buildRoleArn"),
	CodeArtifact: &CodeArtifactProperty{
		Uri: jsii.String("uri"),
	},
	CpuConfigurations: []interface{}{
		&CpuConfigurationProperty{
			Architecture: jsii.String("architecture"),
		},
	},
	Description: jsii.String("description"),
	EgressNetworkConnectors: []*string{
		jsii.String("egressNetworkConnectors"),
	},
	EnvironmentVariables: []interface{}{
		&EnvironmentVariableProperty{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	Hooks: &HooksProperty{
		MicrovmHooks: &MicrovmHooksProperty{
			Resume: jsii.String("resume"),
			ResumeTimeoutInSeconds: jsii.Number(123),
			Run: jsii.String("run"),
			RunTimeoutInSeconds: jsii.Number(123),
			Suspend: jsii.String("suspend"),
			SuspendTimeoutInSeconds: jsii.Number(123),
			Terminate: jsii.String("terminate"),
			TerminateTimeoutInSeconds: jsii.Number(123),
		},
		MicrovmImageHooks: &MicrovmImageHooksProperty{
			Ready: jsii.String("ready"),
			ReadyTimeoutInSeconds: jsii.Number(123),
			Validate: jsii.String("validate"),
			ValidateTimeoutInSeconds: jsii.Number(123),
		},
		Port: jsii.Number(123),
	},
	Logging: &LoggingProperty{
		CloudWatch: &CloudWatchLoggingProperty{
			LogGroup: jsii.String("logGroup"),
			LogStream: jsii.String("logStream"),
		},
		Disabled: jsii.Boolean(false),
	},
	Name: jsii.String("name"),
	Resources: []interface{}{
		&ResourcesProperty{
			MinimumMemoryInMiB: jsii.Number(123),
		},
	},

	// the properties below are optional
	KmsKeyIdentifier: jsii.String("kmsKeyIdentifier"),
	Tags: []CfnTag{
		&CfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

Properties ​

additionalOsCapabilitiesstring[]additional_os_capabilitiestyping.List[str]additionalOsCapabilitiesList<String>AdditionalOsCapabilitiesstring[]AdditionalOsCapabilities*[]*stringrequired#
baseImageArnstringbase_image_arnstrbaseImageArnStringBaseImageArnstringBaseImageArn*stringrequired#
ARN of the base MicroVM image.
baseImageVersionstringbase_image_versionstrbaseImageVersionStringBaseImageVersionstringBaseImageVersion*stringrequired#
Specific version of the base MicroVM image to use.
buildRoleArnstringbuild_role_arnstrbuildRoleArnStringBuildRoleArnstringBuildRoleArn*stringrequired#
ARN of the IAM build role.
codeArtifactIResolvable | CfnMicrovmImage.CodeArtifactPropertycode_artifacttyping.Union[IResolvable, CodeArtifactProperty]codeArtifactIResolvableCodeArtifactIResolvableCodeArtifactinterface{}required#
cpuConfigurationsIResolvable | IResolvable | CfnMicrovmImage.CpuConfigurationProperty[]cpu_configurationstyping.Union[IResolvable, typing.List[typing.Union[IResolvable, CpuConfigurationProperty]]]cpuConfigurationsIResolvableCpuConfigurationsIResolvableCpuConfigurationsinterface{}required#
descriptionstringdescriptionstrdescriptionStringDescriptionstringDescription*stringrequired#
Human-readable description of the MicroVM image and its purpose.
egressNetworkConnectorsstring[]egress_network_connectorstyping.List[str]egressNetworkConnectorsList<String>EgressNetworkConnectorsstring[]EgressNetworkConnectors*[]*stringrequired#
environmentVariablesIResolvable | IResolvable | CfnMicrovmImage.EnvironmentVariableProperty[]environment_variablestyping.Union[IResolvable, typing.List[typing.Union[IResolvable, EnvironmentVariableProperty]]]environmentVariablesIResolvableEnvironmentVariablesIResolvableEnvironmentVariablesinterface{}required#
Environment variables to set in the container during the snapshot build.
hooksIResolvable | CfnMicrovmImage.HooksPropertyhookstyping.Union[IResolvable, HooksProperty]hooksIResolvableHooksIResolvableHooksinterface{}required#
kmsKeyIdentifieroptionalstringkms_key_identifieroptionalstrkmsKeyIdentifieroptionalStringKmsKeyIdentifieroptionalstringKmsKeyIdentifieroptional*string#
The customer managed KMS key used to encrypt the MicroVM image configuration at rest.

When omitted, a service owned key is used.

loggingIResolvable | CfnMicrovmImage.LoggingPropertyloggingtyping.Union[IResolvable, LoggingProperty]loggingIResolvableLoggingIResolvableLogginginterface{}required#
namestringnamestrnameStringNamestringName*stringrequired#
Unique name for the MicroVM image within the account.
resourcesIResolvable | IResolvable | CfnMicrovmImage.ResourcesProperty[]resourcestyping.Union[IResolvable, typing.List[typing.Union[IResolvable, ResourcesProperty]]]resourcesIResolvableResourcesIResolvableResourcesinterface{}required#
tagsoptionalCfnTag[]tagsoptionaltyping.List[CfnTag]tagsoptionalList<CfnTag>TagsoptionalCfnTag[]Tagsoptional*[]CfnTag#
Key-value pairs to associate with the MicroVM image for organization and management.