class Jets::Resource::ChildStack::ApiResource

def api_resource_page(parameter)

def api_resource_page(parameter)
  Page.logical_id(parameter)
end

def definition

def definition
  {
    "api_resources_#{@page}" =>  {
      type: "AWS::CloudFormation::Stack",
      # depends_on: "ApiGateway", # CloudFormation seems to be smart enough
      properties: {
        template_url: template_url,
        parameters: parameters,
      }
    }
  }
end

def initialize(*)

def initialize(*)
  super
  @page = @options[:page]
end

def parameters

def parameters
  params = {}
  # Since dont have all the info required.
  # Read the template back to find the parameters required.
  # Actually might be easier to rationalize this approach.
  template_path = Jets::Naming.api_resources_template_path(@page)
  template = Jets::Cfn::BuiltTemplate.get(template_path)
  template['Parameters'].keys.each do |p|
    case p
    when "RestApi"
      params[p] = "!GetAtt ApiGateway.Outputs.RestApi"
    when "RootResourceId"
      params[p] = "!GetAtt ApiGateway.Outputs.RootResourceId"
    else
      params[p] = "!GetAtt #{api_resource_page(p)}.Outputs.#{p}"
    end
  end
  params
end

def template_filename

def template_filename
  "#{Jets.config.project_namespace}-api-resources-#{@page}.yml"
end