in footmark/ess/connection.py [0:0]
def build_filter_params(self, params, filters):
if not isinstance(filters, dict):
return
flag = 1
for key, value in list(filters.items()):
acs_key = key
if acs_key.startswith('tag:'):
while ('set_Tag%dKey' % flag) in params:
flag += 1
if flag < 6:
params['set_Tag%dKey' % flag] = acs_key[4:]
params['set_Tag%dValue' % flag] = filters[acs_key]
flag += 1
continue
if key == 'group_id':
if not value.startswith('sg-') or len(value) != 12:
warnings.warn("The group-id filter now requires a security group "
"identifier (sg-*) instead of a security group ID. "
"The group-id " + value + "may be invalid.",
UserWarning)
params['set_SecurityGroupId'] = value
continue
if not isinstance(value, dict):
acs_key = ''.join(s.capitalize() for s in acs_key.split('_'))
params['set_' + acs_key] = value
continue
self.build_filters_params(params, value)