def _get_array_controller_resource(self):
        """Gets the ArrayController resource if exists.

        :raises: IloCommandNotSupportedError if the resource ArrayController
            doesn't exist.
        :returns the tuple of SmartStorage URI, Headers and settings.
        """
        headers, storage_uri, storage_settings = self._get_storage_resource()
        if ('links' in storage_settings and
                'ArrayControllers' in storage_settings['links']):
            # Get the ArrayCOntrollers URI and Settings
            array_uri = storage_settings['links']['ArrayControllers']['href']
            status, headers, array_settings = self._rest_get(array_uri)

            if status >= 300:
                msg = self._get_extended_error(array_settings)
                raise exception.IloError(msg)

            return headers, array_uri, array_settings
        else:
            msg = ('"links/ArrayControllers" section in SmartStorage'
                   ' does not exist')
            raise exception.IloCommandNotSupportedError(msg)
Gets the ArrayController resource if exists.

        :raises: IloCommandNotSupportedError if the resource ArrayController
            doesn't exist.
        :returns the tuple of SmartStorage URI, Headers and settings.