def generate_wait_for_status_method()

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


    def generate_wait_for_status_method(self, resource_name: str) -> str:
        """Auto-Generate WAIT_FOR_STATUS Method for a waitable resource.

        Args:
            resource_name (str): The resource name.

        Returns:
            str: The formatted wait_for_status Method template.
        """
        resource_status_chain, resource_states = (
            self.resources_extractor.get_status_chain_and_states(resource_name)
        )

        # Get resource status key path
        status_key_path = ""
        for member in resource_status_chain:
            status_key_path += f'.{convert_to_snake_case(member["name"])}'

        formatted_failed_block = ""
        if any("failed" in state.lower() for state in resource_states):
            failure_reason = self._get_failure_reason_ref(resource_name)
            formatted_failed_block = FAILED_STATUS_ERROR_TEMPLATE.format(
                resource_name=resource_name, reason=failure_reason
            )
            formatted_failed_block = add_indent(formatted_failed_block, 12)

        formatted_method = WAIT_FOR_STATUS_METHOD_TEMPLATE.format(
            resource_states=resource_states,
            status_key_path=status_key_path,
            failed_error_block=formatted_failed_block,
            resource_name=resource_name,
        )
        return formatted_method