### Apache Airflow Provider(s)

amazon

### Versions of Apache Airflow Providers

_No response_

### Apache Airflow version

2.5.0

### Operating System

MacOS

### Deployment

Virtualenv installation

### Deployment details

AWS Lambda in Amazon provider package do not follow the convention #20296. Hook, operators and sensors related to AWS lambda need to be renamed to follow this convention. Here are the proposed changes in order to fix it:
- Rename `airflow/providers/amazon/aws/operators/lambda_function.py` to `airflow/providers/amazon/aws/operators/lambda.py`
- Rename `airflow/providers/amazon/aws/sensors/lambda_function.py` to `airflow/providers/amazon/aws/sensors/lambda.py`
- Rename `airflow/providers/amazon/aws/hooks/lambda_function.py` to `airflow/providers/amazon/aws/hooks/lambda.py`
- Rename `AwsLambdaInvokeFunctionOperator` to `LambdaInvokeFunctionOperator`

Since all these changes are breaking changes, it will have to be done following the deprecation pattern:
- Copy/paste the files with the new name
- Update the existing hook, operators and sensors to inherit from these new classes
- Deprecate these classes by sending deprecation warnings. See an example [here](airflow/providers/amazon/aws/operators/aws_lambda.py)

### What happened

_No response_

### What you think should happen instead

_No response_

### How to reproduce

N/A

### Anything else

_No response_

### Are you willing to submit PR?

- [ ] 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)

"""Override this method if your classes are located under different paths"""
        for resource_type in self.CLASS_DIRS:
            python_files = glob.glob(
                f"{ROOT_FOLDER}/airflow/providers/{self.PROVIDER}/**/{resource_type}/**.py", recursive=True
            )
            
            resource_files = (os.path.relpath(f, ROOT_FOLDER) for f in python_files)
            resource_files = (f for f in resource_files if not f.endswith("__init__.py"))
            yield from resource_files
    def list_of_classes(self):
        classes = {}
        for operator_file in self.class_paths():
            operators_paths = self.get_classes_from_file(f"{ROOT_FOLDER}/{operator_file}")
            classes.update(operators_paths)
        return classes
    def get_classes_from_file(self, filepath: str):
        with open(filepath) as py_file:
            content = py_file.read()
        doc_node = ast.parse(content, filepath)
        module = filepath_to_module(filepath)
        results: dict = {}
        for current_node in ast.walk(doc_node):
            if not isinstance(current_node, ast.ClassDef):
                continue
            name = current_node.name
            if not any(name.endswith(suffix) for suffix in self.CLASS_SUFFIXES):
                continue
            results[f"{module}.{name}"] = current_node
        return results
class ExampleCoverageTest(ProjectStructureTest):