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()