Function: AWS EC2 Ip Permission Build

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 Ip Permission

Public Function: EC2IpPermissionBuildIpv4

public EC2IpPermissionBuildIpv4(strIpProtocol: "tcp" | "udp" | "icmp" | "icmpv6", intPortTo?: number, intPortFrom?: number, strEC2IpRangeCidrIp?: string, strEC2IpRangeDescription?: string, strEC2Ipv6RangeCidrIpv6?: string, strEC2Ipv6RangeDescription?: string): EC2IpPermission {

    let objEC2IpPermission: EC2IpPermission = this.EC2IpPermissionBuild(strIpProtocol, intPortTo, intPortFrom);

    if (strEC2IpRangeCidrIp && strEC2IpRangeDescription) {
        let objEC2IpRange: EC2IpRange = new EC2IpRange();
        objEC2IpRange.setCidrIp(strEC2IpRangeCidrIp);
        objEC2IpRange.setDescription(strEC2IpRangeDescription);

        let arrEC2IpRange: EC2IpRange[] = [];
        arrEC2IpRange.push(objEC2IpRange);

        objEC2IpPermission.setIpv4Ranges(arrEC2IpRange);
    }

    return objEC2IpPermission;
}

Public Function: EC2IpPermissionBuildIpv6

public EC2IpPermissionBuildIpv6(strIpProtocol: "tcp" | "udp" | "icmp" | "icmpv6", intPortTo?: number, intPortFrom?: number, strEC2Ipv6RangeCidrIpv6?: string, strEC2Ipv6RangeDescription?: string): EC2IpPermission {

    let objEC2IpPermission: EC2IpPermission = this.EC2IpPermissionBuild(strIpProtocol, intPortTo, intPortFrom);

    if (strEC2Ipv6RangeCidrIpv6 && strEC2Ipv6RangeDescription) {
        let objEC2Ipv6Range: EC2Ipv6Range = new EC2Ipv6Range();
        objEC2Ipv6Range.setCidrIpv6(strEC2Ipv6RangeCidrIpv6);
        objEC2Ipv6Range.setDescription(strEC2Ipv6RangeDescription);

        let arrEC2Ipv6Range: EC2Ipv6Range[] = [];
        arrEC2Ipv6Range.push(objEC2Ipv6Range);

        objEC2IpPermission.setIpv6Ranges(arrEC2Ipv6Range);
    }

    return objEC2IpPermission;
}

Private Function: EC2IpPermissionBuild

private EC2IpPermissionBuild(strIpProtocol: "tcp" | "udp" | "icmp" | "icmpv6", intPortTo?: number, intPortFrom?: number): EC2IpPermission {

    let objEC2IpPermission: EC2IpPermission = new EC2IpPermission();
    objEC2IpPermission.setIpProtocol(strIpProtocol);

    if (intPortFrom) {
        objEC2IpPermission.setFromPort(intPortFrom);
    }

    if (intPortTo) {
        objEC2IpPermission.setToPort(intPortTo);
    }

    return objEC2IpPermission;
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like