def METHOD_NAME() -> Plugin:
    return Plugin(
        start=False,
        spec=Spec(
            module=__name__,
            className=ReshapePayloadAction.__name__,
            inputs=["payload"],
            outputs=['payload', 'error'],
            init={"value": "{}", "default": True},
            form=Form(groups=[
                FormGroup(
                    name="Create payload object",
                    fields=[
                        FormField(
                            id="value",
                            name="Object to inject",
                            description="Provide object as JSON to be injected into payload and returned "
                                        "on output port.",
                            component=FormComponent(type="json", props={"label": "object", "autocomplete": True})
                        ),
                        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="reshape_payload_action",
            version='0.8.0',
            license="MIT",
            author="Risto Kowaczewski"
        ),
        metadata=MetaData(
            name='Inject payload',
            desc='Creates new payload from provided data. Configuration defines where the data should be copied.',
            icon='json',
            group=["Input/Output"],
            tags=['reshape', 'create', 'payload', 'data', 'make'],
            purpose=['collection', 'segmentation'],
            documentation=Documentation(
                inputs={
                    "payload": PortDoc(desc="This port takes any JSON-like object.")
                },
                outputs={
                    "payload": PortDoc(desc="This port returns new payload,formed from given payload"
                                            " according to configuration.")
                }
            )
        )
    )