diff --git a/doc/source/specs/train/approved/2005297-negative-aggregate-membership.rst b/doc/source/specs/train/approved/2005297-negative-aggregate-membership.rst index ca4211e5e..b39b5f81b 100644 --- a/doc/source/specs/train/approved/2005297-negative-aggregate-membership.rst +++ b/doc/source/specs/train/approved/2005297-negative-aggregate-membership.rst @@ -170,6 +170,22 @@ A new microversion will be created which will update the validation for the as a prefix to the ``in:`` prefix to express that the prefixed aggregate (or the aggregates) is to be excluded from the results. +We do not return 400 if an agg UUID is found on both the positive and negative +sides of the request. For example:: + + &member_of=in:,&member_of=! + +The first member_of would return all resource_providers in either agg1 or agg2, +while the second member_of would eliminate those in agg2. The result will be a +200 containing just those resource_providers in agg1. Likewise, we do not +return 400 for cases like:: + + &member_of=&member_of=! + +As in the previous example, we return 200 with empty results, since this is a +syntactically valid request, even though a resource provider cannot be both +inside and outside of agg1 at the same time. + Security impact ---------------