protected function environmentStatus(InputInterface $input, OutputInterface $output)
    {

        // If there are no apps, return
        if (count($this->getApplication()->getTerra()->getConfig()->get('apps')) == 0) {
            $output->writeln('<comment>There are no apps!</comment>');
            $output->writeln('Use the command <info>terra app:add</info> to add your first app.');

            return;
        }

        $app_name = $input->getArgument('app_name');
        $environment_name = $input->getArgument('environment_name');

        $app = $this->getApplication()->getTerra()->getConfig()->get('apps', $app_name);

        // If no environments:
        if (count(($app['environments'])) == 0) {
            $output->writeln('<comment>There are no environments!</comment>');
            $output->writeln('Use the command <info>terra environment:add</info> to add your first environment.');

            return;
        }

        // If no environment by that name...
        if (!isset($app['environments'][$environment_name])) {
            $output->writeln("<error>There is no environment named {$environment_name} in the app {$app_name}</error>");

            return;
        }

        $environment = $app['environments'][$environment_name];
        $environment_factory = new EnvironmentFactory($environment, $app);

        $environment['scale'] = $environment_factory->getScale();
        $environment['url'] = 'http://'. $environment_factory->getHost() . ':' . $environment_factory->getPort();
        $environment['url'] .= PHP_EOL.'http://'.$environment_factory->getUrl();

        $table = $this->getHelper('table');
        $table->setHeaders(array(
          'Name',
          'Code Path',
          'docroot',
          'URLs',
          'Version',
          'Scale',
        ));

        $rows = array(
          $environment
        );
        $table->setRows($rows);
        $table->render($output);

        $output->writeln('Docker Compose Path: '.$environment_factory->getDockerComposePath());
    }