kapilt: lgtm, can we add an assertion to the test for creation date presence
diff --git a/c7n/resources/s3.py b/c7n/resources/s3.py
index cfbb0726d..c4cb63203 100644
--- a/c7n/resources/s3.py
+++ b/c7n/resources/s3.py
@@ -97,9 +97,6 @@ class DescribeS3(query.DescribeSource):
             results = list(filter(None, results))
             return results
 
-    def get_resources(self, bucket_names):
-        return [{'Name': b} for b in bucket_names]
-
 
 class ConfigS3(query.ConfigSource):
 

aws.s3 - CreationDate is unavailable in cloudtrail policies
**Describe the bug**
The `CreationDate` field is not available for s3 cloudtrail policies and therefore cannot include filters depending on the age of the bucket.  Because the data is missing, the filter will not behave as expected and will simply never match.

Filtering based on age `lt` 1 day:
```
[DEBUG]	2020-05-14T15:29:08.869Z	8c3d8f81-3b5b-4d44-81ac-756c81a7dab0 Filtered from 1 to 0 s3
```
Filtering based on age `gt` 1 day:
```
[DEBUG]	2020-05-14T15:30:22.160Z	eac7440b-60ad-487e-987e-cfe5f56501c0 Filtered from 1 to 0 s3
```
This also affects the reporting abilities during notifications... as we cannot report on when the bucket was created.

This looks directly related to #3909

**To Reproduce**
Provision any cloudtrail policy for s3 and try to use the `CreationDate` field.

**Expected behavior**
`CreationDate` should be available during event/lambda policies.

**Background (please complete the following information):**
 - Custodian Version: 0.9.1
 - Policy:
```yaml
policies: 
  - name: test-s3-age
    resource: s3
    mode:
      type: cloudtrail
      events:
        - source: s3.amazonaws.com
          event: PutBucketTagging
          ids: requestParameters.bucketName
      role: *lambda-role
      tags: *lambda-tags
    filters:
      - type: value
        key: CreationDate
        op: gt
        value_type: age
        value: 1
```
diff --git a/tests/data/placebo/test_s3_get_resources/s3.ListBuckets_1.json b/tests/data/placebo/test_s3_get_resources/s3.ListBuckets_1.json
new file mode 100644
index 000000000..ccd215d70
--- /dev/null
+++ b/tests/data/placebo/test_s3_get_resources/s3.ListBuckets_1.json
@@ -0,0 +1,25 @@
+{
+    "status_code": 200,
+    "data": {
+        "ResponseMetadata": {},
+        "Buckets": [
+            {
+                "Name": "c7n-codebuild",
+                "CreationDate": {
+                    "__class__": "datetime",
+                    "year": 2019,
+                    "month": 12,
+                    "day": 20,
+                    "hour": 23,
+                    "minute": 0,
+                    "second": 14,
+                    "microsecond": 0
+                }
+            }
+        ],
+        "Owner": {
+            "DisplayName": "custodian-skunkworks",
+            "ID": "631e4e145c2211ed2e31307ba841b1862307d16de5eab6f5399a23bbbecc26e2"
+        }
+    }
+}
diff --git a/tests/test_s3.py b/tests/test_s3.py
index f07261097..c00c9b194 100644
--- a/tests/test_s3.py
+++ b/tests/test_s3.py
@@ -1272,6 +1272,7 @@ class S3Test(BaseTest):
             tags, {
                 'Application': 'test', 'Env': 'Dev', 'Owner': 'nicholase',
                 'Retention': '2', 'Retention2': '3', 'test': 'test'})
+        self.assertTrue("CreationDate" in resources[0])
 
     def test_multipart_large_file(self):
         self.patch(s3.S3, "executor_factory", MainThreadExecutor)

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest pytest-cov pytest-xdist pytest-mock
apt-get update apt-get install -y gcc
3.8
requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
apipkg==1.5
appdirs==1.4.3
argcomplete==1.11.1
attrs==19.3.0
aws-xray-sdk==2.5.0
bleach==3.1.5
boto3==1.13.2
botocore==1.16.2
-e git+https://github.com/cloud-custodian/cloud-custodian.git@ec8cca2442dd256f07bfb7811942066a15331d7f#egg=c7n
certifi==2020.4.5.1
cffi==1.14.0
chardet==3.0.4
coverage==5.1
cryptography==2.9.2
distlib==0.3.0
docutils==0.15.2
entrypoints==0.3
exceptiongroup==1.2.2
execnet==1.7.1
filelock==3.0.12
flake8==3.7.9
future==0.18.2
idna==2.9
importlib-metadata==1.6.0
iniconfig==2.1.0
jeepney==0.4.3
jmespath==0.9.5
jsonpatch==1.25
jsonpickle==1.4.1
jsonpointer==2.0
jsonschema==3.2.0
keyring==21.2.1
mccabe==0.6.1
mock==4.0.2
more-itertools==8.2.0
multidict==4.7.5
packaging==20.3
pkginfo==1.5.0.1
placebo==0.9.0
pluggy==1.5.0
psutil==5.7.0
py==1.8.1
pycodestyle==2.5.0
pycparser==2.20
pyflakes==2.1.1
Pygments==2.6.1
pyparsing==2.4.7
pyrsistent==0.16.0
pytest==8.3.5
pytest-cov==2.8.1
pytest-forked==1.1.3
pytest-mock==3.14.0
pytest-sugar==0.9.3
pytest-xdist==1.32.0
python-dateutil==2.8.1
PyYAML==5.3.1
readme-renderer==26.0
requests==2.23.0
requests-toolbelt==0.9.1
s3transfer==0.3.3
SecretStorage==3.1.2
six==1.14.0
tabulate==0.8.7
termcolor==1.1.0
toml==0.10.0
tomli==2.2.1
tox==3.15.0
tqdm==4.46.0
twine==3.1.1
urllib3==1.25.9
vcrpy==4.0.2
virtualenv==20.0.20
wcwidth==0.1.9
webencodings==0.5.1
wrapt==1.12.1
yarl==1.4.2
zipp==3.1.0

name: cloud-custodian
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=24.2=py38h06a4308_0
  - python=3.8.20=he870216_0
  - readline=8.2=h5eee18b_0
  - setuptools=75.1.0=py38h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.44.0=py38h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - apipkg==1.5
      - appdirs==1.4.3
      - argcomplete==1.11.1
      - attrs==19.3.0
      - aws-xray-sdk==2.5.0
      - bleach==3.1.5
      - boto3==1.13.2
      - botocore==1.16.2
      - c7n==0.9.1
      - certifi==2020.4.5.1
      - cffi==1.14.0
      - chardet==3.0.4
      - coverage==5.1
      - cryptography==2.9.2
      - distlib==0.3.0
      - docutils==0.15.2
      - entrypoints==0.3
      - exceptiongroup==1.2.2
      - execnet==1.7.1
      - filelock==3.0.12
      - flake8==3.7.9
      - future==0.18.2
      - idna==2.9
      - importlib-metadata==1.6.0
      - iniconfig==2.1.0
      - jeepney==0.4.3
      - jmespath==0.9.5
      - jsonpatch==1.25
      - jsonpickle==1.4.1
      - jsonpointer==2.0
      - jsonschema==3.2.0
      - keyring==21.2.1
      - mccabe==0.6.1
      - mock==4.0.2
      - more-itertools==8.2.0
      - multidict==4.7.5
      - packaging==20.3
      - pkginfo==1.5.0.1
      - placebo==0.9.0
      - pluggy==1.5.0
      - psutil==5.7.0
      - py==1.8.1
      - pycodestyle==2.5.0
      - pycparser==2.20
      - pyflakes==2.1.1
      - pygments==2.6.1
      - pyparsing==2.4.7
      - pyrsistent==0.16.0
      - pytest==8.3.5
      - pytest-cov==2.8.1
      - pytest-forked==1.1.3
      - pytest-mock==3.14.0
      - pytest-sugar==0.9.3
      - pytest-xdist==1.32.0
      - python-dateutil==2.8.1
      - pyyaml==5.3.1
      - readme-renderer==26.0
      - requests==2.23.0
      - requests-toolbelt==0.9.1
      - s3transfer==0.3.3
      - secretstorage==3.1.2
      - six==1.14.0
      - tabulate==0.8.7
      - termcolor==1.1.0
      - toml==0.10.0
      - tomli==2.2.1
      - tox==3.15.0
      - tqdm==4.46.0
      - twine==3.1.1
      - urllib3==1.25.9
      - vcrpy==4.0.2
      - virtualenv==20.0.20
      - wcwidth==0.1.9
      - webencodings==0.5.1
      - wrapt==1.12.1
      - yarl==1.4.2
      - zipp==3.1.0
prefix: /opt/conda/envs/cloud-custodian

tests/test_s3.py::S3Test::test_bucket_get_resources
tests/test_s3.py::RestoreCompletionTest::test_restore_complete tests/test_s3.py::BucketScanLogTests::test_scan_log tests/test_s3.py::BucketMetrics::test_metrics tests/test_s3.py::BucketMetrics::test_metrics_dims tests/test_s3.py::BucketEncryption::test_s3_bucket_encryption_filter tests/test_s3.py::BucketEncryption::test_s3_bucket_encryption_filter_kms tests/test_s3.py::BucketEncryption::test_s3_filter_bucket_encryption_disabled tests/test_s3.py::BucketInventory::test_inventory tests/test_s3.py::BucketInventory::test_s3_delete_inventory_inventory_not_set tests/test_s3.py::BucketInventory::test_s3_set_encrypted_inventory_ssekms tests/test_s3.py::BucketInventory::test_s3_set_encrypted_inventory_sses3 tests/test_s3.py::BucketDelete::test_delete_bucket tests/test_s3.py::BucketDelete::test_delete_bucket_with_failure tests/test_s3.py::BucketDelete::test_delete_replicated_bucket tests/test_s3.py::BucketDelete::test_delete_versioned_bucket tests/test_s3.py::BucketTag::test_tag_bucket tests/test_s3.py::S3ConfigSource::test_config_normalize_lifecycle tests/test_s3.py::S3ConfigSource::test_config_normalize_lifecycle_and_predicate tests/test_s3.py::S3ConfigSource::test_config_normalize_lifecycle_null_predicate tests/test_s3.py::S3ConfigSource::test_config_normalize_notification tests/test_s3.py::S3ConfigSource::test_config_normalize_replication tests/test_s3.py::S3ConfigSource::test_config_normalize_website tests/test_s3.py::S3ConfigSource::test_config_normalize_website_redirect tests/test_s3.py::S3ConfigSource::test_load_item_resource tests/test_s3.py::S3ConfigSource::test_load_item_resource_config_event tests/test_s3.py::S3ConfigSource::test_normalize tests/test_s3.py::BucketPolicyStatements::test_policy tests/test_s3.py::BucketPolicyStatements::test_policy_no_change tests/test_s3.py::S3Test::test_attach_encrypt_requires_role tests/test_s3.py::S3Test::test_attach_encrypt_via_bucket_notification tests/test_s3.py::S3Test::test_attach_encrypt_via_explicit_existing_topic tests/test_s3.py::S3Test::test_attach_encrypt_via_implicit_existing_topic tests/test_s3.py::S3Test::test_attach_encrypt_via_new_topic tests/test_s3.py::S3Test::test_bucket_replication_policy_disable tests/test_s3.py::S3Test::test_bucket_replication_policy_remove tests/test_s3.py::S3Test::test_create_bucket_event tests/test_s3.py::S3Test::test_delete_bucket_encryption tests/test_s3.py::S3Test::test_delete_bucket_notification tests/test_s3.py::S3Test::test_enable_bucket_encryption_aes256 tests/test_s3.py::S3Test::test_enable_bucket_encryption_kms tests/test_s3.py::S3Test::test_enable_bucket_encryption_kms_alias tests/test_s3.py::S3Test::test_enable_logging tests/test_s3.py::S3Test::test_enable_versioning tests/test_s3.py::S3Test::test_encrypt_key_empty_bucket tests/test_s3.py::S3Test::test_encrypt_keys tests/test_s3.py::S3Test::test_encrypt_keys_aes256_sufficient tests/test_s3.py::S3Test::test_encrypt_keys_key_id_option tests/test_s3.py::S3Test::test_encrypt_policy tests/test_s3.py::S3Test::test_encrypt_versioned_bucket tests/test_s3.py::S3Test::test_encrypt_versioned_bucket_with_existing_keys tests/test_s3.py::S3Test::test_global_grants_filter_and_remove tests/test_s3.py::S3Test::test_global_grants_filter_option tests/test_s3.py::S3Test::test_has_statement tests/test_s3.py::S3Test::test_has_statement_policy tests/test_s3.py::S3Test::test_has_statement_similar_policies tests/test_s3.py::S3Test::test_hosts_website tests/test_s3.py::S3Test::test_log_target tests/test_s3.py::S3Test::test_missing_policy_statement tests/test_s3.py::S3Test::test_multipart_large_file tests/test_s3.py::S3Test::test_no_encryption_statement tests/test_s3.py::S3Test::test_remove_policy tests/test_s3.py::S3Test::test_remove_policy_matched tests/test_s3.py::S3Test::test_remove_policy_none_extant tests/test_s3.py::S3Test::test_s3_mark_for_op tests/test_s3.py::S3Test::test_s3_remove_tag tests/test_s3.py::S3Test::test_self_log tests/test_s3.py::S3Test::test_set_public_block_disable_all tests/test_s3.py::S3Test::test_set_public_block_disable_all_via_state tests/test_s3.py::S3Test::test_set_public_block_disable_one tests/test_s3.py::S3Test::test_set_public_block_enable_all tests/test_s3.py::S3Test::test_set_public_block_enable_one tests/test_s3.py::S3Test::test_set_public_block_throws_errors tests/test_s3.py::S3LifecycleTest::test_lifecycle
c7n/resources/s3.py
c7n/resources/s3.py