in src/sagemaker_core/tools/resources_extractor.py [0:0]
def _extract_resources_plan(self):
"""
Extracts the resource plan from the service JSON.
Returns:
None
"""
self.actions = set(self.operations.keys())
log.info(f"Total actions - {len(self.actions)}")
# Filter out additional operations and resources first
self.resources = set()
self._filter_additional_operations()
self.create_resources = set(
[key[len("Create") :] for key in self.actions if key.startswith("Create")]
)
self.add_resources = set(
[key[len("Add") :] for key in self.actions if key.startswith("Add")]
)
self.start_resources = set(
[key[len("Start") :] for key in self.actions if key.startswith("Start")]
)
self.register_resources = set(
[key[len("Register") :] for key in self.actions if key.startswith("Register")]
)
self.import_resources = set(
[key[len("Import") :] for key in self.actions if key.startswith("Import")]
)
self.resources.update(
self.create_resources
| self.add_resources
| self.start_resources
| self.register_resources
| self.import_resources
)
self._filter_actions_for_resources(self.resources)
log.info(f"Total resource - {len(self.resources)}")
log.info(f"Supported actions - {len(self.actions_under_resource)}")
log.info(f"Unsupported actions - {len(self.actions)}")
self._extract_resource_plan_as_dataframe()