def METHOD_NAME() -> Plugin:
    return Plugin(
        start=False,
        spec=Spec(
            module=__name__,
            className='CreateResponseAction',
            inputs=["payload"],
            outputs=['payload'],
            init={"key": "", "body": "{}", "default": True},
            form=Form(groups=[
                FormGroup(
                    name="Create response object",
                    fields=[
                        FormField(
                            id="key",
                            name="Response key name",
                            description="Type response key name. This is any non-spaced string that will identify the "
                                        "response data, e.g. user_name",
                            component=FormComponent(type="text", props={"label": "Key"})
                        ),
                        FormField(
                            id="body",
                            name="Response object",
                            description="Provide object as JSON to be injected into response and returned "
                                        "on output port.",
                            component=FormComponent(type="json", props={"label": "Response object"})
                        ),
                        FormField(
                            id="default",
                            name="Missing values equal null",
                            description="Values that are missing will become null",
                            component=FormComponent(type="bool", props={"label": "Make missing values equal to null"})
                        )
                    ]
                ),
            ]),
            manual="create_response_action",
            version='0.7.2',
            license="MIT",
            author="Risto Kowaczewski"
        ),
        metadata=MetaData(
            name='Create response',
            desc='Creates new response from provided data. Configuration defines where the data should be copied.',
            icon='json',
            group=["Data processing"],
            tags=['reshape', 'create', 'data', 'new'],
            documentation=Documentation(
                inputs={
                    "payload": PortDoc(desc="This port takes any JSON-like object.")
                },
                outputs={
                    "payload": PortDoc(desc="This port returns new payload the same as response.")
                }
            )
        )
    )