@@ -41,6 +41,8 @@ public EC2GroupFilterSet()
4141 filterTypes .put ( "ip-permission.from-port" , "string" );
4242 filterTypes .put ( "ip-permission.to-port" , "string" );
4343 filterTypes .put ( "ip-permission.protocol" , "string" );
44+ filterTypes .put ( "ip-permission.group-name" ,"string" );
45+ filterTypes .put ( "ip-permission.user-id" , "string" );
4446 filterTypes .put ( "owner-id" , "string" );
4547 }
4648
@@ -126,7 +128,7 @@ private boolean ipPermissionFilterMatched( EC2SecurityGroup sg, List<EC2Filter>
126128 EC2IpPermission [] permissionSet = sg .getIpPermissionSet ();
127129
128130 for (EC2IpPermission perm : permissionSet ) {
129- boolean matched = true ;
131+ boolean matched = false ;
130132 for (EC2Filter filter : ipPermissionFilterSet ) {
131133 String filterName = filter .getName ();
132134 String [] valueSet = filter .getValueSet ();
@@ -144,6 +146,24 @@ else if (filterName.equalsIgnoreCase( "ip-permission.from-port" )) {
144146 matched = containsString ( perm .getToPort ().toString (), valueSet );
145147 } else if (filterName .equalsIgnoreCase ( "ip-permission.protocol" ))
146148 matched = containsString ( perm .getProtocol (), valueSet );
149+ else if (filterName .equalsIgnoreCase ( "ip-permission.group-name" )) {
150+ EC2SecurityGroup [] userSet = perm .getUserSet ();
151+ for (EC2SecurityGroup user : userSet ) {
152+ if (containsString (user .getName (), valueSet )) {
153+ matched = true ;
154+ break ;
155+ }
156+ }
157+ }
158+ else if (filterName .equalsIgnoreCase ( "ip-permission.user-id" )){
159+ EC2SecurityGroup [] userSet = perm .getUserSet ();
160+ for (EC2SecurityGroup user : userSet ) {
161+ if (containsString (user .getAccountName (), valueSet )) {
162+ matched = true ;
163+ break ;
164+ }
165+ }
166+ }
147167 if (!matched ) break ;
148168 }
149169 if (matched ) return true ;
0 commit comments