def read_settings(self):
''' Reads the settings from the profitbricks_inventory.ini file '''
if six.PY3:
config = configparser.ConfigParser()
else:
config = configparser.SafeConfigParser()
config.read(os.path.dirname(os.path.realpath(__file__)) + '/profitbricks_inventory.ini')
# Credentials
if config.has_option('profitbricks', 'subscription_user'):
self.subscription_user = config.get('profitbricks', 'subscription_user')
if config.has_option('profitbricks', 'subscription_password'):
self.subscription_password = config.get('profitbricks', 'subscription_password')
if config.has_option('profitbricks', 'subscription_password_file'):
self.subscription_password_file = config.get('profitbricks', 'subscription_password_file')
if config.has_option('profitbricks', 'api_url'):
self.api_url = config.get('profitbricks', 'api_url')
# Cache
if config.has_option('profitbricks', 'cache_path'):
self.cache_path = config.get('profitbricks', 'cache_path')
if config.has_option('profitbricks', 'cache_max_age'):
self.cache_max_age = config.getint('profitbricks', 'cache_max_age')
# Group variables
if config.has_option('profitbricks', 'vars'):
self.vars = ast.literal_eval(config.get('profitbricks', 'vars'))
# Groups
group_by_options = [
'group_by_datacenter_id',
'group_by_location',
'group_by_availability_zone',
'group_by_image_name',
'group_by_licence_type'
]
for option in group_by_options:
if config.has_option('profitbricks', option):
setattr(self, option, config.getboolean('profitbricks', option))
else:
setattr(self, option, True)
# Inventory Hostname
option = 'server_name_as_inventory_hostname'
if config.has_option('profitbricks', option):
setattr(self, option, config.getboolean('profitbricks', option))
else:
setattr(self, option, False)
评论列表
文章目录