in src/hpc/autoscale/node/node.py [0:0]
def placement_group(self, value: Optional[ht.PlacementGroup]) -> None:
if isinstance(value, str) and not value:
value = None
if self.__placement_group and value != self.__placement_group:
if self.exists:
raise RuntimeError(
"Can not change the placement group of an existing node: {} old={} new={}".format(
self, self.__placement_group, value
)
)
if value:
if not re.match("^[a-zA-Z0-9_-]+$", value):
raise RuntimeError(
"Invalid placement_group - must only contain letters, numbers, '-' or '_'"
)
self.__placement_group = value