Class: Jets::Cfn::Resource::Nested::Api::Deployment
- Inherits:
-
Base
- Object
- Base
- Base
- Base
- Jets::Cfn::Resource::Nested::Api::Deployment
show all
- Defined in:
- lib/jets/cfn/resource/nested/api/deployment.rb
Instance Method Summary
collapse
Methods inherited from Base
#initialize, #outputs, #template_filename, #template_url
Methods inherited from Base
#attributes, #logical_id, #outputs, #permission, #properties, #replacements, #replacer, #standarize, #template, truncate_id, #type
#camelize
Instance Method Details
#definition ⇒ Object
4
5
6
7
8
9
10
11
12
13
14
15
|
# File 'lib/jets/cfn/resource/nested/api/deployment.rb', line 4
def definition
{
deployment_id => {
Type: "AWS::CloudFormation::Stack",
Properties: {
TemplateURL: template_url,
Parameters: parameters,
},
DependsOn: depends_on,
}
}
end
|
#depends_on ⇒ Object
21
22
23
|
# File 'lib/jets/cfn/resource/nested/api/deployment.rb', line 21
def depends_on
depends_on_controllers + depends_on_api_methods
end
|
#depends_on_api_methods ⇒ Object
25
26
27
28
29
30
|
# File 'lib/jets/cfn/resource/nested/api/deployment.rb', line 25
def depends_on_api_methods
pages = Jets::Cfn::Builder::Api::Pages::Methods.pages
pages.map do |page|
"ApiMethods#{page.number}"
end
end
|
#depends_on_controllers ⇒ Object
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/jets/cfn/resource/nested/api/deployment.rb', line 32
def depends_on_controllers
controller_logical_ids = []
expression = "#{Jets::Names.templates_folder}/*_controller*"
Dir.glob(expression).each do |path|
next unless File.file?(path)
regexp = Regexp.new(".*#{Jets::Names.templates_folder}/app-")
controller_name = path.sub(regexp, '').sub('.yml', '')
controller_logical_id = controller_name.underscore.camelize
controller_logical_ids << controller_logical_id
end
controller_logical_ids
end
|
#parameters ⇒ Object
17
18
19
|
# File 'lib/jets/cfn/resource/nested/api/deployment.rb', line 17
def parameters
{ RestApi: "!GetAtt ApiGateway.Outputs.RestApi" }
end
|