MAAS constraints when using Juju

Hello,

Iḿ trying to understand more how to specify machine tags, zones, and pools when deploying applications using Juju.

We have something similar to this in our bundle.yaml that we juju deploy ./bundle.yaml:

applications:
    foo:
        charm: foo
        constraints: tags=foo,bar,^bla zones=a-1

I want to understand more about these constraints:

  1. tags=foo,bar means: " match machines with tag foo AND bar"?
  2. how do I specify an OR between tags? For example: "match machines with tag FOO OR bar"? Can I use tags=foo|bar?
  3. how do I specify a more complex constraint, like: "(foo OR bar) AND (bla) AND NOT (x) "?
  4. what are the constrains that I set/request when using Juju? i know I can specify MAAS tags and zones, can I also specify a pool and fabric vlan? What is the syntax for that?
  5. when specifying multiple constraints, they are all “joined” with a boolean AND?

Thank you,
Heitor