def from_json()

in src/sagemaker/jumpstart/types.py [0:0]


    def from_json(self, json_obj: Dict[str, Any]) -> None:
        """Sets fields in object based on json of header.

        Args:
            json_obj (Dict[str, Any]): Dictionary representation of spec.
        """
        super().from_json(json_obj)
        if self._is_hub_content:
            json_obj = walk_and_apply_json(json_obj, camel_to_snake)
        self.inference_config_components: Optional[Dict[str, JumpStartConfigComponent]] = (
            {
                component_name: JumpStartConfigComponent(component_name, component)
                for component_name, component in json_obj["inference_config_components"].items()
            }
            if json_obj.get("inference_config_components")
            else None
        )
        self.inference_config_rankings: Optional[Dict[str, JumpStartConfigRanking]] = (
            {
                alias: JumpStartConfigRanking(ranking, is_hub_content=self._is_hub_content)
                for alias, ranking in json_obj["inference_config_rankings"].items()
            }
            if json_obj.get("inference_config_rankings")
            else None
        )

        if self._is_hub_content:
            inference_configs_dict: Optional[Dict[str, JumpStartMetadataConfig]] = (
                {
                    alias: JumpStartMetadataConfig(
                        alias,
                        config,
                        json_obj,
                        config.config_components,
                        is_hub_content=self._is_hub_content,
                    )
                    for alias, config in json_obj["inference_configs"]["configs"].items()
                }
                if json_obj.get("inference_configs")
                else None
            )
        else:
            inference_configs_dict: Optional[Dict[str, JumpStartMetadataConfig]] = (
                {
                    alias: JumpStartMetadataConfig(
                        alias,
                        config,
                        json_obj,
                        (
                            {
                                component_name: self.inference_config_components.get(component_name)
                                for component_name in config.get("component_names")
                            }
                            if config and config.get("component_names")
                            else None
                        ),
                    )
                    for alias, config in json_obj["inference_configs"].items()
                }
                if json_obj.get("inference_configs")
                else None
            )

        self.inference_configs: Optional[JumpStartMetadataConfigs] = (
            JumpStartMetadataConfigs(
                inference_configs_dict,
                self.inference_config_rankings,
            )
            if json_obj.get("inference_configs")
            else None
        )

        if self.training_supported:
            self.training_config_components: Optional[Dict[str, JumpStartConfigComponent]] = (
                {
                    alias: JumpStartConfigComponent(alias, component)
                    for alias, component in json_obj["training_config_components"].items()
                }
                if json_obj.get("training_config_components")
                else None
            )
            self.training_config_rankings: Optional[Dict[str, JumpStartConfigRanking]] = (
                {
                    alias: JumpStartConfigRanking(ranking)
                    for alias, ranking in json_obj["training_config_rankings"].items()
                }
                if json_obj.get("training_config_rankings")
                else None
            )

            if self._is_hub_content:
                training_configs_dict: Optional[Dict[str, JumpStartMetadataConfig]] = (
                    {
                        alias: JumpStartMetadataConfig(
                            alias,
                            config,
                            json_obj,
                            config.config_components,
                            is_hub_content=self._is_hub_content,
                        )
                        for alias, config in json_obj["training_configs"]["configs"].items()
                    }
                    if json_obj.get("training_configs")
                    else None
                )
            else:
                training_configs_dict: Optional[Dict[str, JumpStartMetadataConfig]] = (
                    {
                        alias: JumpStartMetadataConfig(
                            alias,
                            config,
                            json_obj,
                            (
                                {
                                    component_name: self.training_config_components.get(
                                        component_name
                                    )
                                    for component_name in config.get("component_names")
                                }
                                if config and config.get("component_names")
                                else None
                            ),
                        )
                        for alias, config in json_obj["training_configs"].items()
                    }
                    if json_obj.get("training_configs")
                    else None
                )

            self.training_configs: Optional[JumpStartMetadataConfigs] = (
                JumpStartMetadataConfigs(
                    training_configs_dict,
                    self.training_config_rankings,
                    JumpStartScriptScope.TRAINING,
                )
                if json_obj.get("training_configs")
                else None
            )
        self.model_subscription_link = json_obj.get("model_subscription_link")