[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Proposal 3: Add snmp-method statement to class.



The snmp-method statement may be used repeatedly to identify methods
supported for that class that are implemented as a side-effect of an SNMP
SET. Here is the general form of the statement:

snmp-method methodName {
	trigger-attr attrName;	// required
      trigger-val val;		// required
	args (attr1, attr2);
	optional-args (attr3);
	result resultAttr {	// can be specified repeatedly
		success val1;		// can be specified repeatedly
		error val3;			// can be specified repeatedly
		in-progress val4;		// can be specified repeatedly
	};
	status current;
	description 		// required
		"This is a description of the method.";
	reference
		"";
};

Only the trigger-attr, trigger-val and description statements must be
present. Note that the results of an operation may be returned in multiple
attributes, each which will have a result statement. Generally one result
attribute will have values that reflect success, error, or that the method
is in-progress. There may be multiple return codes for each of these result
types, so these statements can also be used repeatedly.

Example:

class interface {
	//...
	snmp-method enable {
		trigger-attr adminStatus;
		trigger-val up;
		result operStatus {
			success up;
			error down;
		};
		description
			"Enable the interface. There may be a delay before the operStatus
transitions to 'up'.";
	};
	//...
};

Note that create and destroy are two methods that can be described this way.
In a create, the args statement gives us the equivalent of
"CREATE-REQUIRES".