def METHOD_NAME(self, profile_name, profile_owner, s3_bucket, s3_key, s3_target_prefix, s3_version):
    """
    Initiates code signing job and returns the initiated jobId
    Raises exception if initiation fails
    """
    try:
        param_source = {"s3": {"bucketName": s3_bucket, "key": s3_key, "version": s3_version}}
        param_destination = {"s3": {"bucketName": s3_bucket, "prefix": s3_target_prefix}}
        # start_signing_job doesn't accept default value for owner
        # for that reason check if owner is valid
        if profile_owner:
            sign_response = self.signer_client.start_signing_job(
                source=param_source,
                destination=param_destination,
                profileName=profile_name,
                profileOwner=profile_owner,
            )
        else:
            sign_response = self.signer_client.start_signing_job(
                source=param_source,
                destination=param_destination,
                profileName=profile_name,
            )
        signing_job_id = sign_response.get("jobId")
        LOG.info("Initiated code signing job %s", signing_job_id)
        code_sign_job_id = signing_job_id
    except Exception as e:
        LOG.error("Initiating job signing job has failed", exc_info=e)
        raise CodeSigningInitiationException("Initiating job signing job has failed") from e
    return code_sign_job_id