code: function propertySpec(args) {
  		
  		// create a basic specification
  		var spec = {
  			attributes: {
  				'xsi:type': 'PropertySpec'
  			},
  			type: args.type
  		};
  		
  		// if an array of properties was passed, validate the properties
  		if (Array.isArray(args.properties) && args.properties.length > 0) {
  			var validPaths = util.filterValidPaths(args.type, args.properties, args.apiVersion);
  			
  			if (validPaths.length > 0) {
  				spec.pathSet = validPaths;
  			}
  		}
  		
  		// if the properties is a string literal "all"
  		else if (args.properties === 'all') {
  			spec.all = true;
  		}
  		
  		// return the specification
  		return [spec];
  	}
docs: new property spec