docs: def prepare_infrastructure():
      """Entry point for preparing the infrastructure in a specific env."""
      runner = ForemastRunner()
  
      runner.write_configs()
      runner.create_app()
  
      archaius = runner.configs[runner.env]['app']['archaius_enabled']
      eureka = runner.configs[runner.env]['app']['eureka_enabled']
      deploy_type = runner.configs['pipeline']['type']
  
      if deploy_type not in ['s3', 'datapipeline']:
          runner.create_iam()
          # TODO: Refactor Archaius to be fully featured
          if archaius:
              runner.create_archaius()
          runner.create_secgroups()
  
      if eureka:
          LOG.info("Eureka Enabled, skipping ELB and DNS setup")
      elif deploy_type == "lambda":
          LOG.info("Lambda Enabled, skipping ELB and DNS setup")
          runner.create_awslambda()
      elif deploy_type == "s3":
          runner.create_s3app()
      elif deploy_type == 'datapipeline':
          runner.create_datapipeline()
      else:
          LOG.info("No Eureka, running ELB and DNS setup")
          runner.create_elb()
          runner.create_dns()
  
      runner.slack_notify()
      runner.cleanup()