Currently ECSOperator propagates platform_version parameter either in case launch_type is FARGATE or there is capacity_provider_strategy parameter provided. The case with capacity_provider_strategy is wrong. Capacity provider strategy can contain a reference on EC2 capacity provider. If it's an EC2 capacity provider, then platform_version should not be propagated to the boto3 api call. And it's not possible to do so with the current logic of ECSOperator because platform_version is always propagated in such case and boto3 doesn't accept platform_version as None. So in order to fix that platform_version should be an independent parameter and propagated only when it's specified, regardless which launch_type or capacity_provider_strategy is specified. That should also simplify the logic of ECSOperator.
I will prepare a PR to fix that.
Currently
ECSOperatorpropagatesplatform_versionparameter either in caselaunch_typeisFARGATEor there iscapacity_provider_strategyparameter provided. The case withcapacity_provider_strategyis wrong. Capacity provider strategy can contain a reference on EC2 capacity provider. If it's an EC2 capacity provider, thenplatform_versionshould not be propagated to theboto3api call. And it's not possible to do so with the current logic ofECSOperatorbecauseplatform_versionis always propagated in such case andboto3doesn't acceptplatform_versionasNone. So in order to fix thatplatform_versionshould be an independent parameter and propagated only when it's specified, regardless whichlaunch_typeorcapacity_provider_strategyis specified. That should also simplify the logic ofECSOperator.I will prepare a PR to fix that.