This file is no longer used to track changes.¶
Please check the releases page of this repo for future changelog information¶
Change Log¶
All notable changes to this project will be documented in this file.
1.1.1¶
Updates¶
- Update
CLOUDFORMATION_ACTIONS. - Update dependency constraint on docs requirements.
Fixes¶
- Fixes security issue https://github.com/Skyscanner/pycfmodel/security/dependabot/19
1.1.0¶
Updates¶
- Update
CLOUDFORMATION_ACTIONS. - Add a
_strictoption in GenericResource. Defaulting to True. See docs for more info
1.0.1¶
Breaking changes¶
- Drops python 3.8 support due to pydantic upgrade
Fixes¶
- Fixes security issue https://github.com/Skyscanner/pycfmodel/security/dependabot/13
- Fixes IndexError when resolving selecting from lists of unresolved values
Updates¶
- Update
CLOUDFORMATION_ACTIONS. - Bumps several dependencies
1.0.0¶
Breaking changes¶
- Pydantic updated to v2 including a reformat of the repository to comply with the new API.
- Drops python 3.7 support due to pydantic upgrade
0.22.0¶
Fixes¶
- KeyPolicy made optional for KMS Key resource type.
0.21.2¶
Fixes¶
- Add the BypassPolicyLockoutSafetyCheck and Origin fields in the KMS resource
Updates¶
- Update
CLOUDFORMATION_ACTIONS.
0.21.1¶
Fixes¶
- Documentation building.
Updates¶
- Update
CLOUDFORMATION_ACTIONS. - Actions versions.
- ReadMe badges.
0.21.0¶
Fixes¶
- Fix resolving conditions recursively #114
Enhancements¶
Updates¶
- Update
CLOUDFORMATION_ACTIONS.
0.20.3¶
Fixes¶
- Fix resolver find_in_map for maps with bool values. #112
Updates¶
- Update
CLOUDFORMATION_ACTIONS.
0.20.2¶
Fixes¶
- Fix model for IAM Role which was missing
DescriptionandTags. - Fix README.md tabs on list of available models.
Updates¶
- Update
CLOUDFORMATION_ACTIONS. - Updated tests accordingly for IAM Role
0.20.1¶
Fixes¶
- Fix docs that were failing to get updated/generated
Improvements¶
- Add tests for docs so they don't get outdated
Updates¶
- Update
CLOUDFORMATION_ACTIONS.
0.20.0¶
Additions¶
- New
RDSDBSecurityGroupandRDSDBSecurityGroupIngressresources [#103]
Improvements¶
- IAM Role is able to return its
AssumeRolePolicyDocumentas a list ofOptionallyNamedPolicyDocument. #102
Updates¶
- Compatible with Python3.10 #100
- Update
CLOUDFORMATION_ACTIONS.
0.19.1¶
Fixes¶
EffectonStatementis required. #101
Updates¶
- Update
CLOUDFORMATION_ACTIONS.
0.19.0¶
Improvements¶
- Able to parse PolicyDocument that are implicit in string properties. #97
0.18.2¶
Fixes¶
- Fix obtaining
policy_documentsfor resources without properties. #98
Updates¶
- Update
CLOUDFORMATION_ACTIONS.
0.18.1¶
Fixes¶
Propertiescan now be optional for Generic. See PR #96
Updates¶
- Update
CLOUDFORMATION_ACTIONS.
0.18.0 - [2022-04-01]¶
Fixes¶
- Removes
smart_unionflag from Generic. See PR #95
0.17.1 - [2022-03-02]¶
Additions¶
- Add
assume_role_statement_conditionsproperty forIAMRoleto include statements onAssumeRolePolicyDocuments. - Update
CLOUDFORMATION_ACTIONS.
0.17.0 - [2022-03-02]¶
Additions¶
KMSKeyto use defaultpolicy_documentsproperty instead of returning an empty list.
Updates¶
- Update
CLOUDFORMATION_ACTIONS.
0.16.3 - [2022-02-24]¶
Fixes¶
- Fix
resolveforbools that can bestrsuch as"true"or"false"or similar, by makingResolvableBoolto be resolvable toSemiStrictBool.
Updates¶
- Update
CLOUDFORMATION_ACTIONS.
0.16.2 - [2022-02-16]¶
Fixes¶
resolvewas converting to string booleans, this is incompatible since 0.14.0 because bool were converted to StrictBooleans.
Updates¶
- Update
CLOUDFORMATION_ACTIONS.
0.16.1 - [2022-02-16]¶
Fixes¶
- AWS KMS Key policies can contain an
Idfield in aPolicyDocument. The model forPolicyDocumenthas been updated accordingly to support this.
Updates¶
- Update
CLOUDFORMATION_ACTIONS.
0.16.0 - [2022-02-11]¶
Additions¶
- Added
all_statement_conditionsproperty toResource. This enables a list of all IAM Conditions defined in a Resource to be captured and used.
0.15.0 - [2022-02-10]¶
Additions¶
Resourceclass is able to runpolicy_documentswhen it's not a mapped resource and return a valid list ofOptionallyNamedPolicyDocument.- Update
CLOUDFORMATION_ACTIONS.
0.14.0 - [2022-02-03]¶
Additions¶
- Added
Principalproperty. - Modified
Statementproperty to work withPrincipalproperty - Added
Genericproperty. Any property under this class will be cast to an existing model ofpycfmodelif possible. - Modified
GenericResource,ESDomainProperties,OpenSearchDomainPropertiesandS3BucketPropertiesto work withGenericproperty - Update
CLOUDFORMATION_ACTIONS
0.13.0 - [2022-01-14]¶
Additions¶
- Added
ESDomainresource. - Added
OpenSearchDomainresource. - Update
CLOUDFORMATION_ACTIONS
0.12.0 - [2022-01-13]¶
Fixes¶
Transformfield of a CloudFormation template can now correctly handle both string and list of strings (see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html)- Support the usage of
aws:sourceVpceinIpAddressconditions. When comparing conditions however,pycfmodelwill block any comparison with something that is not an IPv4 or IPv6 address.
Additions¶
- Update
CLOUDFORMATION_ACTIONS.
0.11.1 - [2022-01-10]¶
Additions¶
- Update
CLOUDFORMATION_ACTIONS. - Add documentation regarding missing IAM actions.
0.11.0 - [2021-09-21]¶
Additions¶
- Add
S3Bucketresource. - Add
Tagsproperty for any usage of resource tagging.
0.10.4 - [2021-08-13]¶
Fixes¶
- Update
CLOUDFORMATION_ACTIONS - Add
MultiRegionandKeySpecproperties inKMSKeyProperties
0.10.3 - [2021-08-12]¶
Fixes¶
- Update condition handling for
IpAddressto handleIPv*Networkcomparison withsubnet_ofmethod.
0.10.2 - [2021-08-05]¶
Fixes¶
- Update evaluators on Conditions when
arg_bis of type List, to match AWS sema\ntics. - Update
IPv4NetworkandIPv6Networkto not be strict when parsing strings.
Before:A ValueError is raised if address does not represent a valid IPv4 or IPv6 address, or if the network has host bits set.After:A ValueError is raised if address does not represent a valid IPv4 or IPv6 address.
0.10.1 - [2021-07-23]¶
Fixes¶
- Fix bug when calling
resolveonCFModelwith default (empty dict)Conditions
0.10.0 - [2021-06-14]¶
Additions¶
- Resolver able to handle AWS SSM values in templates.
Fixes¶
- Update
CLOUDFORMATION_ACTIONS
0.9.1 - [2021-05-06]¶
Fixes¶
- Update
CLOUDFORMATION_ACTIONS StatementConditiononly builds evaluator ifevalis called.
0.9.0 - [2021-05-05]¶
Improvements¶
- Add
StatementConditionclass, with a function resolver as a replacement forConditionDict.
Removes¶
- Removes constants
CONDITION_MODIFIERSandCONDITION_FUNCTIONSfrompycfmodel/constants.py - Removes
is_conditional_dictfrompycfmodel/utils.py
Fixes¶
- Update
CLOUDFORMATION_ACTIONS - Change Metadata dict values to accept any type.
0.8.4 - [2021-04-27]¶
Fixes¶
- Fix to ensure all
Statement.Effectfields are always capitalized - Update
CLOUDFORMATION_ACTIONS
0.8.3 - [2021-02-15]¶
Fixes¶
- Fix to
policy_documentsmethod onEC2 VPC Endpointresource type for when no policy document is added to the resource.
0.8.2 - [2021-02-11]¶
Additions¶
- Add
EC2 VPC Endpoint Policyresource.
Changes¶
- Update list of all CloudFormation actions.
0.8.1 - [2020-11-27]¶
Additions¶
- New property
policy_documentsto Resources - New
model.utilsmodule - New helper dataclass:
model.utils.OptionallyNamedPolicyDocument
Improvements¶
- Added basic tests for the resources that didn't have
Changes¶
_build_regexmoved toutilsand renamed toregex_from_cf_string
Fixes¶
- Fixed IAMGroup model
0.8.0 - [2020-11-23]¶
Additions¶
- New function
pycfmodel.model.resources.properties.policy_document.PolicyDocument.get_allowed_actions
Improvements¶
- Improve action expansion to support
NotAction - Improve Cloudformation action file generator
- Update Cloudformation actions to latest
- Improved tests
- New optional parameters added to
pycfmodel.model.resources.properties.statement.Statement.get_action_list - New optional parameters added to
pycfmodel.action_expander._expand_action - New optional parameters added to
pycfmodel.action_expander._expand_actions
Fixes¶
- Fix isort testing issue
0.7.2 - [2020-09-01]¶
Improvements¶
- Added all cloudformation actions file (script to generate them and test to check for new actions)
- Added
expand_actions, it will return a new model expanding stars to get all implied actions - Added
get_expanded_action_listto Statement to get all implied actions
0.7.1 - [2020-04-06]¶
Improvements¶
- Refactor
SecurityGroupIngress,SecurityGroupEgress,SecurityGroupIngressPropandSecurityGroupEgressProp. SecurityGroupEgressalso supportsipv4_slash_zeroandipv6_slash_zero.
0.7.0 - [2020-03-25]¶
Improvements¶
CidrIpandCidrIpv6properties of Security Group ingress and egress now use typeIPv4NetworkandIPv6Networkrespectively.- This has led to modified
ipv4_slash_zeroandipv6_slash_zerofunctions.
0.6.4 - [2020-02-27]¶
Fixes¶
- Allow multiple operands in
orandandfunctions.
0.6.3 - [2020-01-08]¶
Added¶
- Added support for
Rulessection in template - Added tests for
allowed_principals_withandnon_whitelisted_allowed_principals
Fixes¶
- Fix types in
allowed_principals_with,non_whitelisted_allowed_principalsandPSEUDO_PARAMETERS.
0.6.2 - [2019-12-20]¶
Improvements¶
- Added the
resources_filtered_by_typefunction inCFModelclass
0.6.1 - [2019-12-09]¶
Fixes¶
- Fix CloudFormation conditions which were logically boolean to now successfully be evaluated as boolean.
0.6.0 - [2019-11-25]¶
Improvements¶
- Improve equal function
Breaking Changes¶
- Resolver now returns strings for most primitives
0.5.1 - [2019-11-25]¶
Improvements¶
- Add
NO_ECHO_WITH_VALUEparam value
0.5.0¶
Improvements¶
- Implements pydantic for all classes.
- Change the template parser, now it uses pydantic.
- Adds a resolve method to process cloudformation intrinsic functions.
- Adds lots of tests
Breaking changes¶
- API has been rewritten from scratch.