def __init__()

in src/sagemaker_core/tools/resources_codegen.py [0:0]


    def __init__(self, service_json: dict):
        # Initialize the service_json dict
        self.service_json = service_json

        # Extract the metadata
        metadata = self.service_json["metadata"]
        self.version = metadata["apiVersion"]
        self.protocol = metadata["protocol"]
        self.service = metadata["serviceFullName"]
        self.service_id = metadata["serviceId"]
        self.uid = metadata["uid"]

        # Check if the service ID and protocol are supported
        if self.service_id != "SageMaker":
            raise Exception(f"ServiceId {self.service_id} not supported in this resource generator")
        if self.protocol != "json":
            raise Exception(f"Protocol {self.protocol} not supported in this resource generator")

        # Extract the operations and shapes
        self.operations = load_combined_operations_data()
        self.shapes = load_combined_shapes_data()

        # Initialize the resources and shapes extractors
        self.resources_extractor = ResourcesExtractor()
        self.shapes_extractor = ShapesExtractor()

        # Extract the resources plan and shapes DAG
        self.resources_plan = self.resources_extractor.get_resource_plan()
        self.resource_methods = self.resources_extractor.get_resource_methods()
        self.shape_dag = self.shapes_extractor.get_shapes_dag()

        # Create the Config Schema
        self.generate_config_schema()
        # Generate the resources
        self.generate_resources()