class_docstr: Class for handling FeatureProcessor S3 Artifact Lineage
class_docstr_tok: ["Class","for","handling","FeatureProcessor","S3","Artifact","Lineage"]
docstr: Load or create the FeatureProcessor Pipeline's schedule Artifact
  
  Arguments:
      pipeline_schedule (PipelineSchedule): Class to hold the Pipeline Schedule details
      sagemaker_session (Session): Session object which manages interactions
      with Amazon SageMaker APIs and any other AWS services needed. If not specified, the
      function creates one using the default AWS configuration chain.
  
  Returns:
      Artifact: The Schedule Artifact.
docstr_tok: ["Load","or","create","the","FeatureProcessor","Pipeline","'s","schedule","Artifact","Arguments",":","pipeline_schedule","(","PipelineSchedule",")",":","Class","to","hold","the","Pipeline","Schedule","details","sagemaker_session","(","Session",")",":","Session","object","which","manages","interactions","with","Amazon","SageMaker","APIs","and","any","other","AWS","services","needed",".","If","not","specified",",","the","function","creates","one","using","the","default","AWS","configuration","chain",".","Returns",":","Artifact",":","The","Schedule","Artifact","."]
code: def retrieve_pipeline_schedule_artifact(
      pipeline_schedule: PipelineSchedule,
      sagemaker_session: Session,
      _get_feature_processor_schedule_lineage_artifact_namef=None,
  ) -> Optional[Artifact]:
      """Load or create the FeatureProcessor Pipeline's schedule Artifact
  
      Arguments:
          pipeline_schedule (PipelineSchedule): Class to hold the Pipeline Schedule details
          sagemaker_session (Session): Session object which manages interactions
          with Amazon SageMaker APIs and any other AWS services needed. If not specified, the
          function creates one using the default AWS configuration chain.
  
      Returns:
          Artifact: The Schedule Artifact.
      """
      if pipeline_schedule is None:
          return None
      load_artifact: ArtifactSummary = (
          S3LineageEntityHandler._load_artifact_from_s3_uri(
              s3_uri=pipeline_schedule.schedule_arn,
              sagemaker_session=sagemaker_session,
          )
      )
      if load_artifact is not None:
          pipeline_schedule_artifact: Artifact = (
              S3LineageEntityHandler.load_artifact_from_arn(
                  artifact_arn=load_artifact.artifact_arn,
                  sagemaker_session=sagemaker_session,
              )
          )
          pipeline_schedule_artifact.properties[
              "pipeline_name"
          ] = pipeline_schedule.pipeline_name
          pipeline_schedule_artifact.properties[
              "schedule_expression"
          ] = pipeline_schedule.schedule_expression
          pipeline_schedule_artifact.properties[
              "state"
          ] = pipeline_schedule.state
          pipeline_schedule_artifact.properties[
              "start_date"
          ] = pipeline_schedule.start_date
          pipeline_schedule_artifact.save()
          return pipeline_schedule_artifact
  
      return S3LineageEntityHandler._create_artifact(
          s3_uri=pipeline_schedule.schedule_arn,
          artifact_type="PipelineSchedule",
          artifact_name=_get_feature_processor_schedule_lineage_artifact_name(
              schedule_name=pipeline_schedule.schedule_name
          ),
          properties=dict(
              pipeline_name=pipeline_schedule.pipeline_name,
              schedule_expression=pipeline_schedule.schedule_expression,
              state=pipeline_schedule.state,
              start_date=pipeline_schedule.start_date,
          ),
          sagemaker_session=sagemaker_session,
      )
  
imports: from __future__ import absolute_import
  import logging
  from typing import Union, Optional, List
  from sagemaker import Session
  from sagemaker.feature_store.feature_processor import CSVDataSource, ParquetDataSource, BaseDataSource
  from sagemaker.feature_store.feature_processor.lineage._feature_processor_lineage_name_helper import _get_feature_processor_schedule_lineage_artifact_name, _get_feature_processor_trigger_lineage_artifact_name
  from sagemaker.feature_store.feature_processor.lineage._pipeline_schedule import PipelineSchedule
  from sagemaker.feature_store.feature_processor.lineage._pipeline_trigger import PipelineTrigger
  from sagemaker.feature_store.feature_processor.lineage._transformation_code import TransformationCode
  from sagemaker.feature_store.feature_processor.lineage.constants import TRANSFORMATION_CODE_STATUS_ACTIVE, FEP_LINEAGE_PREFIX, TRANSFORMATION_CODE_ARTIFACT_NAME
  from sagemaker.lineage.artifact import Artifact, ArtifactSummary
label_desc: Use image node_id 4 for calling the S3LineageEntityHandler obj's underlying member method code with example usage: obj.retrieve_pipeline_schedule_artifact(pipeline_schedule, sagemaker_session, _get_feature_processor_schedule_lineage_artifact_namef) and returns: S3LineageEntityHandler, None, pipeline_schedule_artifact