Мне нужен программный доступ к функциональности пользовательского интерфейса на торговой площадке AWS.До сих пор я нашел API AmazonEC2.describeImages, но я нахожу его очень ограничивающим:
1) Результаты не соответствуют тому, что я получаю в пользовательском интерфейсе.В качестве примера простой запрос для Tomcat AMI:
Filter isPublic = new Filter().withName("is-public").withValues("true");
Filter tomcat = new Filter().withName("name").withValues("Tomcat*");
DescribeImagesRequest req = new DescribeImagesRequest().withFilters( isPublic, tomcat );
DescribeImagesResult resp = ec2.describeImages( req );
Результат:
Found total 9 images
ID: ami-542eae43
Name: Tomcat7_v01
Desc: [Copied ami-00369873 from eu-west-1] Tomcat7_v01
Arch: x86_64
Type: machine
Owner: 616727669948
Device name: /dev/sda1 (size: 10)
ID: ami-5b1b7a4c
Name: TomcatInstance
Desc: TomcatInstance
Arch: x86_64
Type: machine
Owner: 312088435046
Device name: /dev/sda1 (size: 10)
ID: ami-61137676
Name: Tomcat 9 on windows powered by GlobalSolutions-1ba56c23-b93c-4f5d-b31b-159b21b7b943-ami-1dc75d0a.3
Desc: Tomcat 9 on windows powered by GlobalSolutions
Arch: x86_64
Platform: windows
Type: machine
Owner: 679593333241
Device name: /dev/sda1 (size: 30)
ID: ami-7153e20b
Name: Tomcat 9-472baf5a-498f-41a9-8f1d-861fe627200c-ami-b45bf1ce.4
Desc: Updated debian.cnf
Arch: x86_64
Type: machine
Owner: 679593333241
Device name: /dev/sda1 (size: 8)
ID: ami-8c4d81e4
Name: TomcatPGSQLWorking
Desc: [Copied ami-19552c29 from us-west-2] TomcatPGSQLWorking
Arch: x86_64
Type: machine
Owner: 525242879332
Device name: /dev/sda1 (size: 8)
ID: ami-95da17fc
Name: Tomcat7
Desc: Tomcat 7 Image
Arch: x86_64
Type: machine
Owner: 209720127264
Device name: /dev/sda1 (size: 8)
ID: ami-a9b9d1c0
Name: Tomcat_06
Desc:
Arch: x86_64
Type: machine
Owner: 550038334991
Device name: /dev/sda1 (size: 8)
Device name: /dev/sdb
ID: ami-b2c9a6da
Name: Tomcat Designer and Search Image (with genomes)
Desc: [Copied ami-236f7266 from us-west-1] Tomcat Designer and Search Image (with genomes)
Arch: x86_64
Type: machine
Owner: 872553423352
Device name: /dev/xvda (size: 200)
ID: ami-b9bbc5ae
Name: Tomcat8.5.5.-PotgreSQL9.5-Server
Desc:
Arch: x86_64
Type: machine
Owner: 541102566093
Device name: /dev/xvda (size: 20)
Когда я выполняю этот поиск в пользовательском интерфейсе, я получаю 28 обращений.Ясно, что я не знаю конкретной комбинации фильтров, которую использует пользовательский интерфейс, поэтому я использовал очень простую комбинацию.
2) Отсутствуют имя и описание
Посмотрите на результат выше.Имена не так уж плохи, но описания часто бесполезны.Некоторые из них хороши, как "изображение Tomcat 7", в других случаях они пустые или просто URL компании.Повсюду описания.
3) Поддерживаемые типы экземпляров
В пользовательском интерфейсе Marketplace я могу посмотреть на AMI и увидеть таблицу поддерживаемых типов экземпляров, где AMI может быть развернут.Однако в результате desribeImages я не вижу этой информации.Как я могу получить доступ к списку применимых типов экземпляров.
В итоге,
Есть ли другой API, который может дать мне больше информации о конкретном AMI, что-то вроде:
desribeImageDetails (String imageId)
Что даст мне полную информацию?
спасибо