Skip to content

Commit

Permalink
Merge pull request #307 from kddejong/Release/v0.6.0
Browse files Browse the repository at this point in the history
Release v0.6.0
  • Loading branch information
Chuck Meyer committed Aug 23, 2018
2 parents 790e530 + c83230f commit e775e13
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 2 deletions.
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,19 @@
- Test Ref resources to IAM Roles have good assume role documents. Example: Lambda Function Ref refers to an IAM Role that can be assume by Lambda.
- More Warnings around hard coded values (Regions, AccountIds) to help with the practice of reusability

### 0.6.0
###### Features
- Update formatters to be similar from JSON and text outputs and modularize for easier growth later
- Don't raise an error with [E3020](https://github.com/awslabs/cfn-python-lint/blob/master/docs/rules.md#E3020) when doing ACM DNS validation registration
- Add rule [E7003](https://github.com/awslabs/cfn-python-lint/blob/master/docs/rules.md#E7003) to validate that mapping keys are strings.
- Add rule [E1027](https://github.com/awslabs/cfn-python-lint/blob/master/docs/rules.md#E1027) to validate that dynamic reference secure strings are to supported properties
- Add rule [E1004](https://github.com/awslabs/cfn-python-lint/blob/master/docs/rules.md#E1004) to validate that the Template Description is only a string
- Add rule [E6005](https://github.com/awslabs/cfn-python-lint/blob/master/docs/rules.md#E6005) to validate that an Output Description is only a string
- Add rule [E6012](https://github.com/awslabs/cfn-python-lint/blob/master/docs/rules.md#E6005) to validate that an Output Description is less than the maximum length
###### Fixes
- Fix core libraries to handle conditions around resource properties so that the resource and property checks still run
- Fix core libraries to handle the special property type `Tag` so that its checked when a rule is doing a Property Check

### 0.5.2
###### Fixes
- Support additional attributes in spec file for [E3002](https://github.com/awslabs/cfn-python-lint/blob/master/docs/rules.md#E3003)
Expand Down
7 changes: 6 additions & 1 deletion docs/rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Rule `E3012` is used to check the types for value of a resource property. A num


## Rules
The following **82** rules are applied by this linter:
The following **87** rules are applied by this linter:

| Rule ID | Title | Description | Source | Tags |
| -------- | ----- | ----------- | ------ | ---- |
Expand All @@ -37,6 +37,7 @@ The following **82** rules are applied by this linter:
| E1001 <a name="E1001"></a> | Basic CloudFormation Template Configuration | Making sure the basic CloudFormation template components are properly configured | [Source](https://github.com/awslabs/cfn-python-lint) | `base` |
| E1002 <a name="E1002"></a> | Template size limit | Check the size of the template is less than the upper limit | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) | `limits` |
| E1003 <a name="E1003"></a> | Template description limit | Check if the size of the template description is less than the upper limit | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) | `limits` |
| E1004 <a name="E1004"></a> | Template description can only be a string | Template description can only be a string | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-description-structure.html) | `description` |
| E1010 <a name="E1010"></a> | GetAtt validation of parameters | Validates that GetAtt parameters are to valid resources and properties of those resources | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) | `functions`,`getatt` |
| E1011 <a name="E1011"></a> | FindInMap validation of configuration | Making sure the function is a list of appropriate config | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html) | `functions`,`findinmap` |
| E1012 <a name="E1012"></a> | Check if Refs exist | Making sure the refs exist | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) | `functions`,`ref` |
Expand All @@ -52,6 +53,7 @@ The following **82** rules are applied by this linter:
| E1024 <a name="E1024"></a> | Cidr validation of parameters | Making sure the function CIDR is a list with valid values | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-cidr.html) | `functions`,`cidr` |
| E1025 <a name="E1025"></a> | Check if Conditions exist | Making sure the Conditions used in Fn:If functions exist | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-if) | `functions`,`if` |
| E1026 <a name="E1026"></a> | Cannot reference resources in the Conditions block of the template | Check that any Refs in the Conditions block uses no resources | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#w2ab2c21c28c21c45) | `functions`,`ref` |
| E1027 <a name="E1027"></a> | Check dynamic references secure strings are in supported locations | Dynamic References Secure Strings are only supported for a small set of resource properties. Validate that they are being used in the correct location when checking values and Fn::Sub in resource properties. Currently doesn't check outputs, maps, conditions, parameters, and descriptions. | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) | `functions`,`dynamic reference` |
| E2001 <a name="E2001"></a> | Parameters have appropriate properties | Making sure the parameters are properly configured | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) | `parameters` |
| E2002 <a name="E2002"></a> | Parameters have appropriate type | Making sure the parameters have a correct type | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html#parmtypes) | `parameters` |
| E2003 <a name="E2003"></a> | Parameters have appropriate names | Check if Parameters are properly named (A-Za-z0-9) | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#parameters-section-structure-requirements) | `parameters` |
Expand Down Expand Up @@ -93,10 +95,13 @@ The following **82** rules are applied by this linter:
| E6002 <a name="E6002"></a> | Outputs have required properties | Making sure the outputs have required properties | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) | `outputs` |
| E6003 <a name="E6003"></a> | Outputs have values of strings | Making sure the outputs have strings as values | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) | `outputs` |
| E6004 <a name="E6004"></a> | Outputs have appropriate names | Check if Outputs are properly named (A-Za-z0-9) | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) | `outputs` |
| E6005 <a name="E6005"></a> | Outputs descriptions can only be strings | Outputs descriptions can only be strings | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) | `outputs` |
| E6010 <a name="E6010"></a> | Output limit not exceeded | Check the number of Outputs in the template is lessthan the upper limit | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) | `outputs`,`limits` |
| E6011 <a name="E6011"></a> | Output name limit not exceeded | Check the size of Output names in the template is less than the upper limit | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) | `outputs`,`limits` |
| E6012 <a name="E6012"></a> | Output description limit not exceeded | Check the size of Output description in the template is less than the upper limit | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) | `outputs`,`limits` |
| E7001 <a name="E7001"></a> | Mappings are appropriately configured | Check if Mappings are properly configured | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html) | `mappings` |
| E7002 <a name="E7002"></a> | Mappings have appropriate names | Check if Mappings are properly named (A-Za-z0-9) | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html) | `mapping` |
| E7003 <a name="E7003"></a> | Mapping keys are strings and alphanumeric | Check if Mappings keys are properly typed as strings and alphanumeric | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html) | `mapping` |
| E7010 <a name="E7010"></a> | Mapping limit not exceeded | Check the number of Mappings in the template is lessthan the upper limit | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) | `mappings`,`limits` |
| E7011 <a name="E7011"></a> | Mapping name limit not exceeded | Check the size of Mapping names in the template is less than the upper limit | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) | `mappings`,`limits` |
| E7012 <a name="E7012"></a> | Mapping attribute limit not exceeded | Check if the amount of Mapping attributes in the template is less than the upper limit | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) | `mappings`,`limits` |
Expand Down
2 changes: 1 addition & 1 deletion src/cfnlint/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
"""

__version__ = '0.5.2'
__version__ = '0.6.0'

0 comments on commit e775e13

Please sign in to comment.