salt.modules.ini_manage#
Edit ini files
- maintainer:
- maturity:
new
- depends:
re
- platform:
all
(for example /etc/sysctl.conf)
- salt.modules.ini_manage.get_ini(file_name, separator='=', encoding=None)#
Retrieve the whole structure from an ini file and return it as a dictionary.
- Parameters:
file_name (str) -- The full path to the ini file.
separator (str) --
The character used to separate keys and values. Standard ini files use the "=" character. The default is
=.New in version 2016.11.0.
encoding (str) --
A string value representing encoding of the target ini file. If
Noneis passed, it uses the system default which is likelyutf-8. Default isNoneNew in version 3006.6.
- Returns:
- A dictionary containing the sections along with the values and
names contained in each section
- Return type:
API Example:
import salt.client with salt.client.get_local_client() as sc: sc.cmd('target', 'ini.get_ini', [path_to_ini_file])
CLI Example:
salt '*' ini.get_ini /path/to/ini
- salt.modules.ini_manage.get_option(file_name, section, option, separator='=', encoding=None)#
Get value of a key from a section in an ini file. Returns
Noneif no matching key was found.- Parameters:
file_name (str) -- The full path to the ini file.
section (str) -- A string value representing the section of the ini that the option is in. If the option is not in a section, leave this empty.
option (str) -- A string value representing the option to search for.
separator (str) --
The character used to separate keys and values. Standard ini files use the "=" character. The default is
=.New in version 2016.11.0.
encoding (str) --
A string value representing encoding of the target ini file. If
Noneis passed, it uses the system default which is likelyutf-8. Default isNoneNew in version 3006.6.
- Returns:
- The value as defined in the ini file, or
Noneif empty or not found
- The value as defined in the ini file, or
- Return type:
API Example:
import salt.client with salt.client.get_local_client() as sc: sc.cmd('target', 'ini.get_option', [path_to_ini_file, section_name, option])
CLI Example:
salt '*' ini.get_option /path/to/ini section_name option_name
- salt.modules.ini_manage.get_section(file_name, section, separator='=', encoding=None)#
Retrieve a section from an ini file. Returns the section as a dictionary. If the section is not found, an empty dictionary is returned.
- Parameters:
file_name (str) -- The full path to the ini file.
section (str) -- A string value representing name of the section to search for.
separator (str) --
The character used to separate keys and values. Standard ini files use the "=" character. The default is
=.New in version 2016.11.0.
encoding (str) --
A string value representing encoding of the target ini file. If
Noneis passed, it uses the system default which is likelyutf-8. Default isNoneNew in version 3006.6.
- Returns:
- A dictionary containing the names and values of all items in the
section of the ini file. If the section is not found, an empty dictionary is returned
- Return type:
API Example:
import salt.client with salt.client.get_local_client() as sc: sc.cmd('target', 'ini.get_section', [path_to_ini_file, section_name])
CLI Example:
salt '*' ini.get_section /path/to/ini section_name
- salt.modules.ini_manage.remove_option(file_name, section, option, separator='=', encoding=None)#
Remove a key/value pair from a section in an ini file. Returns the value of the removed key, or
Noneif nothing was removed.- Parameters:
file_name (str) -- The full path to the ini file.
section (str) -- A string value representing the section of the ini that the option is in. If the option is not in a section, leave this empty.
option (str) -- A string value representing the option to search for.
separator (str) --
The character used to separate keys and values. Standard ini files use the "=" character. The default is
=.New in version 2016.11.0.
encoding (str) --
A string value representing encoding of the target ini file. If
Noneis passed, it uses the system default which is likelyutf-8. Default isNoneNew in version 3006.6.
- Returns:
- A string value representing the option that was removed or
None if nothing was removed
- A string value representing the option that was removed or
- Return type:
API Example:
import salt sc = salt.client.get_local_client() sc.cmd('target', 'ini.remove_option', [path_to_ini_file, section_name, option])
CLI Example:
salt '*' ini.remove_option /path/to/ini section_name option_name
- salt.modules.ini_manage.remove_section(file_name, section, separator='=', encoding=None)#
Remove a section in an ini file. Returns the removed section as a dictionary, or
Noneif nothing is removed.- Parameters:
file_name (str) -- The full path to the ini file.
section (str) -- A string value representing the name of the section search for.
separator (str) --
The character used to separate keys and values. Standard ini files use the "=" character. The default is
=.New in version 2016.11.0.
encoding (str) --
A string value representing encoding of the target ini file. If
Noneis passed, it uses the system default which is likelyutf-8. Default isNoneNew in version 3006.6.
- Returns:
- A dictionary containing the names and values of all items in the
section that was removed or
Noneif nothing was removed
- Return type:
API Example:
import salt.client with salt.client.get_local_client() as sc: sc.cmd('target', 'ini.remove_section', [path_to_ini_file, section_name])
CLI Example:
salt '*' ini.remove_section /path/to/ini section_name
- salt.modules.ini_manage.set_option(file_name, sections=None, separator='=', encoding=None, no_spaces=False)#
Edit an ini file, replacing one or more sections. Returns a dictionary containing the changes made.
- Parameters:
file_name (str) -- The full path to the ini file.
sections (dict) -- A dictionary representing the sections to be edited in the ini file. The keys are the section names and the values are a dictionary containing the options. If the ini file does not contain sections the keys and values represent the options. The default is
None.separator (str) --
The character used to separate keys and values. Standard ini files use the "=" character. The default is
=.New in version 2016.11.0.
encoding (str) --
A string value representing encoding of the target ini file. If
Noneis passed, it uses the system default which is likelyutf-8. Default isNoneNew in version 3006.6.
no_spaces (bool) --
A bool value that specifies that the key/value separator will be wrapped with spaces. This parameter was added to have the ability to not wrap the separator with spaces. Default is
False, which maintains backwards compatibility.Warning
This will affect all key/value pairs in the ini file, not just the specific value being set.
New in version 3006.10.
- Returns:
A dictionary representing the changes made to the ini file
- Return type:
API Example:
import salt.client with salt.client.get_local_client() as sc: sc.cmd( 'target', 'ini.set_option', ['path_to_ini_file', '{"section_to_change": {"key": "value"}}'] )
CLI Example:
salt '*' ini.set_option /path/to/ini '{section_foo: {key: value}}'