sagemaker-core 1.0.62__py3-none-any.whl → 2.3.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (358) hide show
  1. sagemaker/__init__.py +2 -0
  2. sagemaker/core/__init__.py +16 -0
  3. sagemaker/core/_studio.py +116 -0
  4. sagemaker/core/_version.py +11 -0
  5. sagemaker/core/accept_types.py +131 -0
  6. sagemaker/core/analytics.py +744 -0
  7. sagemaker/core/apiutils/__init__.py +13 -0
  8. sagemaker/core/apiutils/_base_types.py +228 -0
  9. sagemaker/core/apiutils/_boto_functions.py +130 -0
  10. sagemaker/core/apiutils/_utils.py +34 -0
  11. sagemaker/core/base_deserializers.py +35 -0
  12. sagemaker/core/base_serializers.py +35 -0
  13. sagemaker/core/clarify/__init__.py +2898 -0
  14. sagemaker/core/collection.py +467 -0
  15. sagemaker/core/common_utils.py +2399 -0
  16. sagemaker/core/compute_resource_requirements/__init__.py +18 -0
  17. sagemaker/core/compute_resource_requirements/resource_requirements.py +94 -0
  18. sagemaker/core/config/__init__.py +181 -0
  19. sagemaker/core/config/config.py +238 -0
  20. sagemaker/core/config/config_manager.py +595 -0
  21. sagemaker/core/config/config_schema.py +1220 -0
  22. sagemaker/core/config/config_utils.py +297 -0
  23. {sagemaker_core/main → sagemaker/core}/config_schema.py +408 -3
  24. sagemaker/core/constants.py +73 -0
  25. sagemaker/core/content_types.py +137 -0
  26. sagemaker/core/debugger/__init__.py +39 -0
  27. sagemaker/core/debugger/debugger.py +945 -0
  28. sagemaker/core/debugger/framework_profile.py +292 -0
  29. sagemaker/core/debugger/metrics_config.py +468 -0
  30. sagemaker/core/debugger/profiler.py +42 -0
  31. sagemaker/core/debugger/profiler_config.py +190 -0
  32. sagemaker/core/debugger/profiler_constants.py +40 -0
  33. sagemaker/core/debugger/utils.py +148 -0
  34. sagemaker/core/deprecations.py +254 -0
  35. sagemaker/core/deserializers/__init__.py +10 -0
  36. sagemaker/core/deserializers/base.py +424 -0
  37. sagemaker/core/deserializers/implementations.py +157 -0
  38. sagemaker/core/drift_check_baselines.py +106 -0
  39. sagemaker/core/enums.py +51 -0
  40. sagemaker/core/environment_variables.py +101 -0
  41. sagemaker/core/exceptions.py +108 -0
  42. sagemaker/core/experiments/__init__.py +53 -0
  43. sagemaker/core/experiments/_api_types.py +251 -0
  44. sagemaker/core/experiments/_environment.py +124 -0
  45. sagemaker/core/experiments/_helper.py +294 -0
  46. sagemaker/core/experiments/_metrics.py +333 -0
  47. sagemaker/core/experiments/_run_context.py +58 -0
  48. sagemaker/core/experiments/_utils.py +216 -0
  49. sagemaker/core/experiments/experiment.py +247 -0
  50. sagemaker/core/experiments/run.py +970 -0
  51. sagemaker/core/experiments/trial.py +296 -0
  52. sagemaker/core/experiments/trial_component.py +387 -0
  53. sagemaker/core/explainer/__init__.py +24 -0
  54. sagemaker/core/explainer/clarify_explainer_config.py +298 -0
  55. sagemaker/core/explainer/explainer_config.py +44 -0
  56. sagemaker/core/fw_utils.py +1220 -0
  57. sagemaker/core/git_utils.py +415 -0
  58. sagemaker/core/helper/pipeline_variable.py +82 -0
  59. sagemaker/core/helper/session_helper.py +2977 -0
  60. sagemaker/core/hyperparameters.py +172 -0
  61. sagemaker/core/image_retriever/__init__.py +3 -0
  62. sagemaker/core/image_retriever/image_retriever.py +640 -0
  63. sagemaker/core/image_retriever/image_retriever_utils.py +509 -0
  64. sagemaker/core/image_retriever/test.py +7 -0
  65. sagemaker/core/image_uri_config/autogluon.json +1335 -0
  66. sagemaker/core/image_uri_config/blazingtext.json +50 -0
  67. sagemaker/core/image_uri_config/chainer.json +104 -0
  68. sagemaker/core/image_uri_config/clarify.json +39 -0
  69. sagemaker/core/image_uri_config/coach-mxnet.json +70 -0
  70. sagemaker/core/image_uri_config/coach-tensorflow.json +186 -0
  71. sagemaker/core/image_uri_config/data-wrangler.json +91 -0
  72. sagemaker/core/image_uri_config/debugger.json +34 -0
  73. sagemaker/core/image_uri_config/detailed-profiler.json +18 -0
  74. sagemaker/core/image_uri_config/djl-deepspeed.json +385 -0
  75. sagemaker/core/image_uri_config/djl-fastertransformer.json +167 -0
  76. sagemaker/core/image_uri_config/djl-lmi.json +136 -0
  77. sagemaker/core/image_uri_config/djl-neuronx.json +258 -0
  78. sagemaker/core/image_uri_config/djl-tensorrtllm.json +262 -0
  79. sagemaker/core/image_uri_config/factorization-machines.json +50 -0
  80. sagemaker/core/image_uri_config/forecasting-deepar.json +50 -0
  81. sagemaker/core/image_uri_config/huggingface-llm-neuronx.json +770 -0
  82. sagemaker/core/image_uri_config/huggingface-llm.json +1267 -0
  83. sagemaker/core/image_uri_config/huggingface-neuron.json +52 -0
  84. sagemaker/core/image_uri_config/huggingface-neuronx.json +686 -0
  85. sagemaker/core/image_uri_config/huggingface-tei-cpu.json +298 -0
  86. sagemaker/core/image_uri_config/huggingface-tei.json +298 -0
  87. sagemaker/core/image_uri_config/huggingface-training-compiler.json +195 -0
  88. sagemaker/core/image_uri_config/huggingface-vllm-neuronx.json +38 -0
  89. sagemaker/core/image_uri_config/huggingface.json +2287 -0
  90. sagemaker/core/image_uri_config/hyperpod-recipes-neuron.json +52 -0
  91. sagemaker/core/image_uri_config/image-classification-neo.json +43 -0
  92. sagemaker/core/image_uri_config/image-classification.json +50 -0
  93. sagemaker/core/image_uri_config/inferentia-mxnet.json +88 -0
  94. sagemaker/core/image_uri_config/inferentia-pytorch.json +127 -0
  95. sagemaker/core/image_uri_config/inferentia-tensorflow.json +88 -0
  96. sagemaker/core/image_uri_config/instance_gpu_info.json +782 -0
  97. sagemaker/core/image_uri_config/ipinsights.json +50 -0
  98. sagemaker/core/image_uri_config/kmeans.json +50 -0
  99. sagemaker/core/image_uri_config/knn.json +50 -0
  100. sagemaker/core/image_uri_config/lda.json +26 -0
  101. sagemaker/core/image_uri_config/linear-learner.json +50 -0
  102. sagemaker/core/image_uri_config/model-monitor.json +42 -0
  103. sagemaker/core/image_uri_config/mxnet.json +1154 -0
  104. sagemaker/core/image_uri_config/neo-mxnet.json +64 -0
  105. sagemaker/core/image_uri_config/neo-pytorch.json +341 -0
  106. sagemaker/core/image_uri_config/neo-tensorflow.json +109 -0
  107. sagemaker/core/image_uri_config/ntm.json +50 -0
  108. sagemaker/core/image_uri_config/object-detection.json +50 -0
  109. sagemaker/core/image_uri_config/object2vec.json +50 -0
  110. sagemaker/core/image_uri_config/pca.json +50 -0
  111. sagemaker/core/image_uri_config/pytorch-neuron.json +43 -0
  112. sagemaker/core/image_uri_config/pytorch-smp.json +218 -0
  113. sagemaker/core/image_uri_config/pytorch-training-compiler.json +80 -0
  114. sagemaker/core/image_uri_config/pytorch.json +3101 -0
  115. sagemaker/core/image_uri_config/randomcutforest.json +50 -0
  116. sagemaker/core/image_uri_config/ray-pytorch.json +46 -0
  117. sagemaker/core/image_uri_config/ray-tensorflow.json +194 -0
  118. sagemaker/core/image_uri_config/sagemaker-base-python.json +46 -0
  119. sagemaker/core/image_uri_config/sagemaker-distribution.json +37 -0
  120. sagemaker/core/image_uri_config/sagemaker-geospatial.json +13 -0
  121. sagemaker/core/image_uri_config/sagemaker-tritonserver.json +252 -0
  122. sagemaker/core/image_uri_config/semantic-segmentation.json +50 -0
  123. sagemaker/core/image_uri_config/seq2seq.json +50 -0
  124. sagemaker/core/image_uri_config/sklearn.json +494 -0
  125. sagemaker/core/image_uri_config/spark.json +280 -0
  126. sagemaker/core/image_uri_config/sparkml-serving.json +97 -0
  127. sagemaker/core/image_uri_config/stabilityai.json +53 -0
  128. sagemaker/core/image_uri_config/tensorflow.json +5086 -0
  129. sagemaker/core/image_uri_config/vw.json +25 -0
  130. sagemaker/core/image_uri_config/xgboost-neo.json +43 -0
  131. sagemaker/core/image_uri_config/xgboost.json +972 -0
  132. sagemaker/core/image_uris.py +816 -0
  133. sagemaker/core/inference_config.py +144 -0
  134. sagemaker/core/inference_recommender/__init__.py +18 -0
  135. sagemaker/core/inference_recommender/inference_recommender_mixin.py +622 -0
  136. sagemaker/core/inputs.py +366 -0
  137. sagemaker/core/instance_group.py +61 -0
  138. sagemaker/core/instance_types.py +164 -0
  139. sagemaker/core/instance_types_gpu_info.py +43 -0
  140. sagemaker/core/interactive_apps/__init__.py +41 -0
  141. sagemaker/core/interactive_apps/base_interactive_app.py +204 -0
  142. sagemaker/core/interactive_apps/detail_profiler_app.py +139 -0
  143. sagemaker/core/interactive_apps/tensorboard.py +149 -0
  144. sagemaker/core/iterators.py +197 -0
  145. sagemaker/core/job.py +380 -0
  146. sagemaker/core/jumpstart/__init__.py +156 -0
  147. sagemaker/core/jumpstart/accessors.py +390 -0
  148. sagemaker/core/jumpstart/artifacts/__init__.py +69 -0
  149. sagemaker/core/jumpstart/artifacts/environment_variables.py +252 -0
  150. sagemaker/core/jumpstart/artifacts/hyperparameters.py +120 -0
  151. sagemaker/core/jumpstart/artifacts/image_uris.py +139 -0
  152. sagemaker/core/jumpstart/artifacts/incremental_training.py +87 -0
  153. sagemaker/core/jumpstart/artifacts/instance_types.py +223 -0
  154. sagemaker/core/jumpstart/artifacts/kwargs.py +289 -0
  155. sagemaker/core/jumpstart/artifacts/metric_definitions.py +117 -0
  156. sagemaker/core/jumpstart/artifacts/model_packages.py +202 -0
  157. sagemaker/core/jumpstart/artifacts/model_uris.py +252 -0
  158. sagemaker/core/jumpstart/artifacts/payloads.py +96 -0
  159. sagemaker/core/jumpstart/artifacts/predictors.py +540 -0
  160. sagemaker/core/jumpstart/artifacts/resource_names.py +86 -0
  161. sagemaker/core/jumpstart/artifacts/resource_requirements.py +162 -0
  162. sagemaker/core/jumpstart/artifacts/script_uris.py +172 -0
  163. sagemaker/core/jumpstart/cache.py +663 -0
  164. sagemaker/core/jumpstart/configs.py +50 -0
  165. sagemaker/core/jumpstart/constants.py +198 -0
  166. sagemaker/core/jumpstart/deserializers.py +81 -0
  167. sagemaker/core/jumpstart/document.py +76 -0
  168. sagemaker/core/jumpstart/enums.py +168 -0
  169. sagemaker/core/jumpstart/exceptions.py +236 -0
  170. sagemaker/core/jumpstart/factory/utils.py +833 -0
  171. sagemaker/core/jumpstart/filters.py +597 -0
  172. sagemaker/core/jumpstart/hub/constants.py +16 -0
  173. sagemaker/core/jumpstart/hub/hub.py +291 -0
  174. sagemaker/core/jumpstart/hub/interfaces.py +936 -0
  175. sagemaker/core/jumpstart/hub/parser_utils.py +70 -0
  176. sagemaker/core/jumpstart/hub/parsers.py +288 -0
  177. sagemaker/core/jumpstart/hub/types.py +35 -0
  178. sagemaker/core/jumpstart/hub/utils.py +260 -0
  179. sagemaker/core/jumpstart/models.py +501 -0
  180. sagemaker/core/jumpstart/notebook_utils.py +575 -0
  181. sagemaker/core/jumpstart/parameters.py +20 -0
  182. sagemaker/core/jumpstart/payload_utils.py +239 -0
  183. sagemaker/core/jumpstart/region_config.json +171 -0
  184. sagemaker/core/jumpstart/search.py +171 -0
  185. sagemaker/core/jumpstart/serializers.py +81 -0
  186. sagemaker/core/jumpstart/session_utils.py +234 -0
  187. sagemaker/core/jumpstart/types.py +3044 -0
  188. sagemaker/core/jumpstart/utils.py +1731 -0
  189. sagemaker/core/jumpstart/validators.py +257 -0
  190. sagemaker/core/lambda_helper.py +312 -0
  191. sagemaker/core/lineage/__init__.py +42 -0
  192. sagemaker/core/lineage/_api_types.py +239 -0
  193. sagemaker/core/lineage/_utils.py +49 -0
  194. sagemaker/core/lineage/action.py +345 -0
  195. sagemaker/core/lineage/artifact.py +646 -0
  196. sagemaker/core/lineage/association.py +190 -0
  197. sagemaker/core/lineage/context.py +505 -0
  198. sagemaker/core/lineage/lineage_trial_component.py +191 -0
  199. sagemaker/core/lineage/query.py +732 -0
  200. sagemaker/core/lineage/visualizer.py +346 -0
  201. sagemaker/core/local/__init__.py +18 -0
  202. sagemaker/core/local/data.py +423 -0
  203. sagemaker/core/local/entities.py +678 -0
  204. sagemaker/core/local/exceptions.py +17 -0
  205. sagemaker/core/local/image.py +1243 -0
  206. sagemaker/core/local/local_session.py +739 -0
  207. sagemaker/core/local/utils.py +246 -0
  208. sagemaker/core/logs.py +181 -0
  209. sagemaker/core/metadata_properties.py +56 -0
  210. sagemaker/core/metric_definitions.py +91 -0
  211. sagemaker/core/mlflow/__init__.py +38 -0
  212. sagemaker/core/mlflow/forward_sagemaker_metrics.py +44 -0
  213. sagemaker/core/model_card/__init__.py +26 -0
  214. sagemaker/core/model_life_cycle.py +51 -0
  215. sagemaker/core/model_metrics.py +160 -0
  216. sagemaker/core/model_monitor/__init__.py +66 -0
  217. sagemaker/core/model_monitor/clarify_model_monitoring.py +1497 -0
  218. sagemaker/core/model_monitor/cron_expression_generator.py +82 -0
  219. sagemaker/core/model_monitor/data_capture_config.py +115 -0
  220. sagemaker/core/model_monitor/data_quality_monitoring_config.py +66 -0
  221. sagemaker/core/model_monitor/dataset_format.py +102 -0
  222. sagemaker/core/model_monitor/model_monitoring.py +4266 -0
  223. sagemaker/core/model_monitor/monitoring_alert.py +76 -0
  224. sagemaker/core/model_monitor/monitoring_files.py +506 -0
  225. sagemaker/core/model_monitor/utils.py +793 -0
  226. sagemaker/core/model_registry.py +480 -0
  227. sagemaker/core/model_uris.py +97 -0
  228. sagemaker/core/modules/__init__.py +19 -0
  229. sagemaker/core/modules/configs.py +239 -0
  230. sagemaker/core/modules/constants.py +37 -0
  231. sagemaker/core/modules/distributed.py +182 -0
  232. sagemaker/core/modules/local_core/local_container.py +605 -0
  233. sagemaker/core/modules/templates.py +83 -0
  234. sagemaker/core/modules/train/__init__.py +14 -0
  235. sagemaker/core/modules/train/container_drivers/__init__.py +14 -0
  236. sagemaker/core/modules/train/container_drivers/common/__init__.py +14 -0
  237. sagemaker/core/modules/train/container_drivers/common/utils.py +205 -0
  238. sagemaker/core/modules/train/container_drivers/distributed_drivers/__init__.py +14 -0
  239. sagemaker/core/modules/train/container_drivers/distributed_drivers/basic_script_driver.py +81 -0
  240. sagemaker/core/modules/train/container_drivers/distributed_drivers/mpi_driver.py +123 -0
  241. sagemaker/core/modules/train/container_drivers/distributed_drivers/mpi_utils.py +302 -0
  242. sagemaker/core/modules/train/container_drivers/distributed_drivers/torchrun_driver.py +129 -0
  243. sagemaker/core/modules/train/container_drivers/scripts/__init__.py +14 -0
  244. sagemaker/core/modules/train/container_drivers/scripts/environment.py +305 -0
  245. sagemaker/core/modules/train/sm_recipes/__init__.py +0 -0
  246. sagemaker/core/modules/train/sm_recipes/utils.py +330 -0
  247. sagemaker/core/modules/types.py +19 -0
  248. sagemaker/core/modules/utils.py +194 -0
  249. sagemaker/core/network.py +185 -0
  250. sagemaker/core/parameter.py +173 -0
  251. sagemaker/core/payloads.py +185 -0
  252. sagemaker/core/processing.py +1599 -0
  253. sagemaker/core/remote_function/__init__.py +19 -0
  254. sagemaker/core/remote_function/checkpoint_location.py +47 -0
  255. sagemaker/core/remote_function/client.py +1310 -0
  256. sagemaker/core/remote_function/core/__init__.py +0 -0
  257. sagemaker/core/remote_function/core/_custom_dispatch_table.py +72 -0
  258. sagemaker/core/remote_function/core/pipeline_variables.py +347 -0
  259. sagemaker/core/remote_function/core/serialization.py +410 -0
  260. sagemaker/core/remote_function/core/stored_function.py +223 -0
  261. sagemaker/core/remote_function/custom_file_filter.py +128 -0
  262. sagemaker/core/remote_function/errors.py +102 -0
  263. sagemaker/core/remote_function/invoke_function.py +167 -0
  264. sagemaker/core/remote_function/job.py +2121 -0
  265. sagemaker/core/remote_function/logging_config.py +38 -0
  266. sagemaker/core/remote_function/runtime_environment/__init__.py +14 -0
  267. sagemaker/core/remote_function/runtime_environment/bootstrap_runtime_environment.py +605 -0
  268. sagemaker/core/remote_function/runtime_environment/mpi_utils_remote.py +252 -0
  269. sagemaker/core/remote_function/runtime_environment/runtime_environment_manager.py +554 -0
  270. sagemaker/core/remote_function/runtime_environment/spark_app.py +18 -0
  271. sagemaker/core/remote_function/spark_config.py +149 -0
  272. sagemaker/core/resource_requirements.py +168 -0
  273. {sagemaker_core/main → sagemaker/core}/resources.py +19098 -10895
  274. sagemaker/core/s3/__init__.py +41 -0
  275. sagemaker/core/s3/client.py +367 -0
  276. sagemaker/core/s3/utils.py +175 -0
  277. sagemaker/core/script_uris.py +93 -0
  278. sagemaker/core/serializers/__init__.py +11 -0
  279. sagemaker/core/serializers/base.py +510 -0
  280. sagemaker/core/serializers/implementations.py +159 -0
  281. sagemaker/core/serializers/utils.py +223 -0
  282. sagemaker/core/serverless_inference_config.py +63 -0
  283. sagemaker/core/session_settings.py +55 -0
  284. sagemaker/core/shapes/__init__.py +3 -0
  285. sagemaker/core/shapes/model_card_shapes.py +159 -0
  286. {sagemaker_core/main → sagemaker/core/shapes}/shapes.py +5810 -1806
  287. sagemaker/core/spark/__init__.py +16 -0
  288. sagemaker/core/spark/defaults.py +16 -0
  289. sagemaker/core/spark/processing.py +1380 -0
  290. sagemaker/core/telemetry/__init__.py +23 -0
  291. sagemaker/core/telemetry/constants.py +82 -0
  292. sagemaker/core/telemetry/telemetry_logging.py +285 -0
  293. sagemaker/core/tools/__init__.py +1 -0
  294. {sagemaker_core → sagemaker/core}/tools/codegen.py +4 -4
  295. {sagemaker_core → sagemaker/core}/tools/constants.py +23 -15
  296. {sagemaker_core → sagemaker/core}/tools/data_extractor.py +1 -1
  297. {sagemaker_core → sagemaker/core}/tools/method.py +1 -1
  298. sagemaker/core/tools/model_card/generate_model_card_from_schema.py +562 -0
  299. {sagemaker_core → sagemaker/core}/tools/resources_codegen.py +165 -98
  300. {sagemaker_core → sagemaker/core}/tools/resources_extractor.py +5 -13
  301. {sagemaker_core → sagemaker/core}/tools/shapes_codegen.py +16 -17
  302. {sagemaker_core → sagemaker/core}/tools/shapes_extractor.py +29 -67
  303. {sagemaker_core → sagemaker/core}/tools/templates.py +39 -17
  304. sagemaker/core/training/__init__.py +14 -0
  305. sagemaker/core/training/configs.py +345 -0
  306. sagemaker/core/training/constants.py +37 -0
  307. sagemaker/core/training/utils.py +77 -0
  308. sagemaker/core/training_compiler/__init__.py +16 -0
  309. sagemaker/core/training_compiler/config.py +197 -0
  310. sagemaker/core/training_compiler_config.py +197 -0
  311. sagemaker/core/transformer.py +793 -0
  312. sagemaker/core/user_agent.py +76 -0
  313. sagemaker/core/utilities/__init__.py +24 -0
  314. sagemaker/core/utilities/cache.py +169 -0
  315. sagemaker/core/utilities/search_expression.py +133 -0
  316. sagemaker/core/utils/__init__.py +48 -0
  317. sagemaker/core/utils/code_injection/__init__.py +0 -0
  318. {sagemaker_core/main → sagemaker/core/utils}/code_injection/codec.py +2 -2
  319. {sagemaker_core/main → sagemaker/core/utils}/code_injection/shape_dag.py +5979 -176
  320. {sagemaker_core/main → sagemaker/core/utils}/exceptions.py +8 -8
  321. sagemaker_core/main/default_configs_helper.py → sagemaker/core/utils/intelligent_defaults_helper.py +5 -6
  322. {sagemaker_core/main → sagemaker/core/utils}/logs.py +1 -2
  323. {sagemaker_core/main → sagemaker/core/utils}/utils.py +27 -22
  324. sagemaker/core/workflow/__init__.py +152 -0
  325. sagemaker/core/workflow/conditions.py +313 -0
  326. sagemaker/core/workflow/entities.py +58 -0
  327. sagemaker/core/workflow/execution_variables.py +89 -0
  328. sagemaker/core/workflow/functions.py +193 -0
  329. sagemaker/core/workflow/parameters.py +222 -0
  330. sagemaker/core/workflow/pipeline_context.py +394 -0
  331. sagemaker/core/workflow/pipeline_definition_config.py +31 -0
  332. sagemaker/core/workflow/properties.py +285 -0
  333. sagemaker/core/workflow/step_outputs.py +65 -0
  334. sagemaker/core/workflow/utilities.py +514 -0
  335. sagemaker/lineage/__init__.py +33 -0
  336. sagemaker/lineage/action.py +28 -0
  337. sagemaker/lineage/artifact.py +28 -0
  338. sagemaker/lineage/context.py +28 -0
  339. sagemaker/lineage/lineage_trial_component.py +28 -0
  340. {sagemaker_core-1.0.62.dist-info → sagemaker_core-2.3.1.dist-info}/METADATA +28 -9
  341. sagemaker_core-2.3.1.dist-info/RECORD +351 -0
  342. sagemaker_core-2.3.1.dist-info/top_level.txt +1 -0
  343. sagemaker_core/_version.py +0 -3
  344. sagemaker_core/helper/session_helper.py +0 -769
  345. sagemaker_core/resources/__init__.py +0 -1
  346. sagemaker_core/shapes/__init__.py +0 -1
  347. sagemaker_core/tools/__init__.py +0 -1
  348. sagemaker_core-1.0.62.dist-info/RECORD +0 -35
  349. sagemaker_core-1.0.62.dist-info/top_level.txt +0 -1
  350. {sagemaker_core → sagemaker/core/helper}/__init__.py +0 -0
  351. {sagemaker_core/helper → sagemaker/core/jumpstart/factory}/__init__.py +0 -0
  352. {sagemaker_core/main → sagemaker/core/jumpstart/hub}/__init__.py +0 -0
  353. {sagemaker_core/main/code_injection → sagemaker/core/modules/local_core}/__init__.py +0 -0
  354. {sagemaker_core/main → sagemaker/core/utils}/code_injection/base.py +0 -0
  355. {sagemaker_core/main → sagemaker/core/utils}/code_injection/constants.py +0 -0
  356. {sagemaker_core/main → sagemaker/core/utils}/user_agent.py +0 -0
  357. {sagemaker_core-1.0.62.dist-info → sagemaker_core-2.3.1.dist-info}/WHEEL +0 -0
  358. {sagemaker_core-1.0.62.dist-info → sagemaker_core-2.3.1.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,1220 @@
1
+ # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+ """This module contains/maintains the schema of the Config file."""
14
+ from __future__ import absolute_import, print_function
15
+
16
+ SECURITY_GROUP_IDS = "SecurityGroupIds"
17
+ SUBNETS = "Subnets"
18
+ ENABLE_NETWORK_ISOLATION = "EnableNetworkIsolation"
19
+ VOLUME_KMS_KEY_ID = "VolumeKmsKeyId"
20
+ KMS_KEY_ID = "KmsKeyId"
21
+ RESOURCE_KEY = "ResourceKey"
22
+ ROLE_ARN = "RoleArn"
23
+ TAGS = "Tags"
24
+ KEY = "Key"
25
+ VALUE = "Value"
26
+ EXECUTION_ROLE_ARN = "ExecutionRoleArn"
27
+ CLUSTER_ROLE_ARN = "ClusterRoleArn"
28
+ VPC_CONFIG = "VpcConfig"
29
+ OUTPUT_DATA_CONFIG = "OutputDataConfig"
30
+ AUTO_ML_JOB_CONFIG = "AutoMLJobConfig"
31
+ ASYNC_INFERENCE_CONFIG = "AsyncInferenceConfig"
32
+ OUTPUT_CONFIG = "OutputConfig"
33
+ PROCESSING_OUTPUT_CONFIG = "ProcessingOutputConfig"
34
+ CLUSTER_CONFIG = "ClusterConfig"
35
+ NETWORK_CONFIG = "NetworkConfig"
36
+ CORE_DUMP_CONFIG = "CoreDumpConfig"
37
+ DATA_CAPTURE_CONFIG = "DataCaptureConfig"
38
+ MONITORING_OUTPUT_CONFIG = "MonitoringOutputConfig"
39
+ RESOURCE_CONFIG = "ResourceConfig"
40
+ SCHEMA_VERSION = "SchemaVersion"
41
+ DATASET_DEFINITION = "DatasetDefinition"
42
+ ATHENA_DATASET_DEFINITION = "AthenaDatasetDefinition"
43
+ REDSHIFT_DATASET_DEFINITION = "RedshiftDatasetDefinition"
44
+ MONITORING_JOB_DEFINITION = "MonitoringJobDefinition"
45
+ SAGEMAKER = "SageMaker"
46
+ PYTHON_SDK = "PythonSDK"
47
+ MODULES = "Modules"
48
+ REMOTE_FUNCTION = "RemoteFunction"
49
+ DEPENDENCIES = "Dependencies"
50
+ PRE_EXECUTION_SCRIPT = "PreExecutionScript"
51
+ PRE_EXECUTION_COMMANDS = "PreExecutionCommands"
52
+ ENVIRONMENT_VARIABLES = "EnvironmentVariables"
53
+ IMAGE_URI = "ImageUri"
54
+ INCLUDE_LOCAL_WORKDIR = "IncludeLocalWorkDir"
55
+ CUSTOM_FILE_FILTER = "CustomFileFilter"
56
+ INSTANCE_TYPE = "InstanceType"
57
+ S3_KMS_KEY_ID = "S3KmsKeyId"
58
+ S3_ROOT_URI = "S3RootUri"
59
+ JOB_CONDA_ENV = "JobCondaEnvironment"
60
+ OFFLINE_STORE_CONFIG = "OfflineStoreConfig"
61
+ ONLINE_STORE_CONFIG = "OnlineStoreConfig"
62
+ S3_STORAGE_CONFIG = "S3StorageConfig"
63
+ SECURITY_CONFIG = "SecurityConfig"
64
+ TRANSFORM_JOB_DEFINITION = "TransformJobDefinition"
65
+ MONITORING_SCHEDULE_CONFIG = "MonitoringScheduleConfig"
66
+ MONITORING_RESOURCES = "MonitoringResources"
67
+ PROCESSING_RESOURCES = "ProcessingResources"
68
+ PRODUCTION_VARIANTS = "ProductionVariants"
69
+ TRANSFORM_OUTPUT = "TransformOutput"
70
+ TRANSFORM_RESOURCES = "TransformResources"
71
+ VALIDATION_ROLE = "ValidationRole"
72
+ VALIDATION_SPECIFICATION = "ValidationSpecification"
73
+ VALIDATION_PROFILES = "ValidationProfiles"
74
+ PROCESSING_INPUTS = "ProcessingInputs"
75
+ FEATURE_GROUP = "FeatureGroup"
76
+ EDGE_PACKAGING_JOB = "EdgePackagingJob"
77
+ TRAINING_JOB = "TrainingJob"
78
+ PROCESSING_JOB = "ProcessingJob"
79
+ MODEL_PACKAGE = "ModelPackage"
80
+ MODEL = "Model"
81
+ ESTIMATOR = "Estimator"
82
+ MONITORING_SCHEDULE = "MonitoringSchedule"
83
+ ENDPOINT_CONFIG = "EndpointConfig"
84
+ ENDPOINT = "Endpoint"
85
+ INFERENCE_COMPONENT = "InferenceComponent"
86
+ IMAGE_RETRIEVER = "image_retriever"
87
+ AUTO_ML_JOB = "AutoMLJob"
88
+ AUTO_ML_JOB_V2 = "AutoMLJobV2"
89
+ COMPILATION_JOB = "CompilationJob"
90
+ CUSTOM_PARAMETERS = "CustomParameters"
91
+ PIPELINE = "Pipeline"
92
+ TRANSFORM_JOB = "TransformJob"
93
+ PROPERTIES = "properties"
94
+ PATTERN_PROPERTIES = "patternProperties"
95
+ TYPE = "type"
96
+ OBJECT = "object"
97
+ ADDITIONAL_PROPERTIES = "additionalProperties"
98
+ ENABLE_INTER_CONTAINER_TRAFFIC_ENCRYPTION = "EnableInterContainerTrafficEncryption"
99
+ SESSION = "Session"
100
+ DEFAULT_S3_BUCKET = "DefaultS3Bucket"
101
+ DEFAULT_S3_OBJECT_KEY_PREFIX = "DefaultS3ObjectKeyPrefix"
102
+ ENVIRONMENT = "Environment"
103
+ CONTAINERS = "Containers"
104
+ PRIMARY_CONTAINER = "PrimaryContainer"
105
+ INFERENCE_SPECIFICATION = "InferenceSpecification"
106
+ SERVE = "Serve"
107
+ S3_MODEL_DATA_URI = "S3ModelDataUri"
108
+ PORT = "Port"
109
+ PROFILER_CONFIG = "ProfilerConfig"
110
+ DISABLE_PROFILER = "DisableProfiler"
111
+
112
+ DEBUG_HOOK_CONFIG = "DebugHookConfig"
113
+ LOCAL = "local"
114
+ LOCAL_CODE = "local_code"
115
+ SERVING_PORT = "serving_port"
116
+ CONTAINER_CONFIG = "container_config"
117
+ CONTAINER_ROOT = "container_root"
118
+ REGION_NAME = "region_name"
119
+ TELEMETRY_OPT_OUT = "TelemetryOptOut"
120
+ NOTEBOOK_JOB = "NotebookJob"
121
+ MODEL_TRAINER = "ModelTrainer"
122
+
123
+
124
+ def _simple_path(*args: str):
125
+ """Appends an arbitrary number of strings to use as path constants"""
126
+ return ".".join(args)
127
+
128
+
129
+ # Paths for reference elsewhere in the code.
130
+ COMPILATION_JOB_VPC_CONFIG_PATH = _simple_path(SAGEMAKER, COMPILATION_JOB, VPC_CONFIG)
131
+ COMPILATION_JOB_KMS_KEY_ID_PATH = _simple_path(
132
+ SAGEMAKER, COMPILATION_JOB, OUTPUT_CONFIG, KMS_KEY_ID
133
+ )
134
+ COMPILATION_JOB_OUTPUT_CONFIG_PATH = _simple_path(SAGEMAKER, COMPILATION_JOB, OUTPUT_CONFIG)
135
+ COMPILATION_JOB_ROLE_ARN_PATH = _simple_path(SAGEMAKER, COMPILATION_JOB, ROLE_ARN)
136
+ TRAINING_JOB_ENVIRONMENT_PATH = _simple_path(SAGEMAKER, TRAINING_JOB, ENVIRONMENT)
137
+ TRAINING_JOB_ENABLE_NETWORK_ISOLATION_PATH = _simple_path(
138
+ SAGEMAKER, TRAINING_JOB, ENABLE_NETWORK_ISOLATION
139
+ )
140
+ TRAINING_JOB_KMS_KEY_ID_PATH = _simple_path(SAGEMAKER, TRAINING_JOB, OUTPUT_DATA_CONFIG, KMS_KEY_ID)
141
+ TRAINING_JOB_RESOURCE_CONFIG_PATH = _simple_path(SAGEMAKER, TRAINING_JOB, RESOURCE_CONFIG)
142
+ TRAINING_JOB_OUTPUT_DATA_CONFIG_PATH = _simple_path(SAGEMAKER, TRAINING_JOB, OUTPUT_DATA_CONFIG)
143
+ TRAINING_JOB_VOLUME_KMS_KEY_ID_PATH = _simple_path(
144
+ SAGEMAKER, TRAINING_JOB, RESOURCE_CONFIG, VOLUME_KMS_KEY_ID
145
+ )
146
+ TRAINING_JOB_ROLE_ARN_PATH = _simple_path(SAGEMAKER, TRAINING_JOB, ROLE_ARN)
147
+ TRAINING_JOB_VPC_CONFIG_PATH = _simple_path(SAGEMAKER, TRAINING_JOB, VPC_CONFIG)
148
+ TRAINING_JOB_TAGS_PATH = _simple_path(SAGEMAKER, TRAINING_JOB, TAGS)
149
+ TRAINING_JOB_SECURITY_GROUP_IDS_PATH = _simple_path(
150
+ TRAINING_JOB_VPC_CONFIG_PATH, SECURITY_GROUP_IDS
151
+ )
152
+ TRAINING_JOB_SUBNETS_PATH = _simple_path(TRAINING_JOB_VPC_CONFIG_PATH, SUBNETS)
153
+ TRAINING_JOB_PROFILE_CONFIG_PATH = _simple_path(SAGEMAKER, TRAINING_JOB, PROFILER_CONFIG)
154
+ TRAINING_JOB_DISABLE_PROFILER_PATH = _simple_path(
155
+ TRAINING_JOB_PROFILE_CONFIG_PATH, DISABLE_PROFILER
156
+ )
157
+ TRAINING_JOB_INTER_CONTAINER_ENCRYPTION_PATH = _simple_path(
158
+ SAGEMAKER, TRAINING_JOB, ENABLE_INTER_CONTAINER_TRAFFIC_ENCRYPTION
159
+ )
160
+ EDGE_PACKAGING_KMS_KEY_ID_PATH = _simple_path(
161
+ SAGEMAKER, EDGE_PACKAGING_JOB, OUTPUT_CONFIG, KMS_KEY_ID
162
+ )
163
+ EDGE_PACKAGING_OUTPUT_CONFIG_PATH = _simple_path(SAGEMAKER, EDGE_PACKAGING_JOB, OUTPUT_CONFIG)
164
+ EDGE_PACKAGING_ROLE_ARN_PATH = _simple_path(SAGEMAKER, EDGE_PACKAGING_JOB, ROLE_ARN)
165
+ EDGE_PACKAGING_RESOURCE_KEY_PATH = _simple_path(SAGEMAKER, EDGE_PACKAGING_JOB, RESOURCE_KEY)
166
+ ENDPOINT_CONFIG_DATA_CAPTURE_KMS_KEY_ID_PATH = _simple_path(
167
+ SAGEMAKER, ENDPOINT_CONFIG, DATA_CAPTURE_CONFIG, KMS_KEY_ID
168
+ )
169
+ ENDPOINT_CONFIG_DATA_CAPTURE_PATH = _simple_path(SAGEMAKER, ENDPOINT_CONFIG, DATA_CAPTURE_CONFIG)
170
+ ENDPOINT_CONFIG_ASYNC_INFERENCE_PATH = _simple_path(
171
+ SAGEMAKER, ENDPOINT_CONFIG, ASYNC_INFERENCE_CONFIG
172
+ )
173
+ ENDPOINT_CONFIG_PRODUCTION_VARIANTS_PATH = _simple_path(
174
+ SAGEMAKER, ENDPOINT_CONFIG, PRODUCTION_VARIANTS
175
+ )
176
+ ENDPOINT_CONFIG_ASYNC_KMS_KEY_ID_PATH = _simple_path(
177
+ SAGEMAKER, ENDPOINT_CONFIG, ASYNC_INFERENCE_CONFIG, OUTPUT_CONFIG, KMS_KEY_ID
178
+ )
179
+ ENDPOINT_CONFIG_KMS_KEY_ID_PATH = _simple_path(SAGEMAKER, ENDPOINT_CONFIG, KMS_KEY_ID)
180
+ ENDPOINT_TAGS_PATH = _simple_path(SAGEMAKER, ENDPOINT, TAGS)
181
+ FEATURE_GROUP_ONLINE_STORE_CONFIG_PATH = _simple_path(SAGEMAKER, FEATURE_GROUP, ONLINE_STORE_CONFIG)
182
+ FEATURE_GROUP_OFFLINE_STORE_CONFIG_PATH = _simple_path(
183
+ SAGEMAKER, FEATURE_GROUP, OFFLINE_STORE_CONFIG
184
+ )
185
+ FEATURE_GROUP_ROLE_ARN_PATH = _simple_path(SAGEMAKER, FEATURE_GROUP, ROLE_ARN)
186
+ FEATURE_GROUP_OFFLINE_STORE_KMS_KEY_ID_PATH = _simple_path(
187
+ FEATURE_GROUP_OFFLINE_STORE_CONFIG_PATH, S3_STORAGE_CONFIG, KMS_KEY_ID
188
+ )
189
+ FEATURE_GROUP_ONLINE_STORE_KMS_KEY_ID_PATH = _simple_path(
190
+ FEATURE_GROUP_ONLINE_STORE_CONFIG_PATH, SECURITY_CONFIG, KMS_KEY_ID
191
+ )
192
+ AUTO_ML_OUTPUT_CONFIG_PATH = _simple_path(SAGEMAKER, AUTO_ML_JOB, OUTPUT_DATA_CONFIG)
193
+ AUTO_ML_V2_OUTPUT_CONFIG_PATH = _simple_path(SAGEMAKER, AUTO_ML_JOB_V2, OUTPUT_DATA_CONFIG)
194
+ AUTO_ML_KMS_KEY_ID_PATH = _simple_path(SAGEMAKER, AUTO_ML_JOB, OUTPUT_DATA_CONFIG, KMS_KEY_ID)
195
+ AUTO_ML_V2_KMS_KEY_ID_PATH = _simple_path(SAGEMAKER, AUTO_ML_JOB_V2, OUTPUT_DATA_CONFIG, KMS_KEY_ID)
196
+ AUTO_ML_VOLUME_KMS_KEY_ID_PATH = _simple_path(
197
+ SAGEMAKER, AUTO_ML_JOB, AUTO_ML_JOB_CONFIG, SECURITY_CONFIG, VOLUME_KMS_KEY_ID
198
+ )
199
+ AUTO_ML_V2_VOLUME_KMS_KEY_ID_PATH = _simple_path(
200
+ SAGEMAKER, AUTO_ML_JOB_V2, SECURITY_CONFIG, VOLUME_KMS_KEY_ID
201
+ )
202
+ AUTO_ML_ROLE_ARN_PATH = _simple_path(SAGEMAKER, AUTO_ML_JOB, ROLE_ARN)
203
+ AUTO_ML_V2_ROLE_ARN_PATH = _simple_path(SAGEMAKER, AUTO_ML_JOB_V2, ROLE_ARN)
204
+ AUTO_ML_VPC_CONFIG_PATH = _simple_path(
205
+ SAGEMAKER, AUTO_ML_JOB, AUTO_ML_JOB_CONFIG, SECURITY_CONFIG, VPC_CONFIG
206
+ )
207
+ AUTO_ML_V2_VPC_CONFIG_PATH = _simple_path(SAGEMAKER, AUTO_ML_JOB_V2, SECURITY_CONFIG, VPC_CONFIG)
208
+ AUTO_ML_JOB_CONFIG_PATH = _simple_path(SAGEMAKER, AUTO_ML_JOB, AUTO_ML_JOB_CONFIG)
209
+ MONITORING_JOB_DEFINITION_PREFIX = _simple_path(
210
+ SAGEMAKER,
211
+ MONITORING_SCHEDULE,
212
+ MONITORING_SCHEDULE_CONFIG,
213
+ MONITORING_JOB_DEFINITION,
214
+ )
215
+ MONITORING_JOB_ENVIRONMENT_PATH = _simple_path(MONITORING_JOB_DEFINITION_PREFIX, ENVIRONMENT)
216
+ MONITORING_JOB_OUTPUT_KMS_KEY_ID_PATH = _simple_path(
217
+ MONITORING_JOB_DEFINITION_PREFIX, MONITORING_OUTPUT_CONFIG, KMS_KEY_ID
218
+ )
219
+ MONITORING_JOB_VOLUME_KMS_KEY_ID_PATH = _simple_path(
220
+ MONITORING_JOB_DEFINITION_PREFIX,
221
+ MONITORING_RESOURCES,
222
+ CLUSTER_CONFIG,
223
+ VOLUME_KMS_KEY_ID,
224
+ )
225
+ MONITORING_JOB_NETWORK_CONFIG_PATH = _simple_path(MONITORING_JOB_DEFINITION_PREFIX, NETWORK_CONFIG)
226
+ MONITORING_JOB_ENABLE_NETWORK_ISOLATION_PATH = _simple_path(
227
+ MONITORING_JOB_DEFINITION_PREFIX, NETWORK_CONFIG, ENABLE_NETWORK_ISOLATION
228
+ )
229
+ MONITORING_JOB_VPC_CONFIG_PATH = _simple_path(
230
+ MONITORING_JOB_DEFINITION_PREFIX, NETWORK_CONFIG, VPC_CONFIG
231
+ )
232
+ MONITORING_JOB_SECURITY_GROUP_IDS_PATH = _simple_path(
233
+ MONITORING_JOB_VPC_CONFIG_PATH, SECURITY_GROUP_IDS
234
+ )
235
+ MONITORING_JOB_SUBNETS_PATH = _simple_path(MONITORING_JOB_VPC_CONFIG_PATH, SUBNETS)
236
+ MONITORING_JOB_ROLE_ARN_PATH = _simple_path(MONITORING_JOB_DEFINITION_PREFIX, ROLE_ARN)
237
+ PIPELINE_ROLE_ARN_PATH = _simple_path(SAGEMAKER, PIPELINE, ROLE_ARN)
238
+ PIPELINE_TAGS_PATH = _simple_path(SAGEMAKER, PIPELINE, TAGS)
239
+ TRANSFORM_JOB_ENVIRONMENT_PATH = _simple_path(SAGEMAKER, TRANSFORM_JOB, ENVIRONMENT)
240
+ TRANSFORM_OUTPUT_KMS_KEY_ID_PATH = _simple_path(
241
+ SAGEMAKER, TRANSFORM_JOB, TRANSFORM_OUTPUT, KMS_KEY_ID
242
+ )
243
+ TRANSFORM_RESOURCES_VOLUME_KMS_KEY_ID_PATH = _simple_path(
244
+ SAGEMAKER, TRANSFORM_JOB, TRANSFORM_RESOURCES, VOLUME_KMS_KEY_ID
245
+ )
246
+ TRANSFORM_JOB_KMS_KEY_ID_PATH = _simple_path(
247
+ SAGEMAKER, TRANSFORM_JOB, DATA_CAPTURE_CONFIG, KMS_KEY_ID
248
+ )
249
+ TRANSFORM_JOB_VOLUME_KMS_KEY_ID_PATH = _simple_path(
250
+ SAGEMAKER, TRANSFORM_JOB, TRANSFORM_RESOURCES, VOLUME_KMS_KEY_ID
251
+ )
252
+ MODEL_CONTAINERS_PATH = _simple_path(SAGEMAKER, MODEL, CONTAINERS)
253
+ MODEL_VPC_CONFIG_PATH = _simple_path(SAGEMAKER, MODEL, VPC_CONFIG)
254
+ MODEL_ENABLE_NETWORK_ISOLATION_PATH = _simple_path(SAGEMAKER, MODEL, ENABLE_NETWORK_ISOLATION)
255
+ MODEL_EXECUTION_ROLE_ARN_PATH = _simple_path(SAGEMAKER, MODEL, EXECUTION_ROLE_ARN)
256
+ ENDPOINT_CONFIG_VPC_CONFIG_PATH = _simple_path(SAGEMAKER, ENDPOINT_CONFIG, VPC_CONFIG)
257
+ ENDPOINT_CONFIG_ENABLE_NETWORK_ISOLATION_PATH = _simple_path(
258
+ SAGEMAKER, ENDPOINT_CONFIG, ENABLE_NETWORK_ISOLATION
259
+ )
260
+ ENDPOINT_CONFIG_EXECUTION_ROLE_ARN_PATH = _simple_path(
261
+ SAGEMAKER, ENDPOINT_CONFIG, EXECUTION_ROLE_ARN
262
+ )
263
+ MODEL_PRIMARY_CONTAINER_PATH = _simple_path(SAGEMAKER, MODEL, PRIMARY_CONTAINER)
264
+ MODEL_PRIMARY_CONTAINER_ENVIRONMENT_PATH = _simple_path(MODEL_PRIMARY_CONTAINER_PATH, ENVIRONMENT)
265
+ PROCESSING_JOB_ENABLE_NETWORK_ISOLATION_PATH = _simple_path(
266
+ SAGEMAKER, PROCESSING_JOB, NETWORK_CONFIG, ENABLE_NETWORK_ISOLATION
267
+ )
268
+ PROCESSING_JOB_INPUTS_PATH = _simple_path(SAGEMAKER, PROCESSING_JOB, PROCESSING_INPUTS)
269
+ REDSHIFT_DATASET_DEFINITION_KMS_KEY_ID_PATH = _simple_path(
270
+ DATASET_DEFINITION, REDSHIFT_DATASET_DEFINITION, KMS_KEY_ID
271
+ )
272
+ ATHENA_DATASET_DEFINITION_KMS_KEY_ID_PATH = _simple_path(
273
+ DATASET_DEFINITION, ATHENA_DATASET_DEFINITION, KMS_KEY_ID
274
+ )
275
+ REDSHIFT_DATASET_DEFINITION_CLUSTER_ROLE_ARN_PATH = _simple_path(
276
+ DATASET_DEFINITION, REDSHIFT_DATASET_DEFINITION, CLUSTER_ROLE_ARN
277
+ )
278
+ PROCESSING_JOB_NETWORK_CONFIG_PATH = _simple_path(SAGEMAKER, PROCESSING_JOB, NETWORK_CONFIG)
279
+ PROCESSING_JOB_VPC_CONFIG_PATH = _simple_path(SAGEMAKER, PROCESSING_JOB, NETWORK_CONFIG, VPC_CONFIG)
280
+ PROCESSING_JOB_SUBNETS_PATH = _simple_path(PROCESSING_JOB_VPC_CONFIG_PATH, SUBNETS)
281
+ PROCESSING_JOB_SECURITY_GROUP_IDS_PATH = _simple_path(
282
+ PROCESSING_JOB_VPC_CONFIG_PATH, SECURITY_GROUP_IDS
283
+ )
284
+ PROCESSING_OUTPUT_CONFIG_PATH = _simple_path(SAGEMAKER, PROCESSING_JOB, PROCESSING_OUTPUT_CONFIG)
285
+ PROCESSING_JOB_KMS_KEY_ID_PATH = _simple_path(
286
+ SAGEMAKER, PROCESSING_JOB, PROCESSING_OUTPUT_CONFIG, KMS_KEY_ID
287
+ )
288
+ PROCESSING_JOB_PROCESSING_RESOURCES_PATH = _simple_path(
289
+ SAGEMAKER, PROCESSING_JOB, PROCESSING_RESOURCES
290
+ )
291
+ PROCESSING_JOB_VOLUME_KMS_KEY_ID_PATH = _simple_path(
292
+ SAGEMAKER, PROCESSING_JOB, PROCESSING_RESOURCES, CLUSTER_CONFIG, VOLUME_KMS_KEY_ID
293
+ )
294
+ PROCESSING_JOB_ROLE_ARN_PATH = _simple_path(SAGEMAKER, PROCESSING_JOB, ROLE_ARN)
295
+ MODEL_PACKAGE_INFERENCE_SPECIFICATION_CONTAINERS_PATH = _simple_path(
296
+ SAGEMAKER, MODEL_PACKAGE, INFERENCE_SPECIFICATION, CONTAINERS
297
+ )
298
+ MODEL_PACKAGE_VALIDATION_ROLE_PATH = _simple_path(
299
+ SAGEMAKER, MODEL_PACKAGE, VALIDATION_SPECIFICATION, VALIDATION_ROLE
300
+ )
301
+ MODEL_PACKAGE_VALIDATION_PROFILES_PATH = _simple_path(
302
+ SAGEMAKER, MODEL_PACKAGE, VALIDATION_SPECIFICATION, VALIDATION_PROFILES
303
+ )
304
+ REMOTE_FUNCTION_PATH = _simple_path(SAGEMAKER, PYTHON_SDK, MODULES, REMOTE_FUNCTION)
305
+ REMOTE_FUNCTION_DEPENDENCIES = _simple_path(
306
+ SAGEMAKER, PYTHON_SDK, MODULES, REMOTE_FUNCTION, DEPENDENCIES
307
+ )
308
+ REMOTE_FUNCTION_PRE_EXECUTION_COMMANDS = _simple_path(
309
+ SAGEMAKER, PYTHON_SDK, MODULES, REMOTE_FUNCTION, PRE_EXECUTION_COMMANDS
310
+ )
311
+ REMOTE_FUNCTION_PRE_EXECUTION_SCRIPT = _simple_path(
312
+ SAGEMAKER, PYTHON_SDK, MODULES, REMOTE_FUNCTION, PRE_EXECUTION_SCRIPT
313
+ )
314
+ REMOTE_FUNCTION_ENVIRONMENT_VARIABLES = _simple_path(
315
+ SAGEMAKER, PYTHON_SDK, MODULES, REMOTE_FUNCTION, ENVIRONMENT_VARIABLES
316
+ )
317
+ REMOTE_FUNCTION_IMAGE_URI = _simple_path(SAGEMAKER, PYTHON_SDK, MODULES, REMOTE_FUNCTION, IMAGE_URI)
318
+ REMOTE_FUNCTION_INCLUDE_LOCAL_WORKDIR = _simple_path(
319
+ SAGEMAKER, PYTHON_SDK, MODULES, REMOTE_FUNCTION, INCLUDE_LOCAL_WORKDIR
320
+ )
321
+ REMOTE_FUNCTION_INSTANCE_TYPE = _simple_path(
322
+ SAGEMAKER, PYTHON_SDK, MODULES, REMOTE_FUNCTION, INSTANCE_TYPE
323
+ )
324
+ REMOTE_FUNCTION_JOB_CONDA_ENV = _simple_path(
325
+ SAGEMAKER, PYTHON_SDK, MODULES, REMOTE_FUNCTION, JOB_CONDA_ENV
326
+ )
327
+ REMOTE_FUNCTION_ROLE_ARN = _simple_path(SAGEMAKER, PYTHON_SDK, MODULES, REMOTE_FUNCTION, ROLE_ARN)
328
+ REMOTE_FUNCTION_S3_KMS_KEY_ID = _simple_path(
329
+ SAGEMAKER, PYTHON_SDK, MODULES, REMOTE_FUNCTION, S3_KMS_KEY_ID
330
+ )
331
+ REMOTE_FUNCTION_S3_ROOT_URI = _simple_path(
332
+ SAGEMAKER, PYTHON_SDK, MODULES, REMOTE_FUNCTION, S3_ROOT_URI
333
+ )
334
+ REMOTE_FUNCTION_TAGS = _simple_path(SAGEMAKER, PYTHON_SDK, MODULES, REMOTE_FUNCTION, TAGS)
335
+ REMOTE_FUNCTION_VOLUME_KMS_KEY_ID = _simple_path(
336
+ SAGEMAKER, PYTHON_SDK, MODULES, REMOTE_FUNCTION, VOLUME_KMS_KEY_ID
337
+ )
338
+ REMOTE_FUNCTION_VPC_CONFIG_SUBNETS = _simple_path(
339
+ SAGEMAKER, PYTHON_SDK, MODULES, REMOTE_FUNCTION, VPC_CONFIG, SUBNETS
340
+ )
341
+ REMOTE_FUNCTION_VPC_CONFIG_SECURITY_GROUP_IDS = _simple_path(
342
+ SAGEMAKER, PYTHON_SDK, MODULES, REMOTE_FUNCTION, VPC_CONFIG, SECURITY_GROUP_IDS
343
+ )
344
+ REMOTE_FUNCTION_ENABLE_INTER_CONTAINER_TRAFFIC_ENCRYPTION = _simple_path(
345
+ SAGEMAKER,
346
+ PYTHON_SDK,
347
+ MODULES,
348
+ REMOTE_FUNCTION,
349
+ ENABLE_INTER_CONTAINER_TRAFFIC_ENCRYPTION,
350
+ )
351
+ ESTIMATOR_DEBUG_HOOK_CONFIG_PATH = _simple_path(
352
+ SAGEMAKER, PYTHON_SDK, MODULES, ESTIMATOR, DEBUG_HOOK_CONFIG
353
+ )
354
+ NOTEBOOK_JOB_ROLE_ARN = _simple_path(SAGEMAKER, PYTHON_SDK, MODULES, NOTEBOOK_JOB, ROLE_ARN)
355
+ NOTEBOOK_JOB_S3_ROOT_URI = _simple_path(SAGEMAKER, PYTHON_SDK, MODULES, NOTEBOOK_JOB, S3_ROOT_URI)
356
+ NOTEBOOK_JOB_S3_KMS_KEY_ID = _simple_path(
357
+ SAGEMAKER, PYTHON_SDK, MODULES, NOTEBOOK_JOB, S3_KMS_KEY_ID
358
+ )
359
+ NOTEBOOK_JOB_VOLUME_KMS_KEY_ID = _simple_path(
360
+ SAGEMAKER, PYTHON_SDK, MODULES, NOTEBOOK_JOB, VOLUME_KMS_KEY_ID
361
+ )
362
+ NOTEBOOK_JOB_VPC_CONFIG_SUBNETS = _simple_path(
363
+ SAGEMAKER, PYTHON_SDK, MODULES, NOTEBOOK_JOB, VPC_CONFIG, SUBNETS
364
+ )
365
+ NOTEBOOK_JOB_VPC_CONFIG_SECURITY_GROUP_IDS = _simple_path(
366
+ SAGEMAKER, PYTHON_SDK, MODULES, NOTEBOOK_JOB, VPC_CONFIG, SECURITY_GROUP_IDS
367
+ )
368
+ MONITORING_SCHEDULE_INTER_CONTAINER_ENCRYPTION_PATH = _simple_path(
369
+ SAGEMAKER,
370
+ MONITORING_SCHEDULE,
371
+ MONITORING_SCHEDULE_CONFIG,
372
+ MONITORING_JOB_DEFINITION,
373
+ NETWORK_CONFIG,
374
+ ENABLE_INTER_CONTAINER_TRAFFIC_ENCRYPTION,
375
+ )
376
+ AUTO_ML_INTER_CONTAINER_ENCRYPTION_PATH = _simple_path(
377
+ SAGEMAKER,
378
+ AUTO_ML_JOB,
379
+ AUTO_ML_JOB_CONFIG,
380
+ SECURITY_CONFIG,
381
+ ENABLE_INTER_CONTAINER_TRAFFIC_ENCRYPTION,
382
+ )
383
+ AUTO_ML_V2_INTER_CONTAINER_ENCRYPTION_PATH = _simple_path(
384
+ SAGEMAKER,
385
+ AUTO_ML_JOB_V2,
386
+ SECURITY_CONFIG,
387
+ ENABLE_INTER_CONTAINER_TRAFFIC_ENCRYPTION,
388
+ )
389
+ PROCESSING_JOB_ENVIRONMENT_PATH = _simple_path(SAGEMAKER, PROCESSING_JOB, ENVIRONMENT)
390
+ PROCESSING_JOB_INTER_CONTAINER_ENCRYPTION_PATH = _simple_path(
391
+ SAGEMAKER, PROCESSING_JOB, NETWORK_CONFIG, ENABLE_INTER_CONTAINER_TRAFFIC_ENCRYPTION
392
+ )
393
+ TRAINING_JOB_INTER_CONTAINER_ENCRYPTION_PATH = _simple_path(
394
+ SAGEMAKER, TRAINING_JOB, ENABLE_INTER_CONTAINER_TRAFFIC_ENCRYPTION
395
+ )
396
+ SESSION_DEFAULT_S3_BUCKET_PATH = _simple_path(
397
+ SAGEMAKER, PYTHON_SDK, MODULES, SESSION, DEFAULT_S3_BUCKET
398
+ )
399
+ SESSION_DEFAULT_S3_OBJECT_KEY_PREFIX_PATH = _simple_path(
400
+ SAGEMAKER, PYTHON_SDK, MODULES, SESSION, DEFAULT_S3_OBJECT_KEY_PREFIX
401
+ )
402
+ SERVE_ROLE_ARN = _simple_path(SAGEMAKER, PYTHON_SDK, MODULES, SERVE, ROLE_ARN)
403
+ SERVE_S3_MODEL_DATA_URI = _simple_path(SAGEMAKER, PYTHON_SDK, MODULES, SERVE, S3_MODEL_DATA_URI)
404
+ SERVE_INSTANCE_TYPE = _simple_path(SAGEMAKER, PYTHON_SDK, MODULES, SERVE, INSTANCE_TYPE)
405
+ SERVE_ENVIRONMENT_VARIABLES = _simple_path(
406
+ SAGEMAKER, PYTHON_SDK, MODULES, SERVE, ENVIRONMENT_VARIABLES
407
+ )
408
+ TELEMETRY_OPT_OUT_PATH = _simple_path(SAGEMAKER, PYTHON_SDK, MODULES, TELEMETRY_OPT_OUT)
409
+
410
+
411
+ SAGEMAKER_PYTHON_SDK_CONFIG_SCHEMA = {
412
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
413
+ TYPE: OBJECT,
414
+ "required": [SCHEMA_VERSION],
415
+ ADDITIONAL_PROPERTIES: False,
416
+ "definitions": {
417
+ "roleArn": {
418
+ # Schema for IAM Role. This includes a Regex validator.
419
+ TYPE: "string",
420
+ "pattern": r"^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$",
421
+ "minLength": 20,
422
+ "maxLength": 2048,
423
+ },
424
+ "kmsKeyId": {
425
+ TYPE: "string",
426
+ "maxLength": 2048,
427
+ },
428
+ "securityGroupId": {
429
+ TYPE: "string",
430
+ "pattern": r"[-0-9a-zA-Z]+",
431
+ "maxLength": 32,
432
+ },
433
+ "subnet": {
434
+ TYPE: "string",
435
+ "pattern": r"[-0-9a-zA-Z]+",
436
+ "maxLength": 32,
437
+ },
438
+ "vpcConfig": {
439
+ # Schema for VPC Configs.
440
+ # Regex is taken from https://docs.aws.amazon.com/sagemaker/latest/APIReference
441
+ # /API_VpcConfig.html
442
+ TYPE: OBJECT,
443
+ ADDITIONAL_PROPERTIES: False,
444
+ PROPERTIES: {
445
+ SECURITY_GROUP_IDS: {
446
+ TYPE: "array",
447
+ "items": {"$ref": "#/definitions/securityGroupId"},
448
+ "minItems": 1,
449
+ "maxItems": 5,
450
+ },
451
+ SUBNETS: {
452
+ TYPE: "array",
453
+ "items": {"$ref": "#/definitions/subnet"},
454
+ "minItems": 1,
455
+ "maxItems": 16,
456
+ },
457
+ },
458
+ },
459
+ "productionVariant": {
460
+ TYPE: OBJECT,
461
+ ADDITIONAL_PROPERTIES: False,
462
+ PROPERTIES: {
463
+ CORE_DUMP_CONFIG: {
464
+ TYPE: OBJECT,
465
+ ADDITIONAL_PROPERTIES: False,
466
+ PROPERTIES: {KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}},
467
+ }
468
+ },
469
+ },
470
+ "validationProfile": {
471
+ TYPE: OBJECT,
472
+ ADDITIONAL_PROPERTIES: False,
473
+ PROPERTIES: {
474
+ TRANSFORM_JOB_DEFINITION: {
475
+ TYPE: OBJECT,
476
+ ADDITIONAL_PROPERTIES: False,
477
+ PROPERTIES: {
478
+ ENVIRONMENT: {
479
+ "$ref": "#/definitions/environment-Length10240-Properties16",
480
+ },
481
+ TRANSFORM_OUTPUT: {
482
+ TYPE: OBJECT,
483
+ ADDITIONAL_PROPERTIES: False,
484
+ PROPERTIES: {KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}},
485
+ },
486
+ TRANSFORM_RESOURCES: {
487
+ TYPE: OBJECT,
488
+ ADDITIONAL_PROPERTIES: False,
489
+ PROPERTIES: {VOLUME_KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}},
490
+ },
491
+ },
492
+ }
493
+ },
494
+ },
495
+ "processingInput": {
496
+ TYPE: OBJECT,
497
+ ADDITIONAL_PROPERTIES: False,
498
+ PROPERTIES: {
499
+ DATASET_DEFINITION: {
500
+ TYPE: OBJECT,
501
+ ADDITIONAL_PROPERTIES: False,
502
+ PROPERTIES: {
503
+ ATHENA_DATASET_DEFINITION: {
504
+ TYPE: OBJECT,
505
+ ADDITIONAL_PROPERTIES: False,
506
+ PROPERTIES: {KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}},
507
+ },
508
+ REDSHIFT_DATASET_DEFINITION: {
509
+ TYPE: OBJECT,
510
+ ADDITIONAL_PROPERTIES: False,
511
+ PROPERTIES: {
512
+ KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"},
513
+ CLUSTER_ROLE_ARN: {"$ref": "#/definitions/roleArn"},
514
+ },
515
+ },
516
+ },
517
+ }
518
+ },
519
+ },
520
+ # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Tag.html
521
+ "tags": {
522
+ TYPE: "array",
523
+ "items": {
524
+ TYPE: OBJECT,
525
+ ADDITIONAL_PROPERTIES: False,
526
+ PROPERTIES: {
527
+ KEY: {
528
+ TYPE: "string",
529
+ "pattern": r"^[\w\s\d_.:/=+\-@]*$",
530
+ "minLength": 1,
531
+ "maxLength": 128,
532
+ },
533
+ VALUE: {
534
+ TYPE: "string",
535
+ "pattern": r"^[\w\s\d_.:/=+\-@]*$",
536
+ "minLength": 0,
537
+ "maxLength": 256,
538
+ },
539
+ },
540
+ "required": [KEY, VALUE],
541
+ },
542
+ "minItems": 0,
543
+ "maxItems": 50,
544
+ },
545
+ # Regex is taken from https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html#sagemaker-CreateTrainingJob-request-Environment
546
+ "environmentVariables": {
547
+ TYPE: OBJECT,
548
+ ADDITIONAL_PROPERTIES: False,
549
+ PATTERN_PROPERTIES: {
550
+ r"([a-zA-Z_][a-zA-Z0-9_]*){1,512}": {
551
+ TYPE: "string",
552
+ "pattern": r"[\S\s]*",
553
+ "maxLength": 512,
554
+ }
555
+ },
556
+ "maxProperties": 48,
557
+ },
558
+ # Regex is taken from https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_S3DataSource.html#sagemaker-Type-S3DataSource-S3Uri
559
+ "s3Uri": {
560
+ TYPE: "string",
561
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
562
+ "maxLength": 1024,
563
+ },
564
+ # Regex is taken from https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AlgorithmSpecification.html#sagemaker-Type-AlgorithmSpecification-ContainerEntrypoint
565
+ "preExecutionCommand": {TYPE: "string", "pattern": r".*"},
566
+ # Regex based on https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_PipelineDefinitionS3Location.html
567
+ # except with an additional ^ and $ for the beginning and the end to closer align to
568
+ # https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html
569
+ "s3Bucket": {
570
+ TYPE: "string",
571
+ "pattern": r"^[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9]$",
572
+ "minLength": 3,
573
+ "maxLength": 63,
574
+ },
575
+ # Regex is taken from https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_MonitoringJobDefinition.html#sagemaker-Type-MonitoringJobDefinition-Environment
576
+ "environment-Length256-Properties50": {
577
+ TYPE: OBJECT,
578
+ ADDITIONAL_PROPERTIES: False,
579
+ PATTERN_PROPERTIES: {
580
+ r"([a-zA-Z_][a-zA-Z0-9_]*){1,256}": {
581
+ TYPE: "string",
582
+ "pattern": r"[\S\s]*",
583
+ "maxLength": 256,
584
+ }
585
+ },
586
+ "maxProperties": 50,
587
+ },
588
+ # Regex is taken from https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html#sagemaker-CreateTransformJob-request-Environment
589
+ "environment-Length10240-Properties16": {
590
+ TYPE: OBJECT,
591
+ ADDITIONAL_PROPERTIES: False,
592
+ PATTERN_PROPERTIES: {
593
+ r"[a-zA-Z_][a-zA-Z0-9_]{0,1023}": {
594
+ TYPE: "string",
595
+ "pattern": r"[\S\s]*",
596
+ "maxLength": 10240,
597
+ }
598
+ },
599
+ "maxProperties": 16,
600
+ },
601
+ # Regex is taken from https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerDefinition.html#sagemaker-Type-ContainerDefinition-Environment
602
+ "environment-Length1024-Properties16": {
603
+ TYPE: OBJECT,
604
+ ADDITIONAL_PROPERTIES: False,
605
+ PATTERN_PROPERTIES: {
606
+ r"([a-zA-Z_][a-zA-Z0-9_]*){1,1024}": {
607
+ TYPE: "string",
608
+ "pattern": r"[\S\s]*",
609
+ "maxLength": 1024,
610
+ }
611
+ },
612
+ "maxProperties": 16,
613
+ },
614
+ # Regex is taken from https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html#sagemaker-CreateProcessingJob-request-Environment
615
+ "environment-Length256-Properties100": {
616
+ TYPE: OBJECT,
617
+ ADDITIONAL_PROPERTIES: False,
618
+ PATTERN_PROPERTIES: {
619
+ r"([a-zA-Z_][a-zA-Z0-9_]*){1,256}": {
620
+ TYPE: "string",
621
+ "pattern": r"[\S\s]*",
622
+ "maxLength": 256,
623
+ }
624
+ },
625
+ "maxProperties": 100,
626
+ },
627
+ # Regex is taken from https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html#sagemaker-CreateTrainingJob-request-Environment
628
+ "environment-Length512-Properties48": {
629
+ TYPE: OBJECT,
630
+ ADDITIONAL_PROPERTIES: False,
631
+ PATTERN_PROPERTIES: {
632
+ r"([a-zA-Z_][a-zA-Z0-9_]*){1,512}": {
633
+ TYPE: "string",
634
+ "pattern": r"[\S\s]*",
635
+ "maxLength": 512,
636
+ }
637
+ },
638
+ "maxProperties": 48,
639
+ },
640
+ "container": {
641
+ TYPE: OBJECT,
642
+ ADDITIONAL_PROPERTIES: False,
643
+ PROPERTIES: {
644
+ ENVIRONMENT: {"$ref": "#/definitions/environment-Length1024-Properties16"},
645
+ },
646
+ },
647
+ "containers": {
648
+ TYPE: "array",
649
+ "items": {"$ref": "#/definitions/container"},
650
+ # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerDefinition.html
651
+ # According to the API docs, the array can have maximum of 15 items.
652
+ "minItems": 0,
653
+ "maxItems": 15,
654
+ },
655
+ "modelPackageContainers": {
656
+ TYPE: "array",
657
+ "items": {"$ref": "#/definitions/container"},
658
+ # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelPackageContainerDefinition.html
659
+ # According to the API docs, the array can have minimum of 1 and maximum of 15 items.
660
+ "minItems": 1,
661
+ "maxItems": 15,
662
+ },
663
+ "role": {
664
+ TYPE: "string",
665
+ "pattern": r"^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$",
666
+ "minLength": 20,
667
+ "maxLength": 2048,
668
+ },
669
+ "baseJobName": {TYPE: OBJECT, ADDITIONAL_PROPERTIES: True},
670
+ "sourceCode": {TYPE: OBJECT, ADDITIONAL_PROPERTIES: True},
671
+ "distributed": {TYPE: OBJECT, ADDITIONAL_PROPERTIES: True},
672
+ "compute": {TYPE: OBJECT, ADDITIONAL_PROPERTIES: True},
673
+ "networking": {TYPE: OBJECT, ADDITIONAL_PROPERTIES: True},
674
+ "stoppingCondition": {TYPE: OBJECT, ADDITIONAL_PROPERTIES: True},
675
+ "trainingImage": {TYPE: OBJECT, ADDITIONAL_PROPERTIES: True},
676
+ "trainingImageConfig": {TYPE: OBJECT, ADDITIONAL_PROPERTIES: True},
677
+ "algorithmName": {TYPE: OBJECT, ADDITIONAL_PROPERTIES: True},
678
+ "outputDataConfig": {TYPE: OBJECT, ADDITIONAL_PROPERTIES: True},
679
+ "trainingInputMode": {TYPE: OBJECT, ADDITIONAL_PROPERTIES: True},
680
+ "environment": {TYPE: OBJECT, ADDITIONAL_PROPERTIES: True},
681
+ "hyperparameters": {TYPE: OBJECT, ADDITIONAL_PROPERTIES: True},
682
+ },
683
+ PROPERTIES: {
684
+ SCHEMA_VERSION: {
685
+ TYPE: "string",
686
+ # Currently we support only one schema version (1.0).
687
+ # In the future this might change if we introduce any breaking changes.
688
+ # So added an enum as a validator.
689
+ "enum": ["1.0"],
690
+ "description": "The schema version of the document.",
691
+ },
692
+ CUSTOM_PARAMETERS: {
693
+ TYPE: OBJECT,
694
+ ADDITIONAL_PROPERTIES: False,
695
+ PATTERN_PROPERTIES: {
696
+ r"^[\w\s\d_.:/=+\-@]+$": {TYPE: "string"},
697
+ },
698
+ },
699
+ SAGEMAKER: {
700
+ TYPE: OBJECT,
701
+ ADDITIONAL_PROPERTIES: False,
702
+ PROPERTIES: {
703
+ PYTHON_SDK: {
704
+ TYPE: OBJECT,
705
+ ADDITIONAL_PROPERTIES: False,
706
+ PROPERTIES: {
707
+ MODULES: {
708
+ # Any SageMaker Python SDK specific configuration will be added here.
709
+ TYPE: OBJECT,
710
+ ADDITIONAL_PROPERTIES: False,
711
+ PROPERTIES: {
712
+ SESSION: {
713
+ TYPE: OBJECT,
714
+ ADDITIONAL_PROPERTIES: False,
715
+ PROPERTIES: {
716
+ DEFAULT_S3_BUCKET: {
717
+ "description": "sets `default_bucket` of Session",
718
+ "$ref": "#/definitions/s3Bucket",
719
+ },
720
+ DEFAULT_S3_OBJECT_KEY_PREFIX: {
721
+ "description": (
722
+ "sets `default_bucket_prefix` of Session"
723
+ ),
724
+ TYPE: "string",
725
+ # S3 guidelines:
726
+ # https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
727
+ # Note that the PythonSDK at the time of writing
728
+ # tends to collapse multiple "/" in a row to one "/"
729
+ # (even though S3 allows multiple "/" in a row)
730
+ "minLength": 1,
731
+ "maxLength": 1024,
732
+ },
733
+ },
734
+ },
735
+ MODEL_TRAINER: {TYPE: OBJECT, ADDITIONAL_PROPERTIES: True},
736
+ REMOTE_FUNCTION: {
737
+ TYPE: OBJECT,
738
+ ADDITIONAL_PROPERTIES: False,
739
+ PROPERTIES: {
740
+ DEPENDENCIES: {TYPE: "string"},
741
+ PRE_EXECUTION_COMMANDS: {
742
+ TYPE: "array",
743
+ "items": {"$ref": "#/definitions/preExecutionCommand"},
744
+ },
745
+ PRE_EXECUTION_SCRIPT: {TYPE: "string"},
746
+ ENABLE_INTER_CONTAINER_TRAFFIC_ENCRYPTION: {
747
+ TYPE: "boolean"
748
+ },
749
+ ENVIRONMENT_VARIABLES: {
750
+ "$ref": "#/definitions/environmentVariables"
751
+ },
752
+ IMAGE_URI: {TYPE: "string"},
753
+ INCLUDE_LOCAL_WORKDIR: {TYPE: "boolean"},
754
+ CUSTOM_FILE_FILTER: {
755
+ TYPE: OBJECT,
756
+ ADDITIONAL_PROPERTIES: False,
757
+ PROPERTIES: {
758
+ "IgnoreNamePatterns": {
759
+ TYPE: "array",
760
+ "items": {"type": "string"},
761
+ }
762
+ },
763
+ },
764
+ INSTANCE_TYPE: {TYPE: "string"},
765
+ JOB_CONDA_ENV: {TYPE: "string"},
766
+ ROLE_ARN: {"$ref": "#/definitions/roleArn"},
767
+ S3_KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"},
768
+ S3_ROOT_URI: {"$ref": "#/definitions/s3Uri"},
769
+ TAGS: {"$ref": "#/definitions/tags"},
770
+ VOLUME_KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"},
771
+ VPC_CONFIG: {"$ref": "#/definitions/vpcConfig"},
772
+ },
773
+ },
774
+ NOTEBOOK_JOB: {
775
+ TYPE: OBJECT,
776
+ ADDITIONAL_PROPERTIES: False,
777
+ PROPERTIES: {
778
+ ROLE_ARN: {"$ref": "#/definitions/roleArn"},
779
+ S3_ROOT_URI: {"$ref": "#/definitions/s3Uri"},
780
+ S3_KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"},
781
+ VOLUME_KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"},
782
+ VPC_CONFIG: {"$ref": "#/definitions/vpcConfig"},
783
+ },
784
+ },
785
+ SERVE: {
786
+ TYPE: OBJECT,
787
+ ADDITIONAL_PROPERTIES: False,
788
+ PROPERTIES: {
789
+ ROLE_ARN: {"$ref": "#/definitions/roleArn"},
790
+ S3_MODEL_DATA_URI: {"$ref": "#/definitions/s3Uri"},
791
+ INSTANCE_TYPE: {TYPE: "string"},
792
+ ENVIRONMENT_VARIABLES: {
793
+ "$ref": "#/definitions/environmentVariables"
794
+ },
795
+ },
796
+ },
797
+ TELEMETRY_OPT_OUT: {
798
+ TYPE: "boolean",
799
+ },
800
+ },
801
+ },
802
+ },
803
+ },
804
+ # Feature Group
805
+ # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFeatureGroup
806
+ # .html
807
+ FEATURE_GROUP: {
808
+ TYPE: OBJECT,
809
+ ADDITIONAL_PROPERTIES: False,
810
+ PROPERTIES: {
811
+ OFFLINE_STORE_CONFIG: {
812
+ TYPE: OBJECT,
813
+ ADDITIONAL_PROPERTIES: False,
814
+ PROPERTIES: {
815
+ S3_STORAGE_CONFIG: {
816
+ TYPE: OBJECT,
817
+ ADDITIONAL_PROPERTIES: False,
818
+ PROPERTIES: {KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}},
819
+ }
820
+ },
821
+ },
822
+ ONLINE_STORE_CONFIG: {
823
+ TYPE: OBJECT,
824
+ ADDITIONAL_PROPERTIES: False,
825
+ PROPERTIES: {
826
+ SECURITY_CONFIG: {
827
+ TYPE: OBJECT,
828
+ ADDITIONAL_PROPERTIES: False,
829
+ PROPERTIES: {KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}},
830
+ }
831
+ },
832
+ },
833
+ ROLE_ARN: {"$ref": "#/definitions/roleArn"},
834
+ TAGS: {"$ref": "#/definitions/tags"},
835
+ },
836
+ },
837
+ # Monitoring Schedule
838
+ # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateMonitoringSchedule.html
839
+ MONITORING_SCHEDULE: {
840
+ TYPE: OBJECT,
841
+ ADDITIONAL_PROPERTIES: False,
842
+ PROPERTIES: {
843
+ MONITORING_SCHEDULE_CONFIG: {
844
+ TYPE: OBJECT,
845
+ ADDITIONAL_PROPERTIES: False,
846
+ PROPERTIES: {
847
+ MONITORING_JOB_DEFINITION: {
848
+ TYPE: OBJECT,
849
+ ADDITIONAL_PROPERTIES: False,
850
+ PROPERTIES: {
851
+ ENVIRONMENT: {
852
+ "$ref": (
853
+ "#/definitions/environment-Length256-Properties50"
854
+ ),
855
+ },
856
+ MONITORING_OUTPUT_CONFIG: {
857
+ TYPE: OBJECT,
858
+ ADDITIONAL_PROPERTIES: False,
859
+ PROPERTIES: {
860
+ KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}
861
+ },
862
+ },
863
+ MONITORING_RESOURCES: {
864
+ TYPE: OBJECT,
865
+ ADDITIONAL_PROPERTIES: False,
866
+ PROPERTIES: {
867
+ CLUSTER_CONFIG: {
868
+ TYPE: OBJECT,
869
+ ADDITIONAL_PROPERTIES: False,
870
+ PROPERTIES: {
871
+ VOLUME_KMS_KEY_ID: {
872
+ "$ref": "#/definitions/kmsKeyId"
873
+ }
874
+ },
875
+ }
876
+ },
877
+ },
878
+ NETWORK_CONFIG: {
879
+ TYPE: OBJECT,
880
+ ADDITIONAL_PROPERTIES: False,
881
+ PROPERTIES: {
882
+ ENABLE_INTER_CONTAINER_TRAFFIC_ENCRYPTION: {
883
+ TYPE: "boolean"
884
+ },
885
+ ENABLE_NETWORK_ISOLATION: {TYPE: "boolean"},
886
+ VPC_CONFIG: {"$ref": "#/definitions/vpcConfig"},
887
+ },
888
+ },
889
+ ROLE_ARN: {"$ref": "#/definitions/roleArn"},
890
+ },
891
+ }
892
+ },
893
+ },
894
+ TAGS: {"$ref": "#/definitions/tags"},
895
+ },
896
+ },
897
+ # Endpoint
898
+ # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html
899
+ ENDPOINT: {
900
+ TYPE: OBJECT,
901
+ ADDITIONAL_PROPERTIES: False,
902
+ PROPERTIES: {TAGS: {"$ref": "#/definitions/tags"}},
903
+ },
904
+ # Endpoint Config
905
+ # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html
906
+ # Note: there is a separate API for creating Endpoints.
907
+ ENDPOINT_CONFIG: {
908
+ TYPE: OBJECT,
909
+ ADDITIONAL_PROPERTIES: False,
910
+ PROPERTIES: {
911
+ ASYNC_INFERENCE_CONFIG: {
912
+ TYPE: OBJECT,
913
+ ADDITIONAL_PROPERTIES: False,
914
+ PROPERTIES: {
915
+ OUTPUT_CONFIG: {
916
+ TYPE: OBJECT,
917
+ ADDITIONAL_PROPERTIES: False,
918
+ PROPERTIES: {KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}},
919
+ }
920
+ },
921
+ },
922
+ DATA_CAPTURE_CONFIG: {
923
+ TYPE: OBJECT,
924
+ ADDITIONAL_PROPERTIES: False,
925
+ PROPERTIES: {KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}},
926
+ },
927
+ KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"},
928
+ PRODUCTION_VARIANTS: {
929
+ TYPE: "array",
930
+ "items": {"$ref": "#/definitions/productionVariant"},
931
+ },
932
+ TAGS: {"$ref": "#/definitions/tags"},
933
+ },
934
+ },
935
+ # Auto ML
936
+ # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html
937
+ AUTO_ML_JOB: {
938
+ TYPE: OBJECT,
939
+ ADDITIONAL_PROPERTIES: False,
940
+ PROPERTIES: {
941
+ AUTO_ML_JOB_CONFIG: {
942
+ TYPE: OBJECT,
943
+ ADDITIONAL_PROPERTIES: False,
944
+ PROPERTIES: {
945
+ SECURITY_CONFIG: {
946
+ TYPE: OBJECT,
947
+ ADDITIONAL_PROPERTIES: False,
948
+ PROPERTIES: {
949
+ ENABLE_INTER_CONTAINER_TRAFFIC_ENCRYPTION: {
950
+ TYPE: "boolean"
951
+ },
952
+ VOLUME_KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"},
953
+ VPC_CONFIG: {"$ref": "#/definitions/vpcConfig"},
954
+ },
955
+ }
956
+ },
957
+ },
958
+ OUTPUT_DATA_CONFIG: {
959
+ TYPE: OBJECT,
960
+ ADDITIONAL_PROPERTIES: False,
961
+ PROPERTIES: {KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}},
962
+ },
963
+ ROLE_ARN: {"$ref": "#/definitions/roleArn"},
964
+ TAGS: {"$ref": "#/definitions/tags"},
965
+ },
966
+ },
967
+ # Auto ML V2
968
+ # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html
969
+ AUTO_ML_JOB_V2: {
970
+ TYPE: OBJECT,
971
+ ADDITIONAL_PROPERTIES: False,
972
+ PROPERTIES: {
973
+ SECURITY_CONFIG: {
974
+ TYPE: OBJECT,
975
+ ADDITIONAL_PROPERTIES: False,
976
+ PROPERTIES: {
977
+ ENABLE_INTER_CONTAINER_TRAFFIC_ENCRYPTION: {TYPE: "boolean"},
978
+ VOLUME_KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"},
979
+ VPC_CONFIG: {"$ref": "#/definitions/vpcConfig"},
980
+ },
981
+ },
982
+ OUTPUT_DATA_CONFIG: {
983
+ TYPE: OBJECT,
984
+ ADDITIONAL_PROPERTIES: False,
985
+ PROPERTIES: {KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}},
986
+ },
987
+ ROLE_ARN: {"$ref": "#/definitions/roleArn"},
988
+ TAGS: {"$ref": "#/definitions/tags"},
989
+ },
990
+ },
991
+ # Transform Job
992
+ # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTransformJob.html
993
+ TRANSFORM_JOB: {
994
+ TYPE: OBJECT,
995
+ ADDITIONAL_PROPERTIES: False,
996
+ PROPERTIES: {
997
+ DATA_CAPTURE_CONFIG: {
998
+ TYPE: OBJECT,
999
+ ADDITIONAL_PROPERTIES: False,
1000
+ PROPERTIES: {KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}},
1001
+ },
1002
+ ENVIRONMENT: {"$ref": "#/definitions/environment-Length10240-Properties16"},
1003
+ TRANSFORM_OUTPUT: {
1004
+ TYPE: OBJECT,
1005
+ ADDITIONAL_PROPERTIES: False,
1006
+ PROPERTIES: {KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}},
1007
+ },
1008
+ TRANSFORM_RESOURCES: {
1009
+ TYPE: OBJECT,
1010
+ ADDITIONAL_PROPERTIES: False,
1011
+ PROPERTIES: {VOLUME_KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}},
1012
+ },
1013
+ TAGS: {"$ref": "#/definitions/tags"},
1014
+ },
1015
+ },
1016
+ # Compilation Job
1017
+ # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCompilationJob
1018
+ # .html
1019
+ COMPILATION_JOB: {
1020
+ TYPE: OBJECT,
1021
+ ADDITIONAL_PROPERTIES: False,
1022
+ PROPERTIES: {
1023
+ OUTPUT_CONFIG: {
1024
+ TYPE: OBJECT,
1025
+ ADDITIONAL_PROPERTIES: False,
1026
+ PROPERTIES: {KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}},
1027
+ },
1028
+ ROLE_ARN: {"$ref": "#/definitions/roleArn"},
1029
+ VPC_CONFIG: {"$ref": "#/definitions/vpcConfig"},
1030
+ TAGS: {"$ref": "#/definitions/tags"},
1031
+ },
1032
+ },
1033
+ # Pipeline
1034
+ # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePipeline.html
1035
+ PIPELINE: {
1036
+ TYPE: OBJECT,
1037
+ ADDITIONAL_PROPERTIES: False,
1038
+ PROPERTIES: {
1039
+ ROLE_ARN: {"$ref": "#/definitions/roleArn"},
1040
+ TAGS: {"$ref": "#/definitions/tags"},
1041
+ },
1042
+ },
1043
+ # Model
1044
+ # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html
1045
+ # Note: It is recommended that customers should use either of
1046
+ # [Containers] or [PrimaryContainer] but not both
1047
+ # Since SDK will throw a ValueError as both can't be passed in.
1048
+ MODEL: {
1049
+ TYPE: OBJECT,
1050
+ ADDITIONAL_PROPERTIES: False,
1051
+ PROPERTIES: {
1052
+ CONTAINERS: {"$ref": "#/definitions/containers"},
1053
+ ENABLE_NETWORK_ISOLATION: {TYPE: "boolean"},
1054
+ EXECUTION_ROLE_ARN: {"$ref": "#/definitions/roleArn"},
1055
+ PRIMARY_CONTAINER: {"$ref": "#/definitions/container"},
1056
+ VPC_CONFIG: {"$ref": "#/definitions/vpcConfig"},
1057
+ TAGS: {"$ref": "#/definitions/tags"},
1058
+ },
1059
+ },
1060
+ # Model Package
1061
+ # https://docs.aws.amazon.com/sagemaker/latest
1062
+ # /APIReference/API_CreateModelPackage.html
1063
+ # At present, we are not supporting [Environment] defaults for
1064
+ # [AdditionalInfereceSpecifcations] Since this parameter is not supported
1065
+ # in the SDK, we are not adding it to the config schema as well.
1066
+ MODEL_PACKAGE: {
1067
+ TYPE: OBJECT,
1068
+ ADDITIONAL_PROPERTIES: False,
1069
+ PROPERTIES: {
1070
+ INFERENCE_SPECIFICATION: {
1071
+ TYPE: OBJECT,
1072
+ ADDITIONAL_PROPERTIES: False,
1073
+ PROPERTIES: {
1074
+ CONTAINERS: {"$ref": "#/definitions/modelPackageContainers"}
1075
+ },
1076
+ },
1077
+ VALIDATION_SPECIFICATION: {
1078
+ TYPE: OBJECT,
1079
+ ADDITIONAL_PROPERTIES: False,
1080
+ PROPERTIES: {
1081
+ VALIDATION_PROFILES: {
1082
+ TYPE: "array",
1083
+ "items": {"$ref": "#/definitions/validationProfile"},
1084
+ # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelPackageValidationSpecification.html
1085
+ # According to the API docs, This array should have exactly 1
1086
+ # item.
1087
+ "minItems": 1,
1088
+ "maxItems": 1,
1089
+ },
1090
+ VALIDATION_ROLE: {"$ref": "#/definitions/roleArn"},
1091
+ },
1092
+ },
1093
+ },
1094
+ },
1095
+ # Processing Job
1096
+ # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html
1097
+ PROCESSING_JOB: {
1098
+ TYPE: OBJECT,
1099
+ ADDITIONAL_PROPERTIES: False,
1100
+ PROPERTIES: {
1101
+ ENVIRONMENT: {"$ref": "#/definitions/environment-Length256-Properties100"},
1102
+ NETWORK_CONFIG: {
1103
+ TYPE: OBJECT,
1104
+ ADDITIONAL_PROPERTIES: False,
1105
+ PROPERTIES: {
1106
+ ENABLE_INTER_CONTAINER_TRAFFIC_ENCRYPTION: {TYPE: "boolean"},
1107
+ ENABLE_NETWORK_ISOLATION: {TYPE: "boolean"},
1108
+ VPC_CONFIG: {"$ref": "#/definitions/vpcConfig"},
1109
+ },
1110
+ },
1111
+ PROCESSING_INPUTS: {
1112
+ TYPE: "array",
1113
+ "items": {"$ref": "#/definitions/processingInput"},
1114
+ "minItems": 0,
1115
+ "maxItems": 10,
1116
+ },
1117
+ PROCESSING_OUTPUT_CONFIG: {
1118
+ TYPE: OBJECT,
1119
+ ADDITIONAL_PROPERTIES: False,
1120
+ PROPERTIES: {KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}},
1121
+ },
1122
+ PROCESSING_RESOURCES: {
1123
+ TYPE: OBJECT,
1124
+ ADDITIONAL_PROPERTIES: False,
1125
+ PROPERTIES: {
1126
+ CLUSTER_CONFIG: {
1127
+ TYPE: OBJECT,
1128
+ ADDITIONAL_PROPERTIES: False,
1129
+ PROPERTIES: {
1130
+ VOLUME_KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}
1131
+ },
1132
+ }
1133
+ },
1134
+ },
1135
+ ROLE_ARN: {"$ref": "#/definitions/roleArn"},
1136
+ TAGS: {"$ref": "#/definitions/tags"},
1137
+ },
1138
+ },
1139
+ # Training Job
1140
+ # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html
1141
+ # Please note that we currently support 'DebugHookConfig' as a boolean value
1142
+ # which can be provided under [SageMaker.PythonSDK.Modules.Estimator] config path.
1143
+ # As of today, config_schema does not support the dict as a valid value to be
1144
+ # provided. In case, we decide to support it in the future, we can add a new schema
1145
+ # for it under [SageMaker.TrainingJob] config path.
1146
+ TRAINING_JOB: {
1147
+ TYPE: OBJECT,
1148
+ ADDITIONAL_PROPERTIES: False,
1149
+ PROPERTIES: {
1150
+ ENABLE_INTER_CONTAINER_TRAFFIC_ENCRYPTION: {TYPE: "boolean"},
1151
+ ENABLE_NETWORK_ISOLATION: {TYPE: "boolean"},
1152
+ ENVIRONMENT: {"$ref": "#/definitions/environment-Length512-Properties48"},
1153
+ OUTPUT_DATA_CONFIG: {
1154
+ TYPE: OBJECT,
1155
+ ADDITIONAL_PROPERTIES: False,
1156
+ PROPERTIES: {KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}},
1157
+ },
1158
+ RESOURCE_CONFIG: {
1159
+ TYPE: OBJECT,
1160
+ ADDITIONAL_PROPERTIES: False,
1161
+ PROPERTIES: {VOLUME_KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}},
1162
+ },
1163
+ PROFILER_CONFIG: {
1164
+ TYPE: OBJECT,
1165
+ ADDITIONAL_PROPERTIES: False,
1166
+ PROPERTIES: {DISABLE_PROFILER: {TYPE: "boolean"}},
1167
+ },
1168
+ ROLE_ARN: {"$ref": "#/definitions/roleArn"},
1169
+ VPC_CONFIG: {"$ref": "#/definitions/vpcConfig"},
1170
+ TAGS: {"$ref": "#/definitions/tags"},
1171
+ },
1172
+ },
1173
+ # Edge Packaging Job
1174
+ # https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEdgePackagingJob.html
1175
+ EDGE_PACKAGING_JOB: {
1176
+ TYPE: OBJECT,
1177
+ ADDITIONAL_PROPERTIES: False,
1178
+ PROPERTIES: {
1179
+ OUTPUT_CONFIG: {
1180
+ TYPE: OBJECT,
1181
+ ADDITIONAL_PROPERTIES: False,
1182
+ PROPERTIES: {KMS_KEY_ID: {"$ref": "#/definitions/kmsKeyId"}},
1183
+ },
1184
+ RESOURCE_KEY: {"$ref": "#/definitions/kmsKeyId"},
1185
+ ROLE_ARN: {"$ref": "#/definitions/roleArn"},
1186
+ TAGS: {"$ref": "#/definitions/tags"},
1187
+ },
1188
+ },
1189
+ },
1190
+ },
1191
+ },
1192
+ }
1193
+
1194
+ SAGEMAKER_PYTHON_SDK_LOCAL_MODE_CONFIG_SCHEMA = {
1195
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1196
+ TYPE: OBJECT,
1197
+ ADDITIONAL_PROPERTIES: False,
1198
+ PROPERTIES: {
1199
+ LOCAL: {
1200
+ TYPE: OBJECT,
1201
+ ADDITIONAL_PROPERTIES: False,
1202
+ PROPERTIES: {
1203
+ LOCAL_CODE: {
1204
+ TYPE: "boolean",
1205
+ },
1206
+ REGION_NAME: {TYPE: "string"},
1207
+ SERVING_PORT: {
1208
+ TYPE: "integer",
1209
+ },
1210
+ CONTAINER_ROOT: {
1211
+ TYPE: "string",
1212
+ },
1213
+ CONTAINER_CONFIG: {
1214
+ TYPE: OBJECT,
1215
+ },
1216
+ },
1217
+ },
1218
+ },
1219
+ "required": [LOCAL],
1220
+ }