Module: CfnDsl::Patches

Defined in:
lib/cfndsl/patches.rb

Overview

Module for handling inconsistencies in the published resource specification from AWS

Class Method Summary collapse

Class Method Details

.resourcesObject

Missing/malformed resources from the resource specification rubocop:disable Metrics/MethodLength



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/cfndsl/patches.rb', line 6

def self.resources
  {
    'AWS::Serverless::Function' => {
      'Properties' => {
        'Handler'     => { 'PrimitiveType' => 'String' },
        'Runtime'     => { 'PrimitiveType' => 'String' },
        'CodeUri'     => { 'PrimitiveType' => 'String' },
        'Description' => { 'PrimitiveType' => 'String' },
        'MemorySize'  => { 'PrimitiveType' => 'Integer' },
        'Timeout'     => { 'PrimitiveType' => 'Integer' },
        'Environment' => { 'PrimitiveType' => 'Json' },
        'Events'      => { 'PrimitiveType' => 'Json' },
        'Policies'    => { 'Type' => 'List', 'ItemType' => 'Policy' }
      }
    },
    'AWS::Serverless::Api' => {
      'Properties' => {
        'StageName'           => { 'PrimitiveType' => 'String' },
        'DefinitionUri'       => { 'PrimitiveType' => 'String' },
        'CacheClusterEnabled' => { 'PrimitiveType' => 'Boolean' },
        'CacheClusterSize'    => { 'PrimitiveType' => 'String' },
        'Variables'           => { 'PrimitiveType' => 'Json' }
      }
    },
    'AWS::Serverless::SimpleTable' => {
      'Properties' => {
        'PrimaryKey' => { 'Type' => 'PrimaryKey' },
        'ProvisionedThroughput' => { 'Type' => 'ProvisionedThroughput' }
      }
    },
    'AWS::SSM::Parameter' => {
      'Properties' => {
        'Name'        => { 'PrimitiveType' => 'String' },
        'Description' => { 'PrimitiveType' => 'String' },
        'Type'        => { 'PrimitiveType' => 'String' },
        'Value'       => { 'PrimitiveType' => 'String' }
      }
    }
  }
end

.typesObject

Missing/malformed types from the resource specification



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/cfndsl/patches.rb', line 49

def self.types
  {
    'AWS::Serverless::SimpleTable.PrimaryKey' => {
      'Properties' => {
        'Name' => { 'PrimitiveType' => 'String' },
        'Type' => { 'PrimitiveType' => 'String' }
      }
    },
    'AWS::Serverless::SimpleTable.ProvisionedThroughput' => {
      'Properties' => {
        'ReadCapacityUnits'  => { 'PrimitiveType' => 'Integer' },
        'WriteCapacityUnits' => { 'PrimitiveType' => 'Integer' }
      }
    },
    'AWS::Serverless::Function.Policy' => {
      'Properties' => {
        'PolicyDocument' => { 'PrimitiveType' => 'Json' },
        'PolicyName'     => { 'PrimitiveType' => 'String' }
      }
    }
  }
end