docs: def traffic(stack_name: str,
              stack_version: Optional[str],
              percentage: Optional[int],
              region: Optional[str],
              remote: Optional[str],
              output: Optional[str]):
      '''Manage stack traffic'''
      lizzy = setup_lizzy_client(remote)
  
      if percentage is None:
          stack_reference = [stack_name]
  
          with Action('Requesting traffic info..'):
              stack_weights = []
              for stack in lizzy.get_stacks(stack_reference, region=region):
                  if stack['status'] in ['CREATE_COMPLETE', 'UPDATE_COMPLETE']:
                      stack_id = '{stack_name}-{version}'.format_map(stack)
                      traffic = lizzy.get_traffic(stack_id, region=region)
                      stack_weights.append({
                          'stack_name': stack_name,
                          'version': stack['version'],
                          'identifier': stack_id,
                          'weight%': traffic['weight']
                      })
          cols = 'stack_name version identifier weight%'.split()
          with OutputFormat(output):
              print_table(cols,
                          sorted(stack_weights, key=lambda x: x['identifier']))
      else:
          with Action('Requesting traffic change..'):
              stack_id = '{stack_name}-{stack_version}'.format_map(locals())
              lizzy.traffic(stack_id, percentage, region=region)