Correct Answer - D.
While creating Custom actions with AWS CodePipeline, a Job worker needs to be created on any device which has access to the Public endpoint for AWS CodePipeline.
Option A & B are incorrect as a Custom Worker is not a valid option.
Option C is incorrect as Job worker needs access to the public endpoint for AWS CodePipeline & not to the private endpoint.
For more information on creating a Job Worker with AWS CodePipeline, refer to the following URL-
https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-create-custom-action.html#actions-create-custom-action-job-worker
To add a custom action in AWS CodePipeline, the development team needs to create a custom worker or a job worker with access to the appropriate endpoint for AWS CodePipeline. A custom action in AWS CodePipeline allows users to perform additional actions beyond the built-in actions, such as running custom tests or deploying code to a specific environment.
In this scenario, the development team needs to create a test before the Deploy Stage to ensure that there are no bugs in the source code. This means that they need to add a custom action in AWS CodePipeline to run the test.
To create a custom action in AWS CodePipeline, the team needs to create a custom worker or a job worker with access to the appropriate endpoint for AWS CodePipeline. The endpoint they need access to depends on whether they want to create a custom action for the source stage or the deploy stage.
In this case, the team needs to create a custom action before the deploy stage. Therefore, they need to create a job worker with access to the private endpoint for AWS CodePipeline (Option C).
Option A (creating a custom worker with access to the public endpoint for AWS CodePipeline) is not a valid option because the public endpoint for AWS CodePipeline is not secure and should not be used for accessing sensitive resources.
Option B (creating a custom worker with access to the private endpoint for AWS CodePipeline) is also not a valid option because a custom worker is not needed for this scenario. A job worker is sufficient to create a custom action in AWS CodePipeline.
Option D (creating a job worker with access to the public endpoint for AWS CodePipeline) is not a valid option because the public endpoint for AWS CodePipeline is not secure and should not be used for accessing sensitive resources.
Therefore, the correct answer is Option C (create a job worker with access to the private endpoint for AWS CodePipeline).