def get_status_chain_and_states()

in src/sagemaker_core/tools/resources_extractor.py [0:0]


    def get_status_chain_and_states(self, resource_name):
        """
        Extract the status chain and states for a given resource.

        Args:
            resource_name (str): The name of the resource

        Returns:
            status_chain (list): The status chain for the resource.
            resource_states (list): The states associated with the resource.
        """
        resource_operation = self.operations["Describe" + resource_name]
        resource_operation_output_shape_name = resource_operation["output"]["shape"]
        output_members_data = self.shapes[resource_operation_output_shape_name]["members"]
        if len(output_members_data) == 1:
            single_member_name = next(iter(output_members_data))
            single_member_shape_name = output_members_data[single_member_name]["shape"]
            status_chain = []
            status_chain.append(
                {"name": single_member_name, "shape_name": single_member_shape_name}
            )
            resource_status_chain, resource_states = self._get_status_chain_and_states(
                single_member_shape_name, status_chain
            )
        else:
            resource_status_chain, resource_states = self._get_status_chain_and_states(
                resource_operation_output_shape_name
            )

        return resource_status_chain, resource_states