{"id":1859,"date":"2011-12-27T13:00:29","date_gmt":"2011-12-27T19:00:29","guid":{"rendered":"http:\/\/www.jasemccarty.com\/blog\/?p=1859"},"modified":"2011-12-30T09:23:28","modified_gmt":"2011-12-30T15:23:28","slug":"vmware-update-manager-download-service-on-windows-2008-r2-core","status":"publish","type":"post","link":"https:\/\/www.jasemccarty.com\/blog\/vmware-update-manager-download-service-on-windows-2008-r2-core\/","title":{"rendered":"VMware Update Manager Download Service on Windows 2008 R2 Core"},"content":{"rendered":"<p><strong>Have to(?) access the Internet to download patches<\/strong><br \/>\nUsing the default configuration of vSphere Update Manager, it must be able to connect to the Internet to download vSphere patches.\u00a0 This configuration is not always possible, depending on network architecture, policies, security configuration, or other reasons.\u00a0 Often times, simply using a proxy will accommodate the requirement of getting to the Internet to download patches.<\/p>\n<p>But what if there is a situation, for what ever reason, that you do not want to allow the server where VMware Update Manager is running to access the Internet?\u00a0 I talked to a customer not too long ago about the process of patching vSphere hosts in a situation such as this.\u00a0 In vSphere 4, it was somewhat bothersome using the VMware vSphere CLI, as opposed to using Update Manager.\u00a0 Also, when only using the VMware vSphere CLI, it is hard to get a good graphical representation of how a host is patched.\u00a0 VMware Update Manager does this well.\u00a0 But what if the server running VMware Update Manager is not going to be allowed online to download patches?<\/p>\n<p><strong>VMware Update Manager Download Service<\/strong> provides the ability to create a local repository of vSphere patches and Virtual Appliance patches. Jason Horn posted an article on the process for vSphere 4.x back in 2010. You can find his article here: <a title=\"VMware Update Manager Download Service\" href=\"http:\/\/virtuallygone.wordpress.com\/2010\/02\/08\/vmware-update-manager-download-service\/\" target=\"_blank\"><strong>VMware Update Manager Download Service<\/strong><\/a><\/p>\n<p><!--more-->Not much has changed with vSphere 5.0, other than to say that Windows and Linux guest patches are no longer available, given that VMware removed guest patching in vSphere 5.\u00a0 In all honesty, I have seen the <strong>umds<\/strong> folder for a while, but never paid much attention to it before the conversation I had with the customer.\u00a0 I knew it was there, but had never really looked into it.<\/p>\n<p><strong>The UMDS Server<\/strong><br \/>\nI went about installing a UMDS server, following Jason Horn&#8217;s instructions.\u00a0 Again UMDS for vSphere 4.x isn&#8217;t much different than UMDS for vSphere 5. There are some basic requirements for .Net and a SQL database for UMDS to run. The other thing to consider, is how are the updates going to be made available to Update Manager instances on the network?<\/p>\n<p>By default, UMDS only downloads the patches.\u00a0 That&#8217;s it.<\/p>\n<p>Given that UMDS runs on Windows, why not use Internet Information Services to serve the patches\/content for vSphere updates? And while I&#8217;m at it&#8230; Why not use Windows Server 2008 R2 Core.\u00a0 In the past, I have seen success using Windows Server Core editions as web servers.\u00a0 They have a smaller attack footprint, and given that there is almost never a need to log onto them locally.\u00a0 Why not choose a Windows Server Core installation for the UMDS server?<\/p>\n<p><a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/2008-R2-Web-VMTools.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-thumbnail wp-image-1862\" title=\"2008-R2-Web-VMTools\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/2008-R2-Web-VMTools-150x150.png\" alt=\"\" width=\"150\" height=\"150\" \/><\/a><strong>Installing Windows Web Server 2008 R2 Core<\/strong><br \/>\nI installed Windows Web Server 2008 R2 (Server Core) in an VM, but before I added it to the lab domain, I installed the VMware Tools.\u00a0 This can be done pretty easily with the VMware Tools setup for vSphere 5.\u00a0 By selecting Install\/Upgrade VMware Tools from the vSphere Client, and choosing Interactive ToolsUpgrade, simply run setup64.exe from the command line from the CD-ROM drive.\u00a0 I chose to install the tools before doing anything else, given that I chose VMXNET3 as the nic type, and Windows Server 2008 R2 doesn&#8217;t recognize it without the VMware Tools installed.<\/p>\n<p><a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/2008-R2-SCONFIG-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-thumbnail wp-image-1866\" title=\"2008-R2-SCONFIG-1\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/2008-R2-SCONFIG-1-150x150.png\" alt=\"\" width=\"150\" height=\"150\" \/><\/a>If you haven&#8217;t used Server Core, basic configurations can be done using sconfig.cmd.\u00a0 I started with updating the IP address, updating DNS settings, changing the computer name, adding the server to Active Directory, and downloading\/installing updates.\u00a0 A side note, I added this server to Active Directory, but for the purpose of using this Server Core system as a VMware UMDS server, it isn&#8217;t needed.\u00a0 With Active Directory, GPOs, and a local WSUS server, it isn&#8217;t necessary for me to constantly download updates from Microsoft.\u00a0 I&#8217;m not going to go into to the benefits of WSUS in a lab, other than to say, it can significantly reduce bandwidth use if you setup and tear down servers often.<\/p>\n<p>The basic Core configuration will not allow for the installation of UMDS, because .NET is not enabled by default.\u00a0 In addition to that, I want to use IIS to provide the interface for individual Update Manager installations to use for updates.\u00a0 To enable both .NET and IIS, I used a script that I pieced together after some Googling. (If I find the specific sites I used, I&#8217;ll update this post with references.)\u00a0 I&#8217;m not going to go deep into the script, but the &#8220;Deployment Image Servicing &amp; Management&#8221; tool (DISM) is one of the primary resources I used to enable features in Server 2008 R2 Core, along with PowerShell, and some good old fashioned command line utilities.<\/p>\n<p>The script to enable .NET &amp; IIS:<\/p>\n<blockquote><p>dism \/online \/enable-feature \/featurename:NetFx2-ServerCore<br \/>\ndism \/online \/enable-feature \/featurename:NetFx3-ServerCore<br \/>\ndism \/online \/enable-feature \/featurename:NetFx2-ServerCore-WOW64<br \/>\ndism \/online \/enable-feature \/featurename:NetFx3-ServerCore-WOW64<br \/>\ndism \/online \/enable-feature \/featurename:IIS-WebServerRole<br \/>\ndism \/online \/enable-feature \/featurename:IIS-ISAPIFilter<br \/>\ndism \/online \/enable-feature \/featurename:IIS-ISAPIExtensions<br \/>\ndism \/online \/enable-feature \/featurename:IIS-NetFxExtensibility<br \/>\ndism \/online \/enable-feature \/featurename:IIS-ASPNET<br \/>\ndism \/online \/enable-feature \/featurename:MicrosoftWindowsPowerShell<br \/>\ndism \/online \/enable-feature \/featurename:IIS-ManagementService<\/p>\n<p>\\windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe set-executionpolicy unrestricted<br \/>\n\\windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe import-module WebAdministration<br \/>\n\\windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe get-command -pssnapin WebAdministration<\/p>\n<p>reg add HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\WebManagement\\Server \/v EnableRemoteManagement \/t REG_DWORD \/d 1<\/p>\n<p>sc config wmsvc start= auto<\/p>\n<p>net start wmsvc<\/p><\/blockquote>\n<p><strong>Installing UMDS<\/strong><br \/>\n<a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/2008-R2-UMDS.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-thumbnail wp-image-1875\" title=\"2008-R2-UMDS\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/2008-R2-UMDS-150x150.png\" alt=\"\" width=\"150\" height=\"150\" \/><\/a>Now that I have a Server 2008 R2 Core installation with .NET and an IIS installation, I can proceed with installing UMDS. I started by attaching the VMware vCenter 5.0 iso to my VM.<\/p>\n<p>With my CD-ROM drive being E:, I changed my active drive to the E: drive.\u00a0 The UMDS installable is located in the the UMDS folder.\u00a0 After changing active directories to E:\\umds, I ran vmware-umds.exe to get the ball rolling.<\/p>\n<p>The installation should not complain about .NET pieces missing.\u00a0 If you haven&#8217;t run the contents of the above script, you will likely get an error stating &#8220;You must use the Role Management Tool to install or configure Microsoft .NET Framework 3.5 SP1.&#8221;<\/p>\n<p>Be sure to enable .NET and IIS either through the script, or manually to enable the UMDS installation.<\/p>\n<p><a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/2008-R2-UMDS-DB.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-thumbnail wp-image-1881\" title=\"2008-R2-UMDS-DB\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/2008-R2-UMDS-DB-150x150.png\" alt=\"\" width=\"150\" height=\"150\" \/><\/a><\/p>\n<p>Keep in mind that UMDS uses a database, just like Update Manager.\u00a0 This can reside locally or remotely, again just like Update Manager. For the purposes of the lab, I chose the default SQL Server 2008 R2 Express installation that UMDS defaults to.<\/p>\n<p>I would like for the installation to be self sufficient, as I will likely take the server off of the domain, and isolate it in a DMZ.\u00a0 Connecting to a remote database kind of gets in the way of doing things like that, without some exceptions.<\/p>\n<p><a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/2008-R2-UMDS-DATA.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-thumbnail wp-image-1888\" title=\"2008-R2-UMDS-DATA\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/2008-R2-UMDS-DATA-150x150.png\" alt=\"\" width=\"150\" height=\"150\" \/><\/a><\/p>\n<p>From a configuration perspective, I also wanted to make sure I could grow my patch download location, without having to modify the C: drive (or vmdk).\u00a0 When installing the server, I also created a D: drive for the storage of patches.\u00a0 I created a separate drive so I would have the flexibility of keeping downloaded patches in the event I were to reinstall the OS on the C: drive.<\/p>\n<p>Using a separate .vmdk to store updates on gives me additional flexibility.\u00a0 I can easily reuse it in the future for other UMDS installations or even for installations where I choose to leverage the normal Update Manager.<\/p>\n<p><a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/2008-R2-MSXML4-ERROR.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-1893\" title=\"2008-R2-MSXML4-ERROR\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/2008-R2-MSXML4-ERROR.png\" alt=\"\" width=\"183\" height=\"85\" srcset=\"https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/2008-R2-MSXML4-ERROR.png 365w, https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/2008-R2-MSXML4-ERROR-300x138.png 300w\" sizes=\"auto, (max-width: 183px) 100vw, 183px\" \/><\/a>During the installation you may come across this error:<\/p>\n<p>Rest assured, this is &#8220;normal.&#8221; <strong><a title=\"MS06-071: Security update for Microsoft XML Core Services 4.0\" href=\"http:\/\/support.microsoft.com\/kb\/927978\" target=\"_blank\">Microsoft KB Article 927978<\/a><\/strong> states that it may be ignored, but make sure you patch the system afterward.<\/p>\n<p><strong>Configuring UMDS to download patches<\/strong><br \/>\nUMDS 5.0 has the ability to provide patches for vSphere 5.0\/4.x, &amp; VI3, as well as virtual appliance updates.<\/p>\n<p><a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/2008-R2-UMDS-CONFIG.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-thumbnail wp-image-1909\" title=\"2008-R2-UMDS-CONFIG\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/2008-R2-UMDS-CONFIG-150x150.png\" alt=\"\" width=\"150\" height=\"150\" \/><\/a>To start configuring UMDS, change to the C: drive, and change the directory to C:\\Program Files (x86)\\VMware\\Infrastructure\\Update Manager.\u00a0 VMware-umds.exe is used to configure what is downloaded.\u00a0\u00a0 Type vmware-umds.exe by itself to see a list of options.<\/p>\n<p>I chose to disable updates for VI3 &amp; vSphere 4, as I don&#8217;t have any of them in my lab now, and did not see a need to download the patches for them.\u00a0 Here is the command to disable downloads: <strong>vmware-umds -S -d &lt;package-name&gt; <\/strong><strong><strong>&lt;package-name&gt; <\/strong><\/strong><\/p>\n<p>The packages available are:<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>package-name<\/strong><\/td>\n<td><strong>VMware version<\/strong><\/td>\n<\/tr>\n<tr>\n<td>esx-3.5.0<\/td>\n<td>ESX 3.5.0<\/td>\n<\/tr>\n<tr>\n<td>embeddedEsx-3.5.0<\/td>\n<td>ESXi 3.5.0<\/td>\n<\/tr>\n<tr>\n<td>esx-4.0.0<\/td>\n<td>ESX 4.0.0<\/td>\n<\/tr>\n<tr>\n<td>embeddedEsx-4.0.0<\/td>\n<td>ESXi 4.0.0<\/td>\n<\/tr>\n<tr>\n<td>esx-4.1.0<\/td>\n<td>ESX 4.1.0<\/td>\n<\/tr>\n<tr>\n<td>embeddedEsx-4.1.0<\/td>\n<td>ESXi 4.1.0<\/td>\n<\/tr>\n<tr>\n<td>embeddedEsx-5.0.0<\/td>\n<td>ESXi 5.0.0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Additionally <strong>vmware-umds -S -e &lt;package-name&gt; <\/strong><strong><strong>&lt;package-name&gt;\u00a0<\/strong><\/strong>may be used to enable packages for download.\u00a0 Using <strong>vmware-umds -G <\/strong>will show a list of the packages that are currently configured for download.<\/p>\n<p>Downloading of Virtual Appliances is turned on by default, and can be disabled using: <strong>vmware-umds -S &#8211;disable-va<\/strong> or re-enabled using: <strong>vmware-umds -S &#8211;enable-va<\/strong><\/p>\n<p>Use <strong>vmware-umds -D<\/strong> to start the downloading patches.<\/p>\n<p>Downloading patches is a manual process, so a scheduled task will have to be setup to download patches on a regular basis. Schtasks.exe is the command line to for creating scheduled tasks.<\/p>\n<p><strong>Schtasks \/Create \/SC Daily \/ST 23:00 \/TN &#8220;Download Updates&#8221; \/TR &#8220;&#8216;c:\\program files (x86)\\VMware\\Infrastructure\\Update Manager\\vmware-umds.exe&#8217; -D&#8221;<\/strong> will schedule the download for every night at 11:00pm.<\/p>\n<p>Here is an explanation of the parameters I used:<\/p>\n<ul>\n<li>SC &#8211; Interval<\/li>\n<li>ST &#8211; Start Time<\/li>\n<li>TN &#8211; Task Name<\/li>\n<li>TR &#8211; Task to Run<\/li>\n<\/ul>\n<p>There are more parameters, to see these, type <strong>schtasks.exe \/?\u00a0 <\/strong>Also, <strong>schtasks \/query<\/strong> will show the current scheduled tasks.<strong><\/strong><\/p>\n<p><strong>Configuring the IIS installation<br \/>\n<\/strong>The initial scripting from earlier creates the IIS web site.\u00a0 By default, IIS creates a &#8220;document root&#8221; located in C:\\inetpub\\wwwroot.\u00a0 To easily add the UMDS data directories to IIS, appcmd.exe can be used to create a virtual directory, that points to D:\\data, created earlier.\u00a0 Thanks to David Davis for the tip on making this work from the command line: <strong><a title=\"Configuring IIS 7 from the command line using Appcmd.exe (Part 1)\" href=\"http:\/\/www.windowsnetworking.com\/articles_tutorials\/Configuring-IIS-7-command-line-Appcmdexe-Part1.html\" target=\"_blank\">Configuring IIS 7 from the command line using Appcmd.exe (Part 1)<\/a><\/strong><\/p>\n<p>To add \/umds to the IIS site, use the following command:<strong> c:\\Windows\\system32\\inetsrv\\appcmd.exe add vdir \/app.name:&#8221;Default Web Site\/&#8221; \/path:\/umds \/physicalPath:d:\\data<\/strong><\/p>\n<p><a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/UMDS-WEB-CONFIRM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1931\" title=\"UMDS-WEB-CONFIRM\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/UMDS-WEB-CONFIRM.png\" alt=\"\" width=\"240\" height=\"97\" srcset=\"https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/UMDS-WEB-CONFIRM.png 480w, https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/UMDS-WEB-CONFIRM-300x121.png 300w\" sizes=\"auto, (max-width: 240px) 100vw, 240px\" \/><\/a>To confirm the virtual directory is configured properly, enter the following URL: <strong>http:\/\/umdsserver\/umds\/version.txt<\/strong>. If you see &#8220;Created with VMware Update Manager Download Service 5.0.0&#8221; the virtual directory is properly configured.<\/p>\n<p><strong>Update:<\/strong> The subdirectories below the root of the virtual directory will need to have permissions updated for IIS to be able to read them. I used CACLS to update this. <em>Note: improper use of CACLS can destroy file permissions.\u00a0 <\/em>The command used is: <strong>cacls d:\\data \/E \/G IIS_IUSRS:R<\/strong><em><br \/>\n<\/em><\/p>\n<ul>\n<li>\/E &#8211; To edit the ACLS (Very Important)<\/li>\n<li>\/G &#8211; Grant<\/li>\n<li>IIS_IUSRS:R &#8211; Read access to the local IIS_IUSRS group<\/li>\n<\/ul>\n<p><strong>Update:<\/strong> <em>Two items I failed to document, were the MIME-type configurations for .vib and .sig files.\u00a0 I&#8217;d like to thank David Vekemans for reminding me to add this piece, via comment.<\/em><\/p>\n<p>Properly configured <strong><a title=\"Internet Media Type\" href=\"http:\/\/en.wikipedia.org\/wiki\/Internet_media_type\" target=\"_blank\">MIME-types<\/a><\/strong> settings are important, because the .vib &amp; .sig files cannot be downloaded from the UMDS server without them. To add them, appcmd.exe will be used again. <em>Note: Application\/Octet-Stream is required, per the <strong><a title=\"Associate the UMDS Depot with Update Manager Server Using IIS\" href=\"http:\/\/pubs.vmware.com\/vsphere-50\/topic\/com.vmware.vsphere.update_manager.doc_50\/GUID-B189D5D3-0244-463E-91D8-854658EDD9F5.html\" target=\"_blank\">vSphere 5 Documentation<\/a><\/strong>.<\/em><\/p>\n<ul>\n<li>For .vib files<br \/>\n<strong>c:\\windows\\system32\\inetsrv\\appcmd set config \/section:staticContent \/+&#8221;[fileExtension=&#8217;.vib&#8217;,mimeType=&#8217;application\/octet-stream&#8217;]&#8221;<\/strong><\/li>\n<li>For .sig files<br \/>\n<strong>c:\\windows\\system32\\inetsrv\\appcmd set config \/section:staticContent \/+&#8221;[fileExtension=&#8217;.sig&#8217;,mimeType=&#8217;application\/octet-stream&#8217;]&#8221;<\/strong><\/li>\n<\/ul>\n<p><strong>Configuring vCenter Update Manager to point at the UMDS Server<\/strong><br \/>\nThe only remaining task is to point any new or existing Update Manager installations to the UMDS Server.\u00a0 This has to be done from the Update Manager plug-in from the vSphere Client.<\/p>\n<p><a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/UM-CONFIG.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1936\" title=\"UM-CONFIG\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/UM-CONFIG.png\" alt=\"\" width=\"197\" height=\"92\" srcset=\"https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/UM-CONFIG.png 788w, https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/UM-CONFIG-300x140.png 300w\" sizes=\"auto, (max-width: 197px) 100vw, 197px\" \/><\/a>From the Home screen of the vSphere Client, choose <strong>Update Manager<\/strong> from <strong>Solutions and Applications<\/strong>.\u00a0 Then choose the <strong>Configuration<\/strong> tab.\u00a0 Select the &#8220;<strong>Use a shared repository<\/strong>&#8221; radio button, and enter the UMDS server URL: <strong>http:\/\/umdsserver\/umds\/<\/strong> followed by clicking &#8220;<strong>Validate URL<\/strong>.&#8221;<\/p>\n<p><a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/UM-CONFIG-VALIDATED.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1941\" title=\"UM-CONFIG-VALIDATED\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2011\/12\/UM-CONFIG-VALIDATED.png\" alt=\"\" width=\"75\" height=\"25\" \/><\/a><\/p>\n<p>If a green check appears, followed by &#8220;<strong>Connected<\/strong>&#8221; everything is working properly.\u00a0 Click &#8220;<strong>Apply<\/strong>&#8221; to the right to commit the configuration change.<\/p>\n<p><strong>In Summary<br \/>\n<\/strong>In a similar fashion to WSUS, UMDS provides a centralized patch repository for multiple VMware Update Manager installations.<\/p>\n<p>In organizations that have multiple VUM installations, such as Production, Test, Staging, &amp; Development, UMDS acts as a single update source for ESX, ESXi, &amp; Virtual Appliances.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Have to(?) access the Internet to download patches Using the default configuration of vSphere Update Manager, it must be able to connect to the Internet &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[120,121,119],"class_list":["post-1859","post","type-post","status-publish","format-standard","hentry","category-virtualization","tag-core","tag-r2","tag-vum"],"_links":{"self":[{"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/posts\/1859","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/comments?post=1859"}],"version-history":[{"count":98,"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/posts\/1859\/revisions"}],"predecessor-version":[{"id":1968,"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/posts\/1859\/revisions\/1968"}],"wp:attachment":[{"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/media?parent=1859"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/categories?post=1859"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/tags?post=1859"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}