def _generate_structure_shape()

in botogen/botogen/gen.py [0:0]


    def _generate_structure_shape(self, shape_model):
        class_name = self._class_name + shape_model.name
        shape = StructureShape(shape_model.name, class_name, {}, {})

        # The structure shape is directly added to the cached shapes before it
        # has its members generated to head of recursion errors.
        self._shapes[shape_model.name] = shape

        for member_name, member_model in shape_model.members.items():
            member_shape = self._generate_shape(member_model)
            if member_name in shape_model.required_members:
                shape.required_params[member_name] = member_shape
            else:
                shape.optional_params[member_name] = member_shape

        return shape