Comments (2)
Yes, you are correct about some of the naming of the objects. The short answer is "historical" and "backward compatibility".
The longer answer is more convoluted. This project started in 2012 by hand-writing the code from the CloudFormation (CF) docs. This took time to figure out the new objects and track changes to the existing items. And as new things were added by to CF, there were objects (with different attributes) with the same name being used. This caused us to then use our historical naming even if it wasn't as clear and use different names for the new objects.
Over time AWS refined their docs and created a resource specification to more accurately specify the object names and types. But it wasn't until troposphere 4.0.0 in early 2022 that the main troposphere code was auto-generated from the specification. One of the goals for 4.0.0 was to make as few breaking changes as possible to be able to validate the new auto-generated code and allow for easier transition for existing scripts. There are a large number of backward compatibility patches such as the NetworkInterfaces one you mentioned and a lot of these changes are to the early CF resources such as EC2.
At some point it might make sense to remove as many of the backward compatible changes in a new major revision but I would want to hear from the community before proceeding on that endeavor. It would likely break all existing scripts and that could cause adoption issues for the new version. I'm just not sure whether the community would think this is worth the significant renaming involved. I hope this helped explain the issue you raised.
from troposphere.
Thanks @markpeek that all makes sense. I appreciate hearing the backstory!
from troposphere.
Related Issues (20)
- Incorrect ValueError: AllowedPattern can only be used with parameters of the String type
- Options object does not support attribute Igmpv2Support: Transit Gateway Multicast Domain HOT 2
- Upgrading `4.3.2` -> `4.4.1` causes mypy type checking to fail HOT 4
- TypeError: unhashable type: 'Parameter' HOT 17
- Elasticsearch instance type names have changed HOT 3
- AWS::Events::Rule does NOT support implemented Tags attribute through CloudFormation HOT 3
- TypeError: unhashable type: 'SecurityGroup' HOT 3
- object comparison with pytest produces output that isn't very useful
- AWS::ECS::TaskSet.LoadBalancer shadows AWS::ECS::Service.LoadBalancer HOT 2
- CloudFormation General Templates HOT 1
- 404 while accessing the troposphere module docx HOT 1
- Add "EVENT" as accepted type in trigger_type_validator HOT 1
- Feature Request : Support for AWS CodePipeline V2 in troposphere HOT 4
- Valid Canary runtime versions are outdated HOT 2
- CoreNetworkArn missing from Route validation code HOT 2
- Questions about Copilot + Open Source Software Hierarchy HOT 3
- Update DLM Interval Rule Values
- Add support for Amazon Timestream for InfluxDB HOT 1
- Missing LoggingConfig for Serverless::Function HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from troposphere.