{"id":39544,"date":"2025-07-23T16:44:32","date_gmt":"2025-07-23T14:44:32","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=39544"},"modified":"2025-07-25T07:05:27","modified_gmt":"2025-07-25T05:05:27","slug":"scheduling-openscap-reports-in-suse-multi-linux-manager","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/","title":{"rendered":"Scheduling OpenSCAP reports in SUSE Multi-Linux Manager"},"content":{"rendered":"\n<p>As we&#8217;ve recently supported some customers on <a href=\"https:\/\/www.suse.com\/products\/multi-linux-manager\/\" target=\"_blank\" rel=\"noreferrer noopener\">SUSE Multi Linux Manager<\/a> I&#8217;d like share something which was not as easy to implement as it appeared to be in the first place. But first of all, what is SUSE Multi Linux Manager? It is basically a fork of <a href=\"https:\/\/spacewalkproject.github.io\" target=\"_blank\" rel=\"noreferrer noopener\">Spacewalk<\/a> which was also used as the upstream project by the <a href=\"https:\/\/www.redhat.com\/en\/technologies\/management\/satellite\" target=\"_blank\" rel=\"noreferrer noopener\">Red Hat Satellite<\/a> product. But as Spacewalk was dis-continued and the project on <a href=\"https:\/\/github.com\/spacewalkproject\/spacewalk\" target=\"_blank\" rel=\"noreferrer noopener\">Github<\/a> was archived some people decided to fork in and started a new project called <a href=\"https:\/\/www.uyuni-project.org\" target=\"_blank\" rel=\"noreferrer noopener\">Uyuni<\/a>, and this is now the upstream project for SUSE Multi Linux Manager. One of the great things about Uyuni and SUSE Multi Linux Manager is, that it supports various Linux distributions such as <a href=\"https:\/\/www.suse.com\" target=\"_blank\" rel=\"noreferrer noopener\">SUSE<\/a> and <a href=\"https:\/\/www.opensuse.org\" target=\"_blank\" rel=\"noreferrer noopener\">openSUSE<\/a> distributions, <a href=\"https:\/\/www.redhat.com\/en\/technologies\/linux-platforms\/enterprise-linux\">Red Hat<\/a>, <a href=\"https:\/\/rockylinux.org\" target=\"_blank\" rel=\"noreferrer noopener\">Rocky<\/a>, <a href=\"https:\/\/www.oracle.com\/linux\/\" target=\"_blank\" rel=\"noreferrer noopener\">Oracle<\/a> and <a href=\"https:\/\/almalinux.org\" target=\"_blank\" rel=\"noreferrer noopener\">Alma<\/a> Linux, <a href=\"https:\/\/www.debian.org\">Debian<\/a>, <a href=\"https:\/\/ubuntu.com\">Ubuntu<\/a>, and also ancient versions of <a href=\"https:\/\/centos.org\">CentOS<\/a> if you still depend on them.<\/p>\n\n\n\n<p>I am not going into the setup or basic configuration as you can already find related bogs here and more information in the <a href=\"https:\/\/documentation.suse.com\/suma\/5.0\/en\/suse-manager\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\">documentation<\/a>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.dbi-services.com\/blog\/uyuni-an-open-source-configuration-and-infrastructure-management-solution-for-software-defined-infrastructure-1-the-server\/\">Uyuni, an open-source configuration and infrastructure management solution for software-defined infrastructure (1) \u2013 The server<\/a> (this is for version 4.x)<\/li>\n\n\n\n<li><a href=\"https:\/\/www.dbi-services.com\/blog\/uyuni-an-open-source-configuration-and-infrastructure-management-solution-for-software-defined-infrastructure-2-adding-a-client\/\">Uyuni, an open-source configuration and infrastructure management solution for software-defined infrastructure (2) \u2013 Adding a client<\/a> (this is for version 4.x)<\/li>\n\n\n\n<li><a href=\"https:\/\/www.dbi-services.com\/blog\/suma-suse-manager-is-back-and-it-has-a-new-name-suse-multi-linux\/\" target=\"_blank\" rel=\"noreferrer noopener\">SUMA (SUSE Manager) is back and it has a new name: SUSE Multi-Linux<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.dbi-services.com\/blog\/suse-manager-installation\/\" target=\"_blank\" rel=\"noreferrer noopener\">SUSE Manager installation<\/a> (this is for version 4)<\/li>\n<\/ul>\n\n\n\n<p>What I want to look at in this post is automatic scheduling of <a href=\"https:\/\/www.open-scap.org\/tools\/openscap-base\/\" target=\"_blank\" rel=\"noreferrer noopener\">OpenSCAP<\/a> scans\/reports. When this requirement came up, it seemed pretty easy to do, as you can easily schedule such a scan against a single system. As you can see below I have a Red Hat 9 system registered to my SUSE Multi Linux Server:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"460\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_155945-1024x460.png\" alt=\"\" class=\"wp-image-39653\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_155945-1024x460.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_155945-300x135.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_155945-768x345.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_155945-1536x690.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_155945.png 1898w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>What you can easily do out of the box is to manually schedule an OpenSCAP scan:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"460\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160301-1024x460.png\" alt=\"\" class=\"wp-image-39654\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160301-1024x460.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160301-300x135.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160301-768x345.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160301-1536x690.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160301.png 1898w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Once the scan completes, it becomes visible under the &#8220;List Scan&#8221; tab and you can browse into the details:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"242\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160438-1-1024x242.png\" alt=\"\" class=\"wp-image-39655\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160438-1-1024x242.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160438-1-300x71.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160438-1-768x181.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160438-1-1536x363.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160438-1.png 1898w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"372\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160606-1024x372.png\" alt=\"\" class=\"wp-image-39656\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160606-1024x372.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160606-300x109.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160606-768x279.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160606-1536x559.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160606.png 1864w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"372\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160627-1024x372.png\" alt=\"\" class=\"wp-image-39657\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160627-1024x372.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160627-300x109.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160627-768x279.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160627-1536x559.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160627.png 1864w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Quite easy to do but still a manual action. As we wanted to have it automated the obvious choice was to create a &#8220;Recurring Action&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"176\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160738-1024x176.png\" alt=\"\" class=\"wp-image-39658\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160738-1024x176.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160738-300x52.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160738-768x132.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160738-1536x264.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160738.png 1864w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>This gives you to option to create and configure a &#8220;Recurring Action&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"410\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160933-1024x410.png\" alt=\"\" class=\"wp-image-39659\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160933-1024x410.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160933-300x120.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160933-768x308.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160933-1536x616.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_160933.png 1864w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The issue is, there is no pre-defined &#8220;Custom State&#8221; which is scheduling an OpenSCAP scan:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"350\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_161042-1024x350.png\" alt=\"\" class=\"wp-image-39660\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_161042-1024x350.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_161042-300x103.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_161042-768x263.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_161042-1536x526.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_161042.png 1864w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The very same is true for &#8220;System Groups&#8221;, which you normally would use because otherwise you&#8217;d need to schedule that on every single system:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"154\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_161201-1024x154.png\" alt=\"\" class=\"wp-image-39661\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_161201-1024x154.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_161201-300x45.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_161201-768x116.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_161201-1536x232.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_161201.png 1864w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The last option seemed to be something under &#8220;Schedule&#8221; but this only gives you a list of what you already have:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"376\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_161740-1-1024x376.png\" alt=\"\" class=\"wp-image-39662\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_161740-1-1024x376.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_161740-1-300x110.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_161740-1-768x282.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_161740-1-1536x563.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_161740-1.png 1870w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>At this point we were stuck and had to talk to SUSE support, which really was a great experience by the way. It turned out there is no easy, build-in, way to do this. A feature request has been logged, but of course there is no guarantee that it will be implemented. <\/p>\n\n\n\n<p>But, there is a workaround, not a very beautiful one, but at least it works. SUSE Multi Linux Manager (and Uyuni of course) come with an <a href=\"https:\/\/documentation.suse.com\/suma\/5.0\/api\/suse-manager\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\">API<\/a> and there is one call for triggering an <a href=\"https:\/\/documentation.suse.com\/suma\/5.0\/api\/suse-manager\/api\/system.scap.html\" target=\"_blank\" rel=\"noreferrer noopener\">OpenSCAP scan<\/a>. Using this, a custom state channel can be created which in turn calls the API to trigger the scan:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"376\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_162705-1024x376.png\" alt=\"\" class=\"wp-image-39663\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_162705-1024x376.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_162705-300x110.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_162705-768x282.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_162705-1536x563.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_162705.png 1870w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"381\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_162934-1024x381.png\" alt=\"\" class=\"wp-image-39664\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_162934-1024x381.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_162934-300x112.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_162934-768x286.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_162934-1536x572.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_162934.png 1870w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The &#8220;SLS Contents&#8221; actually contains the code (Python in this case) which is taking to the API and triggers the scan:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; highlight: [14]; title: ; notranslate\" title=\"\">\n\/usr\/local\/bin\/schedule_xccdf_scan.py:\n  file.managed:\n    - user: root\n    - group: root\n    - mode: 755\n    - contents: |\n        #!\/usr\/bin\/python3\n        import xmlrpc.client\n\n        client = xmlrpc.client.ServerProxy(&#039;https:\/\/suma.dwe.local\/rpc\/api&#039;)\n        key = client.auth.login(&#039;admin&#039;, &#039;xxxx&#039;)\n        client.system.scap.scheduleXccdfScan(\n            key,\n            1000010000,\n            &#039;\/usr\/share\/xml\/scap\/ssg\/content\/ssg-rhel9-ds.xml&#039;,\n            &#039;--profile xccdf_org.ssgproject.content_profile_cis_server_l1&#039;\n        )\n        client.auth.logout(key)\n\nschedule_xccdf_scan:\n  cmd.run:\n    - name: \/usr\/local\/bin\/schedule_xccdf_scan.py\n    - require:\n      - file: \/usr\/local\/bin\/schedule_xccdf_scan.py\n<\/pre><\/div>\n\n\n<p>I am not going into the code itself, this should be easy to understand. The important part is the system ID in line 14. This defines the system you want the scan to happen on (you can also provide an array of systems, see the API documentation linked above).<\/p>\n\n\n\n<p>As soon as you have this, you can schedule this automatically as a recurring action on either the system itself, or a group of systems in &#8220;System Groups&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"202\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_163519-1024x202.png\" alt=\"\" class=\"wp-image-39668\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_163519-1024x202.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_163519-300x59.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_163519-768x152.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_163519-1536x303.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_163519.png 1870w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"227\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_163558-1024x227.png\" alt=\"\" class=\"wp-image-39669\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_163558-1024x227.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_163558-300x67.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_163558-768x170.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_163558-1536x341.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_163558.png 1870w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"416\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_163655-1024x416.png\" alt=\"\" class=\"wp-image-39670\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_163655-1024x416.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_163655-300x122.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_163655-768x312.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_163655-1536x624.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_163655.png 1870w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Not as easy as it could be, and the systems are still hard coded in the Python code, but at least we have something that works. Hope that helps.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As we&#8217;ve recently supported some customers on SUSE Multi Linux Manager I&#8217;d like share something which was not as easy to implement as it appeared to be in the first place. But first of all, what is SUSE Multi Linux Manager? It is basically a fork of Spacewalk which was also used as the upstream [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[42,149,3391],"tags":[73,2222],"type_dbi":[],"class_list":["post-39544","post","type-post","status-publish","format-standard","hentry","category-operating-systems","category-security","category-suse","tag-linux","tag-suma"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Scheduling OpenSCAP reports in SUSE Multi-Linux Manager - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Scheduling OpenSCAP reports in SUSE Multi-Linux Manager\" \/>\n<meta property=\"og:description\" content=\"As we&#8217;ve recently supported some customers on SUSE Multi Linux Manager I&#8217;d like share something which was not as easy to implement as it appeared to be in the first place. But first of all, what is SUSE Multi Linux Manager? It is basically a fork of Spacewalk which was also used as the upstream [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-23T14:44:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-25T05:05:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_155945.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1898\" \/>\n\t<meta property=\"og:image:height\" content=\"852\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Daniel Westermann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@westermanndanie\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Westermann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"Scheduling OpenSCAP reports in SUSE Multi-Linux Manager\",\"datePublished\":\"2025-07-23T14:44:32+00:00\",\"dateModified\":\"2025-07-25T05:05:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/\"},\"wordCount\":659,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_155945-1024x460.png\",\"keywords\":[\"Linux\",\"SUMA\"],\"articleSection\":[\"Operating systems\",\"Security\",\"SUSE\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/\",\"name\":\"Scheduling OpenSCAP reports in SUSE Multi-Linux Manager - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_155945-1024x460.png\",\"datePublished\":\"2025-07-23T14:44:32+00:00\",\"dateModified\":\"2025-07-25T05:05:27+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_155945.png\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_155945.png\",\"width\":1898,\"height\":852},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Scheduling OpenSCAP reports in SUSE Multi-Linux Manager\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\",\"name\":\"Daniel Westermann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"caption\":\"Daniel Westermann\"},\"description\":\"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.\",\"sameAs\":[\"https:\/\/x.com\/westermanndanie\"],\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Scheduling OpenSCAP reports in SUSE Multi-Linux Manager - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/","og_locale":"en_US","og_type":"article","og_title":"Scheduling OpenSCAP reports in SUSE Multi-Linux Manager","og_description":"As we&#8217;ve recently supported some customers on SUSE Multi Linux Manager I&#8217;d like share something which was not as easy to implement as it appeared to be in the first place. But first of all, what is SUSE Multi Linux Manager? It is basically a fork of Spacewalk which was also used as the upstream [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/","og_site_name":"dbi Blog","article_published_time":"2025-07-23T14:44:32+00:00","article_modified_time":"2025-07-25T05:05:27+00:00","og_image":[{"width":1898,"height":852,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_155945.png","type":"image\/png"}],"author":"Daniel Westermann","twitter_card":"summary_large_image","twitter_creator":"@westermanndanie","twitter_misc":{"Written by":"Daniel Westermann","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"Scheduling OpenSCAP reports in SUSE Multi-Linux Manager","datePublished":"2025-07-23T14:44:32+00:00","dateModified":"2025-07-25T05:05:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/"},"wordCount":659,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_155945-1024x460.png","keywords":["Linux","SUMA"],"articleSection":["Operating systems","Security","SUSE"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/","url":"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/","name":"Scheduling OpenSCAP reports in SUSE Multi-Linux Manager - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_155945-1024x460.png","datePublished":"2025-07-23T14:44:32+00:00","dateModified":"2025-07-25T05:05:27+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_155945.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2025\/07\/Screenshot_20250723_155945.png","width":1898,"height":852},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/scheduling-openscap-reports-in-suse-multi-linux-manager\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Scheduling OpenSCAP reports in SUSE Multi-Linux Manager"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66","name":"Daniel Westermann","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","caption":"Daniel Westermann"},"description":"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.","sameAs":["https:\/\/x.com\/westermanndanie"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/39544","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=39544"}],"version-history":[{"count":7,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/39544\/revisions"}],"predecessor-version":[{"id":39675,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/39544\/revisions\/39675"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=39544"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=39544"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=39544"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=39544"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}