- name: macOS | Set hostname hostname: name: bugs.acme.example.com # These tasks can be changed to a loop once https://github.com/ansible/ansible/issues/71031 # is fixed - name: macOS | Set hostname specifiying macos strategy hostname: name: bugs.acme.example.com use: macos - name: macOS | Set hostname specifiying macosx strategy hostname: name: bugs.acme.example.com use: macosx - name: macOS | Set hostname specifiying darwin strategy hostname: name: bugs.acme.example.com use: darwin - name: macOS | Get macOS hostname values command: scutil --get {{ item }} loop: - HostName - ComputerName - LocalHostName register: macos_scutil ignore_errors: yes - name: macOS | Ensure all hostname values were set correctly assert: that: - "['bugs.acme.example.com', 'bugs.acme.example.com', 'bugsacmeexamplecom'] == macos_scutil.results | map(attribute='stdout') | list" - name: macOS | Set to a hostname using spaces and punctuation hostname: name: The Dude's Computer - name: macOS | Get macOS hostname values command: scutil --get {{ item }} loop: - HostName - ComputerName - LocalHostName register: macos_scutil_complex ignore_errors: yes - name: macOS | Ensure all hostname values were set correctly assert: that: - "['The Dude\\'s Computer', 'The Dude\\'s Computer', 'The-Dudes-Computer'] == (macos_scutil_complex.results | map(attribute='stdout') | list)"