diff --git a/moto/ec2/models/instances.py b/moto/ec2/models/instances.py
--- a/moto/ec2/models/instances.py
+++ b/moto/ec2/models/instances.py
@@ -112,6 +112,7 @@ def __init__(self, ec2_backend, image_id, user_data, security_groups, **kwargs):
         self.instance_initiated_shutdown_behavior = (
             kwargs.get("instance_initiated_shutdown_behavior") or "stop"
         )
+        self.hibernation_options = kwargs.get("hibernation_options")
         self.sriov_net_support = "simple"
         self._spot_fleet_id = kwargs.get("spot_fleet_id", None)
         self._fleet_id = kwargs.get("fleet_id", None)
diff --git a/moto/ec2/responses/instances.py b/moto/ec2/responses/instances.py
--- a/moto/ec2/responses/instances.py
+++ b/moto/ec2/responses/instances.py
@@ -72,6 +72,7 @@ def run_instances(self):
                 "InstanceInitiatedShutdownBehavior"
             ),
             "launch_template": self._get_multi_param_dict("LaunchTemplate"),
+            "hibernation_options": self._get_multi_param_dict("HibernationOptions"),
         }
         if len(kwargs["nics"]) and kwargs["subnet_id"]:
             raise InvalidParameterCombination(
@@ -462,6 +463,11 @@ def _convert_to_bool(bool_str):
           <clientToken/>
           <hypervisor>xen</hypervisor>
           <ebsOptimized>false</ebsOptimized>
+          {% if instance.hibernation_options %}
+          <hibernationOptions>
+            <configured>{{ instance.hibernation_options.get("Configured") }}</configured>
+          </hibernationOptions>
+          {% endif %}
           <tagSet>
             {% for tag in instance.get_tags() %}
               <item>

Hi @ericrafalovsky, is the option to mock the `hibernation_options`-argument in `run_instances` enough for your use-case? Or is there additional logic that you'd like to see in Moto?
diff --git a/tests/test_ec2/test_instances.py b/tests/test_ec2/test_instances.py
--- a/tests/test_ec2/test_instances.py
+++ b/tests/test_ec2/test_instances.py
@@ -1128,13 +1128,21 @@ def test_run_instance_with_security_group_id():
 
 
 @mock_ec2
-def test_run_instance_with_instance_type():
+@pytest.mark.parametrize("hibernate", [True, False])
+def test_run_instance_with_additional_args(hibernate):
     ec2 = boto3.resource("ec2", region_name="us-east-1")
     instance = ec2.create_instances(
-        ImageId=EXAMPLE_AMI_ID, MinCount=1, MaxCount=1, InstanceType="t1.micro"
+        ImageId=EXAMPLE_AMI_ID,
+        MinCount=1,
+        MaxCount=1,
+        InstanceType="t1.micro",
+        Placement={"AvailabilityZone": "us-east-1b"},
+        HibernationOptions={"Configured": hibernate},
     )[0]
 
     instance.instance_type.should.equal("t1.micro")
+    instance.placement.should.have.key("AvailabilityZone").equal("us-east-1b")
+    instance.hibernation_options.should.equal({"Configured": hibernate})
 
 
 @mock_ec2
@@ -1145,19 +1153,6 @@ def test_run_instance_with_default_placement():
     instance.placement.should.have.key("AvailabilityZone").equal("us-east-1a")
 
 
-@mock_ec2
-def test_run_instance_with_placement():
-    ec2 = boto3.resource("ec2", region_name="us-east-1")
-    instance = ec2.create_instances(
-        ImageId=EXAMPLE_AMI_ID,
-        MinCount=1,
-        MaxCount=1,
-        Placement={"AvailabilityZone": "us-east-1b"},
-    )[0]
-
-    instance.placement.should.have.key("AvailabilityZone").equal("us-east-1b")
-
-
 @mock_ec2
 @mock.patch(
     "moto.ec2.models.instances.settings.EC2_ENABLE_INSTANCE_TYPE_VALIDATION",

EC2: Add support for hibernation APIs
Currently, the EC2 model does not support the APIs necessary for [instance hibernation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) such as [`hibernation_options`](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html#EC2.Instance.hibernation_options)

Version: moto 3.1.8

tests/test_ec2/test_instances.py::test_run_instance_with_additional_args[False] tests/test_ec2/test_instances.py::test_run_instance_with_additional_args[True]
tests/test_ec2/test_instances.py::test_run_instance_with_block_device_mappings_missing_ebs tests/test_ec2/test_instances.py::test_get_instances_filtering_by_tag tests/test_ec2/test_instances.py::test_run_instance_and_associate_public_ip tests/test_ec2/test_instances.py::test_modify_instance_attribute_security_groups tests/test_ec2/test_instances.py::test_run_instance_cannot_have_subnet_and_networkinterface_parameter tests/test_ec2/test_instances.py::test_create_with_volume_tags tests/test_ec2/test_instances.py::test_get_instances_filtering_by_subnet_id tests/test_ec2/test_instances.py::test_describe_instance_status_with_instances tests/test_ec2/test_instances.py::test_get_instances_filtering_by_dns_name tests/test_ec2/test_instances.py::test_filter_wildcard_in_specified_tag_only tests/test_ec2/test_instances.py::test_get_instances_filtering_by_reason_code tests/test_ec2/test_instances.py::test_get_instances_filtering_by_account_id tests/test_ec2/test_instances.py::test_describe_instance_status_no_instances tests/test_ec2/test_instances.py::test_run_instance_with_block_device_mappings_using_no_device tests/test_ec2/test_instances.py::test_get_instance_by_security_group tests/test_ec2/test_instances.py::test_create_with_tags tests/test_ec2/test_instances.py::test_instance_terminate_discard_volumes tests/test_ec2/test_instances.py::test_instance_terminate_detach_volumes tests/test_ec2/test_instances.py::test_run_instance_with_nic_preexisting tests/test_ec2/test_instances.py::test_instance_detach_volume_wrong_path tests/test_ec2/test_instances.py::test_instance_attribute_source_dest_check tests/test_ec2/test_instances.py::test_run_instance_with_nic_autocreated tests/test_ec2/test_instances.py::test_run_instance_with_block_device_mappings_from_snapshot tests/test_ec2/test_instances.py::test_get_instances_filtering_by_instance_id tests/test_ec2/test_instances.py::test_get_instances_filtering_by_tag_name tests/test_ec2/test_instances.py::test_instance_attach_volume tests/test_ec2/test_instances.py::test_get_instances_filtering_by_ni_private_dns tests/test_ec2/test_instances.py::test_describe_instance_status_with_non_running_instances tests/test_ec2/test_instances.py::test_create_instance_with_default_options tests/test_ec2/test_instances.py::test_warn_on_invalid_ami tests/test_ec2/test_instances.py::test_run_instance_with_security_group_name tests/test_ec2/test_instances.py::test_describe_instances_filter_vpcid_via_networkinterface tests/test_ec2/test_instances.py::test_get_paginated_instances tests/test_ec2/test_instances.py::test_run_instance_with_invalid_keypair tests/test_ec2/test_instances.py::test_get_instances_filtering_by_image_id tests/test_ec2/test_instances.py::test_describe_instances_with_keypair_filter tests/test_ec2/test_instances.py::test_describe_instances_dryrun tests/test_ec2/test_instances.py::test_instance_reboot tests/test_ec2/test_instances.py::test_run_instance_with_invalid_instance_type tests/test_ec2/test_instances.py::test_run_instance_with_new_nic_and_security_groups tests/test_ec2/test_instances.py::test_run_instance_with_keypair tests/test_ec2/test_instances.py::test_instance_start_and_stop tests/test_ec2/test_instances.py::test_ec2_classic_has_public_ip_address tests/test_ec2/test_instances.py::test_describe_instance_status_with_instance_filter_deprecated tests/test_ec2/test_instances.py::test_describe_instance_attribute tests/test_ec2/test_instances.py::test_terminate_empty_instances tests/test_ec2/test_instances.py::test_instance_terminate_keep_volumes_implicit tests/test_ec2/test_instances.py::test_run_instance_with_block_device_mappings tests/test_ec2/test_instances.py::test_instance_termination_protection tests/test_ec2/test_instances.py::test_create_instance_from_launch_template__process_tags tests/test_ec2/test_instances.py::test_get_instances_filtering_by_source_dest_check tests/test_ec2/test_instances.py::test_get_instances_filtering_by_architecture tests/test_ec2/test_instances.py::test_run_instance_mapped_public_ipv4 tests/test_ec2/test_instances.py::test_instance_terminate_keep_volumes_explicit tests/test_ec2/test_instances.py::test_get_instances_filtering_by_instance_type tests/test_ec2/test_instances.py::test_create_instance_ebs_optimized tests/test_ec2/test_instances.py::test_instance_launch_and_terminate tests/test_ec2/test_instances.py::test_instance_attribute_instance_type tests/test_ec2/test_instances.py::test_user_data_with_run_instance tests/test_ec2/test_instances.py::test_get_instances_filtering_by_private_dns tests/test_ec2/test_instances.py::test_get_instances_filtering_by_instance_group_id tests/test_ec2/test_instances.py::test_instance_with_nic_attach_detach tests/test_ec2/test_instances.py::test_get_instances_filtering_by_instance_group_name tests/test_ec2/test_instances.py::test_terminate_unknown_instances tests/test_ec2/test_instances.py::test_run_instance_with_availability_zone_not_from_region tests/test_ec2/test_instances.py::test_modify_delete_on_termination tests/test_ec2/test_instances.py::test_add_servers tests/test_ec2/test_instances.py::test_get_instances_filtering_by_vpc_id tests/test_ec2/test_instances.py::test_run_multiple_instances_in_same_command tests/test_ec2/test_instances.py::test_get_instances_filtering_by_state tests/test_ec2/test_instances.py::test_error_on_invalid_ami_format tests/test_ec2/test_instances.py::test_run_instance_with_default_placement tests/test_ec2/test_instances.py::test_run_instance_with_subnet tests/test_ec2/test_instances.py::test_instance_lifecycle tests/test_ec2/test_instances.py::test_run_instance_with_block_device_mappings_missing_size tests/test_ec2/test_instances.py::test_get_instances_by_id tests/test_ec2/test_instances.py::test_run_instance_with_security_group_id tests/test_ec2/test_instances.py::test_describe_instance_credit_specifications tests/test_ec2/test_instances.py::test_get_instances_filtering_by_tag_value tests/test_ec2/test_instances.py::test_error_on_invalid_ami tests/test_ec2/test_instances.py::test_describe_instance_status_with_instance_filter tests/test_ec2/test_instances.py::test_run_instance_with_specified_private_ipv4 tests/test_ec2/test_instances.py::test_instance_attribute_user_data