{"id":192,"date":"2017-07-29T03:31:53","date_gmt":"2017-07-29T03:31:53","guid":{"rendered":"http:\/\/cirwordpress.azurewebsites.net\/?p=192"},"modified":"2017-07-29T03:32:56","modified_gmt":"2017-07-29T03:32:56","slug":"azure-dsc-net-3-5","status":"publish","type":"post","link":"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/","title":{"rendered":"Azure DSC and .NET 3.5"},"content":{"rendered":"<p>In this post I will walk you through the process of installing .NET 3.5 with Azure DSC. \u00a0A few OS versions back Microsoft decided to remove the source .cab for .NET 3.5 from Windows Server.\u00a0 Reasons for removing the source files or installing .NET 3.5 at all aside, you probably landed on this page because you want to deploy .NET 3.5 with Azure Desired State Configuration but running into trouble.<\/p>\n<p>The source of the issue is the \u201cRemoved\u201d install state for .NET Framework 3.5.\u00a0 You can see this by running the PowerShell command<\/p>\n<pre>Get-WindowsFeature -name NET*<\/pre>\n<p><a href=\"http:\/\/www.ciraltos.com\/wp-content\/uploads\/2017\/07\/NET_1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-193\" title=\"NET_1\" src=\"http:\/\/www.ciraltos.com\/wp-content\/uploads\/2017\/07\/NET_1.png\" alt=\"\" width=\"692\" height=\"324\" srcset=\"https:\/\/www.ciraltos.com\/staging2\/wp-content\/uploads\/2017\/07\/NET_1.png 692w, https:\/\/www.ciraltos.com\/staging2\/wp-content\/uploads\/2017\/07\/NET_1-300x140.png 300w\" sizes=\"(max-width: 692px) 100vw, 692px\" \/><\/a><\/p>\n<p><!--more-->The manual install of .NET 3.5 is as simple as mounting the install media and pointing at the \\sources\\sxs\\ directory.\u00a0 Not so simple with Desired State Configuration.\u00a0 The good news is it\u2019s not that difficult either.\u00a0 And once you set it up, subsequent installs become a snap.\u00a0 Below I walk through the process for Microsoft Windows Server 2016.\u00a0 The steps are probably similar for 2012 R2.<\/p>\n<h2>Step 1, upload the .cab file<\/h2>\n<p>You need access to the source media and an Azure Storage account for this step.\u00a0 Log into the Azure portal and go to the storage account of your choice and open Files.\u00a0 Create a new file share, I\u2019m naming mine sxs2016.<\/p>\n<p><a href=\"http:\/\/www.ciraltos.com\/wp-content\/uploads\/2017\/07\/NET_2.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-195\" title=\"NET_2\" src=\"http:\/\/www.ciraltos.com\/wp-content\/uploads\/2017\/07\/NET_2.png\" alt=\"\" width=\"621\" height=\"427\" srcset=\"https:\/\/www.ciraltos.com\/staging2\/wp-content\/uploads\/2017\/07\/NET_2.png 621w, https:\/\/www.ciraltos.com\/staging2\/wp-content\/uploads\/2017\/07\/NET_2-300x206.png 300w\" sizes=\"(max-width: 621px) 100vw, 621px\" \/><\/a><\/p>\n<p>Now it\u2019s time to upload the .cab file.\u00a0 Open the file share you just created and select upload.\u00a0 Navigate to the source media (D: in my case) D:\\source\\sxs select and upload the cab file.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-196\" src=\"http:\/\/www.ciraltos.com\/wp-content\/uploads\/2017\/07\/NET_3.png\" alt=\"NET_3\" width=\"522\" height=\"256\" srcset=\"https:\/\/www.ciraltos.com\/staging2\/wp-content\/uploads\/2017\/07\/NET_3.png 522w, https:\/\/www.ciraltos.com\/staging2\/wp-content\/uploads\/2017\/07\/NET_3-300x147.png 300w\" sizes=\"(max-width: 522px) 100vw, 522px\" \/><\/p>\n<p>Once it\u2019s uploaded, go to the properties of the share, copy and save the URL for later.\u00a0 It should look like the line below.<\/p>\n<pre>https:\/\/storagesample.file.core.windows.net\/sxs2016<\/pre>\n<p>Next, go back to the storage account and go to Access Keys.\u00a0 You will need two items from this page, the Storage Account Name and an Access key.\u00a0 Make note of the account name and one of the keys for the next step.<\/p>\n<blockquote style=\"border: 2px solid #666; padding: 10px; background-color: #ccc;\"><p>*Note that you will need to update the next steps if you regenerate the storage key.<\/p><\/blockquote>\n<h2><\/h2>\n<h2>Step 2, authentication<\/h2>\n<p>Now that the file is uploaded and you have account settings, go back to your Azure Automation account and open Credentials.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-198\" src=\"http:\/\/www.ciraltos.com\/wp-content\/uploads\/2017\/07\/NET_4.png\" alt=\"NET_4\" width=\"308\" height=\"271\" srcset=\"https:\/\/www.ciraltos.com\/staging2\/wp-content\/uploads\/2017\/07\/NET_4.png 308w, https:\/\/www.ciraltos.com\/staging2\/wp-content\/uploads\/2017\/07\/NET_4-300x264.png 300w\" sizes=\"(max-width: 308px) 100vw, 308px\" \/><\/p>\n<p>Give the credential set a name and make a note of it, you will need it when you compile the DSC configuration.\u00a0 Enter the storage account name (noted in step 1) as the user name, and the Access key as the password.\u00a0 Save and move to the next step.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-197\" src=\"http:\/\/www.ciraltos.com\/wp-content\/uploads\/2017\/07\/NET_5.png\" alt=\"NET_5\" width=\"392\" height=\"502\" srcset=\"https:\/\/www.ciraltos.com\/staging2\/wp-content\/uploads\/2017\/07\/NET_5.png 392w, https:\/\/www.ciraltos.com\/staging2\/wp-content\/uploads\/2017\/07\/NET_5-234x300.png 234w\" sizes=\"(max-width: 392px) 100vw, 392px\" \/><\/p>\n<h2>Step 3, DSC file resource<\/h2>\n<p>The next step will tell DSC to place the file from Azure File servers onto the server.\u00a0 To start, we need to add a mandatory parameter for the storage account.<\/p>\n<pre> Param \r\n ( \r\n  [parameter(Mandatory = $true)]\r\n  [PSCredential]$storageCredentials\r\n )<\/pre>\n<p>After that, go to the Node section and add two file resources as shown below.<\/p>\n<p>&nbsp;<\/p>\n<pre>      ###################################\r\n      # File Copy Section\r\n      # Copy .NET 3.5 source for feature install\r\n      ###################################\r\n       File NETSource {\r\n           Type = \"directory\"\r\n           DestinationPath = \"C:\\NETSource\"\r\n           Ensure = \"Present\"\r\n          }\r\n       File DotNet351SXS {\r\n          Credential = $storageCredentials\r\n          DestinationPath = \"C:\\NETSource\\microsoft-windows-netfx3-ondemand-package.cab\"\r\n          SourcePath = \"\\\\storagesample.file.core.windows.net\\netsxs\\microsoft-windows-netfx3-ondemand-package.cab\"\r\n           Type = \"File\"\r\n           Ensure = \"Present\"\r\n           DependsOn = \"[File]NETSource\"\r\n          }\r\n<\/pre>\n<p>The first File resource, NETSource, creates the directory on the local server for the .cab file.<\/p>\n<p>The second File resource, DotNet351SXS uses the credentials (account name and access key) to copy the file from the Azure file source to the local C:\\drive.<\/p>\n<p>A couple things to note on the second File resource.\u00a0 You need to specify the file name on both the source and destination path.\u00a0 The source path is the same as the URL copied in the first step, only modified from a URL to a UNC path for the file copy operation.\u00a0 Also, I added a DependsOn statement to verify the destination path exists before the .cab file is copied.<\/p>\n<h2>Step 4, Windows Feature<\/h2>\n<p>In this step, we enable the Windows Feature for .net 3.5.\u00a0 Unlike other resources a source path is required.\u00a0 I also added a DependsOn statement to make sure the file exists on the server.<\/p>\n<pre> WindowsFeature DotNET351 {\r\n    Name = \"NET-Framework-Core\"\r\n    Ensure = \"present\"\r\n    Source = \"C:\\NETSource\"\r\n    DependsOn = \"[File]DotNet351SXS\"\r\n   }<\/pre>\n<p>&nbsp;<\/p>\n<h2>Step 5, publish and Compile<\/h2>\n<p>Once you have the configuration file finished it\u2019s time to upload it to Azure Automation.\u00a0 Log into the portal and go to DSC Configurations.\u00a0 Add the configuration file created in the previous steps.<\/p>\n<p>After uploading the DSC configuration, you will need to compile it.\u00a0 As you compile the configuration you \u00a0will be asked for the storage credential.\u00a0 Enter the name you gave the credentials (not the actual storage account name, the name of the credential resource) and compile the file.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-199\" src=\"http:\/\/www.ciraltos.com\/wp-content\/uploads\/2017\/07\/NET_6.png\" alt=\"NET_6\" width=\"372\" height=\"163\" srcset=\"https:\/\/www.ciraltos.com\/staging2\/wp-content\/uploads\/2017\/07\/NET_6.png 372w, https:\/\/www.ciraltos.com\/staging2\/wp-content\/uploads\/2017\/07\/NET_6-300x131.png 300w\" sizes=\"(max-width: 372px) 100vw, 372px\" \/><\/p>\n<p>That\u2019s it.\u00a0 Providing the configuration compiled successfully, you can apply the configuration to a node in your environment.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this post I will walk you through the process of installing .NET 3.5 with Azure DSC. \u00a0A few OS versions back Microsoft decided to remove the source .cab for .NET 3.5 from Windows Server.\u00a0 Reasons for removing the source files or installing .NET 3.5 at all aside, you probably landed on this page because &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/\"> <span class=\"screen-reader-text\">Azure DSC and .NET 3.5<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":""},"categories":[2],"tags":[101,127,9,126,125,124,121],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Azure DSC and .NET 3.5 - ciraltos<\/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.ciraltos.com\/staging2\/azure-dsc-net-3-5\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Azure DSC and .NET 3.5 - ciraltos\" \/>\n<meta property=\"og:description\" content=\"In this post I will walk you through the process of installing .NET 3.5 with Azure DSC. \u00a0A few OS versions back Microsoft decided to remove the source .cab for .NET 3.5 from Windows Server.\u00a0 Reasons for removing the source files or installing .NET 3.5 at all aside, you probably landed on this page because &hellip; Azure DSC and .NET 3.5 Read More &raquo;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/\" \/>\n<meta property=\"og:site_name\" content=\"ciraltos\" \/>\n<meta property=\"article:published_time\" content=\"2017-07-29T03:31:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-07-29T03:32:56+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.ciraltos.com\/wp-content\/uploads\/2017\/07\/NET_1.png\" \/>\n<meta name=\"author\" content=\"Travis Roberts\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ciraltos\" \/>\n<meta name=\"twitter:site\" content=\"@ciraltos\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Travis Roberts\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/\"},\"author\":{\"name\":\"Travis Roberts\",\"@id\":\"http:\/\/www.ciraltos.com\/staging2\/#\/schema\/person\/25391996d6cddfecd4d257162b7e373a\"},\"headline\":\"Azure DSC and .NET 3.5\",\"datePublished\":\"2017-07-29T03:31:53+00:00\",\"dateModified\":\"2017-07-29T03:32:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/\"},\"wordCount\":702,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/www.ciraltos.com\/staging2\/#\/schema\/person\/25391996d6cddfecd4d257162b7e373a\"},\"keywords\":[\".net\",\".net 3.5\",\"Azure\",\"desired state configuration\",\"dsc\",\"server 2012\",\"server 2016\"],\"articleSection\":[\"Azure\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/\",\"url\":\"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/\",\"name\":\"Azure DSC and .NET 3.5 - ciraltos\",\"isPartOf\":{\"@id\":\"http:\/\/www.ciraltos.com\/staging2\/#website\"},\"datePublished\":\"2017-07-29T03:31:53+00:00\",\"dateModified\":\"2017-07-29T03:32:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/www.ciraltos.com\/staging2\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Azure DSC and .NET 3.5\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.ciraltos.com\/staging2\/#website\",\"url\":\"http:\/\/www.ciraltos.com\/staging2\/\",\"name\":\"ciraltos\",\"description\":\"cloud, technology and trends\",\"publisher\":{\"@id\":\"http:\/\/www.ciraltos.com\/staging2\/#\/schema\/person\/25391996d6cddfecd4d257162b7e373a\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/www.ciraltos.com\/staging2\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"http:\/\/www.ciraltos.com\/staging2\/#\/schema\/person\/25391996d6cddfecd4d257162b7e373a\",\"name\":\"Travis Roberts\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/www.ciraltos.com\/staging2\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.ciraltos.com\/staging2\/wp-content\/uploads\/2023\/03\/Logo-1.png\",\"contentUrl\":\"https:\/\/www.ciraltos.com\/staging2\/wp-content\/uploads\/2023\/03\/Logo-1.png\",\"width\":5657,\"height\":3563,\"caption\":\"Travis Roberts\"},\"logo\":{\"@id\":\"http:\/\/www.ciraltos.com\/staging2\/#\/schema\/person\/image\/\"},\"sameAs\":[\"http:\/\/www.ciraltos.com\",\"https:\/\/twitter.com\/ciraltos\"],\"url\":\"https:\/\/www.ciraltos.com\/staging2\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Azure DSC and .NET 3.5 - ciraltos","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.ciraltos.com\/staging2\/azure-dsc-net-3-5\/","og_locale":"en_US","og_type":"article","og_title":"Azure DSC and .NET 3.5 - ciraltos","og_description":"In this post I will walk you through the process of installing .NET 3.5 with Azure DSC. \u00a0A few OS versions back Microsoft decided to remove the source .cab for .NET 3.5 from Windows Server.\u00a0 Reasons for removing the source files or installing .NET 3.5 at all aside, you probably landed on this page because &hellip; Azure DSC and .NET 3.5 Read More &raquo;","og_url":"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/","og_site_name":"ciraltos","article_published_time":"2017-07-29T03:31:53+00:00","article_modified_time":"2017-07-29T03:32:56+00:00","og_image":[{"url":"http:\/\/www.ciraltos.com\/wp-content\/uploads\/2017\/07\/NET_1.png"}],"author":"Travis Roberts","twitter_card":"summary_large_image","twitter_creator":"@ciraltos","twitter_site":"@ciraltos","twitter_misc":{"Written by":"Travis Roberts","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/#article","isPartOf":{"@id":"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/"},"author":{"name":"Travis Roberts","@id":"http:\/\/www.ciraltos.com\/staging2\/#\/schema\/person\/25391996d6cddfecd4d257162b7e373a"},"headline":"Azure DSC and .NET 3.5","datePublished":"2017-07-29T03:31:53+00:00","dateModified":"2017-07-29T03:32:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/"},"wordCount":702,"commentCount":0,"publisher":{"@id":"http:\/\/www.ciraltos.com\/staging2\/#\/schema\/person\/25391996d6cddfecd4d257162b7e373a"},"keywords":[".net",".net 3.5","Azure","desired state configuration","dsc","server 2012","server 2016"],"articleSection":["Azure"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/","url":"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/","name":"Azure DSC and .NET 3.5 - ciraltos","isPartOf":{"@id":"http:\/\/www.ciraltos.com\/staging2\/#website"},"datePublished":"2017-07-29T03:31:53+00:00","dateModified":"2017-07-29T03:32:56+00:00","breadcrumb":{"@id":"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.ciraltos.com\/staging2\/azure-dsc-net-3-5\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/www.ciraltos.com\/staging2\/"},{"@type":"ListItem","position":2,"name":"Azure DSC and .NET 3.5"}]},{"@type":"WebSite","@id":"http:\/\/www.ciraltos.com\/staging2\/#website","url":"http:\/\/www.ciraltos.com\/staging2\/","name":"ciraltos","description":"cloud, technology and trends","publisher":{"@id":"http:\/\/www.ciraltos.com\/staging2\/#\/schema\/person\/25391996d6cddfecd4d257162b7e373a"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.ciraltos.com\/staging2\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"http:\/\/www.ciraltos.com\/staging2\/#\/schema\/person\/25391996d6cddfecd4d257162b7e373a","name":"Travis Roberts","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/www.ciraltos.com\/staging2\/#\/schema\/person\/image\/","url":"https:\/\/www.ciraltos.com\/staging2\/wp-content\/uploads\/2023\/03\/Logo-1.png","contentUrl":"https:\/\/www.ciraltos.com\/staging2\/wp-content\/uploads\/2023\/03\/Logo-1.png","width":5657,"height":3563,"caption":"Travis Roberts"},"logo":{"@id":"http:\/\/www.ciraltos.com\/staging2\/#\/schema\/person\/image\/"},"sameAs":["http:\/\/www.ciraltos.com","https:\/\/twitter.com\/ciraltos"],"url":"https:\/\/www.ciraltos.com\/staging2\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.ciraltos.com\/staging2\/wp-json\/wp\/v2\/posts\/192"}],"collection":[{"href":"https:\/\/www.ciraltos.com\/staging2\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ciraltos.com\/staging2\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ciraltos.com\/staging2\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ciraltos.com\/staging2\/wp-json\/wp\/v2\/comments?post=192"}],"version-history":[{"count":8,"href":"https:\/\/www.ciraltos.com\/staging2\/wp-json\/wp\/v2\/posts\/192\/revisions"}],"predecessor-version":[{"id":212,"href":"https:\/\/www.ciraltos.com\/staging2\/wp-json\/wp\/v2\/posts\/192\/revisions\/212"}],"wp:attachment":[{"href":"https:\/\/www.ciraltos.com\/staging2\/wp-json\/wp\/v2\/media?parent=192"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ciraltos.com\/staging2\/wp-json\/wp\/v2\/categories?post=192"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ciraltos.com\/staging2\/wp-json\/wp\/v2\/tags?post=192"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}