module rock {
    namespace "http://example.net/rock";
    prefix "rock";

    rpc rock-the-house {
        description "description";
        status current;
        reference "reference";
        input {
            leaf zip-code {
                type string;
            }
             grouping creative {
                leaf carry {
                    type string;
                }
             }
        }
        output {
             leaf status {
                 type string;
             }
	     grouping creative {
	        list valid {
        	    key invalid-interval;
    		    leaf invalid-interval {
        	        type "uint16";
    		    }
	        }
             }
             typedef my-type {
                 status deprecated;
                 type int32;
             }
             uses creative;
        }
    }
}
