На странице aws_s3_bucket_object
есть примечание о том, что оно устарело и вместо него следует использовать aws_s3_bucket
:
The aws_s3_bucket_object resource is DEPRECATED and will be removed in a future version! Use aws_s3_object instead, where new features and fixes will be added. When replacing aws_s3_bucket_object with aws_s3_object in your configuration, on the next apply, Terraform will recreate the object. If you prefer to not have Terraform recreate the object, import the object using aws_s3_object.
Когда я перехожу на страницу aws_s3_bucket
, там нет примера того, как загрузить файл, только как создать корзину. Ряд статей в Интернете также указывают на использование aws_s3_bucket
для создания корзины, но по-прежнему используют aws_s3_bucket_object
для загрузки файлов. Это все еще правильная практика?
Если вы посмотрите на документацию aws_s3_object
и сравните ее с документацией более старого aws_s3_bucket_object
, вы увидите, что они очень похожи. Если вы используете какой-либо онлайн-учебник по Terraform, переключение aws_s3_bucket_object
на aws_s3_object
в коде, вероятно, будет работать без серьезных проблем.
Очевидно, вы столкнетесь с проблемами, если вы уже применили план и решили переключиться с aws_s3_bucket_object
на aws_s3_object
. В этом случае вам нужно импорт привести объект в текущее состояние.
В настоящее время последним поставщиком AWS является 4.9.0, что помечает aws_s3_bucket_object
как устаревшее, но не удаленное. Пока вы не планируете обновлять провайдера, ваш код будет работать. Если вы хотите защитить свой код в будущем, вам нужно будет использовать aws_s3_object
.
Спасибо, я полностью пропустил запись
aws_s3_object