code: async def input(dev: Device, input, output):
      
      inputs = await dev.get_inputs()
      if input:
          click.echo("Activating %s" % input)
          try:
              input = next((x for x in inputs if x.title == input))
          except StopIteration:
              click.echo("Unable to find input %s" % input)
              return
          zone = None
          if output:
              zone = await dev.get_zone(output)
              if zone.uri not in input.outputs:
                  click.echo("Input %s not valid for zone %s" % (input.title, output))
                  return
  
          await input.activate(zone)
      else:
          click.echo("Inputs:")
          for input in inputs:
              act = False
              if input.active:
                  act = True
              click.echo("  * " + click.style(str(input), bold=act))
              for out in input.outputs:
                  click.echo("    - %s" % out)
docs: Get and change outputs.