def handle_parse_result()

in samcli/commands/local/cli_common/click_mutex.py [0:0]


    def handle_parse_result(self, ctx, opts, args):
        current_opt: bool = self.name in opts
        # Check for parameters not compatible with each other
        for mutex_opt in self.not_required or []:
            if mutex_opt in opts:
                if current_opt:
                    msg = f"""
You must not provide both the --{self.name.replace("_", "-")} and --{str(mutex_opt).replace("_", "-")} parameters.

You can run 'sam init' without any options for an interactive initialization flow, or you can provide one of the following required parameter combinations:
    --name and --runtime and --app-template and --dependency-manager
    --name and --package-type and --base-image
    --location
                            """
                    raise click.UsageError(msg)
                self.prompt = None
        # check for required parameters
        if self.required_params:
            req_flag = True
            for mutex_opt_list in self.required_params:
                req_cnt = len(mutex_opt_list)
                for mutex_opt in mutex_opt_list:
                    if mutex_opt in opts:
                        req_cnt -= 1

                if not req_cnt:
                    req_flag = False

            if current_opt and req_flag:
                msg = f"""
Missing required parameters, with --{self.name.replace("_", "-")} set.

Must provide one of the following required parameter combinations:
    --name and --runtime and --dependency-manager and --app-template
    --name and --package-type and --base-image and --dependency-manager
    --location

You can also re-run without the --no-interactive flag to be prompted for required values.
                """
                raise click.UsageError(msg)
            self.prompt = None
        return super().handle_parse_result(ctx, opts, args)