convection 1.1.2 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. checksums.yaml +4 -4
  2. data/lib/convection/dsl/intrinsic_functions.rb +12 -0
  3. data/lib/convection/model/template/resource/aws_api_gateway_account.rb +17 -0
  4. data/lib/convection/model/template/resource/aws_api_gateway_api_key.rb +26 -0
  5. data/lib/convection/model/template/resource/aws_api_gateway_authorizer.rb +25 -0
  6. data/lib/convection/model/template/resource/aws_api_gateway_base_path_mapping.rb +20 -0
  7. data/lib/convection/model/template/resource/aws_api_gateway_client_certificate.rb +17 -0
  8. data/lib/convection/model/template/resource/aws_api_gateway_deployment.rb +32 -0
  9. data/lib/convection/model/template/resource/aws_api_gateway_method.rb +38 -0
  10. data/lib/convection/model/template/resource/aws_api_gateway_model.rb +21 -0
  11. data/lib/convection/model/template/resource/aws_api_gateway_resource.rb +19 -0
  12. data/lib/convection/model/template/resource/aws_api_gateway_rest_api.rb +29 -0
  13. data/lib/convection/model/template/resource/aws_api_gateway_stage.rb +31 -0
  14. data/lib/convection/model/template/resource/aws_api_gateway_usage_plan.rb +39 -0
  15. data/lib/convection/model/template/resource/aws_api_gateway_usage_plan_key.rb +19 -0
  16. data/lib/convection/model/template/resource_property/aws_api_gateway_api_key_stage_key.rb +16 -0
  17. data/lib/convection/model/template/resource_property/aws_api_gateway_deployment_stage_description.rb +34 -0
  18. data/lib/convection/model/template/resource_property/aws_api_gateway_deployment_stage_description_method_setting.rb +24 -0
  19. data/lib/convection/model/template/resource_property/aws_api_gateway_deployment_stage_method_setting.rb +24 -0
  20. data/lib/convection/model/template/resource_property/aws_api_gateway_method_integration.rb +30 -0
  21. data/lib/convection/model/template/resource_property/aws_api_gateway_method_integration_integration_response.rb +18 -0
  22. data/lib/convection/model/template/resource_property/aws_api_gateway_method_method_response.rb +17 -0
  23. data/lib/convection/model/template/resource_property/aws_api_gateway_rest_api_s3_location.rb +18 -0
  24. data/lib/convection/model/template/resource_property/aws_api_gateway_usage_plan_api_stage.rb +16 -0
  25. data/lib/convection/model/template/resource_property/aws_api_gateway_usage_plan_quota_settings.rb +17 -0
  26. data/lib/convection/model/template/resource_property/aws_api_gateway_usage_plan_throttle_settings.rb +16 -0
  27. metadata +26 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 914c84855a7c16396afe48c41eddbdb2bf2227ef
4
- data.tar.gz: 4f04ec572a8407af9d3c23fd763fc25ca83f4b4c
3
+ metadata.gz: 57b8936a7475e4318ae6ca263f4be81eec84f58a
4
+ data.tar.gz: ffd2bc43ed853c6b5d3677f573c6cedb1b83d680
5
5
  SHA512:
6
- metadata.gz: 111e7767df7418e7f192a9e45e1b6fac94b16942fd07f0b8dce998e502e13134d6d6f62145ea46e3aa13bd3c48d02023bf61faaab1c39e708603e57eb5242291
7
- data.tar.gz: 9395471b31480a3c9c5a38f6141825c9a4e6653b958b1176b1f2424f671d3e5f260b5680c6663c3f6b731bb52706f63331d598b2aeaec5ebbe1184f14f9ff826
6
+ metadata.gz: ff0a27fbf967556ebecd4601bde48909b709b782e51b02d9cfa26b9b409cdceb6e0d393ddf4ba0fec39018bfdf864c26b25c6bd902855f811b841d0ac026f9e1
7
+ data.tar.gz: 2e52db753ae774f9c2d021ca01671d5fbb0afdf1fed078f233678fc8a125f0d18e817b06683b1499a63a517533708e5af8e977e63a49a1c8296ebf93fa382b8d
@@ -45,6 +45,18 @@ module Convection
45
45
  }
46
46
  end
47
47
 
48
+ def fn_sub(str, *vars)
49
+ if vars && !vars.empty?
50
+ {
51
+ 'Fn::Sub' => [str, vars]
52
+ }
53
+ else
54
+ {
55
+ 'Fn::Sub' => str
56
+ }
57
+ end
58
+ end
59
+
48
60
  def find_in_map(map_name, key_1, key_2)
49
61
  {
50
62
  'Fn::FindInMap' => [map_name, key_1, key_2]
@@ -0,0 +1,17 @@
1
+ require_relative '../resource'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class Resource
7
+ ##
8
+ # AWS::ApiGateway::Account
9
+ ##
10
+ class ApiGatewayAccount < Resource
11
+ type 'AWS::ApiGateway::Account'
12
+ property :cloud_watch_role_arn, 'CloudWatchRoleArn'
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,26 @@
1
+ require_relative '../resource'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class Resource
7
+ ##
8
+ # AWS::ApiGateway::ApiKey
9
+ ##
10
+ class ApiGatewayApiKey < Resource
11
+ type 'AWS::ApiGateway::ApiKey'
12
+ property :description, 'Description'
13
+ property :enabled, 'Enabled'
14
+ property :name, 'Name'
15
+ property :stage_keys, 'StageKeys', :type => :list # [ StageKey, ... ]
16
+
17
+ def stage_key(&block)
18
+ s = ResourceProperty::ApiGatewayApiKeyStageKey.new(self)
19
+ s.instance_exec(&block) if block
20
+ stage_keys << s
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,25 @@
1
+ require_relative '../resource'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class Resource
7
+ ##
8
+ # AWS::ApiGateway::Authorizer
9
+ ##
10
+ class ApiGatewayAuthorizer < Resource
11
+ type 'AWS::ApiGateway::Authorizer'
12
+ property :authorizer_credentials, 'AuthorizerCredentials'
13
+ property :authorizer_result_ttl_in_seconds, 'AuthorizerResultTtlInSeconds'
14
+ property :authorizer_uri, 'AuthorizerUri'
15
+ property :identity_source, 'IdentitySource'
16
+ property :identity_validation_expression, 'IdentityValidationExpression'
17
+ property :name, 'Name'
18
+ property :provider_arns, 'ProviderARNs', :type => :list # [ String, ... ],
19
+ property :request_api_id, 'RestApiId'
20
+ property :type, 'Type'
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,20 @@
1
+ require_relative '../resource'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class Resource
7
+ ##
8
+ # AWS::ApiGateway::BasePathMapping
9
+ ##
10
+ class ApiGatewayBasePathMapping < Resource
11
+ type 'AWS::ApiGateway::BasePathMapping'
12
+ property :base_path, 'BasePath'
13
+ property :domain_name, 'DomainName'
14
+ property :rest_api_id, 'RestApiId'
15
+ property :stage, 'Stage'
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,17 @@
1
+ require_relative '../resource'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class Resource
7
+ ##
8
+ # AWS::ApiGateway::ClientCertificate
9
+ ##
10
+ class ApiGatewayClientCertificate < Resource
11
+ type 'AWS::ApiGateway::ClientCertificate'
12
+ property :description, 'Description'
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,32 @@
1
+ require_relative '../resource'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class Resource
7
+ ##
8
+ # AWS::ApiGateway::Deployment
9
+ ##
10
+ class ApiGatewayDeployment < Resource
11
+ type 'AWS::ApiGateway::Deployment'
12
+ property :description, 'Description'
13
+ property :rest_api_id, 'RestApiId'
14
+ property :stage_description_prop, 'StageDescription'
15
+ property :stage_name, 'StageName'
16
+
17
+ def stage_description(&block)
18
+ i = ResourceProperty::ApiGatewayDeploymentStageDescription.new(self)
19
+ i.instance_exec(&block) if block
20
+ properties['StageDescription'].set(i)
21
+ end
22
+
23
+ def method_response(&block)
24
+ r = ResourceProperty::ApiGatewayMethodMethodResponse.new(self)
25
+ r.instance_exec(&block) if block
26
+ method_responses << r
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,38 @@
1
+ require_relative '../resource'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class Resource
7
+ ##
8
+ # AWS::ApiGateway::Method
9
+ ##
10
+ class ApiGatewayMethod < Resource
11
+ type 'AWS::ApiGateway::Method'
12
+ property :api_key_required, 'ApiKeyRequired'
13
+ property :authorization_type, 'AuthorizationType'
14
+ property :authorizer_id, 'AuthorizerId'
15
+ property :http_method, 'HttpMethod'
16
+ property :integration_prop, 'Integration'
17
+ property :method_responses, 'MethodResponses', :type => :list # [ MethodResponse, ... ]
18
+ property :request_model, 'RequestModels', :type => :hash # { String:String, ... }
19
+ property :request_parameter, 'RequestParameters', :type => :hash # { String:Boolean, ... }
20
+ property :resource_id, 'ResourceId'
21
+ property :rest_api_id, 'RestApiId'
22
+
23
+ def integration(&block)
24
+ i = ResourceProperty::ApiGatewayMethodIntegration.new(self)
25
+ i.instance_exec(&block) if block
26
+ properties['Integration'].set(i)
27
+ end
28
+
29
+ def method_response(&block)
30
+ r = ResourceProperty::ApiGatewayMethodMethodResponse.new(self)
31
+ r.instance_exec(&block) if block
32
+ method_responses << r
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,21 @@
1
+ require_relative '../resource'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class Resource
7
+ ##
8
+ # AWS::ApiGateway::Model
9
+ ##
10
+ class ApiGatewayModel < Resource
11
+ type 'AWS::ApiGateway::Model'
12
+ property :content_type, 'ContentType'
13
+ property :description, 'Description'
14
+ property :name, 'Name'
15
+ property :rest_api_id, 'RestApiId'
16
+ property :schema, 'Schema' # JSON object
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ require_relative '../resource'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class Resource
7
+ ##
8
+ # AWS::ApiGateway::Resource
9
+ ##
10
+ class ApiGatewayResource < Resource
11
+ type 'AWS::ApiGateway::Resource'
12
+ property :parent_id, 'ParentId'
13
+ property :path_part, 'PathPart'
14
+ property :rest_api_id, 'RestApiId'
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,29 @@
1
+ require_relative '../resource'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class Resource
7
+ ##
8
+ # AWS::ApiGateway::RestApi
9
+ ##
10
+ class ApiGatewayRestApi < Resource
11
+ type 'AWS::ApiGateway::RestApi'
12
+ property :body, 'Body' # JSON object
13
+ property :body_s3_location_prop, 'BodyS3Location' # S3Location
14
+ property :clone_from, 'CloneFrom'
15
+ property :description, 'Description'
16
+ property :fail_on_warnings, 'FailOnWarnings'
17
+ property :name, 'Name'
18
+ property :parameters, 'Parameters', :type => :list # [ String, ... ]
19
+
20
+ def body_s3_location(&block)
21
+ b = ResourceProperty::ApiGatewayRestApiS3Location.new(self)
22
+ b.instance_exec(&block) if block
23
+ properties['BodyS3Location'].set(b)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../resource'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class Resource
7
+ ##
8
+ # AWS::ApiGateway::Stage
9
+ ##
10
+ class ApiGatewayStage < Resource
11
+ type 'AWS::ApiGateway::Stage'
12
+ property :cache_cluster_enabled, 'CacheClusterEnabled'
13
+ property :cache_cluster_size, 'CacheClusterSize'
14
+ property :client_certificate_id, 'ClientCertificateId'
15
+ property :deployment_id, 'DeploymentId'
16
+ property :description, 'Description'
17
+ property :method_settings, 'MethodSettings', :type => :list # [ MethodSettings, ... ]
18
+ property :rest_api_id, 'RestApiId'
19
+ property :stage_name, 'StageName'
20
+ property :variables, 'Variables', :type => :hash # { String:String, ... }
21
+
22
+ def method_setting(&block)
23
+ r = ResourceProperty::ApiGatewayStageMethodSetting.new(self)
24
+ r.instance_exec(&block) if block
25
+ method_settings << r
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,39 @@
1
+ require_relative '../resource'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class Resource
7
+ ##
8
+ # AWS::ApiGateway::UsagePlan
9
+ ##
10
+ class ApiGatewayUsagePlan < Resource
11
+ type 'AWS::ApiGateway::UsagePlan'
12
+ property :api_stages, 'ApiStages', :type => :list # [ ApiStage, ... ]
13
+ property :description, 'Description'
14
+ property :quota_prop, 'Quota' # QuotaSetting
15
+ property :throttle_prop, 'Throttle' # ThrottleSetting
16
+ property :usage_plan_name, 'UsagePlanName'
17
+
18
+ def api_stage(&block)
19
+ r = ResourceProperty::ApiGatewayUsagePlanApiStage.new(self)
20
+ r.instance_exec(&block) if block
21
+ api_stages << r
22
+ end
23
+
24
+ def quota(&block)
25
+ i = ResourceProperty::ApiGatewayUsagePlanQuotaSettings.new(self)
26
+ i.instance_exec(&block) if block
27
+ properties['Quota'].set(i)
28
+ end
29
+
30
+ def throttle(&block)
31
+ i = ResourceProperty::ApiGatewayUsagePlanThrottleSettings.new(self)
32
+ i.instance_exec(&block) if block
33
+ properties['Throttle'].set(i)
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,19 @@
1
+ require_relative '../resource'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class Resource
7
+ ##
8
+ # AWS::ApiGateway::Method
9
+ ##
10
+ class ApiGatewayMethod < Resource
11
+ type 'AWS::ApiGateway::Method'
12
+ property :key_id, 'KeId'
13
+ property :key_type, 'KeyType'
14
+ property :authorizer_id, 'AuthorizerId'
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,16 @@
1
+ require_relative '../resource_property'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class ResourceProperty
7
+ # Represents an {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-apikey-stagekey.html
8
+ # API Gateway ApiKey StageKey Property Type}
9
+ class ApiGatewayApiKeyStageKey < ResourceProperty
10
+ property :rest_api_id, 'RestApiId'
11
+ property :stage_name, 'StageName'
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,34 @@
1
+ require_relative '../resource_property'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class ResourceProperty
7
+ # Represents an {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription.html
8
+ # API Gateway Deployment StageDescription Property Type}
9
+ class ApiGatewayDeploymentStageDescription < ResourceProperty
10
+ property :cache_cluster_enabled, 'CacheClusterEnabled'
11
+ property :cache_cluster_size, 'CacheClusterSize'
12
+ property :cache_data_encrypted, 'CacheDataEncrypted'
13
+ property :cache_ttl_in_seconds, 'CacheTtlInSeconds'
14
+ property :caching_enabled, 'Caching_enabled'
15
+ property :data_trace_enabled, 'DataTraceEnabled'
16
+ property :description, 'Description'
17
+ property :logging_level, 'LoggingLevel'
18
+ property :method_settings, 'MethodSettings', :type => :list # [ MethodSetting, ... ],
19
+ property :metrics_enabled, 'MetricsEnabled'
20
+ property :stage_name, 'StageName'
21
+ property :throttling_burst_limit, 'ThrottlingBurstLimit'
22
+ property :throttling_rate_limit, 'ThrottlingRateLimit'
23
+ property :variables, 'Variables', :type => :hash # { String:String, ... },
24
+
25
+ def method_setting(&block)
26
+ m = ResourceProperty::ApiGatewayDeploymentStageDescriptionMethodSetting.new(self)
27
+ m.instance_exec(&block) if block
28
+ integration_responses << m
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,24 @@
1
+ require_relative '../resource_property'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class ResourceProperty
7
+ # Represents an {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription-methodsetting.html
8
+ # API Gateway Deployment StageDescription MethodSetting Property Type}
9
+ class ApiGatewayDeploymentStageDescriptionMethodSetting < ResourceProperty
10
+ property :cache_data_encrypted, 'CacheDataEncrypted'
11
+ property :cache_ttl_in_seconds, 'CacheTtlInSeconds'
12
+ property :caching_enabled, 'Caching_enabled'
13
+ property :data_trace_enabled, 'DataTraceEnabled'
14
+ property :http_method, 'HttpMethod'
15
+ property :logging_level, 'LoggingLevel'
16
+ property :metrics_enabled, 'MetricsEnabled'
17
+ property :resource_path, 'ResourcePath'
18
+ property :throttling_burst_limit, 'ThrottlingBurstLimit'
19
+ property :throttling_rate_limit, 'ThrottlingRateLimit'
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ require_relative '../resource_property'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class ResourceProperty
7
+ # Represents an {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html
8
+ # API Gateway Stage MethodSetting Property Type}
9
+ class ApiGatewayStageMethodSetting < ResourceProperty
10
+ property :cache_data_encrypted, 'CacheDataEncrypted'
11
+ property :cache_ttl_in_seconds, 'CacheTtlInSeconds'
12
+ property :caching_enabled, 'Caching_enabled'
13
+ property :data_trace_enabled, 'DataTraceEnabled'
14
+ property :http_method, 'HttpMethod'
15
+ property :logging_level, 'LoggingLevel'
16
+ property :metrics_enabled, 'MetricsEnabled'
17
+ property :resource_path, 'ResourcePath'
18
+ property :throttling_burst_limit, 'ThrottlingBurstLimit'
19
+ property :throttling_rate_limit, 'ThrottlingRateLimit'
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,30 @@
1
+ require_relative '../resource_property'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class ResourceProperty
7
+ # Represents an {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html
8
+ # API Gateway Method Integration Property Type}
9
+ class ApiGatewayMethodIntegration < ResourceProperty
10
+ property :cache_key_parameters, 'CacheKeyParameters', :type => :list # [ String, ... ],
11
+ property :cache_namespace, 'CacheNamespace'
12
+ property :credentials, 'Credentials'
13
+ property :integration_http_method, 'IntegrationHttpMethod'
14
+ property :integration_responses, 'IntegrationResponses', :type => :list # [ IntegrationResponse, ... ],
15
+ property :passthrough_behavior, 'PassthroughBehavior'
16
+ property :request_parameters, 'RequestParameters', :type => :hash # { String:String, ... },
17
+ property :request_templates, 'RequestTemplates', :type => :hash # { String:String, ... },
18
+ property :type, 'Type'
19
+ property :uri, 'Uri'
20
+
21
+ def integration_response(&block)
22
+ i = ResourceProperty::ApiGatewayMethodIntegrationIntegrationResponse.new(self)
23
+ i.instance_exec(&block) if block
24
+ integration_responses << i
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,18 @@
1
+ require_relative '../resource_property'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class ResourceProperty
7
+ # Represents an {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html
8
+ # API Gateway Method Integration IntegrationResponse Property Type}
9
+ class ApiGatewayMethodIntegrationIntegrationResponse < ResourceProperty
10
+ property :response_parameters, 'ResponseParameters', :type => :hash # { String:String, ... },
11
+ property :response_templates, 'ResponseTemplates', :type => :hash # { String:String, ... },
12
+ property :selection_pattern, 'SelectionPattern'
13
+ property :status_code, 'StatusCode'
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,17 @@
1
+ require_relative '../resource_property'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class ResourceProperty
7
+ # Represents an {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html
8
+ # API Gateway Method MethodResponse Property Type}
9
+ class ApiGatewayMethodMethodResponse < ResourceProperty
10
+ property :response_models, 'ResponseModels', :type => :hash # { String:String, ... },
11
+ property :response_parameters, 'ResponseParameters', :type => :hash # { String:Boolean, ... },
12
+ property :status_code, 'StatusCode'
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,18 @@
1
+ require_relative '../resource_property'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class ResourceProperty
7
+ # Represents an {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-restapi-bodys3location.html
8
+ # API Gateway RestApi S3Location Property Type}
9
+ class ApiGatewayRestApiS3Location < ResourceProperty
10
+ property :bucket, 'Bucket'
11
+ property :e_tag, 'ETag'
12
+ property :key, 'Key'
13
+ property :version, 'Version'
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,16 @@
1
+ require_relative '../resource_property'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class ResourceProperty
7
+ # Represents an {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html
8
+ # API Gateway UsagePlan ApiStage Property Type}
9
+ class ApiGatewayUsagePlanApiStage < ResourceProperty
10
+ property :api_id, 'ApiId'
11
+ property :stage, 'Stage'
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ require_relative '../resource_property'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class ResourceProperty
7
+ # Represents an {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html
8
+ # API Gateway UsagePlan QuotaSettings Property Type}
9
+ class ApiGatewayUsagePlanQuotaSettings < ResourceProperty
10
+ property :limit, 'Limit'
11
+ property :offset, 'Offset'
12
+ property :period, 'Period'
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ require_relative '../resource_property'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class ResourceProperty
7
+ # Represents an {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html
8
+ # API Gateway UsagePlan ThrottleSettings Property Type}
9
+ class ApiGatewayUsagePlanThrottleSettings < ResourceProperty
10
+ property :burst_limit, 'BurstLimit'
11
+ property :rate_limit, 'RateLimit'
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: convection
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Manero
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-09 00:00:00.000000000 Z
11
+ date: 2017-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
@@ -137,6 +137,19 @@ files:
137
137
  - lib/convection/model/template/output.rb
138
138
  - lib/convection/model/template/parameter.rb
139
139
  - lib/convection/model/template/resource.rb
140
+ - lib/convection/model/template/resource/aws_api_gateway_account.rb
141
+ - lib/convection/model/template/resource/aws_api_gateway_api_key.rb
142
+ - lib/convection/model/template/resource/aws_api_gateway_authorizer.rb
143
+ - lib/convection/model/template/resource/aws_api_gateway_base_path_mapping.rb
144
+ - lib/convection/model/template/resource/aws_api_gateway_client_certificate.rb
145
+ - lib/convection/model/template/resource/aws_api_gateway_deployment.rb
146
+ - lib/convection/model/template/resource/aws_api_gateway_method.rb
147
+ - lib/convection/model/template/resource/aws_api_gateway_model.rb
148
+ - lib/convection/model/template/resource/aws_api_gateway_resource.rb
149
+ - lib/convection/model/template/resource/aws_api_gateway_rest_api.rb
150
+ - lib/convection/model/template/resource/aws_api_gateway_stage.rb
151
+ - lib/convection/model/template/resource/aws_api_gateway_usage_plan.rb
152
+ - lib/convection/model/template/resource/aws_api_gateway_usage_plan_key.rb
140
153
  - lib/convection/model/template/resource/aws_auto_scaling_auto_scaling_group.rb
141
154
  - lib/convection/model/template/resource/aws_auto_scaling_launch_configuration.rb
142
155
  - lib/convection/model/template/resource/aws_auto_scaling_scaling_policy.rb
@@ -218,6 +231,17 @@ files:
218
231
  - lib/convection/model/template/resource_attribute/update_policy.rb
219
232
  - lib/convection/model/template/resource_collection.rb
220
233
  - lib/convection/model/template/resource_property.rb
234
+ - lib/convection/model/template/resource_property/aws_api_gateway_api_key_stage_key.rb
235
+ - lib/convection/model/template/resource_property/aws_api_gateway_deployment_stage_description.rb
236
+ - lib/convection/model/template/resource_property/aws_api_gateway_deployment_stage_description_method_setting.rb
237
+ - lib/convection/model/template/resource_property/aws_api_gateway_deployment_stage_method_setting.rb
238
+ - lib/convection/model/template/resource_property/aws_api_gateway_method_integration.rb
239
+ - lib/convection/model/template/resource_property/aws_api_gateway_method_integration_integration_response.rb
240
+ - lib/convection/model/template/resource_property/aws_api_gateway_method_method_response.rb
241
+ - lib/convection/model/template/resource_property/aws_api_gateway_rest_api_s3_location.rb
242
+ - lib/convection/model/template/resource_property/aws_api_gateway_usage_plan_api_stage.rb
243
+ - lib/convection/model/template/resource_property/aws_api_gateway_usage_plan_quota_settings.rb
244
+ - lib/convection/model/template/resource_property/aws_api_gateway_usage_plan_throttle_settings.rb
221
245
  - lib/convection/model/template/resource_property/aws_certificate_manager_certificate_domain_validation_option.rb
222
246
  - lib/convection/model/template/resource_property/aws_cloudfront_cachebehavior.rb
223
247
  - lib/convection/model/template/resource_property/aws_cloudfront_customerrorresponse.rb