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.
