def METHOD_NAME() -> Plugin:
    return Plugin(
        start=False,
        spec=Spec(
            module='tracardi.process_engine.action.v1.consents.add_consent_action.plugin',
            className='ConsentAdder',
            inputs=["payload"],
            outputs=['payload'],
            version='0.6.3',
            license="MIT",
            author="Dawid Kruk",
            init={
                "consents": None
            },
            manual="add_consents_action",
            form=Form(
                groups=[
                    FormGroup(
                        name="Consent data reference",
                        description="Please configure the reference to the event property that hold an information on "
                                    "granted consents.",
                        fields=[
                            FormField(
                                id="consents",
                                name="Reference to consents",
                                description="Select the reference path to consents. The most possible use-case is when "
                                            "customer grants consents by filling a form. This data is sent to Tracardi as "
                                            "an event with properties set to granted consents. We need a reference path to "
                                            "this data.",
                                component=FormComponent(
                                    type="forceDotPath",
                                    props={
                                        "defaultSourceValue": "event"
                                    })
                            )
                        ]
                    ),
                ]),
        ),
        metadata=MetaData(
            name='Add consent',
            desc='This plugin adds consents to profile.',
            icon='consent',
            group=["Consents"],
            documentation=Documentation(
                inputs={
                    "payload": PortDoc(desc="This port takes any payload object.")
                },
                outputs={
                    "payload": PortDoc(desc="This port returns given payload without any changes.")
                }
            )
        )
    )