Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | 2x 2x | import { DropdownItem } from '../components/selectinput';
import { ImagesMap } from '../types';
type SageMakerImagesApiResponse = {
image_arn: string;
image_display_name: string;
image_description?: string;
kernelspecs?: { DisplayName: string; Name: string }[];
}[];
const parseListSageMakerImagesAPIResponse = (apiResponse: SageMakerImagesApiResponse) => {
Iif (apiResponse.length > 0) {
const mapKernelSpecsToOptions = (kernelspecs: any) => {
Iif (kernelspecs) {
return kernelspecs.map((kernelspec: any) => ({ displayName: kernelspec.DisplayName, name: kernelspec.Name }));
}
return [];
};
return Object.fromEntries(
apiResponse.map((imageMetadata: any) => [
imageMetadata.image_arn,
{
arnEnvironment: imageMetadata.image_arn,
displayName: imageMetadata.image_display_name,
description: imageMetadata.image_description,
kernelOptions: mapKernelSpecsToOptions(imageMetadata.kernelspecs),
},
]),
);
}
return {};
};
function getImageOptionsFromMap(imagesMap: ImagesMap): DropdownItem[] {
const imageOptions: DropdownItem[] = [];
Object.keys(imagesMap).forEach((imageArn) => {
imageOptions.push({
label: imagesMap[imageArn].displayName,
value: imagesMap[imageArn].arnEnvironment,
optionMetadata: {
description: imagesMap[imageArn].description,
},
});
});
return imageOptions;
}
export { parseListSageMakerImagesAPIResponse, getImageOptionsFromMap };
|