Cisco Cisco Intelligent Automation for Cloud 4.0 Technical Manual

Page of 6
To get profiles and roles discovered in the portal they should be located in specific modules called role and
profile. Example of locations:
Roles manifests − $basemodulepath/role/manifests
• 
Profile manifests − $basemodulepath/profiles/manifests
• 
$basemodulepath  module location path specified in puppet configuration file.
• 
Example of roles (each role should be located in individual manifest):  
class role { 
  include profile::base
}
class role::www inherits role { 
  # All WWW servers get tomcat
  include profile::tomcat
}
class role::www::dev inherits role::www { 
  include profile::webserver::dev
  include profile::database
}
class role::www::live inherits role::www { 
  include profile::webserver::live
}
class role::mailserver inherits role { 
  include profile::mailserver
}
Example of profiles (each profiles should be located in individual manifest):
class profile::base { 
  include networking
  include users 
}
class profile::tomcat { 
  class { "jdk": } 
  class { "tomcat": } 
}
class profile::webserver { 
  # Configuration for all webservers
  class { "httpd": } 
  class { "php": } 
  class { "memcache": } 
}
class profile::webserver::dev inherits profile::webserver { 
  Class["php"] { 
    loglevel   => "debug"
  }
}
class profile::webserver::live inherits profile::webserver { 
  # Any live webserver specific stuff here 
}
class profile::database {
  class { "mysql": } 
}
class profile::mailserver { 
  class { "exim": } 
}