简体   繁体   English

使用 AWS-CDK、python 将块设备映射添加到 EC2

[英]Add block device mappings to EC2 with AWS-CDK, python

I am getting error while adding 2 block device mappings for ebs volumes.为 ebs 卷添加 2 个块设备映射时出现错误。 I am using aws-cdk, python.我正在使用 aws-cdk,python。

Here is the code这是代码

    from aws_cdk import core
    from aws_cdk import aws_ec2 as _ec2

    #Webserver 01
    webserver = _ec2.Instance(
        self,
        "webserver01Id",
        instance_type = _ec2.InstanceType(instance_type_identifier="t2.micro"),
        instance_name = "webserver001",
        machine_image = _amzn_linux_ami,            
        vpc=vpc,
        vpc_subnets = _ec2.SubnetSelection(subnet_type=_ec2.SubnetType.PUBLIC),
        user_data = _ec2.UserData.custom(_user_data),
        block_devices= {"block_device_mappings": [
            {"device_name ": '/dev/sda1', "volume": _ec2.BlockDeviceVolume.ebs(50)}, 
            {"device_name": '/dev/sdm', "volume": _ec2.BlockDeviceVolume.ebs(100)}
            ]
        } 
    )

Here is the error I am getting.这是我得到的错误。

jsii.errors.JSIIError: Expected array type, got {"$jsii.map":{"block_device_mappings":[{"$jsii.map":{"device_name ":"/dev/sda1","volume":{"$jsii.byref":"@aws-cdk/aws-ec2.BlockDeviceVolume@10012"}}},{"$jsii.map":{"device_name":"/dev/sdm","volume":{"$jsii.byref":"@aws-cdk/aws-ec2.BlockDeviceVolume@10013"}}}]}} Subprocess exited with error 1 jsii.errors.JSIIError:预期的数组类型,得到 {"$jsii.map":{"block_device_mappings":[{"$jsii.map":{"device_name ":"/dev/sda1","volume":{ "$jsii.byref":"@aws-cdk/aws-ec2.BlockDeviceVolume@10012"}}},{"$jsii.map":{"device_name":"/dev/sdm","volume":{ "$jsii.byref":"@aws-cdk/aws-ec2.BlockDeviceVolume@10013"}}}]}} 子进程退出,错误 1

aws_ec2.Instance类的 CDK API 1.63.0 的最新版本指出block_devices应该是aws_ec2.BlockDevice实例的列表, 链接到这里而不是dict

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM