nirmalkumarv
12/21/2016 - 3:39 PM

Cloud Formation Template (danielparker.com.au) WordPress and Elastic Beanstalk

Cloud Formation Template (danielparker.com.au) WordPress and Elastic Beanstalk

{  
   "Outputs":{  
      "AWSEBLoadBalancerURL":{  
         "Value":{  
            "Fn::Join":[  
               "",
               [  
                  "http:\/\/",
                  {  
                     "Fn::GetAtt":[  
                        "AWSEBLoadBalancer",
                        "DNSName"
                     ]
                  }
               ]
            ]
         },
         "Description":"The ElasticBeanstalk ELB URL of the website"
      }
   },
   "AWSTemplateFormatVersion":"2010-09-09",
   "Parameters":{  
      "LogPublicationControl":{  
         "ConstraintDescription":"must be Boolean.",
         "NoEcho":"true",
         "Type":"String",
         "Description":"If true customer service logs will be published to S3.",
         "AllowedValues":[  
            "true",
            "false"
         ],
         "Default":"false"
      },
      "DocumentRoot":{  
         "NoEcho":"true",
         "Type":"String",
         "Description":"Enables you to specify the child directory of your project that is treated as the public-facing web root. If your root document is stored in your project directory, leave this set to \"\/\". If your root document is inside a child directory (e.g., <project>\/public), set this value to match the child directory. Values should begin with a \"\/\" character, and may NOT begin with a \".\" character.",
         "Default":""
      },
      "InstancePort":{  
         "NoEcho":"true",
         "Type":"String",
         "Description":"Listen Port",
         "Default":"80"
      },
      "DisplayErrors":{  
         "NoEcho":"true",
         "Type":"String",
         "Description":"Specifies whether error messages should be part of the output. (This value is written to the php.ini file.)",
         "Default":"Off"
      },
      "AWSEBEnvironmentId":{  
         "NoEcho":"true",
         "Type":"String"
      },
      "HooksPkgUrl":{  
         "NoEcho":"true",
         "Type":"String",
         "Description":"URL to hooks package",
         "Default":"https:\/\/s3-ap-southeast-2.amazonaws.com\/elasticbeanstalk-env-resources-ap-southeast-2\/stalks\/eb_php_4.0.1.22.8\/lib\/assets.tar.gz"
      },
      "ZlibOutputCompression":{  
         "NoEcho":"true",
         "Type":"String",
         "Description":"Specifies whether PHP should use compression for output. (This value is written to the php.ini file.)",
         "Default":"Off"
      },
      "AWSEBEnvironmentName":{  
         "NoEcho":"true",
         "Type":"String"
      },
      "AWSEBReferrerId":{  
         "Default":"",
         "NoEcho":"true",
         "Type":"String"
      },
      "AppSource":{  
         "NoEcho":"true",
         "Type":"String",
         "Description":"The url of the application source.",
         "Default":"http:\/\/s3-ap-southeast-2.amazonaws.com\/elasticbeanstalk-samples-ap-southeast-2\/php-newsample-app.zip"
      },
      "MaxExecutionTime":{  
         "NoEcho":"true",
         "Type":"Number",
         "Description":"Sets the maximum time, in seconds, a script is allowed to run before it is terminated by the environment. This helps prevent poorly written scripts from tying up the server.",
         "Default":60
      },
      "MemoryLimit":{  
         "NoEcho":"true",
         "Type":"String",
         "Description":"Specifies the amount of memory allocated to the PHP environment. (This value is written to the php.ini file.)",
         "Default":"256M"
      },
      "EnvironmentVariables":{  
         "NoEcho":"true",
         "Type":"CommaDelimitedList",
         "Description":"Program environment variables.",
         "Default":""
      },
      "AllowUrlFopen":{  
         "NoEcho":"true",
         "Type":"String",
         "Description":"Specifies whether the PHP's file functions are allowed to retrieve data from remote locations, such as websites or FTP servers. (This value is written to the php.ini file.)",
         "Default":"On"
      },
      "AWSEBAgentId":{  
         "Default":"",
         "NoEcho":"true",
         "Type":"String"
      },
      "ComposerOptions":{  
         "NoEcho":"true",
         "Type":"String",
         "Description":"Sets custom options to use when installing dependencies using Composer through composer.phar install",
         "Default":""
      },
      "InstanceType":{  
         "ConstraintDescription":"must be a valid EC2 instance type.",
         "NoEcho":"true",
         "Type":"String",
         "Description":"WebServer EC2 instance type",
         "AllowedValues":[  
            "t2.micro",
            "t2.small",
            "t2.medium",
            "t2.large",
            "m3.medium",
            "m3.large",
            "m3.xlarge",
            "m3.2xlarge",
            "c3.large",
            "c3.xlarge",
            "c3.2xlarge",
            "c3.4xlarge",
            "c3.8xlarge",
            "t1.micro",
            "m1.small",
            "m1.medium",
            "m1.large",
            "m1.xlarge",
            "c1.medium",
            "c1.xlarge",
            "c4.large",
            "c4.xlarge",
            "c4.2xlarge",
            "c4.4xlarge",
            "c4.8xlarge",
            "m2.xlarge",
            "m2.2xlarge",
            "m2.4xlarge",
            "m4.large",
            "m4.xlarge",
            "m4.2xlarge",
            "m4.4xlarge",
            "m4.10xlarge",
            "g2.2xlarge",
            "g2.8xlarge",
            "i2.xlarge",
            "i2.2xlarge",
            "i2.4xlarge",
            "i2.8xlarge",
            "r3.large",
            "r3.xlarge",
            "r3.2xlarge",
            "r3.4xlarge",
            "r3.8xlarge"
         ],
         "Default":"t1.micro"
      },
      "AWSEBEnvironmentBucket":{  
         "NoEcho":"true",
         "Type":"String"
      }
   },
   "Resources":{  
      "AWSEBSecurityGroupSSHIngress":{  
         "Properties":{  
            "CidrIp":"0.0.0.0\/0",
            "FromPort":"22",
            "ToPort":"22",
            "IpProtocol":"tcp",
            "GroupId":{  
               "Ref":"AWSEBSecurityGroup"
            }
         },
         "Type":"AWS::EC2::SecurityGroupIngress"
      },
      "AWSEBAutoScalingLaunchConfiguration":{  
         "Properties":{  
            "KeyName":"daniel-key-pair-sydney",
            "SecurityGroups":[  
               "sg-d473e3b1",
               {  
                  "Ref":"AWSEBSecurityGroup"
               }
            ],
            "UserData":{  
               "Fn::Base64":{  
                  "Fn::Join":[  
                     "",
                     [  
                        "Content-Type: multipart\/mixed; boundary=\"===============5189065377222898407==\"",
                        "\n",
                        "MIME-Version: 1.0",
                        "\n",
                        "",
                        "\n",
                        "--===============5189065377222898407==",
                        "\n",
                        "Content-Type: text\/cloud-config; charset=\"us-ascii\"",
                        "\n",
                        "MIME-Version: 1.0",
                        "\n",
                        "Content-Transfer-Encoding: 7bit",
                        "\n",
                        "Content-Disposition: attachment; filename=\"cloud-config.txt\"",
                        "\n",
                        "",
                        "\n",
                        "#cloud-config",
                        "\n",
                        "repo_upgrade: none",
                        "\n",
                        "repo_releasever: ",
                        {  
                           "Fn::FindInMap":[  
                              "ContainerMeta",
                              "AMIMeta",
                              "RepoReleaseVersion"
                           ]
                        },
                        "\n",
                        {  
                           "Fn::FindInMap":[  
                              "AWSEBOptions",
                              "options",
                              "CloudConfigOptions"
                           ]
                        },
                        "\n",
                        "",
                        "\n",
                        "--===============5189065377222898407==",
                        "\n",
                        "Content-Type: text\/x-shellscript; charset=\"us-ascii\"",
                        "\n",
                        "MIME-Version: 1.0",
                        "\n",
                        "Content-Transfer-Encoding: 7bit",
                        "\n",
                        "Content-Disposition: attachment; filename=\"user-data.txt\"",
                        "\n\n",
                        "#!\/bin\/bash",
                        "\n",
                        "exec > >(tee -a \/var\/log\/eb-cfn-init.log|logger -t [eb-cfn-init] -s 2>\/dev\/console) 2>&1",
                        "\n",
                        "echo [`date -u +\"%Y-%m-%dT%H:%M:%SZ\"`] Started EB User Data",
                        "\n",
                        "set -x",
                        "\n",
                        "\n\n",
                        "function sleep_delay ",
                        "\n",
                        "{",
                        "\n",
                        "  if (( $SLEEP_TIME < $SLEEP_TIME_MAX )); then ",
                        "\n",
                        "    echo Sleeping $SLEEP_TIME",
                        "\n",
                        "    sleep $SLEEP_TIME  ",
                        "\n",
                        "    SLEEP_TIME=$(($SLEEP_TIME * 2)) ",
                        "\n",
                        "  else ",
                        "\n",
                        "    echo Sleeping $SLEEP_TIME_MAX  ",
                        "\n",
                        "    sleep $SLEEP_TIME_MAX  ",
                        "\n",
                        "  fi",
                        "\n",
                        "}",
                        "\n\n",
                        "# Executing bootstrap script",
                        "\n",
                        "SLEEP_TIME=10",
                        "\n",
                        "SLEEP_TIME_MAX=3600",
                        "\n",
                        "while true; do ",
                        "\n",
                        "  curl ",
                        {  
                           "Fn::FindInMap":[  
                              "AWSEBOptions",
                              "options",
                              "UserDataScript"
                           ]
                        },
                        " > \/tmp\/ebbootstrap.sh ",
                        "\n",
                        "  RESULT=$?",
                        "\n",
                        "  if [[ \"$RESULT\" -ne 0 ]]; then ",
                        "\n",
                        "    sleep_delay ",
                        "\n",
                        "  else",
                        "\n",
                        "    \/bin\/bash \/tmp\/ebbootstrap.sh ",
                        "    '",
                        {  
                           "Fn::FindInMap":[  
                              "AWSEBOptions",
                              "options",
                              "rpms"
                           ]
                        },
                        "'",
                        "    '",
                        {  
                           "Fn::FindInMap":[  
                              "AWSEBOptions",
                              "options",
                              "tarballs"
                           ]
                        },
                        "'",
                        "    '",
                        {  
                           "Fn::FindInMap":[  
                              "AWSEBOptions",
                              "options",
                              "ebgems"
                           ]
                        },
                        "'",
                        "    '",
                        {  
                           "Ref":"AWSEBInstanceLaunchWaitHandle"
                        },
                        "'",
                        "    '",
                        {  
                           "Ref":"AWS::StackId"
                        },
                        "'",
                        "    '",
                        {  
                           "Ref":"AWS::Region"
                        },
                        "'",
                        "    '",
                        {  
                           "Fn::FindInMap":[  
                              "AWSEBOptions",
                              "options",
                              "guid"
                           ]
                        },
                        "'",
                        "    '",
                        {  
                           "Fn::FindInMap":[  
                              "AWSEBOptions",
                              "options",
                              "AWSEBHealthdGroupId"
                           ]
                        },
                        "'",
                        "    '",
                        {  
                           "Fn::FindInMap":[  
                              "AWSEBOptions",
                              "options",
                              "AWSEBHealthdEndpoint"
                           ]
                        },
                        "'",
                        "    '",
                        {  
                           "Fn::FindInMap":[  
                              "AWSEBOptions",
                              "options",
                              "ProxyServer"
                           ]
                        },
                        "'",
                        "    '",
                        {  
                           "Fn::FindInMap":[  
                              "AWSEBOptions",
                              "options",
                              "HealthdProxyLogLocation"
                           ]
                        },
                        "'",
                        "    && ",
                        "\n",
                        "    exit 0  ",
                        "\n",
                        "  fi ",
                        "\n",
                        "done",
                        "\n\n",
                        "--===============5189065377222898407==-- ",
                        "##Ec2InstanceReplacementRequest=68e35864-85b6-11e5-8724-03fe034960d8"
                     ]
                  ]
               }
            },
            "ImageId":{  
               "Fn::FindInMap":[  
                  "AWSEBAWSRegionArch2AMI",
                  {  
                     "Ref":"AWS::Region"
                  },
                  {  
                     "Fn::FindInMap":[  
                        "AWSEBAWSInstanceType2Arch",
                        {  
                           "Ref":"InstanceType"
                        },
                        "Arch"
                     ]
                  }
               ]
            },
            "IamInstanceProfile":"aws-elasticbeanstalk-ec2-role",
            "InstanceType":{  
               "Ref":"InstanceType"
            },
            "AssociatePublicIpAddress":"true",
            "InstanceMonitoring":false
         },
         "Type":"AWS::AutoScaling::LaunchConfiguration"
      },
      "AWSEBUpdateWaitConditionxwaxZO":{  
         "Type":"AWS::CloudFormation::WaitCondition",
         "DependsOn":[  
            "AWSEBSecurityGroupSSHIngress",
            "AWSEBAutoScalingLaunchConfiguration",
            "AWSEBLoadBalancer",
            "AWSEBLoadBalancerSecurityGroup",
            "AWSEBSecurityGroup",
            "AWSEBAutoScalingScaleDownPolicy",
            "AWSEBInstanceLaunchWaitHandle",
            "AWSEBAutoScalingGroup",
            "AWSEBInstanceLaunchWaitCondition",
            "AWSEBAutoScalingScaleUpPolicy",
            "AWSEBCloudwatchAlarmHigh",
            "AWSEBBeanstalkMetadata",
            "AWSEBCloudwatchAlarmLow"
         ],
         "Properties":{  
            "Timeout":"43200",
            "Count":"1",
            "Handle":{  
               "Ref":"AWSEBUpdateWaitConditionHandlexwaxZO"
            }
         }
      },
      "AWSEBLoadBalancer":{  
         "Properties":{  
            "SecurityGroups":[  
               {  
                  "Ref":"AWSEBLoadBalancerSecurityGroup"
               }
            ],
            "Listeners":[  
               {  
                  "LoadBalancerPort":"80",
                  "Protocol":"HTTP",
                  "InstancePort":{  
                     "Ref":"InstancePort"
                  }
               },
               {  
                  "LoadBalancerPort":"443",
                  "Protocol":"HTTPS",
                  "SSLCertificateId":"arn:aws:iam::<account-id>:server-certificate\/cloudfront\/danielparker.com.au-cloudfront",
                  "InstancePort":"80"
               }
            ],
            "Subnets":[  
               "subnet-1c38e46b",
               "subnet-351a9550"
            ],
            "CrossZone":false,
            "ConnectionDrainingPolicy":{  
               "Timeout":20,
               "Enabled":true
            },
            "Policies":[  

            ],
            "HealthCheck":{  
               "Target":{  
                  "Fn::Join":[  
                     "",
                     [  
                        "HTTP:",
                        {  
                           "Ref":"InstancePort"
                        },
                        "\/healthcheck.html"
                     ]
                  ]
               },
               "UnhealthyThreshold":"5",
               "Timeout":"5",
               "HealthyThreshold":"3",
               "Interval":"10"
            }
         },
         "Type":"AWS::ElasticLoadBalancing::LoadBalancer"
      },
      "AWSEBLoadBalancerSecurityGroup":{  
         "Properties":{  
            "GroupDescription":"Load Balancer Security Group",
            "VpcId":"vpc-f9cb169c",
            "SecurityGroupIngress":[  
               {  
                  "CidrIp":"0.0.0.0\/0",
                  "FromPort":"80",
                  "ToPort":"80",
                  "IpProtocol":"tcp"
               },
               {  
                  "CidrIp":"0.0.0.0\/0",
                  "FromPort":"443",
                  "ToPort":"443",
                  "IpProtocol":"tcp"
               }
            ],
            "SecurityGroupEgress":[  
               {  
                  "CidrIp":"0.0.0.0\/0",
                  "FromPort":"80",
                  "ToPort":"80",
                  "IpProtocol":"tcp"
               },
               {  
                  "CidrIp":"0.0.0.0\/0",
                  "FromPort":"80",
                  "ToPort":"80",
                  "IpProtocol":"tcp"
               }
            ]
         },
         "Type":"AWS::EC2::SecurityGroup"
      },
      "AWSEBSecurityGroup":{  
         "Properties":{  
            "GroupDescription":"VPC Security Group",
            "VpcId":"vpc-f9cb169c",
            "SecurityGroupIngress":[  
               {  
                  "FromPort":"80",
                  "ToPort":"80",
                  "IpProtocol":"tcp",
                  "SourceSecurityGroupId":{  
                     "Ref":"AWSEBLoadBalancerSecurityGroup"
                  }
               }
            ]
         },
         "Type":"AWS::EC2::SecurityGroup"
      },
      "AWSEBAutoScalingScaleDownPolicy":{  
         "Properties":{  
            "ScalingAdjustment":"-1",
            "AutoScalingGroupName":{  
               "Ref":"AWSEBAutoScalingGroup"
            },
            "AdjustmentType":"ChangeInCapacity"
         },
         "Type":"AWS::AutoScaling::ScalingPolicy"
      },
      "AWSEBInstanceLaunchWaitHandle":{  
         "Type":"AWS::CloudFormation::WaitConditionHandle"
      },
      "AWSEBAutoScalingGroup":{  
         "Metadata":{  
            "ForcingMetadataUpdate":"Changing something in the metadata will force re-compuation",
            "AWS::CloudFormation::Init":{  
               "Infra-WriteTailLogsConf":{  
                  "files":{  
                     "\/opt\/elasticbeanstalk\/tasks\/taillogs.d\/eb-activity.conf":{  
                        "mode":"000644",
                        "content":{  
                           "Fn::Join":[  
                              "\n",
                              [  
                                 "\/var\/log\/eb-commandprocessor.log",
                                 "\/var\/log\/eb-activity.log",
                                 ""
                              ]
                           ]
                        }
                     },
                     "\/opt\/elasticbeanstalk\/tasks\/taillogs.d\/eb-version-deployment.conf":{  
                        "content":{  
                           "Fn::Join":[  
                              "\n",
                              [  
                                 "\/var\/log\/eb-version-deployment.log",
                                 ""
                              ]
                           ]
                        }
                     }
                  }
               },
               "Infra-WriteBundleLogsConf":{  
                  "files":{  
                     "\/opt\/elasticbeanstalk\/tasks\/bundlelogs.d\/eb-system.conf":{  
                        "mode":"000644",
                        "content":{  
                           "Fn::Join":[  
                              "\n",
                              [  
                                 "\/var\/log\/eb-cfn-init*",
                                 "\/var\/log\/eb-tools*",
                                 "\/var\/log\/eb-publish-logs*",
                                 "\/var\/log\/eb-commandprocessor*",
                                 "\/var\/log\/eb-activity*",
                                 ""
                              ]
                           ]
                        }
                     },
                     "\/opt\/elasticbeanstalk\/tasks\/bundlelogs.d\/cfn-system.conf":{  
                        "mode":"000644",
                        "content":{  
                           "Fn::Join":[  
                              "\n",
                              [  
                                 "\/var\/log\/cfn-hup*",
                                 "\/var\/log\/cfn-init*",
                                 ""
                              ]
                           ]
                        }
                     },
                     "\/opt\/elasticbeanstalk\/tasks\/bundlelogs.d\/eb-version-deployment.conf":{  
                        "content":{  
                           "Fn::Join":[  
                              "\n",
                              [  
                                 "\/var\/log\/eb-version-deployment.log",
                                 ""
                              ]
                           ]
                        }
                     },
                     "\/opt\/elasticbeanstalk\/tasks\/bundlelogs.d\/cloud-init-system.conf":{  
                        "mode":"000644",
                        "content":{  
                           "Fn::Join":[  
                              "\n",
                              [  
                                 "\/var\/log\/cloud-init*",
                                 ""
                              ]
                           ]
                        }
                     },
                     "\/opt\/elasticbeanstalk\/tasks\/bundlelogs.d\/system.conf":{  
                        "mode":"000644",
                        "content":{  
                           "Fn::Join":[  
                              "\n",
                              [  
                                 "\/var\/log\/cron",
                                 "\/var\/log\/messages",
                                 "\/var\/log\/yum.log",
                                 ""
                              ]
                           ]
                        }
                     }
                  }
               },
               "InfoTask-TailLogs":{  
                  "commands":{  
                     "taillogs":{  
                        "command":{  
                           "Fn::Join":[  
                              "",
                              [  
                                 "tailLogs.py --concatenate --conf-path '\/opt\/elasticbeanstalk\/tasks\/taillogs.d\/*' --location-prefix ",
                                 {  
                                    "Fn::FindInMap":[  
                                       "EnvironmentInfoTasks",
                                       "tail",
                                       "LocationPrefix"
                                    ]
                                 }
                              ]
                           ]
                        }
                     }
                  }
               },
               "Infra-WriteLeaderTestScript":{  
                  "files":{  
                     "\/opt\/elasticbeanstalk\/bin\/leader-test.sh":{  
                        "mode":"000755",
                        "content":{  
                           "Fn::Join":[  
                              "",
                              [  
                                 "#!\/bin\/bash",
                                 "\n",
                                 "if [[ \"$EB_IS_COMMAND_LEADER\" == \"true\" ]]; then ",
                                 "\n",
                                 "  exit 0 ",
                                 "\n",
                                 "else  ",
                                 "\n",
                                 "  exit 1 ",
                                 "\n",
                                 "fi ",
                                 "\n"
                              ]
                           ]
                        }
                     }
                  }
               },
               "InfoTask-BundleLogs":{  
                  "commands":{  
                     "bundlelogs":{  
                        "command":{  
                           "Fn::Join":[  
                              "",
                              [  
                                 "bundleLogs.py --conf-path '\/opt\/elasticbeanstalk\/tasks\/bundlelogs.d\/*' --location-prefix ",
                                 {  
                                    "Fn::FindInMap":[  
                                       "EnvironmentInfoTasks",
                                       "bundle",
                                       "LocationPrefix"
                                    ]
                                 }
                              ]
                           ]
                        }
                     }
                  }
               },
               "Infra-InstallBaseHooksPkg":{  
                  "commands":{  
                     "03cleanup":{  
                        "command":"rm -f \/tmp\/basehooks.tar.gz"
                     },
                     "01download_base_hooks":{  
                        "command":"curl -sS --retry 3 'https:\/\/s3-ap-southeast-2.amazonaws.com\/elasticbeanstalk-env-resources-ap-southeast-2\/stalks\/eb_php_4.0.1.22.8\/lib\/basehooks.tar.gz' -o \/tmp\/basehooks.tar.gz"
                     },
                     "00mkdir":{  
                        "command":"mkdir -p \/opt\/elasticbeanstalk"
                     },
                     "02install_base_hooks":{  
                        "command":"tar zxf \/tmp\/basehooks.tar.gz --no-same-owner --no-same-permission -C \/opt\/elasticbeanstalk"
                     }
                  }
               },
               "AWSEBBaseConfig":{  
                  "files":{  
                     "\/etc\/cfn\/cfn-hup.conf":{  
                        "mode":"000400",
                        "owner":"root",
                        "content":{  
                           "Fn::Join":[  
                              "",
                              [  
                                 "[main]",
                                 "\n",
                                 "stack=",
                                 {  
                                    "Ref":"AWS::StackId"
                                 },
                                 "\n",
                                 "region=",
                                 {  
                                    "Ref":"AWS::Region"
                                 },
                                 "\n",
                                 "verbose=true\n",
                                 "multi-threaded=false\n"
                              ]
                           ]
                        },
                        "group":"root"
                     },
                     "\/etc\/elasticbeanstalk\/.aws-eb-stack.properties":{  
                        "mode":"000440",
                        "owner":"root",
                        "content":{  
                           "Fn::Join":[  
                              "",
                              [  
                                 "environment_id=",
                                 {  
                                    "Ref":"AWSEBEnvironmentId"
                                 },
                                 "\n",
                                 "environment_bucket=",
                                 {  
                                    "Ref":"AWSEBEnvironmentBucket"
                                 },
                                 "\n",
                                 "stack_name=",
                                 {  
                                    "Ref":"AWS::StackId"
                                 },
                                 "\n",
                                 "resource=",
                                 "AWSEBAutoScalingGroup",
                                 "\n",
                                 "region=",
                                 {  
                                    "Ref":"AWS::Region"
                                 },
                                 "\n\n"
                              ]
                           ]
                        },
                        "group":"root"
                     },
                     "\/etc\/init\/cfn-hup.conf":{  
                        "mode":"000400",
                        "owner":"root",
                        "content":{  
                           "Fn::Join":[  
                              "\n",
                              [  
                                 "stop on runlevel [016]",
                                 "respawn",
                                 "script",
                                 "  \/opt\/aws\/bin\/cfn-hup",
                                 "end script"
                              ]
                           ]
                        },
                        "group":"root"
                     },
                     "\/etc\/cfn\/hooks.d\/aws-eb-command-handler.conf":{  
                        "content":{  
                           "Fn::Join":[  
                              "",
                              [  
                                 "[aws-eb-command-handler]",
                                 "\n",
                                 "triggers=on.command",
                                 "\n",
                                 "path=ElasticBeanstalkCommand-",
                                 "AWSEBAutoScalingGroup",
                                 "\n",
                                 "action=\/opt\/elasticbeanstalk\/bin\/command-processor",
                                 "\n"
                              ]
                           ]
                        }
                     }
                  },
                  "commands":{  
                     "clearbackupfiles":{  
                        "command":"rm -f \/etc\/cfn\/hooks.d\/*.bak"
                     }
                  }
               },
               "Hook-PreAppDeploy":{  
                  "commands":{  
                     "hooks":{  
                        "command":"echo place holder"
                     }
                  }
               },
               "InfoTask-SystemTailLogs":{  
                  "commands":{  
                     "systemtaillogs":{  
                        "command":{  
                           "Fn::Join":[  
                              "",
                              [  
                                 "tailLogs.py --conf-path '\/opt\/elasticbeanstalk\/tasks\/systemtaillogs.d\/*' --location-prefix ",
                                 {  
                                    "Fn::FindInMap":[  
                                       "EnvironmentInfoTasks",
                                       "systemtail",
                                       "LocationPrefix"
                                    ]
                                 }
                              ]
                           ]
                        }
                     }
                  }
               },
               "AWSEBMessageOfTheDay":{  
                  "files":{  
                     "\/tmp\/10eb-banner":{  
                        "mode":"000755",
                        "owner":"root",
                        "content":{  
                           "Fn::Join":[  
                              "",
                              [  
                                 "cat << EOF",
                                 "\n",
                                 " _____ _           _   _      ____                       _        _ _",
                                 "\n",
                                 "| ____| | __ _ ___| |_(_) ___| __ )  ___  __ _ _ __  ___| |_ __ _| | | __",
                                 "\n",
                                 "|  _| | |\/ _\\` \/ __| __| |\/ __|  _ \\ \/ _ \\\/ _\\` | '_ \\\/ __| __\/ _\\` | | |\/ \/",
                                 "\n",
                                 "| |___| | (_| \\__ \\ |_| | (__| |_) |  __\/ (_| | | | \\__ \\ || (_| | |   <",
                                 "\n",
                                 "|_____|_|\\__,_|___\/\\__|_|\\___|____\/ \\___|\\__,_|_| |_|___\/\\__\\__,_|_|_|\\_\\\\",
                                 "\n",
                                 "                                       Amazon Linux AMI",
                                 "\n",
                                 "\n",
                                 "This EC2 instance is managed by AWS Elastic Beanstalk. Changes made via SSH ",
                                 "\n",
                                 "WILL BE LOST if the instance is replaced by auto-scaling. For more information ",
                                 "\n",
                                 "on customizing your Elastic Beanstalk environment, see our documentation here: ",
                                 "\n",
                                 "http:\/\/docs.aws.amazon.com\/elasticbeanstalk\/latest\/dg\/customize-containers-ec2.html",
                                 "\n",
                                 "EOF",
                                 "\n"
                              ]
                           ]
                        },
                        "group":"root"
                     }
                  },
                  "commands":{  
                     "01clearoriginal":{  
                        "command":"rm -f \/etc\/update-motd.d\/*"
                     },
                     "02createbanner":{  
                        "command":"mv \/tmp\/10eb-banner \/etc\/update-motd.d\/10eb-banner"
                     },
                     "03updatebanner":{  
                        "command":"\/usr\/sbin\/update-motd"
                     }
                  }
               },
               "Infra-WriteSystemTailLogsConf":{  
                  "files":{  
                     "\/opt\/elasticbeanstalk\/tasks\/systemtaillogs.d\/eb-system.conf":{  
                        "mode":"000644",
                        "content":{  
                           "Fn::Join":[  
                              "\n",
                              [  
                                 "\/var\/log\/eb-cfn-init.log",
                                 "\/var\/log\/eb-tools.log",
                                 "\/var\/log\/eb-publish-logs.log",
                                 "\/var\/log\/eb-commandprocessor.log",
                                 "\/var\/log\/eb-activity.log",
                                 ""
                              ]
                           ]
                        }
                     },
                     "\/opt\/elasticbeanstalk\/tasks\/systemtaillogs.d\/eb-version-deployment.conf":{  
                        "content":{  
                           "Fn::Join":[  
                              "\n",
                              [  
                                 "\/var\/log\/eb-version-deployment.log",
                                 ""
                              ]
                           ]
                        }
                     },
                     "\/opt\/elasticbeanstalk\/tasks\/systemtaillogs.d\/cfn-system.conf":{  
                        "mode":"000644",
                        "content":{  
                           "Fn::Join":[  
                              "\n",
                              [  
                                 "\/var\/log\/cfn-hup.log",
                                 "\/var\/log\/cfn-init.log",
                                 ""
                              ]
                           ]
                        }
                     },
                     "\/opt\/elasticbeanstalk\/tasks\/systemtaillogs.d\/system.conf":{  
                        "mode":"000644",
                        "content":{  
                           "Fn::Join":[  
                              "\n",
                              [  
                                 "\/var\/log\/cron",
                                 "\/var\/log\/messages",
                                 "\/var\/log\/yum.log",
                                 ""
                              ]
                           ]
                        }
                     },
                     "\/opt\/elasticbeanstalk\/tasks\/systemtaillogs.d\/cloud-init-system.conf":{  
                        "mode":"000644",
                        "content":{  
                           "Fn::Join":[  
                              "\n",
                              [  
                                 "\/var\/log\/cloud-init.log",
                                 ""
                              ]
                           ]
                        }
                     }
                  }
               },
               "Infra-PatchInstance":{  
                  "files":{  
                     "\/opt\/elasticbeanstalk\/bin\/patch_instance":{  
                        "mode":"000750",
                        "owner":"root",
                        "source":{  
                           "Fn::Select":[  
                              0,
                              {  
                                 "Fn::FindInMap":[  
                                    "AWSEBOptions",
                                    "options",
                                    "ebpatchscripturl"
                                 ]
                              }
                           ]
                        },
                        "group":"root"
                     }
                  },
                  "commands":{  
                     "01executepatch":{  
                        "command":"\/opt\/elasticbeanstalk\/bin\/patch_instance"
                     }
                  }
               },
               "Infra-InstallContainerHooksPkg":{  
                  "commands":{  
                     "01download_container_hooks":{  
                        "command":{  
                           "Fn::Join":[  
                              "",
                              [  
                                 "curl -sS --retry 3 '",
                                 {  
                                    "Ref":"HooksPkgUrl"
                                 },
                                 "' -o \/tmp\/hooks.tar.gz"
                              ]
                           ]
                        }
                     },
                     "03cleanup":{  
                        "command":"rm -f \/tmp\/hooks.tar.gz"
                     },
                     "00mkdir":{  
                        "command":"mkdir -p \/opt\/elasticbeanstalk"
                     },
                     "02install_container_hooks":{  
                        "command":"tar zxf \/tmp\/hooks.tar.gz --no-same-owner --no-same-permission -C \/opt\/elasticbeanstalk"
                     }
                  }
               },
               "Infra-WritePublishLogsCron":{  
                  "files":{  
                     "\/etc\/cron.d\/publishlogs":{  
                        "mode":"000644",
                        "content":{  
                           "Fn::Join":[  
                              "",
                              [  
                                 "SHELL=\/bin\/bash",
                                 "\n",
                                 "PATH=\/sbin:\/bin:\/usr\/sbin:\/usr\/bin",
                                 "\n",
                                 "MAILTO=\"\"",
                                 "\n",
                                 "HOME=\/",
                                 "\n",
                                 "10,30,50 * * * * root ",
                                 "publishLogs.py --de-dupe --conf-path '\/opt\/elasticbeanstalk\/tasks\/publishlogs.d\/*' --location-prefix ",
                                 {  
                                    "Fn::FindInMap":[  
                                       "EnvironmentInfoTasks",
                                       "publish",
                                       "LocationPrefix"
                                    ]
                                 },
                                 " --num-concurrent 2",
                                 "\n",
                                 "05,25,45 * * * * root ",
                                 "clearStaleLogPublishingRecords.py",
                                 "\n"
                              ]
                           ]
                        }
                     }
                  }
               },
               "AWSEBLockCfnBootstap":{  
                  "commands":{  
                     "add_lock":{  
                        "command":{  
                           "Fn::Join":[  
                              "",
                              [  
                                 "cat >> \/etc\/yum.conf <<- EOM",
                                 "\n",
                                 "\n",
                                 "# Locking version of cfn-bootstrap",
                                 "\n",
                                 "exclude=aws-cfn-bootstrap.noarch",
                                 "\n",
                                 "EOM",
                                 "\n"
                              ]
                           ]
                        }
                     }
                  }
               },
               "Infra-WriteApplication1":{  
                  "commands":{  
                     "01mkdir":{  
                        "command":"rm -rf \/opt\/elasticbeanstalk\/deploy\/appsource\/; mkdir -p \/opt\/elasticbeanstalk\/deploy\/appsource\/"
                     }
                  }
               },
               "configSets":{  
                  "Infra-WriteTailLogsConf":[  
                     "Infra-WriteTailLogsConf"
                  ],
                  "Infra-WriteBundleLogsConf":[  
                     "Infra-WriteBundleLogsConf"
                  ],
                  "InfoTask-TailLogs":[  
                     "InfoTask-TailLogs"
                  ],
                  "InfoTask-BundleLogs":[  
                     "InfoTask-BundleLogs"
                  ],
                  "_OnInstanceReboot":[  
                     "AWSEBBaseConfig"
                  ],
                  "_AppInstall":[  
                     "Hook-PreAppDeploy"
                  ],
                  "Infra-EmbeddedPreBuild":[  

                  ],
                  "Hook-PreAppDeploy":[  
                     "Hook-PreAppDeploy"
                  ],
                  "InfoTask-SystemTailLogs":[  
                     "InfoTask-SystemTailLogs"
                  ],
                  "Infra-WriteSystemTailLogsConf":[  
                     "Infra-WriteSystemTailLogsConf"
                  ],
                  "_OnInstanceBoot":[  
                     "AWSEBBaseConfig",
                     "AWSEBMessageOfTheDay",
                     "AWSEBULimitConfig",
                     "Infra-InstallBaseHooksPkg",
                     "Infra-InstallContainerHooksPkg",
                     "Infra-WriteLeaderTestScript",
                     "AWSEBLockCfnBootstap",
                     "Infra-WriteTailLogsConf",
                     "Infra-WriteSystemTailLogsConf",
                     "Infra-WriteBundleLogsConf",
                     "Infra-WritePublishLogsConf",
                     "Infra-WritePublishLogsCron"
                  ],
                  "Infra-EmbeddedPostBuild":[  

                  ],
                  "Infra-WritePublishLogsCron":[  
                     "Infra-WritePublishLogsCron"
                  ],
                  "Infra-WriteApplication1":[  
                     "Infra-WriteApplication1"
                  ],
                  "Infra-WriteApplication2":[  
                     "Infra-WriteApplication2"
                  ],
                  "Infra-WritePublishLogsConf":[  
                     "Infra-WritePublishLogsConf"
                  ],
                  "_Infra-PatchInstance":[  
                     "Infra-PatchInstance"
                  ]
               },
               "Infra-WriteApplication2":{  
                  "files":{  
                     "\/opt\/elasticbeanstalk\/bin\/download_source_bundle":{  
                        "owner":"root",
                        "mode":"000750",
                        "source":{  
                           "Fn::Select":[  
                              0,
                              {  
                                 "Fn::FindInMap":[  
                                    "AWSEBOptions",
                                    "options",
                                    "downloadSourceBundleScriptLocation"
                                 ]
                              }
                           ]
                        },
                        "group":"root"
                     }
                  },
                  "commands":{  
                     "01downloadVersion":{  
                        "command":"\/opt\/elasticbeanstalk\/bin\/download_source_bundle"
                     },
                     "02deleteVersionDownloadScriptFile":{  
                        "command":"rm \/opt\/elasticbeanstalk\/bin\/download_source_bundle"
                     }
                  }
               },
               "Infra-WritePublishLogsConf":{  
                  "files":{  

                  }
               },
               "AWSEBULimitConfig":{  
                  "files":{  
                     "\/tmp\/configure-ulimit.sh":{  
                        "mode":"000700",
                        "owner":"root",
                        "content":{  
                           "Fn::Join":[  
                              "",
                              [  
                                 "#!\/bin\/bash -xe",
                                 "\n",
                                 "",
                                 "\n",
                                 "# System imposed global limit",
                                 "\n",
                                 "FILES_MAX=$(cat \/proc\/sys\/fs\/file-max)",
                                 "\n",
                                 "",
                                 "\n",
                                 "if [[ ! $FILES_MAX =~ ^[0-9]+$ ]]; then",
                                 "\n",
                                 "    echo WARNING: Unable to determine file max for this system",
                                 "\n",
                                 "    exit 0",
                                 "\n",
                                 "fi",
                                 "\n",
                                 "",
                                 "\n",
                                 "# Per user limit",
                                 "\n",
                                 "let \"USER_LIMIT=$FILES_MAX\/3\"",
                                 "\n",
                                 "",
                                 "\n",
                                 "if [ $USER_LIMIT -lt 4096 ]; then",
                                 "\n",
                                 "    USER_LIMIT=4096",
                                 "\n",
                                 "fi",
                                 "\n",
                                 "",
                                 "\n",
                                 "if [ $USER_LIMIT -gt 200000 ]; then",
                                 "\n",
                                 "    USER_LIMIT=200000",
                                 "\n",
                                 "fi",
                                 "\n",
                                 "",
                                 "\n",
                                 "cat << EOF > \/etc\/elasticbeanstalk\/set-ulimit.sh",
                                 "\n",
                                 "ulimit -n $USER_LIMIT",
                                 "\n",
                                 "EOF",
                                 "\n"
                              ]
                           ]
                        },
                        "group":"root"
                     }
                  },
                  "commands":{  
                     "00createlimitfile":{  
                        "command":"\/tmp\/configure-ulimit.sh"
                     }
                  }
               }
            },
            "AWS::ElasticBeanstalk::Ext":{  
               "_AppSourceUrlFileContent":{  
                  "url":{  
                     "Ref":"AppSource"
                  }
               },
               "_TriggersConfig":{  
                  "configDeploy":{  
                     "_Command":"CMD-ConfigDeploy",
                     "_WatchGroups":[  
                        "_TriggerConfigDeployment"
                     ]
                  },
                  "applicationDeploy":{  
                     "_Command":"CMD-AppDeploy",
                     "_WatchGroups":[  
                        "_TriggerAppDeployment"
                     ]
                  }
               },
               "_ParameterTriggers":{  
                  "_TriggerConfigDeployment":[  
                     "EnvironmentVariables",
                     "InstancePort",
                     "LogPublicationControl",
                     "DocumentRoot",
                     "MemoryLimit",
                     "ZlibOutputCompression",
                     "AllowUrlFopen",
                     "DisplayErrors",
                     "MaxExecutionTime",
                     "ComposerOptions"
                  ],
                  "_TriggerAppDeployment":[  
                     "AppSource"
                  ]
               },
               "_ContainerConfigFileContent":{  
                  "container":{  
                     "app_base_dir":"\/var\/app",
                     "app_logs_dir":"\/var\/app\/support\/logs",
                     "app_deploy_dir":"\/var\/app\/current",
                     "app_user":"webapp",
                     "php_version":{  
                        "Fn::FindInMap":[  
                           "AWSEBOptions",
                           "options",
                           "PhpVersion"
                        ]
                     },
                     "app_support_dir":"\/var\/app\/support",
                     "app_pids_dir":"\/var\/app\/support\/pids",
                     "app_staging_dir":"\/var\/app\/ondeck",
                     "app_assets_dir":"\/var\/app\/support\/assets",
                     "instance_port":{  
                        "Ref":"InstancePort"
                     },
                     "http_port":"80",
                     "source_bundle":"\/opt\/elasticbeanstalk\/deploy\/appsource\/source_bundle"
                  },
                  "optionsettings":{  
                     "aws:elasticbeanstalk:container:php:phpini":{  
                        "display_errors":{  
                           "Ref":"DisplayErrors"
                        },
                        "document_root":{  
                           "Ref":"DocumentRoot"
                        },
                        "composer_options":{  
                           "Ref":"ComposerOptions"
                        },
                        "allow_url_fopen":{  
                           "Ref":"AllowUrlFopen"
                        },
                        "zlib_output_compression":{  
                           "Ref":"ZlibOutputCompression"
                        },
                        "memory_limit":{  
                           "Ref":"MemoryLimit"
                        },
                        "max_execution_time":{  
                           "Ref":"MaxExecutionTime"
                        }
                     },
                     "aws:elasticbeanstalk:application:environment":[  
                        "DB_USER=rlgod_blog",
                        "DB_NAME=rlgod_blog",
                        "WP_HOME=http:\/\/danielparker.com.au",
                        "WP_SITEURL=http:\/\/danielparker.com.au\/wp",
                        "DB_HOST=dpdb.chs2k4i2o2ec.ap-southeast-2.rds.amazonaws.com",
                        "DB_PASSWORD=8165en+2IS7="
                     ],
                     "aws:elasticbeanstalk:hostmanager":{  
                        "LogPublicationControl":{  
                           "Ref":"LogPublicationControl"
                        }
                     }
                  },
                  "system":{  
                     "LogPublicationControl":{  
                        "Ref":"LogPublicationControl"
                     },
                     "AWSEBAgentId":{  
                        "Ref":"AWSEBAgentId"
                     },
                     "AWSEBReferrerId":{  
                        "Ref":"AWSEBReferrerId"
                     }
                  },
                  "commands":{  
                     "CMD-TailLogs":{  
                        "stages":[  
                           {  
                              "name":"TailLogs",
                              "actions":[  
                                 {  
                                    "name":"TailLogs",
                                    "type":"sh",
                                    "value":"tailLogs.py --concatenate --conf-path '\/opt\/elasticbeanstalk\/tasks\/taillogs.d\/*' --location-prefix 'resources\/environments\/logs\/tail\/'"
                                 }
                              ]
                           }
                        ]
                     },
                     "CMD-PreInit":{  
                        "stages":[  
                           {  
                              "name":"PreInitStage0",
                              "actions":[  
                                 {  
                                    "name":"InfraWriteConfig",
                                    "type":"infra",
                                    "value":"writeruntimeconfig"
                                 },
                                 {  
                                    "name":"InfraWriteApp1",
                                    "type":"infra",
                                    "value":"writeapplication1"
                                 },
                                 {  
                                    "name":"InfraWriteApp2",
                                    "type":"infra",
                                    "value":"writeapplication2"
                                 },
                                 {  
                                    "name":"PreInitHook",
                                    "type":"hook",
                                    "value":"preinit"
                                 }
                              ]
                           }
                        ]
                     },
                     "CMD-Startup":{  
                        "stages":[  
                           {  
                              "name":"StartupStage0",
                              "actions":[  
                                 {  
                                    "name":"HealthdLogRotation",
                                    "type":"infra",
                                    "value":"healthd_log_rotation"
                                 },
                                 {  
                                    "name":"HealthdHTTPDLogging",
                                    "type":"infra",
                                    "value":"healthd_httpd_logging"
                                 },
                                 {  
                                    "name":"HealthdNginxLogging",
                                    "type":"infra",
                                    "value":"healthd_nginx_logging"
                                 },
                                 {  
                                    "name":"EbExtensionPreBuild",
                                    "type":"infra",
                                    "value":"embeddedprebuild"
                                 },
                                 {  
                                    "name":"AppDeployPreHook",
                                    "type":"hook",
                                    "value":"appdeploy\/pre"
                                 },
                                 {  
                                    "name":"EbExtensionPostBuild",
                                    "type":"infra",
                                    "value":"embeddedpostbuild"
                                 },
                                 {  
                                    "name":"InfraCleanEbExtension",
                                    "type":"infra",
                                    "value":"cleanebextensions"
                                 }
                              ]
                           },
                           {  
                              "name":"StartupStage1",
                              "actions":[  
                                 {  
                                    "name":"AppDeployEnactHook",
                                    "type":"hook",
                                    "value":"appdeploy\/enact"
                                 },
                                 {  
                                    "name":"AppDeployPostHook",
                                    "type":"hook",
                                    "value":"appdeploy\/post"
                                 },
                                 {  
                                    "name":"PostInitHook",
                                    "type":"hook",
                                    "value":"postinit"
                                 }
                              ]
                           }
                        ]
                     },
                     "CMD-PublishLogs":{  
                        "stages":[  
                           {  
                              "name":"PublishLogs",
                              "actions":[  
                                 {  
                                    "name":"PublishLogs",
                                    "type":"sh",
                                    "value":"publishLogs.py --de-dupe --conf-path '\/opt\/elasticbeanstalk\/tasks\/publishlogs.d\/*' --location-prefix 'resources\/environments\/logs\/publish\/' --num-concurrent 2"
                                 }
                              ]
                           }
                        ]
                     },
                     "CMD-AppDeploy":{  
                        "stages":[  
                           {  
                              "name":"AppDeployStage0",
                              "actions":[  
                                 {  
                                    "name":"InfraWriteConfig",
                                    "type":"infra",
                                    "value":"writeruntimeconfig"
                                 },
                                 {  
                                    "name":"InfraWriteApp1",
                                    "type":"infra",
                                    "value":"writeapplication1"
                                 },
                                 {  
                                    "name":"InfraWriteApp2",
                                    "type":"infra",
                                    "value":"writeapplication2"
                                 },
                                 {  
                                    "name":"EbExtensionPreBuild",
                                    "type":"infra",
                                    "value":"embeddedprebuild"
                                 },
                                 {  
                                    "name":"AppDeployPreHook",
                                    "type":"hook",
                                    "value":"appdeploy\/pre"
                                 },
                                 {  
                                    "name":"EbExtensionPostBuild",
                                    "type":"infra",
                                    "value":"embeddedpostbuild"
                                 },
                                 {  
                                    "name":"InfraCleanEbextension",
                                    "type":"infra",
                                    "value":"cleanebextensions"
                                 }
                              ]
                           },
                           {  
                              "name":"AppDeployStage1",
                              "actions":[  
                                 {  
                                    "name":"AppDeployEnactHook",
                                    "type":"hook",
                                    "value":"appdeploy\/enact"
                                 },
                                 {  
                                    "name":"AppDeployPostHook",
                                    "type":"hook",
                                    "value":"appdeploy\/post"
                                 }
                              ]
                           }
                        ]
                     },
                     "CMD-BundleLogs":{  
                        "stages":[  
                           {  
                              "name":"BundleLogs",
                              "actions":[  
                                 {  
                                    "name":"BundleLogs",
                                    "type":"sh",
                                    "value":"bundleLogs.py --conf-path '\/opt\/elasticbeanstalk\/tasks\/bundlelogs.d\/*' --location-prefix 'resources\/environments\/logs\/bundle\/'"
                                 }
                              ]
                           }
                        ]
                     },
                     "CMD-SelfStartup":{  
                        "stages":[  
                           {  
                              "name":"StartupStage0",
                              "actions":[  
                                 {  
                                    "name":"HealthdLogRotation",
                                    "type":"infra",
                                    "value":"healthd_log_rotation"
                                 },
                                 {  
                                    "name":"HealthdHTTPDLogging",
                                    "type":"infra",
                                    "value":"healthd_httpd_logging"
                                 },
                                 {  
                                    "name":"HealthdNginxLogging",
                                    "type":"infra",
                                    "value":"healthd_nginx_logging"
                                 },
                                 {  
                                    "name":"EbExtensionPreBuild",
                                    "type":"infra",
                                    "value":"embeddedprebuild"
                                 },
                                 {  
                                    "name":"AppDeployPreHook",
                                    "type":"hook",
                                    "value":"appdeploy\/pre"
                                 },
                                 {  
                                    "name":"EbExtensionPostBuild",
                                    "type":"infra",
                                    "value":"embeddedpostbuild"
                                 },
                                 {  
                                    "name":"InfraCleanEbextension",
                                    "type":"infra",
                                    "value":"cleanebextensions"
                                 }
                              ]
                           },
                           {  
                              "name":"StartupStage1",
                              "actions":[  
                                 {  
                                    "name":"AppDeployEnactHook",
                                    "type":"hook",
                                    "value":"appdeploy\/enact"
                                 },
                                 {  
                                    "name":"AppDeployPostHook",
                                    "type":"hook",
                                    "value":"appdeploy\/post"
                                 },
                                 {  
                                    "name":"PostInitHook",
                                    "type":"hook",
                                    "value":"postinit"
                                 }
                              ]
                           }
                        ]
                     },
                     "CMD-SystemTailLogs":{  
                        "stages":[  
                           {  
                              "name":"SystemTailLogs",
                              "actions":[  
                                 {  
                                    "name":"SystemTailLogs",
                                    "type":"sh",
                                    "value":"tailLogs.py --concatenate --conf-path '\/opt\/elasticbeanstalk\/tasks\/systemtaillogs.d\/*' --location-prefix 'resources\/environments\/logs\/systemtail\/'"
                                 }
                              ]
                           }
                        ]
                     },
                     "CMD-RestartAppServer":{  
                        "stages":[  
                           {  
                              "name":"RestartAppServerStage0",
                              "actions":[  
                                 {  
                                    "name":"InfraWriteConfig",
                                    "type":"infra",
                                    "value":"writeruntimeconfig"
                                 },
                                 {  
                                    "name":"RestartAppServerPreHook",
                                    "type":"hook",
                                    "value":"restartappserver\/pre"
                                 }
                              ]
                           },
                           {  
                              "name":"RestartAppServerStage1",
                              "actions":[  
                                 {  
                                    "name":"RestartAppServerEnactHook",
                                    "type":"hook",
                                    "value":"restartappserver\/enact"
                                 },
                                 {  
                                    "name":"RestartAppServerPostHook",
                                    "type":"hook",
                                    "value":"restartappserver\/post"
                                 }
                              ]
                           }
                        ]
                     },
                     "CMD-ConfigDeploy":{  
                        "stages":[  
                           {  
                              "name":"ConfigDeployStage0",
                              "actions":[  
                                 {  
                                    "name":"InfraWriteConfig",
                                    "type":"infra",
                                    "value":"writeruntimeconfig"
                                 },
                                 {  
                                    "name":"ConfigDeployPreHook",
                                    "type":"hook",
                                    "value":"configdeploy\/pre"
                                 }
                              ]
                           },
                           {  
                              "name":"ConfigDeployStage1",
                              "actions":[  
                                 {  
                                    "name":"ConfigDeployEnactHook",
                                    "type":"hook",
                                    "value":"configdeploy\/enact"
                                 },
                                 {  
                                    "name":"ConfigDeployPostHook",
                                    "type":"hook",
                                    "value":"configdeploy\/post"
                                 }
                              ]
                           }
                        ]
                     }
                  }
               },
               "_API":{  
                  "_Commands":{  
                     "CMD-TailLogs":{  
                        "_Stages":{  
                           "01_enact":[  
                              "InfoTask-TailLogs"
                           ]
                        }
                     },
                     "CMD-Startup":{  
                        "_RunStaged":"true",
                        "_Stages":{  
                           "01_pre":[  

                           ],
                           "02_enact":[  

                           ]
                        }
                     },
                     "CMD-AppDeploy":{  
                        "_RunStaged":"true",
                        "_Stages":{  
                           "01_pre":[  

                           ],
                           "02_enact":[  

                           ]
                        }
                     },
                     "CMD-BundleLogs":{  
                        "_Stages":{  
                           "01_enact":[  
                              "InfoTask-BundleLogs"
                           ]
                        }
                     },
                     "CMD-SystemTailLogs":{  
                        "_Stages":{  
                           "01_enact":[  
                              "InfoTask-SystemTailLogs"
                           ]
                        }
                     },
                     "CMD-PatchInstance":{  
                        "_Stages":{  
                           "01_enact":[  
                              "_Infra-PatchInstance"
                           ]
                        }
                     },
                     "CMD-RestartAppServer":{  
                        "_RunStaged":"false",
                        "_Stages":{  
                           "01_enact":[  

                           ],
                           "02_enact":[  

                           ]
                        }
                     },
                     "CMD-ConfigDeploy":{  
                        "_RunStaged":"true",
                        "_Stages":{  
                           "01_pre":[  

                           ],
                           "02_enact":[  

                           ]
                        }
                     }
                  }
               },
               "AvailabilityZoneCount":"Any 1",
               "_EnvironmentInfoTaskMapping":"EnvironmentInfoTasks"
            }
         },
         "Type":"AWS::AutoScaling::AutoScalingGroup",
         "DependsOn":"AWSEBBeanstalkMetadata",
         "UpdatePolicy":{  
            "AutoScalingRollingUpdate":{  
               "MinInstancesInService":"1",
               "PauseTime":"PT30M",
               "MaxBatchSize":"1",
               "WaitOnResourceSignals":"true"
            }
         },
         "Properties":{  
            "LoadBalancerNames":[  
               {  
                  "Ref":"AWSEBLoadBalancer"
               }
            ],
            "MinSize":"1",
            "LaunchConfigurationName":{  
               "Ref":"AWSEBAutoScalingLaunchConfiguration"
            },
            "AvailabilityZones":[  
               "ap-southeast-2b",
               "ap-southeast-2a"
            ],
            "Cooldown":"360",
            "VPCZoneIdentifier":[  
               "subnet-1c38e46b",
               "subnet-351a9550"
            ],
            "MaxSize":"3",
            "Tags":[  
               {  
                  "Value":{  
                     "Ref":"AWSEBEnvironmentName"
                  },
                  "Key":"elasticbeanstalk:environment-name",
                  "PropagateAtLaunch":true
               },
               {  
                  "Value":{  
                     "Ref":"AWSEBEnvironmentName"
                  },
                  "Key":"Name",
                  "PropagateAtLaunch":true
               },
               {  
                  "Value":{  
                     "Ref":"AWSEBEnvironmentId"
                  },
                  "Key":"elasticbeanstalk:environment-id",
                  "PropagateAtLaunch":true
               }
            ]
         }
      },
      "AWSEBUpdateWaitConditionHandlexwaxZO":{  
         "Type":"AWS::CloudFormation::WaitConditionHandle"
      },
      "AWSEBInstanceLaunchWaitCondition":{  
         "Type":"AWS::CloudFormation::WaitCondition",
         "DependsOn":"AWSEBAutoScalingGroup",
         "Properties":{  
            "Timeout":"900",
            "Count":"1",
            "Handle":{  
               "Ref":"AWSEBInstanceLaunchWaitHandle"
            }
         }
      },
      "AWSEBAutoScalingScaleUpPolicy":{  
         "Properties":{  
            "ScalingAdjustment":"1",
            "AutoScalingGroupName":{  
               "Ref":"AWSEBAutoScalingGroup"
            },
            "AdjustmentType":"ChangeInCapacity"
         },
         "Type":"AWS::AutoScaling::ScalingPolicy"
      },
      "AWSEBCloudwatchAlarmHigh":{  
         "Properties":{  
            "AlarmActions":[  
               {  
                  "Ref":"AWSEBAutoScalingScaleUpPolicy"
               }
            ],
            "MetricName":"NetworkOut",
            "ComparisonOperator":"GreaterThanThreshold",
            "Statistic":"Average",
            "AlarmDescription":"ElasticBeanstalk Default Scale Up alarm",
            "Period":"300",
            "Dimensions":[  
               {  
                  "Value":{  
                     "Ref":"AWSEBAutoScalingGroup"
                  },
                  "Name":"AutoScalingGroupName"
               }
            ],
            "EvaluationPeriods":"1",
            "Namespace":"AWS\/EC2",
            "Threshold":"6000000"
         },
         "Type":"AWS::CloudWatch::Alarm"
      },
      "AWSEBBeanstalkMetadata":{  
         "Metadata":{  
            "AWS::ElasticBeanstalk::Ext":{  
               "Parameters":{  
                  "LogPublicationControl":{  
                     "Ref":"LogPublicationControl"
                  },
                  "DocumentRoot":{  
                     "Ref":"DocumentRoot"
                  },
                  "InstancePort":{  
                     "Ref":"InstancePort"
                  },
                  "DisplayErrors":{  
                     "Ref":"DisplayErrors"
                  },
                  "AWSEBEnvironmentId":{  
                     "Ref":"AWSEBEnvironmentId"
                  },
                  "HooksPkgUrl":{  
                     "Ref":"HooksPkgUrl"
                  },
                  "ZlibOutputCompression":{  
                     "Ref":"ZlibOutputCompression"
                  },
                  "AWSEBEnvironmentName":{  
                     "Ref":"AWSEBEnvironmentName"
                  },
                  "AWSEBReferrerId":{  
                     "Ref":"AWSEBReferrerId"
                  },
                  "AppSource":{  
                     "Ref":"AppSource"
                  },
                  "MaxExecutionTime":{  
                     "Ref":"MaxExecutionTime"
                  },
                  "MemoryLimit":{  
                     "Ref":"MemoryLimit"
                  },
                  "EnvironmentVariables":{  
                     "Ref":"EnvironmentVariables"
                  },
                  "AllowUrlFopen":{  
                     "Ref":"AllowUrlFopen"
                  },
                  "AWSEBAgentId":{  
                     "Ref":"AWSEBAgentId"
                  },
                  "ComposerOptions":{  
                     "Ref":"ComposerOptions"
                  },
                  "InstanceType":{  
                     "Ref":"InstanceType"
                  },
                  "AWSEBEnvironmentBucket":{  
                     "Ref":"AWSEBEnvironmentBucket"
                  }
               }
            },
            "AWS::ElasticBeanstalk::Metadata":{  
               "EnvironmentId":"e-pyxpmc6mnq",
               "RequestId":"9496a487-88d5-11e5-8ac1-01d9254ba1bc",
               "Version":"9496a487-88d5-11e5-8ac1-01d9254ba1bc",
               "EnvironmentName":"production",
               "DateUpdated":"2015-11-12T00:37:40",
               "DateCreated":"2015-09-21T11:37:58",
               "DateLastModified":"2015-11-12T00:37:46",
               "Name":"e-pyxpmc6mnq"
            }
         },
         "Type":"AWS::CloudFormation::WaitConditionHandle"
      },
      "AWSEBCloudwatchAlarmLow":{  
         "Properties":{  
            "AlarmActions":[  
               {  
                  "Ref":"AWSEBAutoScalingScaleDownPolicy"
               }
            ],
            "MetricName":"NetworkOut",
            "ComparisonOperator":"LessThanThreshold",
            "Statistic":"Average",
            "AlarmDescription":"ElasticBeanstalk Default Scale Down alarm",
            "Period":"300",
            "Dimensions":[  
               {  
                  "Value":{  
                     "Ref":"AWSEBAutoScalingGroup"
                  },
                  "Name":"AutoScalingGroupName"
               }
            ],
            "EvaluationPeriods":"1",
            "Namespace":"AWS\/EC2",
            "Threshold":"2000000"
         },
         "Type":"AWS::CloudWatch::Alarm"
      }
   },
   "Description":"AWS Elastic Beanstalk environment (Name: 'production'  Id: 'e-pyxpmc6mnq')",
   "Mappings":{  
      "AWSEBAWSRegionArch2AMIBase":{  
         "cn-north-1":{  
            "pv":"ami-54b22e6d",
            "graphics":"",
            "gpu":"",
            "hvm":"ami-64b22e5d"
         },
         "eu-west-1":{  
            "pv":"ami-a3be93d4",
            "graphics":"ami-358ca042",
            "gpu":"",
            "hvm":"ami-a1be93d6"
         },
         "ap-southeast-1":{  
            "pv":"ami-50978202",
            "graphics":"ami-4e7e6a1c",
            "gpu":"",
            "hvm":"ami-56978204"
         },
         "ap-southeast-2":{  
            "pv":"ami-c71856fd",
            "graphics":"ami-156f212f",
            "gpu":"",
            "hvm":"ami-c51856ff"
         },
         "eu-central-1":{  
            "pv":"ami-a6aeaebb",
            "graphics":"",
            "gpu":"",
            "hvm":"ami-d6aeaecb"
         },
         "ap-northeast-1":{  
            "pv":"ami-9c2fb89c",
            "graphics":"ami-7c50c17c",
            "gpu":"",
            "hvm":"ami-9e2fb89e"
         },
         "us-east-1":{  
            "pv":"ami-cf1066aa",
            "graphics":"ami-8ba3d3ee",
            "gpu":"",
            "hvm":"ami-d71066b2"
         },
         "sa-east-1":{  
            "pv":"ami-370c992a",
            "graphics":"",
            "gpu":"",
            "hvm":"ami-310c992c"
         },
         "us-west-1":{  
            "pv":"ami-d53aff91",
            "graphics":"ami-17985c53",
            "gpu":"",
            "hvm":"ami-cb3aff8f"
         },
         "us-west-2":{  
            "pv":"ami-81f7e8b1",
            "graphics":"ami-99352ba9",
            "gpu":"",
            "hvm":"ami-83f7e8b3"
         }
      },
      "AWSEBOptions":{  
         "options":{  
            "AWSEBHealthdGroupId":"11be8185-c2a0-45e5-bd8c-2b798ed1cb41",
            "HaltStartupCommandsOnFailure":"true",
            "SystemType":"enhanced",
            "UserDataScript":"https:\/\/s3-ap-southeast-2.amazonaws.com\/elasticbeanstalk-env-resources-ap-southeast-2\/stalks\/eb_php_4.0.1.22.8\/lib\/UserDataScript.sh",
            "LaunchType":"Migration",
            "ebgems":"https:\/\/s3-ap-southeast-2.amazonaws.com\/elasticbeanstalk-env-resources-ap-southeast-2\/stalks\/eb_php_4.0.1.22.8\/lib\/beanstalk-core-2.1.gem https:\/\/s3-ap-southeast-2.amazonaws.com\/elasticbeanstalk-env-resources-ap-southeast-2\/stalks\/eb_php_4.0.1.22.8\/lib\/beanstalk-core-healthd-1.1.gem https:\/\/s3-ap-southeast-2.amazonaws.com\/elasticbeanstalk-env-resources-ap-southeast-2\/stalks\/eb_php_4.0.1.22.8\/lib\/executor-1.1.gem",
            "tarballs":"https:\/\/s3-ap-southeast-2.amazonaws.com\/elasticbeanstalk-env-resources-ap-southeast-2\/stalks\/eb_php_4.0.1.22.8\/lib\/awseb-ruby-2.2.2-x86_64-20150919_0250.tar.gz",
            "rpms":"https:\/\/s3-ap-southeast-2.amazonaws.com\/elasticbeanstalk-env-resources-ap-southeast-2\/stalks\/eb_php_4.0.1.22.8\/lib\/aws-cfn-bootstrap-1.4-7_eb.noarch.rpm https:\/\/s3-ap-southeast-2.amazonaws.com\/elasticbeanstalk-env-resources-ap-southeast-2\/stalks\/eb_php_4.0.1.22.8\/lib\/aws-elasticbeanstalk-tools-1.16-1.noarch.rpm",
            "PhpVersion":"5.6",
            "FastVersionDeployment":"true",
            "ServiceRole":"aws-elasticbeanstalk-service-role",
            "HealthdProxyLogLocation":"",
            "CommandBasedLeaderElection":"true",
            "CloudConfigOptions":"cloud_final_modules:\n - [scripts-user, always]",
            "LeaderTestScript":"\/opt\/elasticbeanstalk\/bin\/leader-test.sh",
            "DefaultsScript":"\/opt\/elasticbeanstalk\/support\/containerDefaults",
            "downloadSourceBundleScriptLocation":[  
               "https:\/\/elasticbeanstalk-env-resources-ap-southeast-2.s3.amazonaws.com\/eb_patching_resources\/download_source_bundle.py"
            ],
            "DefaultSSHPort":"22",
            "ProxyServer":"httpd",
            "AWSEBHealthdEndpoint":"",
            "EmbeddedConfigsetsEnabled":"true",
            "EBSNSTopicArn":"arn:aws:sns:ap-southeast-2:<account-id>:ElasticBeanstalkNotifications-Environment-production",
            "guid":"1ccace57c6e3",
            "nodeploymentOnStartup":"true",
            "ebpatchscripturl":[  
               "https:\/\/s3-ap-southeast-2.amazonaws.com\/elasticbeanstalk-env-resources-ap-southeast-2\/eb_patching_resources\/patch_instance.py"
            ]
         }
      },
      "AWSEBAWSRegionArch2AMI":{  
         "cn-north-1":{  
            "pv":"ami-54b22e6d",
            "graphics":"",
            "gpu":"",
            "hvm":"ami-64b22e5d"
         },
         "eu-west-1":{  
            "pv":"ami-a3be93d4",
            "graphics":"ami-358ca042",
            "gpu":"",
            "hvm":"ami-a1be93d6"
         },
         "ap-southeast-1":{  
            "pv":"ami-50978202",
            "graphics":"ami-4e7e6a1c",
            "gpu":"",
            "hvm":"ami-56978204"
         },
         "ap-southeast-2":{  
            "pv":"ami-b0c897d3",
            "graphics":"ami-89790ab3",
            "gpu":"",
            "hvm":"ami-f8c59a9b"
         },
         "eu-central-1":{  
            "pv":"ami-a6aeaebb",
            "graphics":"",
            "gpu":"",
            "hvm":"ami-d6aeaecb"
         },
         "ap-northeast-1":{  
            "pv":"ami-9c2fb89c",
            "graphics":"ami-7c50c17c",
            "gpu":"",
            "hvm":"ami-9e2fb89e"
         },
         "us-east-1":{  
            "pv":"ami-cf1066aa",
            "graphics":"ami-8ba3d3ee",
            "gpu":"",
            "hvm":"ami-d71066b2"
         },
         "sa-east-1":{  
            "pv":"ami-370c992a",
            "graphics":"",
            "gpu":"",
            "hvm":"ami-310c992c"
         },
         "us-west-1":{  
            "pv":"ami-d53aff91",
            "graphics":"ami-17985c53",
            "gpu":"",
            "hvm":"ami-cb3aff8f"
         },
         "us-west-2":{  
            "pv":"ami-81f7e8b1",
            "graphics":"ami-99352ba9",
            "gpu":"",
            "hvm":"ami-83f7e8b3"
         }
      },
      "AWSEBAWSInstanceType2Arch":{  
         "r3.8xlarge":{  
            "Arch":"hvm"
         },
         "m3.xlarge":{  
            "Arch":"pv"
         },
         "m4.10xlarge":{  
            "Arch":"hvm"
         },
         "m1.small":{  
            "Arch":"pv"
         },
         "m1.xlarge":{  
            "Arch":"pv"
         },
         "m2.xlarge":{  
            "Arch":"pv"
         },
         "m4.xlarge":{  
            "Arch":"hvm"
         },
         "g2.2xlarge":{  
            "Arch":"graphics"
         },
         "m4.2xlarge":{  
            "Arch":"hvm"
         },
         "c3.4xlarge":{  
            "Arch":"hvm"
         },
         "t2.large":{  
            "Arch":"hvm"
         },
         "c1.medium":{  
            "Arch":"pv"
         },
         "c4.2xlarge":{  
            "Arch":"hvm"
         },
         "m2.2xlarge":{  
            "Arch":"pv"
         },
         "hi1.4xlarge":{  
            "Arch":"pv"
         },
         "t1.micro":{  
            "Arch":"pv"
         },
         "g2.8xlarge":{  
            "Arch":"graphics"
         },
         "m1.large":{  
            "Arch":"pv"
         },
         "r3.2xlarge":{  
            "Arch":"hvm"
         },
         "t2.micro":{  
            "Arch":"hvm"
         },
         "hs1.8xlarge":{  
            "Arch":"pv"
         },
         "m2.4xlarge":{  
            "Arch":"pv"
         },
         "cc2.8xlarge":{  
            "Arch":"hvm"
         },
         "m4.large":{  
            "Arch":"hvm"
         },
         "i2.xlarge":{  
            "Arch":"hvm"
         },
         "m4.4xlarge":{  
            "Arch":"hvm"
         },
         "c4.8xlarge":{  
            "Arch":"hvm"
         },
         "t2.medium":{  
            "Arch":"hvm"
         },
         "i2.2xlarge":{  
            "Arch":"hvm"
         },
         "i2.8xlarge":{  
            "Arch":"hvm"
         },
         "c4.large":{  
            "Arch":"hvm"
         },
         "r3.xlarge":{  
            "Arch":"hvm"
         },
         "cc1.4xlarge":{  
            "Arch":"hvm"
         },
         "r3.large":{  
            "Arch":"hvm"
         },
         "t2.small":{  
            "Arch":"hvm"
         },
         "c4.4xlarge":{  
            "Arch":"hvm"
         },
         "m3.2xlarge":{  
            "Arch":"pv"
         },
         "c1.xlarge":{  
            "Arch":"pv"
         },
         "c3.xlarge":{  
            "Arch":"hvm"
         },
         "c4.xlarge":{  
            "Arch":"hvm"
         },
         "cr1.8xlarge":{  
            "Arch":"hvm"
         },
         "m3.medium":{  
            "Arch":"pv"
         },
         "m1.medium":{  
            "Arch":"pv"
         },
         "c3.2xlarge":{  
            "Arch":"hvm"
         },
         "c3.large":{  
            "Arch":"hvm"
         },
         "i2.4xlarge":{  
            "Arch":"hvm"
         },
         "m3.large":{  
            "Arch":"pv"
         },
         "c3.8xlarge":{  
            "Arch":"hvm"
         },
         "r3.4xlarge":{  
            "Arch":"hvm"
         }
      },
      "EnvironmentInfoTasks":{  
         "systemtail":{  
            "LocationPrefix":"resources\/environments\/logs\/systemtail\/",
            "AutoClean":"true",
            "CommandName":"CMD-SystemTailLogs"
         },
         "tail":{  
            "LocationPrefix":"resources\/environments\/logs\/tail\/",
            "AutoClean":"true",
            "CommandName":"CMD-TailLogs"
         },
         "publish":{  
            "LocationPrefix":"resources\/environments\/logs\/publish\/"
         },
         "bundle":{  
            "LocationPrefix":"resources\/environments\/logs\/bundle\/",
            "AutoClean":"true",
            "CommandName":"CMD-BundleLogs"
         }
      },
      "ContainerMeta":{  
         "AMIMeta":{  
            "RepoReleaseVersion":"2015.09",
            "AMIVersion":"2015.09.0"
         }
      }
   }
}