docs: def volume_create_attach(name, call=None, **kwargs):
      '''
      Create and attach volumes to created node
      '''
      if call == 'function':
          raise SaltCloudSystemExit(
              'The create_attach_volumes action must be called with '
              '-a or --action.'
          )
  
      if type(kwargs['volumes']) is str:
          volumes = salt.utils.yaml.safe_load(kwargs['volumes'])
      else:
          volumes = kwargs['volumes']
  
      ret = []
      for volume in volumes:
          created = False
  
          volume_dict = {
              'name': volume['name'],
          }
          if 'volume_id' in volume:
              volume_dict['volume_id'] = volume['volume_id']
          elif 'snapshot' in volume:
              volume_dict['snapshot'] = volume['snapshot']
          else:
              volume_dict['size'] = volume['size']
  
              if 'type' in volume:
                  volume_dict['type'] = volume['type']
              if 'iops' in volume:
                  volume_dict['iops'] = volume['iops']
  
          if 'id' not in volume_dict:
              created_volume = create_volume(**volume_dict)
              created = True
              volume_dict.update(created_volume)
  
          attach = attach_volume(
              name=volume['name'],
              server_name=name,
              device=volume.get('device', None),
              call='action'
          )
  
          if attach:
              msg = (
                  '{0} attached to {1} (aka {2})'.format(
                      volume_dict['id'],
                      name,
                      volume_dict['name'],
                  )
              )
              log.info(msg)
              ret.append(msg)
      return ret