public ImmutableList<InstanceInfo> getInstancesWithMetadata(String...metadataQueryPairs) {
        checkArgument(metadataQueryPairs.length > 0, "No metadata query pairs specified");
        checkArgument(metadataQueryPairs.length % 2 == 0, "Odd number of arguments passed as metadata query pairs");
                
        return getInstancesWithMetadata(toMap(metadataQueryPairs));
    }
public ImmutableList < InstanceInfo > getInstancesWithMetadata ( String ... metadataQueryPairs ) { checkArgument ( metadataQueryPairs . length > 0 , "No metadata query pairs specified" ) ; checkArgument ( metadataQueryPairs . length % 2 == 0 , "Odd number of arguments passed as metadata query pairs" ) ; return getInstancesWithMetadata ( toMap ( metadataQueryPairs ) ) ; }
Retrieve information about all online instances matching the given metadata query from the Conqueso Server.
The metadata query is expressed as key/value pairs. For example, calling this method like this:
<p>
<code>
conquesoClient.getInstancesWithMetadata("availability-zone", "us-east-1c", "instance-type", "m1.small");
</code>
</p>
will return all instances with metadata that matches availability-zone=us-east-1c and instance-type=m1.small.

@param metadataQueryPairs the key/value pairs representing a query for instances matching the metadata
@return the information about the matching instances
@throws ConquesoCommunicationException if there's an error communicating with the Conqueso Server.