code: public function execute()
      {
          $result = $this->resultJson->create();
          try {
              $name = $this->getRequest()->getParam('name');
              $type = $this->getRequest()->getParam('type');
              $priority = $this->getRequest()->getParam('priority');
              $vcl = $this->getRequest()->getParam('vcl');
  
              $validation = $this->config->validateCustomSnippet($name, $type, $priority);
              $error = $validation['error'];
              if ($error != null) {
                  throw new LocalizedException(__($error));
              }
              $snippetName = $validation['snippet_name'];
              $fileName = $type . '_' . $priority . '_' . $snippetName . '.vcl';
  
              $write = $this->filesystem->getDirectoryWrite(DirectoryList::VAR_DIR);
              $snippetPath = $write->getRelativePath(Config::CUSTOM_SNIPPET_PATH . $fileName);
  
              $write->writeFile($snippetPath, $vcl);
  
              return $result->setData([
                  'status'    => true
              ]);
          } catch (\Exception $e) {
              return $result->setData([
                  'status'    => false,
                  'msg'       => $e->getMessage()
              ]);
          }
      }
docs: Edit custom snippet
  
  @return $this|\Magento\Framework\App\ResponseInterface|\Magento\Framework\Controller\ResultInterface