2727 HubModelDocument ,
2828)
2929from sagemaker .jumpstart .hub .parser_utils import (
30- camel_to_snake ,
30+ pascal_to_snake ,
3131 snake_to_upper_camel ,
3232 walk_and_apply_json ,
3333)
@@ -86,7 +86,7 @@ def get_model_spec_arg_keys(
8686 arg_keys = []
8787
8888 if naming_convention == NamingConventionType .SNAKE_CASE :
89- arg_keys = [camel_to_snake (key ) for key in arg_keys ]
89+ arg_keys = [pascal_to_snake (key ) for key in arg_keys ]
9090 elif naming_convention == NamingConventionType .UPPER_CAMEL_CASE :
9191 return arg_keys
9292 else :
@@ -137,6 +137,8 @@ def make_model_specs_from_describe_hub_content_response(
137137 hub_model_document : HubModelDocument = response .hub_content_document
138138 specs ["url" ] = hub_model_document .url
139139 specs ["min_sdk_version" ] = hub_model_document .min_sdk_version
140+ specs ["model_types" ] = hub_model_document .model_types
141+ specs ["capabilities" ] = hub_model_document .capabilities
140142 specs ["training_supported" ] = bool (hub_model_document .training_supported )
141143 specs ["incremental_training_supported" ] = bool (
142144 hub_model_document .incremental_training_supported
@@ -146,15 +148,19 @@ def make_model_specs_from_describe_hub_content_response(
146148 specs ["inference_config_components" ] = hub_model_document .inference_config_components
147149 specs ["inference_config_rankings" ] = hub_model_document .inference_config_rankings
148150
149- hosting_artifact_bucket , hosting_artifact_key = parse_s3_url ( # pylint: disable=unused-variable
150- hub_model_document .hosting_artifact_uri
151- )
152- specs ["hosting_artifact_key" ] = hosting_artifact_key
153- specs ["hosting_artifact_uri" ] = hub_model_document .hosting_artifact_uri
154- hosting_script_bucket , hosting_script_key = parse_s3_url ( # pylint: disable=unused-variable
155- hub_model_document .hosting_script_uri
156- )
157- specs ["hosting_script_key" ] = hosting_script_key
151+ if hub_model_document .hosting_artifact_uri :
152+ _ , hosting_artifact_key = parse_s3_url ( # pylint: disable=unused-variable
153+ hub_model_document .hosting_artifact_uri
154+ )
155+ specs ["hosting_artifact_key" ] = hosting_artifact_key
156+ specs ["hosting_artifact_uri" ] = hub_model_document .hosting_artifact_uri
157+
158+ if hub_model_document .hosting_script_uri :
159+ _ , hosting_script_key = parse_s3_url ( # pylint: disable=unused-variable
160+ hub_model_document .hosting_script_uri
161+ )
162+ specs ["hosting_script_key" ] = hosting_script_key
163+
158164 specs ["inference_environment_variables" ] = hub_model_document .inference_environment_variables
159165 specs ["inference_vulnerable" ] = False
160166 specs ["inference_dependencies" ] = hub_model_document .inference_dependencies
@@ -201,7 +207,7 @@ def make_model_specs_from_describe_hub_content_response(
201207 default_payloads : Dict [str , Any ] = {}
202208 if hub_model_document .default_payloads is not None :
203209 for alias , payload in hub_model_document .default_payloads .items ():
204- default_payloads [alias ] = walk_and_apply_json (payload .to_json (), camel_to_snake )
210+ default_payloads [alias ] = walk_and_apply_json (payload .to_json (), pascal_to_snake )
205211 specs ["default_payloads" ] = default_payloads
206212 specs ["gated_bucket" ] = hub_model_document .gated_bucket
207213 specs ["inference_volume_size" ] = hub_model_document .inference_volume_size
@@ -219,6 +225,10 @@ def make_model_specs_from_describe_hub_content_response(
219225
220226 if hub_model_document .hosting_model_package_arn :
221227 specs ["hosting_model_package_arns" ] = {region : hub_model_document .hosting_model_package_arn }
228+
229+ specs ["model_subscription_link" ] = hub_model_document .model_subscription_link
230+
231+ specs ["model_subscription_link" ] = hub_model_document .model_subscription_link
222232
223233 specs ["hosting_use_script_uri" ] = hub_model_document .hosting_use_script_uri
224234
0 commit comments