예제 #1
0
def test_validate_name():
    from dvc.exceptions import InvalidArgumentError
    from dvc.machine import RESERVED_NAMES, validate_name

    for name in RESERVED_NAMES:
        with pytest.raises(InvalidArgumentError):
            validate_name(name)
예제 #2
0
파일: machine.py 프로젝트: pared/dvc
    def _check_before_rename(self):
        from dvc.machine import validate_name

        validate_name(self.args.new)

        all_config = self.config.load_config_to_level(None)
        if self.args.new in all_config.get("machine", {}):
            raise ConfigError(
                "Rename failed. Machine '{}' already exists.".format(
                    self.args.new))
        ui.write(f"Rename machine '{self.args.name}' to '{self.args.new}'.")
예제 #3
0
파일: machine.py 프로젝트: pared/dvc
    def run(self):
        from dvc.machine import validate_name

        validate_name(self.args.name)

        if self.args.default:
            ui.write(f"Setting '{self.args.name}' as a default machine.")

        with self.config.edit(self.args.level) as conf:
            if self.args.name in conf["machine"] and not self.args.force:
                raise ConfigError(
                    "machine '{}' already exists. Use `-f|--force` to "
                    "overwrite it.".format(self.args.name))

            conf["machine"][self.args.name] = {"cloud": self.args.cloud}
            if self.args.default:
                conf["core"]["machine"] = self.args.name

        return 0