docs: def _build_argspec(self):
          """Builds the ansible argument spec using the fields from the schema
          definition. It's the caller's responsibility to add any arguments which
          are not defined in the schema (e.g. login parameters)
          """
          fields = self.manager._schema.fields
          argspec = {}
  
          for (field_name, field) in six.iteritems(fields):
              # Readonly fields are omitted, obviously
              if field.get('readonly', False):
                  continue
  
              argspec_field = {'required': field.get('required', False)}
  
              # Set the name of the argument as the `altname` if it's specified.
              # Otherwise, use the same name as the API does.
              if field['altname']:
                  name = field['altname']
              else:
                  name = field_name
  
              argspec[name] = argspec_field
  
          return argspec