code: def _setup_for_resource_lifetime_pipeline(self):
      pipeline = self._make_pipeline(
          self._pipeline_root,
          str(uuid.uuid4()),
          pipeline_type="lifetime",
      )
      self._pipeline = pipeline
      self.start_a = test_utils.get_node(pipeline, "start_a")
      self.start_b = test_utils.get_node(pipeline, "start_b")
      self.worker = test_utils.get_node(pipeline, "worker")
      self.end_b = test_utils.get_node(pipeline, "end_b")
      self.end_a = test_utils.get_node(pipeline, "end_a")
  
imports: import itertools
  import os
  from typing import Literal
  import uuid
  from absl.testing import parameterized
  from absl.testing.absltest import mock
  import tensorflow
  from tfx.dsl.compiler import constants
  from tfx.orchestration import data_types_utils
  from tfx.orchestration.experimental.core import constants
  from tfx.orchestration.experimental.core import mlmd_state
  from tfx.orchestration.experimental.core import pipeline_state
  from tfx.orchestration.experimental.core import service_jobs
  from tfx.orchestration.experimental.core import sync_pipeline_task_gen
  from tfx.orchestration.experimental.core import task
  from tfx.orchestration.experimental.core import task_gen_utils
  from tfx.orchestration.experimental.core import task_queue
  from tfx.orchestration.experimental.core import test_utils
  from tfx.orchestration.experimental.core.testing import test_sync_pipeline
  from tfx.orchestration import mlmd_connection_manager
  from tfx.orchestration.portable import runtime_parameter_utils
  from tfx.proto.orchestration import pipeline_pb2
  from tfx.utils import status
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 30 for calling the SyncPipelineTaskGeneratorTest obj's underlying member method code with example usage: obj._setup_for_resource_lifetime_pipeline() without return types