def orchestration_restore(self, context, saved_artifact_info, custom_params): """ :param ResourceCommandContext context: ResourceCommandContext object with all Resource Attributes inside :param saved_artifact_info: OrchestrationSavedArtifactInfo json :param custom_params: json with custom restore parameters """ logger = LoggingSessionContext.get_logger_with_thread_id(context) api = CloudShellSessionContext(context).get_api() resource_config = NetworkingResourceConfig.from_context(shell_name=self.SHELL_NAME, supported_os=self.SUPPORTED_OS, context=context, api=api) cli_handler = self._cli.get_cli_handler(resource_config, logger) configuration_flow = ConfigurationFlow(cli_handler=cli_handler, logger=logger, resource_config=resource_config) logger.info('Orchestration restore started') restore_params = OrchestrationSaveRestore(logger, resource_config.name).parse_orchestration_save_result( saved_artifact_info) configuration_flow.restore(**restore_params) logger.info('Orchestration restore completed')
def restore(self, context, path, configuration_type, restore_method, vrf_management_name): """Restore selected file to the provided destination :param ResourceCommandContext context: ResourceCommandContext object with all Resource Attributes inside :param path: source config file :param configuration_type: running or startup configs :param restore_method: append or override methods :param vrf_management_name: VRF management Name """ logger = LoggingSessionContext.get_logger_with_thread_id(context) api = CloudShellSessionContext(context).get_api() resource_config = NetworkingResourceConfig.from_context(shell_name=self.SHELL_NAME, supported_os=self.SUPPORTED_OS, context=context, api=api) if not configuration_type: configuration_type = 'running' if not restore_method: restore_method = 'override' if not vrf_management_name: vrf_management_name = resource_config.vrf_management_name cli_handler = self._cli.get_cli_handler(resource_config, logger) configuration_flow = ConfigurationFlow(cli_handler=cli_handler, logger=logger, resource_config=resource_config) logger.info('Restore started') configuration_flow.restore(path=path, restore_method=restore_method, configuration_type=configuration_type, vrf_management_name=vrf_management_name) logger.info('Restore completed')