Sha256: b83f8d2b88f42ea0a9102dd2130f8543fc449bfbb7305d0242fe032861f3e745

Contents?: true

Size: 1.96 KB

Versions: 3

Compression:

Stored size: 1.96 KB

Contents

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  "Description": <%= j stack.description %>,

  "Parameters" : {
    "BaseAMIVar": {"Type": "String", "Default": "ami-8f453dbf"},
    "InstanceAMIVar": {"Type": "String", "Default": "ami-8f453dbf"},

    "IAMKeypairNameVar": {"Type": "String", "MinLength": "5"},

    <% stack.roles.each do |role_name| %>
      <%= j "#{role_name}RoleScriptVar" %>: {"Type": "String"},
    <% end %>

    "MainDBAdminUsernameVar": {"Type": "String"},
    "MainDBAdminPasswordVar": {"Type": "String"},

    <%= layers.map{ |layer| layer.parameter_definitions }.compact.inject({}, &:update).map{ |k, v| [k.to_json, v.to_json].join(': ') + ",\n" }.join %>

    "EnvironmentTypeVar": {"Type": "String", "Default": "development"},
    "UserDataEnvironmentVar": {"Type": "String"}
  },

  "Mappings" : {
    "CloudFrontHostedZone" : {
      "us-west-2"      : { "HostedZoneId" : "Z2FDTNDATAQYW2" }
    },

    "S3HostedZone" : {
      "us-west-2"      : { "HostedZoneId" : "Z3BJ6K6RIION7M" }
    },

    "StackZoneRecords": <%= j Hash[ *(
      stack.subdomains.map do |subdomain|
        [subdomain.logical_name, {
          "DNSName" => subdomain.to_s,
          "HostedZoneId" => subdomain.hosted_zone.id,
          "ServerCertificateARN" => subdomain.server_certificate.arn
        }]
      end
    ).flatten ] %>,

    "SubnetConfig" : {
      "Cloud": {
        "CIDR": "10.0.0.0/16"
      },

      "A": {
        "CIDR": "10.0.0.0/24",
        "AvailabilityZone": "a"
      },
      "B": {
        "CIDR": "10.0.1.0/24",
        "AvailabilityZone": "b"
      },
      "C": {
        "CIDR": "10.0.2.0/24",
        "AvailabilityZone": "c"
      }
    }
  },

  "Conditions" : <%= j layers.map{ |layer| layer.condition_definitions }.compact.inject({}, &:update) %>,

  "Resources" : <%= j layers.map{ |layer| layer.resource_definitions }.compact.inject({}, &:update) %>,

  "Outputs" : <%= j layers.map{ |layer| layer.output_definitions }.compact.inject({}, &:update) %>
}

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
stacco-0.1.60 ./priv/stack.json.erb
stacco-0.1.59 ./priv/stack.json.erb
stacco-0.1.57 ./priv/stack.json.erb