def set_monthly(self, interval, *, day_of_month=None, days_of_week=None,<EOL>index=None, **kwargs):
if not day_of_month and not days_of_week:<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>if day_of_month and days_of_week:<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>self.set_daily(interval, **kwargs)<EOL>if day_of_month:<EOL><INDENT>self.__day_of_month = day_of_month<EOL><DEDENT>elif days_of_week:<EOL><INDENT>self.__days_of_week = set(days_of_week)<EOL>if index:<EOL><INDENT>self.__index = index<EOL><DEDENT><DEDENT>
Set to repeat every month on specified days for every x no. of days

        :param int interval: no. of days to repeat at
        :param int day_of_month: repeat day of a month
        :param list[str] days_of_week: list of days of the week to repeat
        :param index: index
        :keyword date start: Start date of repetition (kwargs)
        :keyword date end: End date of repetition (kwargs)
        :keyword int occurrences: no of occurrences (kwargs)