4 ms·
This is incredibly useful, thanks! Whist it has some region information and endpoints, boto's lacking other useful information - availability zone count, hosted
by becauseiam 6y ago
This is incredibly useful, thanks! Whist it has some region information and endpoints, boto's lacking other useful information - availability zone count, hosted zones IDs for services like S3, etc. This data publicly lives in a variety of tables across their documentation, and is painful to scrape.
- willglynn 6y agoAbsolutely a fair criticism. As a followup, I've found that the Terraform AWS provider needs information that boto doesn't – specifically, it needs region-specific details which can only be found in the documentation. They have a checklist for what to do when a new region gets announced: https://github.com/terraform-providers/terraform-provider-aws/blob/master/.github/CONTRIBUTING.md#new-region https://github.com/terraform-providers/terraform-provider-aw... Volunteers gather this information and push commits like: https://github.com/terraform-providers/terraform-provider-aws/commit/7243aa22e930f790a44119a1003e0e2f246a7aeb https://github.com/terraform-providers/terraform-provider-aw... I too am disappointed that AWS doesn't publish this information in a convenient way. On the other hand, well… source code _is_ a machine readable data format, and Go ASTs aren't that scary: https://zupzup.org/go-ast-traversal/ https://zupzup.org/go-ast-traversal/ Terraform follows AWS changes better than CloudFormation, so tracking Terraform might be a reasonable solution. One could even build a process to automatically retrieve the Terraform AWS provider source code, extract the necessary identifiers, and update the relevant data file living in an internal repository. Don't ask me how I know :-/
- willglynn 6y agoTerraform now has these identifiers: https://github.com/terraform-providers/terraform-provider-aws/pull/12967 https://github.com/terraform-providers/terraform-provider-aw... Thanks to PatMyron at AWS, who apparently added this information to Terraform after seeing my mention above :-)