def _extract_resources_plan()

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()