code: def _build_argspec(self):
          
          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
docs: 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)