### Description

The Amazon Airflow Provider lacks operators for "Reboot Instance" and "Hibernate Instance," two states available in the AWS UI. Achieving feature parity would provide a seamless experience, aligning Airflow with AWS capabilities.

I'd like to see the EC2RebootInstanceOperator and EC2HibernateInstanceOperator added to Amazon Provider.

### Use case/motivation

This enhancement ensures users can manage EC2 instances in Airflow the same way they do in the AWS UI.

### Related issues

_No response_

### Are you willing to submit a 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)

"""
    Terminate EC2 Instances using boto3.
    .. seealso::
        For more information on how to use this operator, take a look at the guide:
        :ref:`howto/operator:EC2TerminateInstanceOperator`
    :param instance_id: ID of the instance to be terminated.
    :param aws_conn_id: AWS connection to use
    :param region_name: AWS region name associated with the client.
    :param poll_interval: Number of seconds to wait before attempting to
        check state of instance. Only used if wait_for_completion is True. Default is 20.
    :param max_attempts: Maximum number of attempts when checking state of instance.
        Only used if wait_for_completion is True. Default is 20.
    :param wait_for_completion: If True, the operator will wait for the instance to be
        in the `terminated` state before returning.
    """
    template_fields: Sequence[str] = ("instance_ids", "region_name", "aws_conn_id", "wait_for_completion")
    def __init__(