Skip to content

Instantly share code, notes, and snippets.

@gabbaybr
Last active August 29, 2015 14:12
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gabbaybr/7627b89f8a94a7267961 to your computer and use it in GitHub Desktop.
Save gabbaybr/7627b89f8a94a7267961 to your computer and use it in GitHub Desktop.
Simple shell script to create Puppet structure folders
#!/usr/bin/env bash
NEW_MODULE=$1
NC='\e[0m' #sem cor
PK='\e[91m' #Vermelho
BK='\e[33m' #Bold
YL='\e[4m' #Amarelo
set -e
################################################################################
# IF NO PARAM SENT
# SHOW EXAMPLE OF USE
# Created : 23/12/2014
# Author: Fabio Gabbay
# Contribuitor: Elio Capelati
################################################################################
if [ -z $NEW_MODULE ]
then
echo -e "${NC}------------------------------------------------------------"
echo -e "Script to generate folder structure for puppet modules"
echo -e "------------------------------------------------------------"
echo -e ""
echo -e "Send the module name to be created, ex .:"
echo -e "${BK} $ createPuppetModule.sh new_module_puppet${NC}"
exit 1;
fi
################################################################################
# VERIFY IF THERE IS A FOLDER MODULES
################################################################################
if [ ! -d modules ]
then
mkdir modules
echo -e "${BK}Created folder: modules/"
fi
cd modules
################################################################################
# CREATE A NEW FOLDER MODULE
################################################################################
echo -e "${BK}Creating folder structure for the new module ... ${NC}"
mkdir $NEW_MODULE
if [ ! -d $NEW_MODULE ]
then
echo -e "${PK}Failure trying to create folder: modules/$NEW_MODULE/${NC}"
exit 1;
fi
cd $NEW_MODULE
################################################################################
# CRIA PASTAS DE CONTEUDO DO NOVO MODULO
################################################################################
mkdir files
if [ ! -d files ]
then
echo -e "${PK}Failure trying to create folder modules/$NEW_MODULE/files/${NC}"
else
echo -e "Folder created: \e[1mmodules/$NEW_MODULE/files/${NC}"
fi
mkdir manifests
if [ ! -d manifests ]
then
echo -e "${PK}Failure trying to create folder modules/$NEW_MODULE/manifests/${NC}"
else
echo -e "Folder created: \e[1mmodules/$NEW_MODULE/manifests/${NC}"
fi
mkdir templates
if [ ! -d templates ]
then
echo -e "${PK}Failure trying to create folder modules/$NEW_MODULE/templates/${NC}"
else
echo -e "Folder created: \e[1mmodules/$NEW_MODULE/templates/${NC}"
fi
mkdir tests
if [ ! -d tests ]
then
echo -e "${PK}Failure trying to create folder modules/$NEW_MODULE/tests/${NC}"
else
echo -e "Folder created: \e[1mmodules/$NEW_MODULE/tests/${NC}"
fi
################################################################################
# CREATE INIT.PP
################################################################################
printf "class $NEW_MODULE {}" >> manifests/init.pp
printf "class $NEW_MODULE::params {\n\t\n}" >> manifests/params.pp
touch tests/init.pp
echo -e "File created: \e[1mmodules/$NEW_MODULE/manifests/init.pp${NC}"
echo -e "File created: \e[1mmodules/$NEW_MODULE/manifests/params.pp${NC}"
echo -e "File created: \e[1mmodules/$NEW_MODULE/tests/init.pp${NC}"
echo -e ""
echo -e "${YL}Module successfully created${NC}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment