def _find_subnets(subnet_name=None, vpc_id=None, cidr=None, tags=None, conn=None):
 if (not any(subnet_name, tags, cidr)):
  raise SaltInvocationError('At least one of the following must be specified: subnet_name, cidr or tags.')
 filter_parameters = {'filters': {}}
 if cidr:
  filter_parameters['filters']['cidr'] = cidr
 if subnet_name:
  filter_parameters['filters']['tag:Name'] = subnet_name
 if vpc_id:
  filter_parameters['filters']['VpcId'] = vpc_id
 if tags:
  for (tag_name, tag_value) in six.iteritems(tags):
   filter_parameters['filters']['tag:{0}'.format(tag_name)] = tag_value
 subnets = conn.get_all_subnets(**filter_parameters)
 log.debug('The filters criteria {0} matched the following subnets: {1}'.format(filter_parameters, subnets))
 if subnets:
  return [subnet.id for subnet in subnets]
 else:
  return False

def _find_subnets ( subnet_name = None , vpc_id = None , cidr = None , tags = None , conn = None ) : if ( not any ( subnet_name , tags , cidr ) ) : raise SaltInvocationError ( 'At least one of the following must be specified: subnet_name, cidr or tags.' ) filter_parameters = { 'filters' : { } } if cidr : filter_parameters [ 'filters' ] [ 'cidr' ] = cidr if subnet_name : filter_parameters [ 'filters' ] [ 'tag:Name' ] = subnet_name if vpc_id : filter_parameters [ 'filters' ] [ 'VpcId' ] = vpc_id if tags : for ( tag_name , tag_value ) in six . iteritems ( tags ) : filter_parameters [ 'filters' ] [ 'tag:{0}' . format ( tag_name ) ] = tag_value subnets = conn . get_all_subnets ( ** filter_parameters ) log . debug ( 'The filters criteria {0} matched the following subnets: {1}' . format ( filter_parameters , subnets ) ) if subnets : return [ subnet . id for subnet in subnets ] else : return False
given subnet properties .