ó ÆtÚ_c@sVddlmZdefd„ƒYZdefd„ƒYZdefd„ƒYZdS( iÿÿÿÿ(t defaultdicttParameterRequiredErrorcBseZRS((t__name__t __module__(((s8/opt/awscli/lib/python2.7/site-packages/awscli/schema.pyRstSchemaTransformercBsseZdZidd6dd6Zd„Zd„Zd„Zd„Zd „Zd „Z d „Z d „Z d „Z RS(sE Transforms a custom argument parameter schema into an internal model representation so that it can be treated like a normal service model. This includes shorthand JSON parsing and automatic documentation generation. The format of the schema follows JSON Schema, which can be found here: http://json-schema.org/ Only a relevant subset of features is supported here: * Types: `object`, `array`, `string`, `integer`, `boolean` * Properties: `type`, `description`, `required`, `enum` For example:: { "type": "array", "items": { "type": "object", "properties": { "arg1": { "type": "string", "required": True, "enum": [ "Value1", "Value2", "Value3" ] }, "arg2": { "type": "integer", "description": "The number of calls" } } } } Assuming the schema is applied to a service named `foo`, with an operation named `bar` and that the parameter is called `baz`, you could call it with the shorthand JSON like so:: $ aws foo bar --baz arg1=Value1,arg2=5 arg1=Value2 t structuretobjecttlisttarraycCstƒ|_dS(N(tShapeNameGeneratort _shape_namer(tself((s8/opt/awscli/lib/python2.7/site-packages/awscli/schema.pyt__init__GscCsi}|j||dƒ|S(søConvert JSON schema to the format used internally by the AWS CLI. :type schema: dict :param schema: The JSON schema describing the argument model. :rtype: dict :return: The transformed model in a form that can be consumed internally by the AWS CLI. The dictionary returned will have a list of shapes, where the shape representing the transformed schema is always named ``InputShape`` in the returned dictionary. t InputShape(t _transform(R tschematshapes((s8/opt/awscli/lib/python2.7/site-packages/awscli/schema.pyt transformJscCs­d|krtdƒ‚n|ddkrD|j||ƒ|| s