botoを使用して自動スケーリングの起動構成を作成しようとしていますが、block_device_mappingsを定義する方法がわかりません。
次のようなコードスナップショット:
dev_sdf = boto.ec2.blockdevicemapping.EBSBlockDeviceType(snapshot_id = self.sna_data.id)
bdm = boto.ec2.blockdevicemapping.BlockDeviceMapping()
bdm['/dev/sdf'] = dev_sdf
lc = launchconfig.LaunchConfiguration(connection = self.as_conn,
name = lc_name,
image_id = self.ami.id,
instance_type = self.instance_type,
key_name = AWS_KEY_NAME,
security_groups = self.security_groups,
spot_price = self.price,
block_device_mappings = [bdm])
self.as_conn.create_launch_configuration(lc)
しかし、私は得ました:
boto.exception.BotoServerError: BotoServerError: 400 Bad Request
<ErrorResponse xmlns="http://autoscaling.amazonaws.com/doc/2011-01-01/">
<Error>
<Type>Sender</Type>
<Code>ValidationError</Code>
<Message>1 validation error detected: Value null at 'blockDeviceMappings.1.member.deviceName' failed to satisfy constraint: Member must not be null</Message>
</Error>
<RequestId>7289473c-7bc1-11e2-a07c-93de372a2cc0</RequestId>
</ErrorResponse>
block_device_mappingsをどのように定義する必要がありますか?