Skip to content

Commit d9c0c6e

Browse files
committed
feat: Adding tagging to service changes
1 parent 218131b commit d9c0c6e

File tree

4 files changed

+29
-1
lines changed

4 files changed

+29
-1
lines changed

src/sagemaker/jumpstart/enums.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,11 @@ class VariableTypes(str, Enum):
8282
BOOL = "bool"
8383

8484

85+
class HubContentCapability(str, Enum):
86+
"""Enum class for HubContent capabilities."""
87+
88+
BEDROCK_CONSOLE = "BEDROCK_CONSOLE"
89+
8590
class JumpStartTag(str, Enum):
8691
"""Enum class for tag keys to apply to JumpStart models."""
8792

@@ -99,6 +104,8 @@ class JumpStartTag(str, Enum):
99104

100105
HUB_CONTENT_ARN = "sagemaker-sdk:hub-content-arn"
101106

107+
BEDROCK = "sagemaker-sdk:bedrock"
108+
102109

103110
class SerializerType(str, Enum):
104111
"""Enum class for serializers associated with JumpStart models."""

src/sagemaker/jumpstart/factory/model.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
from sagemaker.model_metrics import ModelMetrics
4242
from sagemaker.metadata_properties import MetadataProperties
4343
from sagemaker.drift_check_baselines import DriftCheckBaselines
44-
from sagemaker.jumpstart.enums import JumpStartScriptScope, JumpStartModelType
44+
from sagemaker.jumpstart.enums import JumpStartScriptScope, JumpStartModelType, HubContentCapability
4545
from sagemaker.jumpstart.types import (
4646
HubContentType,
4747
JumpStartModelDeployKwargs,
@@ -51,6 +51,7 @@
5151
)
5252
from sagemaker.jumpstart.utils import (
5353
add_hub_content_arn_tags,
54+
add_bedrock_store_tags,
5455
add_jumpstart_model_info_tags,
5556
get_default_jumpstart_session_with_user_agent_suffix,
5657
get_neo_content_bucket,
@@ -488,6 +489,10 @@ def _add_tags_to_kwargs(kwargs: JumpStartModelDeployKwargs) -> Dict[str, Any]:
488489
)
489490
kwargs.tags = add_hub_content_arn_tags(kwargs.tags, hub_content_arn=hub_content_arn)
490491

492+
if hasattr(kwargs.specs, "capabilities"):
493+
if HubContentCapability.BEDROCK_CONSOLE in kwargs.specs.capabilities:
494+
kwargs.tags = add_bedrock_store_tags(kwargs.tags, compatibility="compatible")
495+
491496
return kwargs
492497

493498

src/sagemaker/jumpstart/types.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1200,6 +1200,7 @@ class JumpStartMetadataBaseFields(JumpStartDataHolderType):
12001200
"url",
12011201
"version",
12021202
"min_sdk_version",
1203+
"capabilities",
12031204
"incremental_training_supported",
12041205
"hosting_ecr_specs",
12051206
"hosting_ecr_uri",
@@ -1287,6 +1288,7 @@ def from_json(self, json_obj: Dict[str, Any]) -> None:
12871288
json_obj.get("incremental_training_supported", False)
12881289
)
12891290
if self._is_hub_content:
1291+
self.capabilities: Optional[str] = json_obj.get("capabilities")
12901292
self.hosting_ecr_uri: Optional[str] = json_obj.get("hosting_ecr_uri")
12911293
self._non_serializable_slots.append("hosting_ecr_specs")
12921294
else:

src/sagemaker/jumpstart/utils.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,20 @@ def add_hub_content_arn_tags(
451451
)
452452
return tags
453453

454+
def add_bedrock_store_tags(
455+
tags: Optional[List[TagsDict]],
456+
compatibility: str,
457+
) -> Optional[List[TagsDict]]:
458+
"""Adds custom Hub arn tag to JumpStart related resources."""
459+
460+
tags = add_single_jumpstart_tag(
461+
compatibility,
462+
enums.JumpStartTag.BEDROCK,
463+
tags,
464+
is_uri=False,
465+
)
466+
return tags
467+
454468

455469
def add_jumpstart_uri_tags(
456470
tags: Optional[List[TagsDict]] = None,

0 commit comments

Comments
 (0)