def rollover(self, alias, new_index=None, body=None, params=None):
        """
        The rollover index API rolls an alias over to a new index when the
        existing index is considered to be too large or too old.

        The API accepts a single alias name and a list of conditions. The alias
        must point to a single index only. If the index satisfies the specified
        conditions then a new index is created and the alias is switched to
        point to the new alias.
        `<http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-rollover-index.html>`_

        :arg alias: The name of the alias to rollover
        :arg new_index: The name of the rollover index
        :arg body: The conditions that needs to be met for executing rollover
        :arg dry_run: If set to true the rollover action will only be validated
            but not actually performed even if a condition matches. The default
            is false
        :arg master_timeout: Specify timeout for connection to master
        :arg request_timeout: Explicit operation timeout
        :arg wait_for_active_shards: Set the number of active shards to wait for
            on the newly created rollover index before the operation returns.
        :arg include_type_name: Specify whether requests and responses should include a
            type name (default: depends on Elasticsearch version).
        """
        if alias in SKIP_IN_PATH:
            raise ValueError("Empty value passed for a required argument 'alias'.")
        return self.transport.perform_request(
            "POST", _make_path(alias, "_rollover", new_index), params=params, body=body
        )