code: 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
          
          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)
docs: Requests a new stack.