diff --git a/c7n/resources/glue.py b/c7n/resources/glue.py
index e985ebc6d..d46953f56 100644
--- a/c7n/resources/glue.py
+++ b/c7n/resources/glue.py
@@ -528,6 +528,9 @@ class GlueDataCatalog(ResourceManager):
     def resources(self):
         return self.filter_resources(self._get_catalog_encryption_settings())
 
+    def get_resources(self, resource_ids):
+        return [{'CatalogId': self.config.account_id}]
+
 
 @GlueDataCatalog.action_registry.register('set-encryption')
 class GlueDataCatalogEncryption(BaseAction):

Deprecation warning due to invalid escape sequences 
**Describe the bug**

Deprecation warnings are raised due to invalid escape sequences. This can be fixed by using raw strings or escaping the literals. pyupgrade also helps in automatic conversion : https://github.com/asottile/pyupgrade/

**To Reproduce**

```
find . -iname '*.py' | grep -v example | xargs -P4 -I{} python3.8 -Wall -m py_compile {}
./tools/c7n_sentry/test_sentry.py:50: DeprecationWarning: invalid escape sequence \m
  msg2 = """
./tests/zpill.py:274: DeprecationWarning: invalid escape sequence \d
  response_data = re.sub("\d{12}", ACCOUNT_ID, response_data)  # noqa
```

**Background (please complete the following information):**
 - OS: [e.g. OSX 10.15]
 - Python Version: 3.8
 - Custodian Version: master branch
 - Tool Version: [if applicable]
 - Cloud Provider: [e.g. gcp, aws, azure]
 - Policy: [please exclude any account/sensitive information]
diff --git a/tests/data/cwe/event-cloud-trail-catalog-put-resource-policy.json b/tests/data/cwe/event-cloud-trail-catalog-put-resource-policy.json
new file mode 100644
index 000000000..69211950a
--- /dev/null
+++ b/tests/data/cwe/event-cloud-trail-catalog-put-resource-policy.json
@@ -0,0 +1,46 @@
+{
+    "version": "0",
+    "id": "4186524f-4444-4444-4444-9c149bfbbbe2",
+    "detail-type": "AWS API Call via CloudTrail",
+    "source": "aws.glue",
+    "account": "644160558196",
+    "time": "2020-06-04T15:18:28Z",
+    "region": "us-east-1",
+    "resources": [],
+    "detail": {
+      "eventVersion": "1.05",
+      "userIdentity": {
+        "type": "IAMUser",
+        "principalId": "qwefqffasdfdfsda",
+        "arn": "arn:aws:iam::644160558196:user/fake@fakeemail.com",
+        "accountId": "644160558196",
+        "accessKeyId": "1345351435",
+        "userName": "fake@fakeemail.com",
+        "sessionContext": {
+          "sessionIssuer": {},
+          "webIdFederationData": {},
+          "attributes": {
+            "mfaAuthenticated": "false",
+            "creationDate": "2020-06-04T15:06:07Z"
+          }
+        }
+      },
+      "eventTime": "2020-06-04T15:18:28Z",
+      "eventSource": "glue.amazonaws.com",
+      "eventName": "PutResourcePolicy",
+      "awsRegion": "us-east-1",
+      "sourceIPAddress": "99.99.99.99",
+      "userAgent": "console.amazonaws.com",
+      "requestParameters": {
+        "policyHashCondition": "qwerwqerewqrewqr==",
+        "policyInJson": "{\n  \"Version\" : \"2012-10-17\",\n  \"Statement\" : [ {\n    \"Effect\" : \"Allow\",\n    \"Principal\" : \"*\",\n    \"Action\" : \"glue:*\",\n    \"Resource\" : \"arn:aws:glue:us-east-1:644160558196:catalog\",\n    \"Condition\": {\n        \"StringEquals\": {\n            \"aws:PrincipalOrgID\": \"o-4amkskbcf3\"\n        }        \n    }\n  } ]\n}"
+      },
+      "responseElements": {
+        "policyHash": "eqwewrewqerwerewr=="
+      },
+      "requestID": "562ac246-0da8-4444-4444-7053b5ecf789",
+      "eventID": "1f5ed731-4444-4a5c-4444-57f55e636789",
+      "eventType": "AwsApiCall"
+    },
+    "debug": true
+  }
\ No newline at end of file
diff --git a/tests/data/cwe/event-cloud-trail-catalog-set-encryption.json b/tests/data/cwe/event-cloud-trail-catalog-set-encryption.json
new file mode 100644
index 000000000..9db76cf06
--- /dev/null
+++ b/tests/data/cwe/event-cloud-trail-catalog-set-encryption.json
@@ -0,0 +1,52 @@
+{
+    "version": "0",
+    "id": "b782ed03-9c34-41d8-4444-bc7c6a5e2cfd",
+    "detail-type": "AWS API Call via CloudTrail",
+    "source": "aws.glue",
+    "account": "644160558196",
+    "time": "2020-06-05T16:10:47Z",
+    "region": "us-east-1",
+    "resources": [],
+    "detail": {
+        "eventVersion": "1.05",
+        "userIdentity": {
+            "type": "AssumedRole",
+            "principalId": "23454235342523:custodian-net-change-encryption",
+            "arn": "arn:aws:sts::644160558196:assumed-role/CloudCustodianRole/custodian-net-change-encryption",
+            "accountId": "644160558196",
+            "accessKeyId": "1525415421513245",
+            "sessionContext": {
+                "sessionIssuer": {
+                    "type": "Role",
+                    "principalId": "23454235342523",
+                    "arn": "arn:aws:iam::644160558196:role/CloudCustodianRole",
+                    "accountId": "644160558196",
+                    "userName": "CloudCustodianRole"
+                },
+                "webIdFederationData": {},
+                "attributes": {
+                    "mfaAuthenticated": "false",
+                    "creationDate": "2020-06-05T16:09:41Z"
+                }
+            }
+        },
+        "eventTime": "2020-06-05T16:10:47Z",
+        "eventSource": "glue.amazonaws.com",
+        "eventName": "PutDataCatalogEncryptionSettings",
+        "awsRegion": "us-east-1",
+        "sourceIPAddress": "35.171.244.77",
+        "userAgent": "CloudCustodian(net-change-encryption)/0.9.2 Python/3.8.3 Linux/4.14.165-102.205.amzn2.x86_64 exec-env/AWS_Lambda_python3.8 Botocore/1.15.49",
+        "requestParameters": {
+            "dataCatalogEncryptionSettings": {
+                "encryptionAtRest": {
+                    "catalogEncryptionMode": "SSE-KMS"
+                }
+            }
+        },
+        "responseElements": null,
+        "requestID": "b86bcd00-4444-4127-a74c-6c5f04d6534c",
+        "eventID": "3cda2b5f-a6c7-4c68-4444-93b0f6e1963c",
+        "eventType": "AwsApiCall"
+    },
+    "debug": true
+}
\ No newline at end of file
diff --git a/tests/data/placebo/test_catalog_change_encryption_event/glue.GetDataCatalogEncryptionSettings_1.json b/tests/data/placebo/test_catalog_change_encryption_event/glue.GetDataCatalogEncryptionSettings_1.json
new file mode 100644
index 000000000..15a04d4de
--- /dev/null
+++ b/tests/data/placebo/test_catalog_change_encryption_event/glue.GetDataCatalogEncryptionSettings_1.json
@@ -0,0 +1,14 @@
+{
+    "status_code": 200,
+    "data": {
+        "DataCatalogEncryptionSettings": {
+            "EncryptionAtRest": {
+                "CatalogEncryptionMode": "DISABLED"
+            },
+            "ConnectionPasswordEncryption": {
+                "ReturnConnectionPasswordEncrypted": false
+            }
+        },
+        "ResponseMetadata": {}
+    }
+}
\ No newline at end of file
diff --git a/tests/data/placebo/test_catalog_change_encryption_event/glue.GetDataCatalogEncryptionSettings_2.json b/tests/data/placebo/test_catalog_change_encryption_event/glue.GetDataCatalogEncryptionSettings_2.json
new file mode 100644
index 000000000..c80b917c2
--- /dev/null
+++ b/tests/data/placebo/test_catalog_change_encryption_event/glue.GetDataCatalogEncryptionSettings_2.json
@@ -0,0 +1,15 @@
+{
+    "status_code": 200,
+    "data": {
+        "DataCatalogEncryptionSettings": {
+            "EncryptionAtRest": {
+                "CatalogEncryptionMode": "SSE-KMS",
+                "SseAwsKmsKeyId": "alias/aws/glue"
+            },
+            "ConnectionPasswordEncryption": {
+                "ReturnConnectionPasswordEncrypted": false
+            }
+        },
+        "ResponseMetadata": {}
+    }
+}
\ No newline at end of file
diff --git a/tests/data/placebo/test_catalog_change_encryption_event/glue.PutDataCatalogEncryptionSettings_1.json b/tests/data/placebo/test_catalog_change_encryption_event/glue.PutDataCatalogEncryptionSettings_1.json
new file mode 100644
index 000000000..5b2170a07
--- /dev/null
+++ b/tests/data/placebo/test_catalog_change_encryption_event/glue.PutDataCatalogEncryptionSettings_1.json
@@ -0,0 +1,6 @@
+{
+    "status_code": 200,
+    "data": {
+        "ResponseMetadata": {}
+    }
+}
\ No newline at end of file
diff --git a/tests/data/placebo/test_catalog_change_rbp_event/glue.GetResourcePolicy_1.json b/tests/data/placebo/test_catalog_change_rbp_event/glue.GetResourcePolicy_1.json
new file mode 100644
index 000000000..7ff26e2ad
--- /dev/null
+++ b/tests/data/placebo/test_catalog_change_rbp_event/glue.GetResourcePolicy_1.json
@@ -0,0 +1,28 @@
+{
+    "status_code": 200,
+    "data": {
+        "PolicyInJson": "{\n  \"Version\" : \"2012-10-17\",\n  \"Statement\" : [ {\n    \"Effect\" : \"Allow\",\n    \"Principal\" : \"*\",\n    \"Action\" : \"glue:*\",\n    \"Resource\" : \"arn:aws:glue:us-east-1:644160558196:catalog\",\n    \"Condition\" : {\n      \"StringEquals\" : {\n        \"aws:PrincipalOrgID\" : \"o-4amkskbcf3\"\n      }\n    }\n  }, {\n    \"Effect\" : \"Allow\",\n    \"Principal\" : \"*\",\n    \"Action\" : \"glue:*\",\n    \"Resource\" : \"arn:aws:glue:us-east-1:644160558196:catalog\",\n    \"Condition\" : {\n      \"StringEquals\" : {\n        \"aws:PrincipalOrgID\" : \"o-4amkskbcf1\"\n      }\n    }\n  } ]\n}",
+        "PolicyHash": "vQI9F/KPAi+BKiDBvNPXSw==",
+        "CreateTime": {
+            "__class__": "datetime",
+            "year": 2020,
+            "month": 6,
+            "day": 5,
+            "hour": 12,
+            "minute": 26,
+            "second": 46,
+            "microsecond": 47000
+        },
+        "UpdateTime": {
+            "__class__": "datetime",
+            "year": 2020,
+            "month": 6,
+            "day": 5,
+            "hour": 12,
+            "minute": 26,
+            "second": 46,
+            "microsecond": 47000
+        },
+        "ResponseMetadata": {}
+    }
+}
\ No newline at end of file
diff --git a/tests/data/placebo/test_catalog_change_rbp_event/glue.GetResourcePolicy_2.json b/tests/data/placebo/test_catalog_change_rbp_event/glue.GetResourcePolicy_2.json
new file mode 100644
index 000000000..7ff26e2ad
--- /dev/null
+++ b/tests/data/placebo/test_catalog_change_rbp_event/glue.GetResourcePolicy_2.json
@@ -0,0 +1,28 @@
+{
+    "status_code": 200,
+    "data": {
+        "PolicyInJson": "{\n  \"Version\" : \"2012-10-17\",\n  \"Statement\" : [ {\n    \"Effect\" : \"Allow\",\n    \"Principal\" : \"*\",\n    \"Action\" : \"glue:*\",\n    \"Resource\" : \"arn:aws:glue:us-east-1:644160558196:catalog\",\n    \"Condition\" : {\n      \"StringEquals\" : {\n        \"aws:PrincipalOrgID\" : \"o-4amkskbcf3\"\n      }\n    }\n  }, {\n    \"Effect\" : \"Allow\",\n    \"Principal\" : \"*\",\n    \"Action\" : \"glue:*\",\n    \"Resource\" : \"arn:aws:glue:us-east-1:644160558196:catalog\",\n    \"Condition\" : {\n      \"StringEquals\" : {\n        \"aws:PrincipalOrgID\" : \"o-4amkskbcf1\"\n      }\n    }\n  } ]\n}",
+        "PolicyHash": "vQI9F/KPAi+BKiDBvNPXSw==",
+        "CreateTime": {
+            "__class__": "datetime",
+            "year": 2020,
+            "month": 6,
+            "day": 5,
+            "hour": 12,
+            "minute": 26,
+            "second": 46,
+            "microsecond": 47000
+        },
+        "UpdateTime": {
+            "__class__": "datetime",
+            "year": 2020,
+            "month": 6,
+            "day": 5,
+            "hour": 12,
+            "minute": 26,
+            "second": 46,
+            "microsecond": 47000
+        },
+        "ResponseMetadata": {}
+    }
+}
\ No newline at end of file
diff --git a/tests/data/placebo/test_catalog_change_rbp_event/glue.GetResourcePolicy_3.json b/tests/data/placebo/test_catalog_change_rbp_event/glue.GetResourcePolicy_3.json
new file mode 100644
index 000000000..a45197edd
--- /dev/null
+++ b/tests/data/placebo/test_catalog_change_rbp_event/glue.GetResourcePolicy_3.json
@@ -0,0 +1,28 @@
+{
+    "status_code": 200,
+    "data": {
+        "PolicyInJson": "{\n  \"Version\" : \"2012-10-17\",\n  \"Statement\" : [ {\n    \"Effect\" : \"Allow\",\n    \"Principal\" : \"*\",\n    \"Action\" : \"glue:*\",\n    \"Resource\" : \"arn:aws:glue:us-east-1:644160558196:catalog\",\n    \"Condition\" : {\n      \"StringEquals\" : {\n        \"aws:PrincipalOrgID\" : \"o-4amkskbcf1\"\n      }\n    }\n  } ]\n}",
+        "PolicyHash": "hfAqfsBoPt7ZUGlZjU5mMQ==",
+        "CreateTime": {
+            "__class__": "datetime",
+            "year": 2020,
+            "month": 6,
+            "day": 5,
+            "hour": 12,
+            "minute": 26,
+            "second": 52,
+            "microsecond": 531000
+        },
+        "UpdateTime": {
+            "__class__": "datetime",
+            "year": 2020,
+            "month": 6,
+            "day": 5,
+            "hour": 12,
+            "minute": 26,
+            "second": 52,
+            "microsecond": 531000
+        },
+        "ResponseMetadata": {}
+    }
+}
\ No newline at end of file
diff --git a/tests/data/placebo/test_catalog_change_rbp_event/glue.PutResourcePolicy_1.json b/tests/data/placebo/test_catalog_change_rbp_event/glue.PutResourcePolicy_1.json
new file mode 100644
index 000000000..e08bc9386
--- /dev/null
+++ b/tests/data/placebo/test_catalog_change_rbp_event/glue.PutResourcePolicy_1.json
@@ -0,0 +1,7 @@
+{
+    "status_code": 200,
+    "data": {
+        "PolicyHash": "hfAqfsBoPt7ZUGlZjU5mMQ==",
+        "ResponseMetadata": {}
+    }
+}
\ No newline at end of file
diff --git a/tests/test_glue.py b/tests/test_glue.py
index 5057a3215..d4bfe5b82 100644
--- a/tests/test_glue.py
+++ b/tests/test_glue.py
@@ -15,6 +15,7 @@ from .common import BaseTest
 import time
 import json
 from c7n.exceptions import PolicyValidationError
+from .common import event_data
 
 
 class TestGlueConnections(BaseTest):
@@ -587,3 +588,102 @@ class TestGlueDataCatalog(BaseTest):
                 "actions": [{"type": "remove-statements", "statement_ids": "matched"}],
             }
         )
+
+    def test_catalog_change_encryption_event(self):
+        session_factory = self.replay_flight_data("test_catalog_change_encryption_event")
+        session = session_factory()
+        client = session.client("glue")
+        before_cat_setting = client.get_data_catalog_encryption_settings()
+        self.assertJmes(
+            'DataCatalogEncryptionSettings.EncryptionAtRest.CatalogEncryptionMode',
+            before_cat_setting,
+            'DISABLED'
+        )
+        self.assertJmes(
+            'DataCatalogEncryptionSettings.EncryptionAtRest.SseAwsKmsKeyId',
+            before_cat_setting,
+            None
+        )
+        p = self.load_policy(
+            {
+                "name": "net-change-rbp-cross-account",
+                "resource": "glue-catalog",
+                "mode": {
+                    "type": "cloudtrail",
+                    "role": "arn:aws:iam::644160558196:role/CloudCustodianRole",
+                    "events": [
+                        {
+                            "source": "glue.amazonaws.com",
+                            "event": "PutDataCatalogEncryptionSettings",
+                            "ids": "userIdentity.accountId"
+                        }
+                    ],
+                },
+                'filters': [{
+                    'type': 'value',
+                    'key': 'DataCatalogEncryptionSettings.EncryptionAtRest.SseAwsKmsKeyId',
+                    'value': 'alias/skunk/trails',
+                    'op': 'ne'},
+                ],
+                "actions": [
+                    {
+                        "type": "set-encryption",
+                        "attributes": {
+                            "EncryptionAtRest": {
+                                "CatalogEncryptionMode": "SSE-KMS"
+                            }
+                        }
+                    }
+                ],
+            },
+            session_factory=session_factory,
+        )
+        p.push(event_data("event-cloud-trail-catalog-set-encryption.json"), None)
+        after_cat_setting = client.get_data_catalog_encryption_settings()
+        self.assertJmes(
+            'DataCatalogEncryptionSettings.EncryptionAtRest.CatalogEncryptionMode',
+            after_cat_setting,
+            'SSE-KMS'
+        )
+        self.assertJmes(
+            'DataCatalogEncryptionSettings.EncryptionAtRest.SseAwsKmsKeyId',
+            after_cat_setting,
+            'alias/aws/glue'
+        )
+
+    def test_catalog_change_rbp_event(self):
+        session_factory = self.replay_flight_data("test_catalog_change_rbp_event")
+        session = session_factory()
+        client = session.client("glue")
+        before_cat_setting = client.get_resource_policy()
+        assert('o-4amkskbcf3' in before_cat_setting.get('PolicyInJson'))
+        p = self.load_policy(
+            {
+                "name": "net-change-rbp-cross-account",
+                "resource": "glue-catalog",
+                "mode": {
+                    "type": "cloudtrail",
+                    "role": "arn:aws:iam::644160558196:role/CloudCustodianRole",
+                    "events": [
+                        {
+                            "source": "glue.amazonaws.com",
+                            "event": "PutResourcePolicy",
+                            "ids": "awsRegion"
+                        }
+                    ],
+                },
+                "filters": [
+                    {
+                        "type": "cross-account",
+                        "whitelist_orgids": [
+                            "o-4amkskbcf1"
+                        ]
+                    }
+                ],
+                "actions": [{"type": "remove-statements", "statement_ids": "matched"}],
+            },
+            session_factory=session_factory,
+        )
+        p.push(event_data("event-cloud-trail-catalog-put-resource-policy.json"), None)
+        after_cat_setting = client.get_resource_policy()
+        assert('o-4amkskbcf3' not in after_cat_setting.get('PolicyInJson'))
diff --git a/tests/zpill.py b/tests/zpill.py
index 64f62430f..7835b5147 100644
--- a/tests/zpill.py
+++ b/tests/zpill.py
@@ -271,7 +271,7 @@ class RedPill(pill.Pill):
             response_data['ResponseMetadata'] = {}
 
         response_data = json.dumps(response_data, default=serialize)
-        response_data = re.sub("\d{12}", ACCOUNT_ID, response_data)  # noqa
+        response_data = re.sub(r"\d{12}", ACCOUNT_ID, response_data)  # noqa
         response_data = json.loads(response_data, object_hook=deserialize)
 
         super(RedPill, self).save_response(service, operation, response_data,
diff --git a/tools/c7n_sentry/test_sentry.py b/tools/c7n_sentry/test_sentry.py
index f3a8b3cc9..9c8f1fa78 100644
--- a/tools/c7n_sentry/test_sentry.py
+++ b/tools/c7n_sentry/test_sentry.py
@@ -48,7 +48,7 @@ msg = """2016-07-07 19:14:24,160 - ERROR - custodian.output - Error while execut
 
 
 msg2 = """
-2016-08-09 19:16:28,943 - ERROR - custodian.output - Error while executing policy Traceback (most recent call last):\n  File "/usr/local/custodian/lib/python2.7/site-packages/c7n/policy.py", line 234, in poll\n results = a.process(resources)\n File "/usr/local/custodian/lib/python2.7/site-packages/c7n/resources/rds.py", line 291, in process\n client.delete_db_instance(**params)\n  File "/usr/local/custodian/lib/python2.7/site-packages/botocore/client.py", line 278, in _api_call\n return self._make_api_call(operation_name, kwargs)\n File "/usr/local/custodian/lib/python2.7/site-packages/botocore/client.py", line 572, in _make_api_call\n raise ClientError(parsed_response, operation_name)\m ClientError: An error occurred (InvalidParameterValue) when calling the DeleteDBInstance operation: The parameter FinalDBSnapshotIdentifier is not a valid identifier. Identifiers must begin with a letter; must contain only ASCII letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens.""" # NOQA
+2016-08-09 19:16:28,943 - ERROR - custodian.output - Error while executing policy Traceback (most recent call last):\n  File "/usr/local/custodian/lib/python2.7/site-packages/c7n/policy.py", line 234, in poll\n results = a.process(resources)\n File "/usr/local/custodian/lib/python2.7/site-packages/c7n/resources/rds.py", line 291, in process\n client.delete_db_instance(**params)\n  File "/usr/local/custodian/lib/python2.7/site-packages/botocore/client.py", line 278, in _api_call\n return self._make_api_call(operation_name, kwargs)\n File "/usr/local/custodian/lib/python2.7/site-packages/botocore/client.py", line 572, in _make_api_call\n raise ClientError(parsed_response, operation_name)\n ClientError: An error occurred (InvalidParameterValue) when calling the DeleteDBInstance operation: The parameter FinalDBSnapshotIdentifier is not a valid identifier. Identifiers must begin with a letter; must contain only ASCII letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens.""" # NOQA
 
 if __name__ == '__main__':
     unittest.main()

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest pytest-cov pytest-xdist pytest-mock pytest-asyncio
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.4
argcomplete==1.11.1
attrs==19.3.0
aws-xray-sdk==2.5.0
bleach==3.1.5
boto3==1.13.18
botocore==1.16.18
-e git+https://github.com/cloud-custodian/cloud-custodian.git@1ea032d4582d2b18f9dc0d9d4b1bc4e9c8d375d8#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
exceptiongroup==1.2.2
execnet==1.7.1
filelock==3.0.12
flake8==3.8.2
future==0.18.2
idna==2.9
importlib-metadata==1.6.0
iniconfig==2.1.0
jeepney==0.4.3
jmespath==0.10.0
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.3.0
multidict==4.7.6
packaging==20.4
pkginfo==1.5.0.1
placebo==0.9.0
pluggy==1.5.0
psutil==5.7.0
py==1.8.1
pycodestyle==2.6.0
pycparser==2.20
pyflakes==2.2.0
Pygments==2.6.1
pyparsing==2.4.7
pyrsistent==0.16.0
pytest==8.3.5
pytest-asyncio==0.24.0
pytest-cov==2.9.0
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.15.0
tabulate==0.8.7
termcolor==1.1.0
toml==0.10.1
tomli==2.2.1
tox==3.15.1
tqdm==4.46.0
twine==3.1.1
urllib3==1.25.9
vcrpy==4.0.2
virtualenv==20.0.21
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.4
      - argcomplete==1.11.1
      - attrs==19.3.0
      - aws-xray-sdk==2.5.0
      - bleach==3.1.5
      - boto3==1.13.18
      - botocore==1.16.18
      - c7n==0.9.3
      - 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
      - exceptiongroup==1.2.2
      - execnet==1.7.1
      - filelock==3.0.12
      - flake8==3.8.2
      - future==0.18.2
      - idna==2.9
      - importlib-metadata==1.6.0
      - iniconfig==2.1.0
      - jeepney==0.4.3
      - jmespath==0.10.0
      - 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.3.0
      - multidict==4.7.6
      - packaging==20.4
      - pkginfo==1.5.0.1
      - placebo==0.9.0
      - pluggy==1.5.0
      - psutil==5.7.0
      - py==1.8.1
      - pycodestyle==2.6.0
      - pycparser==2.20
      - pyflakes==2.2.0
      - pygments==2.6.1
      - pyparsing==2.4.7
      - pyrsistent==0.16.0
      - pytest==8.3.5
      - pytest-asyncio==0.24.0
      - pytest-cov==2.9.0
      - 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.15.0
      - tabulate==0.8.7
      - termcolor==1.1.0
      - toml==0.10.1
      - tomli==2.2.1
      - tox==3.15.1
      - tqdm==4.46.0
      - twine==3.1.1
      - urllib3==1.25.9
      - vcrpy==4.0.2
      - virtualenv==20.0.21
      - 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_glue.py::TestGlueDataCatalog::test_catalog_change_rbp_event
tests/test_glue.py::TestGlueConnections::test_connection_delete tests/test_glue.py::TestGlueConnections::test_connection_sg_filter tests/test_glue.py::TestGlueConnections::test_connection_subnet_filter tests/test_glue.py::TestGlueConnections::test_connections_query tests/test_glue.py::TestGlueDevEndpoints::test_dev_endpoints_delete tests/test_glue.py::TestGlueDevEndpoints::test_dev_endpoints_query tests/test_glue.py::TestGlueTag::test_glue_crawler_tag tests/test_glue.py::TestGlueTag::test_glue_crawler_untag tests/test_glue.py::TestGlueTag::test_glue_job_tag tests/test_glue.py::TestGlueTag::test_glue_job_untag tests/test_glue.py::TestGlueTag::test_glue_tags tests/test_glue.py::TestGlueTag::test_glue_untag tests/test_glue.py::TestGlueJobs::test_jobs_delete tests/test_glue.py::TestGlueCrawlers::test_crawlers_delete tests/test_glue.py::TestGlueCrawlers::test_security_config_filter tests/test_glue.py::TestGlueCrawlers::test_security_config_missing_filter tests/test_glue.py::TestGlueTables::test_tables_delete tests/test_glue.py::TestGlueDatabases::test_databases_delete tests/test_glue.py::TestGlueClassifiers::test_classifiers_delete tests/test_glue.py::GlueMLTransform::test_ml_transforms_delete tests/test_glue.py::TestGlueSecurityConfiguration::test_security_configurations_delete tests/test_glue.py::TestGlueTriggers::test_triggers_delete tests/test_glue.py::TestGlueWorkflows::test_workflows_delete tests/test_glue.py::TestGlueDataCatalog::test_catalog_change_encryption_event tests/test_glue.py::TestGlueDataCatalog::test_catalog_remove_matched tests/test_glue.py::TestGlueDataCatalog::test_glue_catalog_cross_account tests/test_glue.py::TestGlueDataCatalog::test_glue_datacat_put_encryption tests/test_glue.py::TestGlueDataCatalog::test_remove_statements_validation_error tools/c7n_sentry/test_sentry.py::SentrySenderTests::test_get_sentry_message tools/c7n_sentry/test_sentry.py::SentrySenderTests::test_parse_traceback tools/c7n_sentry/test_sentry.py::SentrySenderTests::test_preserve_full_message
c7n/resources/glue.py
c7n/resources/glue.py