Orchestrator Function: AWS EC2 Images Get By Filters

by Simon Sparks · 7 February 2026

To use this function add it to the class library file named OrchestratorPluginAWSService.ts

GitHub Repository: https://github.com/SimonSparksUK/Orchestrator

Filename: OrchestratorPluginAWSService.ts

Description: Orchestrator Function to Find an AWS EC2 Images by Filters

Public Function: EC2ImageGetByFilters

publicEC2ImageGetByFilters(objAWSClient:AWSClient,strArchitecture:"i386"|"x86_64"|"arm64"|"x86_64_mac"|"arm64_mac"="x86_64",strRootDeviceType:"ebs"|"instance-store"="ebs",strImageType:"machine"|"kernel"|"ramdisk"="machine",strPlatform:"Windows"|"Linux",strVirtualizationType:"paravirtual"|"hvm"="paravirtual",strOwnerAlias:"amazon"|"aws-backup-vault"|"aws-marketplace"="amazon",strHypervisor:"ovm"|"xen",strState:"available"|"pending"|"failed"="available",arrOwnerId:string[],blnIncludeDeprecated:boolean=false):EC2Image[]{

letarrEC2Filter:EC2Filter[]= [];

if (strPlatform){
letobjEC2Filter:EC2Filter=this.EC2FilterBuild("state",strState);

arrEC2Filter.push(objEC2Filter);
}

if (strPlatform){
letobjEC2Filter:EC2Filter=this.EC2FilterBuild("owner-alias",strOwnerAlias);

arrEC2Filter.push(objEC2Filter);
}

if (strPlatform){
letobjEC2Filter:EC2Filter=this.EC2FilterBuild("platform",strPlatform);

arrEC2Filter.push(objEC2Filter);
}

if (strArchitecture){
letobjEC2Filter:EC2Filter=this.EC2FilterBuild("architecture",strArchitecture);

arrEC2Filter.push(objEC2Filter);
}

if (strRootDeviceType){
letobjEC2Filter:EC2Filter=this.EC2FilterBuild("root-device-type",strRootDeviceType);

arrEC2Filter.push(objEC2Filter);
}

if (strImageType){
letobjEC2Filter:EC2Filter=this.EC2FilterBuild("image-type",strImageType);

arrEC2Filter.push(objEC2Filter);
}

if (strVirtualizationType){
letobjEC2Filter:EC2Filter=this.EC2FilterBuild("virtualization-type",strVirtualizationType);

arrEC2Filter.push(objEC2Filter);
}

if (strHypervisor){
letobjEC2Filter:EC2Filter=this.EC2FilterBuild("hypervisor",strHypervisor);

arrEC2Filter.push(objEC2Filter);
}

letobjAmazonEC2Client:AmazonEC2Client=objAWSClient.getAmazonEC2Client();

letobjEC2DescribeImagesRequest:EC2DescribeImagesRequest=newEC2DescribeImagesRequest();
objEC2DescribeImagesRequest.setFilters(arrEC2Filter);
objEC2DescribeImagesRequest.setIncludeDeprecated(blnIncludeDeprecated);
if (arrOwnerId){
objEC2DescribeImagesRequest.setOwners(arrOwnerId);
}

letobjEC2DescribeImagesResult:EC2DescribeImagesResult=objAmazonEC2Client.describeImages(objEC2DescribeImagesRequest);

letarrEC2Image:EC2Image[]=objEC2DescribeImagesResult.getImages();

returnarrEC2Image;
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like