{% for method in swagger_data.crud %}
{% if 'param' in swagger_data.attr_classes_crud[method] %}
{% if 'response' in swagger_data.attr_classes_crud[method] %}
- (BOOL){{method}}{{swagger_data.name|class_name_syntax}}With:(IoT{{(swagger_data.attr_classes_crud[method])["param"]|class_name_syntax}}Attr *)attr
                completion:(void(^)(IoT{{(swagger_data.attr_classes_crud[method])["response"]|class_name_syntax}}Attr * outAttr, BOOL success))completion
                completionQueue:(dispatch_queue_t)completionQueue;
{% else %}
- (BOOL){{method}}{{swagger_data.name|class_name_syntax}}With:(IoT{{(swagger_data.attr_classes_crud[method])["param"]|class_name_syntax}}Attr *)attr
                completion:(void(^)(BOOL success))completion
                completionQueue:(dispatch_queue_t)completionQueue;
{% endif %}
{% else %}
{% if 'response' in swagger_data.attr_classes_crud[method] %}
- (BOOL){{method}}{{swagger_data.name|class_name_syntax}}WithCompletion:(void(^)(IoT{{(swagger_data.attr_classes_crud[method])["response"]|class_name_syntax}}Attr *outAttr, BOOL success))completion
                completionQueue:(dispatch_queue_t)completionQueue;
{% else %}
- (BOOL){{method}}{{swagger_data.name|class_name_syntax}}WithCompletion:(void(^)(BOOL success))completion
                completionQueue:(dispatch_queue_t)completionQueue;
{% endif %}
{% endif %}
{% endfor %}

