Repository: ansible-collections/amazon.aws

Issue:
s3_object deprecation test and message have incorrect info
### Summary

From changes in #1305 

Deprecation test and associated warning was added for the 'overwrite' argument. However they reference an invalid value 'last' instead of the correct value, 'latest' per [docs](https://docs.ansible.com/ansible/latest/collections/amazon/aws/s3_object_module.html#parameter-overwrite)

Relevant lines at least [here](https://github.com/ansible-collections/amazon.aws/pull/1305/files#diff-3567093ec900c07da83092493649dd778f20165b2cb35d1ac1ae9c13fcf8e152R13) and [here](https://github.com/ansible-collections/amazon.aws/pull/1305/files#diff-56c6fa0d10ca0b451d1e53e42a9097a3f5c907a785258cc75b4fe93f01ee0612R1565-R1568) (expand s3_object.py diff to find)


### Issue Type

Bug Report

### Component Name

s3_object

### Ansible Version

```console (paste below)
ansible [core 2.14.3]
  config file = None
  configured module search path = ['/home/runner/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.9/site-packages/ansible
  ansible collection location = /runner/requirements_collections:/home/runner/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.9.16 (main, Dec  8 2022, 00:00:00) [GCC 11.3.1 20221121 (Red Hat 11.3.1-4)] (/usr/bin/python3)
  jinja version = 3.1.2
  libyaml = True
```


### Collection Versions

```console (paste below)

# /runner/requirements_collections/ansible_collections
Collection         Version
------------------ -------
amazon.aws         6.2.0
ansible.netcommon  3.1.0
ansible.utils      2.11.0
ansible.windows    1.11.1
community.aws      6.1.0
community.docker   1.9.0
community.general  3.4.0
community.windows  1.11.0
oasis_roles.system 1.1.3

# /usr/share/ansible/collections/ansible_collections
Collection              Version
----------------------- -------
@NAMESPACE@.@NAME@      3.0.1
amazon.aws              5.4.0
ansible.posix           1.5.1
ansible.windows         1.13.0
awx.awx                 21.13.0
azure.azcollection      1.15.0
community.vmware        *
google.cloud            1.1.3
kubernetes.core         2.4.0
openstack.cloud         2.0.0
redhatinsights.insights 1.0.7
theforeman.foreman      3.9.0
```


### AWS SDK versions

```console (paste below)
WARNING: Package(s) not found: boto
Name: boto3
Version: 1.26.99
Summary: The AWS SDK for Python
Home-page: https://github.com/boto/boto3
Author: Amazon Web Services
Author-email:
License: Apache License 2.0
Location: /usr/local/lib/python3.9/site-packages
Requires: botocore, jmespath, s3transfer
Required-by:
---
Name: botocore
Version: 1.29.99
Summary: Low-level, data-driven core of boto 3.
Home-page: https://github.com/boto/botocore
Author: Amazon Web Services
Author-email:
License: Apache License 2.0
Location: /usr/local/lib/python3.9/site-packages
Requires: jmespath, python-dateutil, urllib3
Required-by: boto3, s3transfer
```


### Configuration

```console (paste below)
ANSIBLE_FORCE_COLOR(env: ANSIBLE_FORCE_COLOR) = True
COLLECTIONS_PATHS(env: ANSIBLE_COLLECTIONS_PATHS) = ['/runner/requirements_collections', '/home/runner/.ansible/collections', '/usr/share/ansible/collections']
CONFIG_FILE() = None
DEFAULT_CALLBACK_PLUGIN_PATH(env: ANSIBLE_CALLBACK_PLUGINS) = ['/runner/artifacts/1870/callback']
DEFAULT_ROLES_PATH(env: ANSIBLE_ROLES_PATH) = ['/runner/requirements_roles', '/home/runner/.ansible/roles', '/usr/share/ansible/roles', '/etc/ansible/roles']
DEFAULT_STDOUT_CALLBACK(env: ANSIBLE_STDOUT_CALLBACK) = awx_display
HOST_KEY_CHECKING(env: ANSIBLE_HOST_KEY_CHECKING) = False
INVENTORY_UNPARSED_IS_FAILED(env: ANSIBLE_INVENTORY_UNPARSED_FAILED) = True
RETRY_FILES_ENABLED(env: ANSIBLE_RETRY_FILES_ENABLED) = False
```


### OS / Environment

_No response_

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
- name: Retrieve archive from S3
  amazon.aws.s3_object:
    bucket: "{{ bucket }}"
    mode: get
    object: "{{ file_name }}"
    dest: "/{{ file_name }}"
    overwrite: latest
  register: s3_get

```


### Expected Results

This is a valid 'new' value for the overwrite argument. I shouldn't get a deprecation warning

### Actual Results

```console (paste below)
[DEPRECATION WARNING]: Support for passing values of 'overwrite' other than 
'always', 'never', 'different' or 'last', has been deprecated. This feature 
will be removed from amazon.aws in a release after 2024-12-01. Deprecation 
warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct


Discussion:
@pluto00987 thank you for filing this bug! Would you be willing to submit a pull request to fix it?

Resolving patch:
diff --git a/plugins/modules/s3_object.py b/plugins/modules/s3_object.py
--- a/plugins/modules/s3_object.py
+++ b/plugins/modules/s3_object.py
@@ -1535,11 +1535,11 @@ def main():
         if "amazonaws.com" not in endpoint_url:
             module.fail_json(msg="dualstack only applies to AWS S3")
 
-    if module.params.get("overwrite") not in ("always", "never", "different", "last"):
+    if module.params.get("overwrite") not in ("always", "never", "different", "latest"):
         module.deprecate(
             (
                 "Support for passing values of 'overwrite' other than 'always', 'never', "
-                "'different' or 'last', has been deprecated."
+                "'different' or 'latest', has been deprecated."
             ),
             date="2024-12-01",
             collection_name="amazon.aws",


Test patch: