Function: AWS EC2 Instance Snapshot All Volumes

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 Create an AWS EC2 Snapshot of all Volumes on an EC2 Instance

Public Function: EC2InstanceSnapshotAllVolumes

public EC2InstanceSnapshotAllVolumes(objAWSClient: AWSClient, objEC2Instance: EC2Instance, strDescription: string): EC2Snapshot[] {

    let arrEC2InstanceBlockDeviceMapping: EC2InstanceBlockDeviceMapping[] = objEC2Instance.getBlockDeviceMappings();

    let arrEC2Snapshot: EC2Snapshot[] = arrEC2InstanceBlockDeviceMapping.map((objEC2InstanceBlockDeviceMapping: EC2InstanceBlockDeviceMapping): EC2Snapshot => {

        let objEC2EbsInstanceBlockDevice: EC2EbsInstanceBlockDevice = objEC2InstanceBlockDeviceMapping.getEbs();

        let strVolumeId: string = objEC2EbsInstanceBlockDevice.getVolumeId();

        let objEC2Snapshot: EC2Snapshot = this.EC2SnapshotCreate(objAWSClient, strVolumeId, strDescription);

        return objEC2Snapshot;
    });

    return arrEC2Snapshot;
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like