code: async def create(
              cls, *, type: str,
              power_address: str,
              power_user: str = None,
              power_pass: str = None,
              name: str = None,
              zone: typing.Union[str, Zone] = None,
              tags: typing.Sequence[str] = None):
          
          params = remove_None({
              'type': type,
              'power_address': power_address,
              'power_user': power_user,
              'power_pass': power_pass,
              'name': name,
              'tags': tags,
          })
          if type == 'rsd' and power_user is None:
              message = "'power_user' is required for pod type `rsd`"
              raise OperationNotAllowed(message)
          if type == 'rsd' and power_pass is None:
              message = "'power_pass' is required for pod type `rsd`"
              raise OperationNotAllowed(message)
          if zone is not None:
              if isinstance(zone, Zone):
                  params["zone"] = zone.name
              elif isinstance(zone, str):
                  params["zone"] = zone
              else:
                  raise TypeError(
                      "zone must be a str or Zone, not %s" % type(zone).__name__)
          return cls._object(await cls._handler.create(**params))
docs: Create a `Pod` in MAAS.
  
          :param type: Type of pod to create (rsd, virsh) (required).
          :type name: `str`
          :param power_address: Address for power control of the pod (required).
          :type power_address: `str`
          :param power_user: User for power control of the pod
              (required for rsd).
          :type power_user: `str`
          :param power_pass: Password for power control of the pod
              (required for rsd).
          :type power_pass: `str`
          :param name: Name for the pod (optional).
          :type name: `str`
          :param zone: Name of the zone for the pod (optional).
          :type zone: `str` or `Zone`
          :param tags: A tag or tags (separated by comma) for the pod.
          :type tags: `str`
          :returns: The created Pod.
          :rtype: `Pod`