Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Cloud Control API #52

Open
ineffyble opened this issue Oct 20, 2021 · 4 comments
Open

Use Cloud Control API #52

ineffyble opened this issue Oct 20, 2021 · 4 comments

Comments

@ineffyble
Copy link

It should be possible to use the new AWS Cloud Control API, both to simplify the methods used to find resources, and to find resources that aren't currently found (and potentially to make it so that new resource types work without any code changes).

@iainelder
Copy link

iainelder commented Aug 8, 2022

As janky as it is to scrape the API calls from boto3's model, it still seems like the best way to get complete coverage.

In theory Cloud Control is a great idea and a service long overdue from AWS's side. But in practice the resource coverage is incomplete.

The documented resource types that support Cloud Control API today shows that 584 resource types are supported by Cloud Control and 526 of those support the List operation.

CloudFormation's ListTypes API lists today 898 public resource types in the "AWS::" namespace.

aws cloudformation list-types \
--visibility PUBLIC \
--type RESOURCE \
--query 'TypeSummaries[?starts_with(TypeName, `AWS::`)].[TypeName]' \
--output text \
| wc -l

And of course there are many more resource types that CloudFormation still does not support. I'm not even sure where to get an authoritative list for those.

@JohannesEbke
Copy link
Owner

Well, this is interesting! It would definitely be easier for the types known to CloudFormation, but given that some "legacy" types will probably never be supported I guess the basic heuristic will be required for quite some time.

I'll leave this open as an enhancement in case someone wants to work on this - it does have the possibility to remove some of the edge cases.

@ineffyble
Copy link
Author

Cloud Control still doesn't even support EC2 instances ☹️

@iainelder
Copy link

aws-list-resources discovers resources that are currently supported by the AWS Cloud Control API and offer support for the List operation. It is further restricted to those resources where the List operation does not expect any additional parameters.

@JohannesEbke, since that implementation exists, I don't think you need to change aws_list_all use Cloud Control.

@ineffyble, today Cloud Control still doesn't support EC2 instances :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants