Requests a new stack.

def new_stack(self,
                  keep_stacks: int,
                  new_traffic: int,
                  senza_yaml: dict,
                  stack_version: str,
                  disable_rollback: bool,
                  parameters: List[str],
                  region: Optional[str],
                  dry_run: bool,
                  tags: List[str]) -> (Dict[str, str], str):  # TODO put arguments in a more logical order
        """
        Requests a new stack.
        """
        header = make_header(self.access_token)
        data = {'senza_yaml': yaml.dump(senza_yaml),
                'stack_version': stack_version,
                'disable_rollback': disable_rollback,
                'dry_run': dry_run,
                'keep_stacks': keep_stacks,
                'new_traffic': new_traffic,
                'parameters': parameters,
                'tags': tags}
        if region:
            data['region'] = region

        request = self.stacks_url.post(json=data, headers=header, verify=False)
        request.raise_for_status()
        return request.json(), self.get_output(request)