salt.modules.mac_system module

System module for sleeping, restarting, and shutting down the system on Mac OS X

New in version 2016.3.0.

Warning

Using this module will enable atrun on the system if it is disabled.

salt.modules.mac_system.get_boot_arch()

Get the kernel architecture setting from com.apple.Boot.plist

Returns:A string value representing the boot architecture setting
Return type:str

CLI Example:

salt '*' system.get_boot_arch
salt.modules.mac_system.get_computer_name()

Gets the computer name

Returns:The computer name
Return type:str

CLI Example:

salt '*' system.get_computer_name
salt.modules.mac_system.get_disable_keyboard_on_lock()

Get whether or not the keyboard should be disabled when the X Serve enclosure lock is engaged.

Returns:True if disable keyboard on lock is on, False if off
Return type:bool

CLI Example:

..code-block:: bash

salt '*' system.get_disable_keyboard_on_lock
salt.modules.mac_system.get_remote_events()

Displays whether remote apple events are on or off.

Returns:True if remote apple events are on, False if off
Return type:bool

CLI Example:

salt '*' system.get_remote_events
salt.modules.mac_system.get_remote_login()

Displays whether remote login (SSH) is on or off.

Returns:True if remote login is on, False if off
Return type:bool

CLI Example:

salt '*' system.get_remote_login
salt.modules.mac_system.get_restart_delay()

Get the number of seconds after which the computer will start up after a power failure.

Returns:A string value representing the number of seconds the system will

delay restart after power loss :rtype: str

CLI Example:

salt '*' system.get_restart_delay
salt.modules.mac_system.get_startup_disk()

Displays the current startup disk

Returns:The current startup disk
Return type:str

CLI Example:

salt '*' system.get_startup_disk
salt.modules.mac_system.get_subnet_name()

Gets the local subnet name

Returns:The local subnet name
Return type:str

CLI Example:

salt '*' system.get_subnet_name
salt.modules.mac_system.halt(at_time=None)

Halt a running system

Parameters:at_time (str) -- Any valid at expression. For example, some valid at

expressions could be: - noon - midnight - fri - 9:00 AM - 2:30 PM tomorrow - now + 10 minutes

Note:: If you pass a time only, with no 'AM/PM' designation, you have to double quote the parameter on the command line. For example: '"14:00"'

CLI Example:

salt '*' system.halt
salt '*' system.halt 'now + 10 minutes'
salt.modules.mac_system.list_startup_disks()

List all valid startup disks on the system.

Returns:A list of valid startup disks
Return type:list

CLI Example:

salt '*' system.list_startup_disks
salt.modules.mac_system.restart(at_time=None)

Restart the system

Parameters:at_time (str) -- Any valid at expression. For example, some valid at

expressions could be: - noon - midnight - fri - 9:00 AM - 2:30 PM tomorrow - now + 10 minutes

Note:: If you pass a time only, with no 'AM/PM' designation, you have to double quote the parameter on the command line. For example: '"14:00"'

CLI Example:

salt '*' system.restart
salt '*' system.restart '12:00 PM fri'
salt.modules.mac_system.set_boot_arch(arch='default')

Set the kernel to boot in 32 or 64 bit mode on next boot.

Note

This command fails with the following error:

changes to kernel architecture failed to save!

The setting is not updated. This is either an apple bug, not available on the test system, or a result of system files now being locked down in macOS (SIP Protection).

Parameters:arch (str) -- A string representing the desired architecture. If no

value is passed, default is assumed. Valid values include: - i386 - x86_64 - default

Returns:True if successful, False if not
Return type:bool

CLI Example:

salt '*' system.set_boot_arch i386
salt.modules.mac_system.set_computer_name(name)

Set the computer name

Parameters:name (str) -- The new computer name
Returns:True if successful, False if not
Return type:bool

CLI Example:

salt '*' system.set_computer_name "Mike's Mac"
salt.modules.mac_system.set_disable_keyboard_on_lock(enable)

Get whether or not the keyboard should be disabled when the X Serve enclosure lock is engaged.

Parameters:enable (bool) -- True to enable, False to disable. "On" and "Off" are

also acceptable values. Additionally you can pass 1 and 0 to represent True and False respectively

Returns:True if successful, False if not
Return type:bool

CLI Example:

salt '*' system.set_disable_keyboard_on_lock False
salt.modules.mac_system.set_remote_events(enable)

Set whether the server responds to events sent by other computers (such as AppleScripts)

Parameters:enable (bool) -- True to enable, False to disable. "On" and "Off" are

also acceptable values. Additionally you can pass 1 and 0 to represent True and False respectively

Returns:True if successful, False if not
Return type:bool

CLI Example:

salt '*' system.set_remote_events On
salt.modules.mac_system.set_remote_login(enable)

Set the remote login (SSH) to either on or off.

Parameters:enable (bool) -- True to enable, False to disable. "On" and "Off" are

also acceptable values. Additionally you can pass 1 and 0 to represent True and False respectively

Returns:True if successful, False if not
Return type:bool

CLI Example:

salt '*' system.set_remote_login True
salt.modules.mac_system.set_restart_delay(seconds)

Set the number of seconds after which the computer will start up after a power failure.

Warning

This command fails with the following error:

Error, IOServiceOpen returned 0x10000003

The setting is not updated. This is an apple bug. It seems like it may only work on certain versions of Mac Server X. This article explains the issue in more detail, though it is quite old.

http://lists.apple.com/archives/macos-x-server/2006/Jul/msg00967.html

Parameters:seconds (int) -- The number of seconds. Must be a multiple of 30
Returns:True if successful, False if not
Return type:bool

CLI Example:

salt '*' system.set_restart_delay 180
salt.modules.mac_system.set_startup_disk(path)

Set the current startup disk to the indicated path. Use system.list_startup_disks to find valid startup disks on the system.

Parameters:path (str) -- The valid startup disk path
Returns:True if successful, False if not
Return type:bool

CLI Example:

salt '*' system.set_startup_disk /System/Library/CoreServices
salt.modules.mac_system.set_subnet_name(name)

Set the local subnet name

Parameters:name (str) -- The new local subnet name

Note

Spaces are changed to dashes. Other special characters are removed.

Returns:True if successful, False if not
Return type:bool

CLI Example:

The following will be set as 'Mikes-Mac'
salt '*' system.set_subnet_name "Mike's Mac"
salt.modules.mac_system.shutdown(at_time=None)

Shutdown the system

Parameters:at_time (str) -- Any valid at expression. For example, some valid at

expressions could be: - noon - midnight - fri - 9:00 AM - 2:30 PM tomorrow - now + 10 minutes

Note:: If you pass a time only, with no 'AM/PM' designation, you have to double quote the parameter on the command line. For example: '"14:00"'

CLI Example:

salt '*' system.shutdown
salt '*' system.shutdown 'now + 1 hour'
salt.modules.mac_system.sleep(at_time=None)

Sleep the system. If a user is active on the system it will likely fail to sleep.

Parameters:at_time (str) -- Any valid at expression. For example, some valid at

expressions could be: - noon - midnight - fri - 9:00 AM - 2:30 PM tomorrow - now + 10 minutes

Note:: If you pass a time only, with no 'AM/PM' designation, you have to double quote the parameter on the command line. For example: '"14:00"'

CLI Example:

salt '*' system.sleep
salt '*' system.sleep '10:00 PM'