When specifying an Ebs in the BlockDeviceMappings, if Throughput is specified, the stack fails formation, stating "Encountered unsupported property Throughput".
Throughput is a stated valid parameter in the EBSBlockDevice class.
We were trying to attach a gp3 volume to a GUI instance at creation and specify a given data throughput. Without this working properly we manually have to adjust the throughput for every user after creation or have to determine a convoluted workaround.
One thing to note is there appear to be 2 classes with very similar names but different accepted parameters: EBSBlockDevice and EbsBlockDevice. The parameter map states 'Ebs': EBSBlockDevice, but then seems to only accept the parameters of the EbsBlockDevice class instead of the EBSBlockDevice class
Example that fails stack formation
instance.BlockDeviceMappings = [
{
'DeviceName': "...",
'Ebs': {
'DeleteOnTermination': True,
'Throughput': 500,
'Iops': 8000,
'VolumeSize': 30,
'VolumeType': 'gp3',
'Encrypted': True
}
Documentation chain:
class Instance
props: {…,"BlockDeviceMappings": ([BlockDeviceMapping], False)}
class BlockDeviceMapping
props: {…, "Ebs": (EBSBlockDevice, False)}
class EBSBlockDevice - props: {…, "Throughput": (integer, False)}