code: def __post_init__(self):
      if not self.details:
          return
  
      # Details in the format of <pg_id>:<strategy>|<state>, parse
      # it into the above fields.
      pattern = r"^.*:.*\|.*$"
      match = re.match(pattern, self.details)
      if not match:
          return
  
      pg_id, details = self.details.split(":")
      strategy, state = details.split("|")
      self.pg_id = pg_id
      self.strategy = strategy
      self.state = state
  
imports: import re
  from dataclasses import dataclass, field
  from enum import Enum
  from typing import Dict, List, Optional
  from ray.core.generated.instance_manager_pb2 import Instance
label_desc: Use image node_id 1 for calling the PlacementGroupResourceDemand obj's underlying member method code with example usage: obj.__post_init__() without return types