Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@ Name | Description
[amazon.ai.devopsguru_resource_collection_info](https://github.com/ansible-collections/amazon.ai/blob/main/docs/amazon.ai.devopsguru_resource_collection_info_module.rst)|Fetch information about Amazon DevOps Guru resource collection
[amazon.ai.sagemaker_code_repository](https://github.com/ansible-collections/amazon.ai/blob/main/docs/amazon.ai.sagemaker_code_repository_module.rst)|Manage Amazon SageMaker Code Repositories
[amazon.ai.sagemaker_code_repository_info](https://github.com/ansible-collections/amazon.ai/blob/main/docs/amazon.ai.sagemaker_code_repository_info_module.rst)|Gather information about SageMaker Code Repositories
[amazon.ai.sagemaker_image](https://github.com/ansible-collections/amazon.ai/blob/main/docs/amazon.ai.sagemaker_image_module.rst)|Manage Amazon SageMaker Images
[amazon.ai.sagemaker_image_info](https://github.com/ansible-collections/amazon.ai/blob/main/docs/amazon.ai.sagemaker_image_info_module.rst)|Gather information about SageMaker Images

<!--end collection content-->

Expand Down
577 changes: 577 additions & 0 deletions docs/amazon.ai.sagemaker_image_info_module.rst

Large diffs are not rendered by default.

666 changes: 666 additions & 0 deletions docs/amazon.ai.sagemaker_image_module.rst

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions meta/runtime.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,5 @@ action_groups:
- devopsguru_resource_collection_info
- sagemaker_code_repository
- sagemaker_code_repository_info
- sagemaker_image
- sagemaker_image_info
38 changes: 38 additions & 0 deletions plugins/module_utils/sagemaker.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from typing import List
from typing import Optional

from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry

try:
Expand Down Expand Up @@ -58,3 +59,40 @@ def list_code_repositories(client, **params: Any) -> List[Dict[str, Any]]:
"""
paginator = client.get_paginator("list_code_repositories")
return paginator.paginate(**params).build_full_result()["CodeRepositorySummaryList"]


@AWSRetry.jittered_backoff(retries=10)
def describe_image(client, image_name: str) -> Optional[Dict[str, Any]]:
"""
Retrieve details for a specific SageMaker Image.

Args:
client: The boto3 SageMaker client.
image_name: The name of the SageMaker Image.

Returns:
A dictionary with the image details if found, otherwise None.

Raises:
ClientError: If AWS returns an error other than 'ResourceNotFound'.
"""
try:
return client.describe_image(ImageName=image_name)
except is_boto3_error_code("ResourceNotFound"):
return None


@AWSRetry.jittered_backoff(retries=10)
def list_images(client, **params: Any) -> List[Dict[str, Any]]:
"""
Retrieve a list of SageMaker Images using pagination.

Args:
client: The boto3 SageMaker client.
**params: Additional filter parameters for the list operation.

Returns:
A list of image summary dictionaries.
"""
paginator = client.get_paginator("list_images")
return paginator.paginate(**params).build_full_result()["Images"]
Loading