docs: def cli(env, **kwargs):
      """Order/create a dedicated host."""
      mgr = SoftLayer.DedicatedHostManager(env.client)
  
      order = {
          'hostname': kwargs['hostname'],
          'domain': kwargs['domain'],
          'flavor': kwargs['flavor'],
          'location': kwargs['datacenter'],
          'hourly': kwargs.get('billing') == 'hourly',
      }
  
      if kwargs['router']:
          order['router'] = kwargs['router']
  
      do_create = not (kwargs['export'] or kwargs['verify'])
  
      output = None
  
      result = mgr.verify_order(**order)
      table = formatting.Table(['Item', 'cost'])
      table.align['Item'] = 'r'
      table.align['cost'] = 'r'
      if len(result['prices']) != 1:
          raise exceptions.ArgumentError("More than 1 price was found or no "
                                         "prices found")
      price = result['prices']
      if order['hourly']:
          total = float(price[0].get('hourlyRecurringFee', 0.0))
      else:
          total = float(price[0].get('recurringFee', 0.0))
  
      if order['hourly']:
          table.add_row(['Total hourly cost', "%.2f" % total])
      else:
          table.add_row(['Total monthly cost', "%.2f" % total])
  
      output = []
      output.append(table)
      output.append(formatting.FormattedItem(
          '',
          ' -- ! Prices reflected here are retail and do not '
          'take account level discounts and are not guaranteed.'))
  
      if kwargs['export']:
          export_file = kwargs.pop('export')
          template.export_to_template(export_file, kwargs,
                                      exclude=['wait', 'verify'])
          env.fout('Successfully exported options to a template file.')
  
      if do_create:
          if not env.skip_confirmations and not formatting.confirm(
                  "This action will incur charges on your account. "
                  "Continue?"):
              raise exceptions.CLIAbort('Aborting dedicated host order.')
  
          result = mgr.place_order(**order)
  
          table = formatting.KeyValueTable(['name', 'value'])
          table.align['name'] = 'r'
          table.align['value'] = 'l'
          table.add_row(['id', result['orderId']])
          table.add_row(['created', result['orderDate']])
          output.append(table)
  
      env.fout(output)