public SecurityGroupRulesCmd( final String guestIp, final String guestIp6, final String guestMac, final String vmName, final Long vmId, final String signature, final Long seqNum, final IpPortAndProto[] ingressRuleSet, final IpPortAndProto[] egressRuleSet, final List<String> secIps) { this.guestIp = guestIp; this.guestIp6 = guestIp6; this.vmName = vmName; setIngressRuleSet(ingressRuleSet); this.setEgressRuleSet(egressRuleSet); this.guestMac = guestMac; this.seqNum = seqNum; this.vmId = vmId; if (signature == null) { final String stringified = stringifyRules(); this.signature = DigestUtils.md5Hex(stringified); } else { this.signature = signature; } this.secIps = secIps; }