{"id":81283,"date":"2022-02-21T22:56:28","date_gmt":"2022-02-22T04:26:28","guid":{"rendered":"https:\/\/www.whizlabs.com\/blog\/?p=81283"},"modified":"2024-04-30T15:19:38","modified_gmt":"2024-04-30T09:49:38","slug":"ci-automation-on-terraform-whizlabs-webinar","status":"publish","type":"post","link":"https:\/\/www.whizlabs.com\/blog\/ci-automation-on-terraform-whizlabs-webinar\/","title":{"rendered":"CI Automation on Terraform &#8211; Whizlabs Webinar"},"content":{"rendered":"<p><span style=\"font-weight: 400\">Whizlabs, on 22 Jan, 2022, conducted a webinar on \u2018CI Automation on Terraform\u2019 with two of the Senior DevOps consultants, Mehul Sharma and Aastha Rai.<\/span><\/p>\n<h2>About the Speakers<\/h2>\n<p><span style=\"font-weight: 400\"><strong>Mehul Sharma<\/strong> is a Senior DevOps Consultant at OpsTree Solutions. He is a technology enthusiast with a keen interest in the latest DevOps practices. He is passionate about training and keeps conducting regular workshops and corporate training. Apart from being an Azure Developer Community Organizer, he is also an Open-Source contributor for Azure Terraform Modules and Ansible.<\/span><\/p>\n<p><span style=\"font-weight: 400\"><strong>Aastha Rai<\/strong> is a DevOps Consultant at OpsTree Solutions. She is an active open-source contributor for the Jenkins plugin and loves to explore the latest DevOps practices. Being passionate about technology herself, she loves to share her knowledge with tech enthusiasts by conducting training sessions.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Lets learn about the points discussed in the Webinar in brief.<\/span><\/p>\n<h2>What is Terraform?<\/h2>\n<p><a href=\"https:\/\/www.hashicorp.com\/products\/terraform\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"aligncenter wp-image-81309 size-medium\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/what-is-terraform-300x200.png\" alt=\"Terraform logo\" width=\"300\" height=\"200\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/what-is-terraform-300x200.png 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/what-is-terraform-1024x684.png 1024w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/what-is-terraform-768x513.png 768w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/what-is-terraform-629x420.png 629w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/what-is-terraform-537x360.png 537w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/what-is-terraform-640x428.png 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/what-is-terraform-681x455.png 681w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/what-is-terraform.png 1500w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400\">In the words of <a href=\"https:\/\/www.hashicorp.com\/\" target=\"_blank\" rel=\"noopener\">HashiCorp<\/a>, the official website, Terraform is Infrastructure as Code(IaaC).<\/span><\/p>\n<p><span style=\"font-weight: 400\">There are multiple infrastructures around us including AWS, Google Cloud, and more, and Terraform helps us build the infrastructure for code for all these platforms.<\/span><\/p>\n<p><b>What are the steps for this process?<\/b><\/p>\n<p><span style=\"font-weight: 400\">Build, change, version, and the application of these changes to the infrastructure, safely and efficiently.<\/span><\/p>\n<p><b>Why Terraform?<\/b><\/p>\n<p><span style=\"font-weight: 400\">Let\u2019s assume a testing team, and they want a Monday Infrastructure for a short period of time, so they ask their CIS admins to configure an infrastructure for their testing scenario. Now, when the CIS admins have done that, they demolish the infrastructure after the said time. So, if the testing team again wants the same infrastructure, they will go to the CIS team again for the same work. Here, the CIS teams would want the testing team to be self-sufficient, meanwhile reducing the cost of the infrastructure provisioning. So, they will assign them restricted access to the infrastructure provisioning, which will enable the testing team to become self-sufficient in provisioning a small infrastructure for their need of testing or development.<\/span><\/p>\n<p><span style=\"font-weight: 400\">So, this is more like a person giving a high-five to himself.<\/span><\/p>\n<p><b>How does Terraform ensure speed and safety?<\/b><\/p>\n<p><span style=\"font-weight: 400\">Let us consider a small scale scenario.<\/span><\/p>\n<p><span style=\"font-weight: 400\">For Example, you are required to provision a Virtual Machine in your Infrastructure. As per the process, you will move on the GUI, be it Azure, AWS, or any other. The next step you will form is to make some clicks, put some variables, and the EC2 machines will be there to support.<\/span><\/p>\n<p><span style=\"font-weight: 400\">But, in a large scale scenario, wherein you are required to provision 100 <\/span><b>VP2<\/b><span style=\"font-weight: 400\"> Instances and Virtual Machines, you cannot go to the GUI each time and repeat the process, for it will also cause a risk of misspelling the variable, putting long checks and missing some of the checks, which will affect the whole infrastructure.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Here, Terraform comes into play. Once you have your old code written on paper, you can go one by one through the whole code and decide on the variable names, the checks that need to be there, the checks that should not be there. While typing and making the GUI clicks, your speed gets much slower than that of a computer, but with Terraform, you can quickly and safely deploy the whole Infrastructure in a moment of seconds.<\/span><\/p>\n<p><b>Why Terraform?<\/b><\/p>\n<p><span style=\"font-weight: 400\">We have seen coders around the world pushing their code to a Version Control System.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Now, we have a code in the form of \u2018Infrastructure as a Code\u2019, which should be on the version control, so that we do not have to pass the folders along. So, once we have our whole Terraform on the Version Control System, we can take all the good things out of it.<\/span><\/p>\n<p><span style=\"font-weight: 400\">For example, if you are trying to enhance your infrastructure, and it requires you to add a new module or to make some changes in the already existing module, and you try to move on with it, there are two possibilities:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">It will go forward, we can go ahead with the code.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">It won\u2019t move forward, then you will have to delete everything and recall all the steps taken. However, with Terraform, you will just have to move a commit back, or a certain no. of commits, till you reach the perfectly running code that you wanted and could be deployed easily.<\/span><\/li>\n<\/ol>\n<p><b>Validity<\/b><\/p>\n<p><span style=\"font-weight: 400\">If the state of your Infrastructure is defined in code, then for every single change, you can perform a code review, run a suite of automated tests, and pass the code through static analysis tools, which are some of the practices that are known to significantly reduce the chance of defects.<\/span><\/p>\n<p><b>Reusability<\/b><\/p>\n<p><span style=\"font-weight: 400\">For Instance, Terraform Registry, wherein all the already created modules are written for use, you are only required to make a search and reuse them. This enhances the capability to bring something new rather than working on the same things, moving around a circle that the company has been following for a long time.<\/span><\/p>\n<p><b>Happiness<\/b><\/p>\n<p><span style=\"font-weight: 400\">Generally, the person who manages the infrastructure does not get appraisal unless there is some kind of creativity. Till the time the infrastructure and developments are going well, and there exist no problems, no one notices the hard efforts. But, with Terraform, it has been possible to pinpoint the area of problem easily, making people happy.<\/span><\/p>\n<p><b>What is CI?<\/b><\/p>\n<p><span style=\"font-weight: 400\">On one side, there exists the code repository, i.e., the application code, and on the other side the <\/span><b>artifactory<\/b><span style=\"font-weight: 400\">, then the process happening in the middle is CI<\/span><b>.<\/b><\/p>\n<p><b>Why is CI required in Terraform?<\/b><\/p>\n<p><span style=\"font-weight: 400\">Terraform is an Infrastructure as a Code (IaaC) tool, i.e., IaaC is code in the end, therefore it is handled in the very same way.<\/span><\/p>\n<p><span style=\"font-weight: 400\">As a responsible DevOps consultant, our job is to\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Ensure quality of code<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Validate, format, lint, test, and more<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Provide smooth deployment<\/span><\/li>\n<\/ul>\n<blockquote><p>Try &#8220;<a href=\"https:\/\/www.whizlabs.com\/infrastructure-automation-with-terraform\/\">Infrastructure Automation with Terraform<\/a>&#8221; Video Course<\/p><\/blockquote>\n<p><b>What stages should be added in Terraform CI?<\/b><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-81310 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/what-stages-should-be-added-in-terraform-ci.png\" alt=\"stages in terraform ci\" width=\"1999\" height=\"396\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/what-stages-should-be-added-in-terraform-ci.png 1999w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/what-stages-should-be-added-in-terraform-ci-300x59.png 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/what-stages-should-be-added-in-terraform-ci-1024x203.png 1024w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/what-stages-should-be-added-in-terraform-ci-768x152.png 768w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/what-stages-should-be-added-in-terraform-ci-1536x304.png 1536w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/what-stages-should-be-added-in-terraform-ci-640x127.png 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/what-stages-should-be-added-in-terraform-ci-681x135.png 681w\" sizes=\"(max-width: 1999px) 100vw, 1999px\" \/><\/p>\n<p><b>Various commands of Terraform<\/b><\/p>\n<p><b>Init: <\/b><span style=\"font-weight: 400\">Command is \u2018terraform init\u2019<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">init is short for initialize, and the basics of what it does are exactly inherent in the name, i.e., it initializes things.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">It looks for module blocks in the configuration inside of\u00a0 the directory and then tracks down the source code for these modules based on arguments provided in source in the configuration.<\/span><\/li>\n<\/ul>\n<p><b>Validate: <\/b><span style=\"font-weight: 400\">Command is \u2018terraform Validate\u2019<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">To make sure that the IaaC code is syntactically valid, and internally consistent, regardless of any provided variables or existing state.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Validation requires an initialized working directory with the referenced plugins and modules installed.<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><b>Formating: <\/b><span style=\"font-weight: 400\">Command is \u2018terraform fmt\u2019<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Rewrites Terraform configuration files to a canonical format and style.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Terraform configuration produces configuration files that conform to the style imposed by \u2018terraform fmt\u2019 to ensure consistency.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Also makes other minor adjustments for readability.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Deceases code manageability in version control.<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><b>Lint: <\/b><span style=\"font-weight: 400\">Command is \u2018tflint\u2019<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Linting is a static code analysis process that flags potential problems like syntax errors, deviations from a prescribed coding style or using constructs known to be unsafe.<\/span><\/li>\n<\/ul>\n<p><b>Security: <\/b><span style=\"font-weight: 400\">Command is \u2018tfsec\u2019<\/span><\/p>\n<p><span style=\"font-weight: 400\">This stage ensures that the best security practices are being followed by IaaC.<\/span><\/p>\n<p><span style=\"font-weight: 400\">There are multiple tools available for the Security scan:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">tfsec<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">checkov<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Terrascan<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><b>Test:<\/b><\/p>\n<p><span style=\"font-weight: 400\">Testing ensures the basic functionality of the code. In programmatic language, we have unit testing and integration testing.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Pure unit testing is not possible in the case of IaaC, as it is about interacting with external systems. So a combination of unit and integration testing is carried out. Like modules are tested alone as part of a bigger setup.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Terraform Testing tools<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">TerraTest<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">KitchenCI<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><b>Plan: <\/b><span style=\"font-weight: 400\">Command is \u2018terraform plan\u2019<\/span><\/p>\n<p><span style=\"font-weight: 400\">Creates an execute plan to review the changes terraform will make to your infrastructure, in case you apply the changes.<\/span><\/p>\n<p><b>Stages of Terraform CI<\/b><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-81311 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/stages-of-terraform-ci.png\" alt=\"stages of terraform ci\" width=\"1886\" height=\"262\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/stages-of-terraform-ci.png 1886w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/stages-of-terraform-ci-300x42.png 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/stages-of-terraform-ci-1024x142.png 1024w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/stages-of-terraform-ci-768x107.png 768w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/stages-of-terraform-ci-1536x213.png 1536w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/stages-of-terraform-ci-640x89.png 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/stages-of-terraform-ci-681x95.png 681w\" sizes=\"(max-width: 1886px) 100vw, 1886px\" \/><\/p>\n<p><span style=\"font-weight: 400\">These were only some of the points discussed. For elaborate learning of the concept, refer to our webinar recording!<\/span><\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=zF20Sgu6Hp8\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">https:\/\/www.youtube.com\/watch?v=zF20Sgu6Hp8<\/span><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">Happy Learning!<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Whizlabs, on 22 Jan, 2022, conducted a webinar on \u2018CI Automation on Terraform\u2019 with two of the Senior DevOps consultants, Mehul Sharma and Aastha Rai. About the Speakers Mehul Sharma is a Senior DevOps Consultant at OpsTree Solutions. He is a technology enthusiast with a keen interest in the latest DevOps practices. He is passionate about training and keeps conducting regular workshops and corporate training. Apart from being an Azure Developer Community Organizer, he is also an Open-Source contributor for Azure Terraform Modules and Ansible. Aastha Rai is a DevOps Consultant at OpsTree Solutions. She is an active open-source contributor [&hellip;]<\/p>\n","protected":false},"author":359,"featured_media":81308,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","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":"default","adv-header-id-meta":"","stick-header-meta":"default","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[10],"tags":[],"class_list":["post-81283","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-computing-certifications"],"uagb_featured_image_src":{"full":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/ci-automations-with-terraform.png",600,315,false],"thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/ci-automations-with-terraform-150x150.png",150,150,true],"medium":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/ci-automations-with-terraform-300x158.png",300,158,true],"medium_large":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/ci-automations-with-terraform.png",600,315,false],"large":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/ci-automations-with-terraform.png",600,315,false],"1536x1536":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/ci-automations-with-terraform.png",600,315,false],"2048x2048":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/ci-automations-with-terraform.png",600,315,false],"profile_24":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/ci-automations-with-terraform.png",24,13,false],"profile_48":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/ci-automations-with-terraform.png",48,25,false],"profile_96":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/ci-automations-with-terraform.png",96,50,false],"profile_150":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/ci-automations-with-terraform.png",150,79,false],"profile_300":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/ci-automations-with-terraform.png",300,158,false],"tptn_thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/ci-automations-with-terraform-250x250.png",250,250,true],"web-stories-poster-portrait":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/ci-automations-with-terraform.png",600,315,false],"web-stories-publisher-logo":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/ci-automations-with-terraform.png",96,50,false],"web-stories-thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2022\/02\/ci-automations-with-terraform.png",150,79,false]},"uagb_author_info":{"display_name":"Abilesh Premkumar","author_link":"https:\/\/www.whizlabs.com\/blog\/author\/abilesh\/"},"uagb_comment_info":0,"uagb_excerpt":"Whizlabs, on 22 Jan, 2022, conducted a webinar on \u2018CI Automation on Terraform\u2019 with two of the Senior DevOps consultants, Mehul Sharma and Aastha Rai. About the Speakers Mehul Sharma is a Senior DevOps Consultant at OpsTree Solutions. He is a technology enthusiast with a keen interest in the latest DevOps practices. He is passionate&hellip;","_links":{"self":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/81283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/users\/359"}],"replies":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/comments?post=81283"}],"version-history":[{"count":6,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/81283\/revisions"}],"predecessor-version":[{"id":81316,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/81283\/revisions\/81316"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/media\/81308"}],"wp:attachment":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/media?parent=81283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/categories?post=81283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/tags?post=81283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}