### Apache Airflow Provider(s)

amazon

### Versions of Apache Airflow Providers



apache-airflow-providers-amazon | 2.4.0

### Apache Airflow version

2.2.3 (latest released)

### Operating System

Amazon Linux 2

### Deployment

MWAA

### Deployment details

_No response_

### What happened

Sagemaker Processing Operator no longer honors the `action_if_job_exists` param and always fails creation of a new processing job is a job with the name already exists. 

This happens because in a recent change, the function responsible for executing the job no longer honors the increment setting:

Change that breaks the increment: https://github.com/apache/airflow/commit/96dd70348ad7e31cfeae6d21af70671b41551fe9

New code: https://github.com/apache/airflow/blob/6734eb1d09a99dc519e89a59e2086cef09a87098/airflow/providers/amazon/aws/operators/sagemaker.py#L167

  

### What you expected to happen

When Sagemaker Processing operator is called with a job-name that already exists, the job creation should succeed with a name that is incremented by 1.   

### How to reproduce

invoke SageMakerProcessingOperator twice with the same job name while keeping action_if_job_exists as 'increment'.   

### Anything else

_No response_

### Are you willing to submit PR?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

positions.update(
                    [(s, Position(timestamp=0, skip=0)) for s in stream_names if s not in positions]
                )
            except logs_conn.exceptions.ResourceNotFoundException:
                
                
                pass
        if len(stream_names) > 0:
            for idx, event in self.multi_stream_iter(log_group, stream_names, positions):
                self.log.info(event["message"])
                ts, count = positions[stream_names[idx]]
                if event["timestamp"] == ts:
                    positions[stream_names[idx]] = Position(timestamp=ts, skip=count + 1)
                else:
                    positions[stream_names[idx]] = Position(timestamp=event["timestamp"], skip=1)
        if state == LogState.COMPLETE:
            return state, last_description, last_describe_job_call
        if state == LogState.JOB_COMPLETE:
            state = LogState.COMPLETE
        elif time.monotonic() - last_describe_job_call >= 30:
            description = self.describe_training_job(job_name)
            last_describe_job_call = time.monotonic()
            if secondary_training_status_changed(description, last_description):
                self.log.info(secondary_training_status_message(description, last_description))
                last_description = description
            status = description["TrainingJobStatus"]
            if status not in self.non_terminal_states:
                state = LogState.JOB_COMPLETE
        return state, last_description, last_describe_job_call
    def describe_tuning_job(self, name: str) -> dict: