Skip to content

Commit 4b52ade

Browse files
Merge pull request #130 from Skyscanner/kms_keypolicy_optional
KeyPolicy made optional for KMS Key
2 parents d6e2ba7 + 097a8c2 commit 4b52ade

File tree

4 files changed

+23
-2
lines changed

4 files changed

+23
-2
lines changed

Diff for: CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
# Change Log
22
All notable changes to this project will be documented in this file.
33

4+
## 0.22.0
5+
### Fixes
6+
- KeyPolicy made optional for KMS Key resource type.
7+
48
## 0.21.2
59
### Fixes
610
- Add the BypassPolicyLockoutSafetyCheck and Origin fields in the KMS resource

Diff for: pycfmodel/model/resources/kms_key.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class KMSKeyProperties(CustomModel):
2828
Description: Optional[ResolvableStr] = None
2929
Enabled: Optional[ResolvableBool] = None
3030
EnableKeyRotation: Optional[ResolvableBool] = None
31-
KeyPolicy: Resolvable[PolicyDocument]
31+
KeyPolicy: Optional[Resolvable[PolicyDocument]] = None
3232
KeySpec: Optional[ResolvableStr] = None
3333
KeyUsage: Optional[ResolvableStr] = None
3434
MultiRegion: Optional[ResolvableBool] = None

Diff for: setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
setup(
3030
name="pycfmodel",
31-
version="0.21.2",
31+
version="0.22.0",
3232
description="A python model for CloudFormation scripts",
3333
author="Skyscanner Product Security",
3434
author_email="[email protected]",

Diff for: tests/resources/test_kms_key.py

+17
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,19 @@ def kms_key():
6363
)
6464

6565

66+
@pytest.fixture()
67+
def kms_key_no_policy():
68+
return KMSKey(
69+
**{
70+
"Type": "AWS::KMS::Key",
71+
"Properties": {
72+
"Enabled": True,
73+
"EnableKeyRotation": True,
74+
},
75+
}
76+
)
77+
78+
6679
def test_actions(kms_key):
6780
assert [
6881
"kms:CancelKeyDeletion",
@@ -168,3 +181,7 @@ def test_kms_policy_documents(kms_key):
168181
),
169182
)
170183
]
184+
185+
186+
def test_kms_no_policy(kms_key_no_policy):
187+
assert kms_key_no_policy.Properties.KeyPolicy is None

0 commit comments

Comments
 (0)