docs: def cli(env, storage_type, size, iops, tier,
          location, snapshot_size, service_offering, billing):
      """Order a file storage volume.
  
      Valid size and iops options can be found here:
      https://console.bluemix.net/docs/infrastructure/FileStorage/index.html#provisioning
      """
      file_manager = SoftLayer.FileStorageManager(env.client)
      storage_type = storage_type.lower()
  
      hourly_billing_flag = False
      if billing.lower() == "hourly":
          hourly_billing_flag = True
  
      if service_offering != 'storage_as_a_service':
          click.secho('{} is a legacy storage offering'.format(service_offering), fg='red')
          if hourly_billing_flag:
              raise exceptions.CLIAbort(
                  'Hourly billing is only available for the storage_as_a_service service offering'
              )
  
      if storage_type == 'performance':
          if iops is None:
              raise exceptions.CLIAbort('Option --iops required with Performance')
  
          if service_offering == 'performance' and snapshot_size is not None:
              raise exceptions.CLIAbort(
                  '--snapshot-size is not available for performance service offerings. '
                  'Use --service-offering storage_as_a_service'
              )
  
          try:
              order = file_manager.order_file_volume(
                  storage_type=storage_type,
                  location=location,
                  size=size,
                  iops=iops,
                  snapshot_size=snapshot_size,
                  service_offering=service_offering,
                  hourly_billing_flag=hourly_billing_flag
              )
          except ValueError as ex:
              raise exceptions.ArgumentError(str(ex))
  
      if storage_type == 'endurance':
          if tier is None:
              raise exceptions.CLIAbort(
                  'Option --tier required with Endurance in IOPS/GB [0.25,2,4,10]'
              )
  
          try:
              order = file_manager.order_file_volume(
                  storage_type=storage_type,
                  location=location,
                  size=size,
                  tier_level=float(tier),
                  snapshot_size=snapshot_size,
                  service_offering=service_offering,
                  hourly_billing_flag=hourly_billing_flag
              )
          except ValueError as ex:
              raise exceptions.ArgumentError(str(ex))
  
      if 'placedOrder' in order.keys():
          click.echo("Order #{0} placed successfully!".format(
              order['placedOrder']['id']))
          for item in order['placedOrder']['items']:
              click.echo(" > %s" % item['description'])
      else:
          click.echo("Order could not be placed! Please verify your options and try again.")