docs: def copy_course_content(self, course_id, exclude=None, only=None, source_course=None):
          """
          Copy course content.
  
          DEPRECATED: Please use the {api:ContentMigrationsController#create Content Migrations API}
          
          Copies content from one course into another. The default is to copy all course
          content. You can control specific types to copy by using either the 'except' option
          or the 'only' option.
          
          The response is the same as the course copy status endpoint
          """
          path = {}
          data = {}
          params = {}
  
          # REQUIRED - PATH - course_id
          """ID"""
          path["course_id"] = course_id
  
          # OPTIONAL - source_course
          """ID or SIS-ID of the course to copy the content from"""
          if source_course is not None:
              data["source_course"] = source_course
  
          # OPTIONAL - except
          """A list of the course content types to exclude, all areas not listed will
          be copied."""
          if exclude is not None:
              self._validate_enum(exclude, ["course_settings", "assignments", "external_tools", "files", "topics", "calendar_events", "quizzes", "wiki_pages", "modules", "outcomes"])
              data["except"] = exclude
  
          # OPTIONAL - only
          """A list of the course content types to copy, all areas not listed will not
          be copied."""
          if only is not None:
              self._validate_enum(only, ["course_settings", "assignments", "external_tools", "files", "topics", "calendar_events", "quizzes", "wiki_pages", "modules", "outcomes"])
              data["only"] = only
  
          self.logger.debug("POST /api/v1/courses/{course_id}/course_copy with query params: {params} and form data: {data}".format(params=params, data=data, **path))
          return self.generic_request("POST", "/api/v1/courses/{course_id}/course_copy".format(**path), data=data, params=params, no_data=True)