{"id":513599,"date":"2020-02-04T13:04:58","date_gmt":"2020-02-04T12:04:58","guid":{"rendered":"https:\/\/www.devoteam.com\/expert-view\/ansible-and-terraform-episode-2\/"},"modified":"2020-02-04T13:04:58","modified_gmt":"2020-02-04T12:04:58","slug":"ansible-and-terraform-episode-2","status":"publish","type":"expert-view","link":"https:\/\/devoteam.info\/en-pt\/expert-view\/ansible-and-terraform-episode-2\/","title":{"rendered":"Ansible and Terraform: Episode 2"},"content":{"rendered":"<h2><span data-contrast=\"none\" class=\"TextRun SCXW8030057 BCX7\" lang=\"EN-GB\"><span class=\"NormalTextRun SCXW8030057 BCX7\" data-ccp-parastyle=\"heading 2\">Ansible<\/span><\/span><span data-contrast=\"none\" class=\"TextRun SCXW8030057 BCX7\" lang=\"EN-GB\"><span class=\"NormalTextRun SCXW8030057 BCX7\" data-ccp-parastyle=\"heading 2\"><span>&nbsp;<\/span>and<\/span><\/span><span data-contrast=\"none\" class=\"TextRun SCXW8030057 BCX7\" lang=\"EN-GB\"><span class=\"NormalTextRun SCXW8030057 BCX7\" data-ccp-parastyle=\"heading 2\"><span>&nbsp;<\/span><\/span><\/span><span data-contrast=\"none\" class=\"TextRun SCXW8030057 BCX7\" lang=\"EN-GB\"><span class=\"NormalTextRun SCXW8030057 BCX7\" data-ccp-parastyle=\"heading 2\">Terraform<\/span><\/span><span data-contrast=\"none\" class=\"TextRun SCXW8030057 BCX7\" lang=\"EN-GB\"><span class=\"NormalTextRun SCXW8030057 BCX7\" data-ccp-parastyle=\"heading 2\"><span>&nbsp;<\/span>(magically) working together<\/span><\/span><\/h2>\n<p>In the&nbsp;<a href=\"https:\/\/belgium.devoteam.com\/blog\/ansible-and-terraform-the-best-of-both-worlds\/\">previous episode<\/a>, you learned how to install Ansible, Terraform, create&nbsp;ssh&nbsp;keys and some basic user configuration on AWS. In this episode, we will use a live example to get you \u201cwarmed up\u201d. We will&nbsp;<b>clone the code from&nbsp;<\/b><b>Github<\/b><b>&nbsp;<\/b>so you don\u2019t have to waste your time on inputting&nbsp;all code yourself,&nbsp;<b>modify some variables<\/b>&nbsp;<b>and provision<\/b>&nbsp;and<b>&nbsp;deploy two servers on AWS<\/b>. Try to figure out what goes on behind the scenes, but no worries we will explain this in detail in the last episode of this&nbsp;Ansible Terraform series.<\/p>\n<h3>1. Setting up our Ansible project fromgithub.&nbsp;<span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\"><\/span><\/h3>\n<p><span data-contrast=\"none\">You can download\/clone the project from&nbsp;<\/span><span data-contrast=\"none\">github<\/span><span data-contrast=\"none\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Screenshot-2020-02-04-at-13.28.38.png\" alt=\"\" width=\"1286\" height=\"80\" class=\"aligncenter size-full wp-image-17522\"><\/p>\n<p><span data-contrast=\"none\">This will create the next file structure:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><\/p>\n<ul>\n<li><span data-contrast=\"none\"> ansible-terraform\/<\/span>\n<ul>\n<li><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559685&quot;:709,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\"><\/span><span data-contrast=\"none\">group_vars\/<\/span><\/li>\n<li><span data-contrast=\"none\">vars.yml<\/span><\/li>\n<li><span data-contrast=\"none\">vault.yml<\/span><span data-contrast=\"none\">&nbsp;<\/span><i><span data-contrast=\"none\">(not included in git)<\/span><\/i><\/li>\n<li><span data-contrast=\"none\">inventory\/<\/span><\/li>\n<li><span data-contrast=\"none\">roles\/<\/span><\/li>\n<li><span data-contrast=\"none\">databaseserver<\/span><span data-contrast=\"none\">\/<\/span>\n<ul>\n<li><span data-contrast=\"none\">tasks\/<\/span><\/li>\n<li><span data-contrast=\"none\">main.yml<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559685&quot;:2127,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><\/li>\n<\/ul>\n<\/li>\n<li><span data-contrast=\"none\">terra-provision\/<\/span>\n<ul>\n<li><span data-contrast=\"none\">tasks\/<\/span><\/li>\n<li><span data-contrast=\"none\">main.yml<\/span><\/li>\n<li><span data-contrast=\"none\">templates\/<\/span><\/li>\n<li><span data-contrast=\"none\">terraform.tfvars<\/span><span data-contrast=\"none\">.j2<\/span><\/li>\n<\/ul>\n<\/li>\n<li><span data-contrast=\"none\">webserver\/<\/span>\n<ul>\n<li><span data-contrast=\"none\">tasks\/<\/span><\/li>\n<li><span data-contrast=\"none\">main.yml<\/span><\/li>\n<li><span data-contrast=\"none\">templates\/<\/span><\/li>\n<li><span data-contrast=\"none\">a_website.<\/span><span data-contrast=\"none\">conf.j<\/span><span data-contrast=\"none\">2<\/span><\/li>\n<li><span data-contrast=\"none\">index.html.j<\/span><span data-contrast=\"none\">2<\/span><\/li>\n<\/ul>\n<\/li>\n<li><span data-contrast=\"none\">terraform\/<\/span><\/li>\n<li><span data-contrast=\"none\">main.tf<\/span><\/li>\n<li><span data-contrast=\"none\">.<\/span><span data-contrast=\"none\">gitignore<\/span><span data-contrast=\"none\">&nbsp;<\/span><i><span data-contrast=\"none\">(which file not to include in the git repository)<\/span><\/i><\/li>\n<li><span data-contrast=\"none\">playbook.yml<\/span><\/li>\n<li><span data-contrast=\"none\">README.md<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span data-contrast=\"none\">You can use any editor you like for working on your project. For example, Atom or Microsoft Visual Studio Code have plugins for both Ansible and Terraform which makes them good tools for this job.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><\/p>\n<p><span data-contrast=\"none\">First, we will create an&nbsp;<\/span><a href=\"https:\/\/docs.ansible.com\/ansible\/latest\/user_guide\/vault.html\" target=\"_blank\" rel=\"noopener noreferrer\"><span data-contrast=\"none\">Ansible vault<\/span><\/a><span data-contrast=\"none\">&nbsp;<\/span><span data-contrast=\"none\">file for our AWS secrets that we downloaded in the previous episode. We will also add the public key created in the previous episode.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><\/p>\n<p><span data-contrast=\"none\">An Ansible vault file is a text file that will be encrypted by a password to store your credentials more securely.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><span data-contrast=\"none\">Let\u2019s get started!<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><\/p>\n<p><span data-contrast=\"none\">Create a file&nbsp;<\/span><span data-contrast=\"none\">vault.yml<\/span><span data-contrast=\"none\">&nbsp;in the&nbsp;<\/span><span data-contrast=\"none\">group_vars<\/span><span data-contrast=\"none\">&nbsp;map.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Screenshot-2020-02-04-at-13.42.27.png\" alt=\"\" width=\"1286\" height=\"150\" class=\"aligncenter size-full wp-image-17527\"> <span data-contrast=\"none\">The file should have this content.<\/span><span data-ccp-props=\"{}\">&nbsp;<\/span><\/p>\n<p><i><span data-contrast=\"none\">&#8212;<\/span><\/i><span data-ccp-props=\"{&quot;335559685&quot;:709}\">&nbsp;<\/span><\/p>\n<p><i><span data-contrast=\"none\">public_key<\/span><\/i><i><span data-contrast=\"none\">: \u201cssh-<\/span><\/i><i><span data-contrast=\"none\">rsa<\/span><\/i><i><span data-contrast=\"none\">&nbsp;AAAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\u201d<\/span><\/i><span data-ccp-props=\"{&quot;335559685&quot;:709}\">&nbsp;<\/span><\/p>\n<p><i><span data-contrast=\"none\">aws_access_key_id<\/span><\/i><i><span data-contrast=\"none\">: &#8220;AKXXXXXXXXXXXXXXXX&#8221;<\/span><\/i><span data-ccp-props=\"{&quot;335559685&quot;:709}\">&nbsp;<\/span><\/p>\n<p><i><span data-contrast=\"none\">aws_secret_access_key<\/span><\/i><i><span data-contrast=\"none\">: &#8220;9hVmdMsLXXXXXXXXXXXXXXXXXXXXXXXXXXXX&#8221;<\/span><\/i><span data-ccp-props=\"{&quot;335559685&quot;:709}\">&nbsp;<\/span><\/p>\n<p><i><span data-contrast=\"none\">&#8230;<\/span><\/i><span data-ccp-props=\"{&quot;335559685&quot;:709}\">&nbsp;<\/span><\/p>\n<p><span data-contrast=\"none\">Make sure you use the keys created in the previous episode for this.<\/span><span data-ccp-props=\"{}\">&nbsp;<\/span><\/p>\n<p><span data-contrast=\"none\">Next, encrypt the file with the ansible-vault command.<\/span><span data-ccp-props=\"{&quot;335559740&quot;:384}\">&nbsp;<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Screenshot-2020-02-04-at-13.42.39.png\" alt=\"\" width=\"1284\" height=\"468\" class=\"aligncenter size-full wp-image-17528\"><\/p>\n<p><span data-contrast=\"none\">Now your AWS secrets are stored in a secure way. Make sure to keep track of the password. You will need it to run your playbook in the next paragraph.<\/span><span data-ccp-props=\"{}\">&nbsp;<\/span><\/p>\n<p><span data-contrast=\"none\">You can always edit this file via:<\/span><span data-ccp-props=\"{}\">&nbsp;<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Screenshot-2020-02-04-at-13.42.51.png\" alt=\"\" width=\"1284\" height=\"80\" class=\"aligncenter size-full wp-image-17529\"><b style=\"font-size: 0.875rem\"><span data-contrast=\"none\"><\/span><\/b><\/p>\n<h3>2. Run your playbook.<span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:384}\"><\/span><\/h3>\n<p><span data-contrast=\"none\">We can now start the&nbsp;<\/span><span data-contrast=\"none\">playbook.yml<\/span><span data-contrast=\"none\">&nbsp;file via the following command.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:384}\">&nbsp;<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Screenshot-2020-02-04-at-13.43.04.png\" alt=\"\" width=\"1286\" height=\"148\" class=\"aligncenter size-full wp-image-17530\"><\/p>\n<p><span data-contrast=\"none\">&#8211;private-key (the path to the private key Ansible uses for connecting to the machines via&nbsp;ssh.)&nbsp;&nbsp;<\/span><span data-ccp-props=\"{&quot;335559740&quot;:384}\">&nbsp;<\/span><\/p>\n<p><span data-contrast=\"none\">&#8211;extra-vars: (with this flag you can give extra variables to the Ansible command.)<\/span><span data-ccp-props=\"{&quot;335559740&quot;:384}\">&nbsp;<\/span><\/p>\n<p><span data-contrast=\"none\">&#8211;ask-vault-pass: (prompt for the vault password.)<\/span><span data-ccp-props=\"{&quot;335559740&quot;:384}\">&nbsp;<\/span><\/p>\n<p><span data-contrast=\"none\">Enter your vault password and watch the magic.<\/span><span data-ccp-props=\"{&quot;335559740&quot;:384}\">&nbsp;<\/span><\/p>\n<p><span data-contrast=\"none\">Output example:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:384}\">&nbsp;<\/span><\/p>\n<pre><span><\/span><span data-contrast=\"none\">PLAY [localhost]<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span>\n<span data-contrast=\"none\">TASK [create&nbsp;<\/span><span data-contrast=\"none\">teraform.tfvars<\/span><span data-contrast=\"none\">]<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span>\n<span data-contrast=\"none\">TASK [terra-<\/span><span data-contrast=\"none\">provision :<\/span><span data-contrast=\"none\">&nbsp;create&nbsp;<\/span><span data-contrast=\"none\">terraform.tfvars<\/span><span data-contrast=\"none\">]<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;\n<\/span><span data-contrast=\"none\">changed: [localhost]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [<\/span><span data-contrast=\"none\">init<\/span><span data-contrast=\"none\">&nbsp;the terraform&nbsp;if .terraform&nbsp;is not there]&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [localhost]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [run the terraform script]&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [localhost]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [set&nbsp;<\/span><span data-contrast=\"none\">vm_ip<\/span><span data-contrast=\"none\">&nbsp;\/ name]&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">ok: [localhost]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [remove old dynamic&nbsp;<\/span><span data-contrast=\"none\">group_vars<\/span><span data-contrast=\"none\">&nbsp;file]&nbsp;&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">ok: [localhost] =&gt; (item=<\/span><span data-contrast=\"none\">group_vars<\/span><span data-contrast=\"none\">\/<\/span><span data-contrast=\"none\">dynamic_web.yml<\/span><span data-contrast=\"none\">)<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">ok: [localhost] =&gt; (item=<\/span><span data-contrast=\"none\">group_vars<\/span><span data-contrast=\"none\">\/<\/span><span data-contrast=\"none\">dynamic_db.yml<\/span><span data-contrast=\"none\">)<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [create new centos&nbsp;<\/span><span data-contrast=\"none\">group_vars<\/span><span data-contrast=\"none\">&nbsp;file]&nbsp;&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [localhost] =&gt; (item=<\/span><span data-contrast=\"none\">group_vars<\/span><span data-contrast=\"none\">\/<\/span><span data-contrast=\"none\">dynamic_web.yml<\/span><span data-contrast=\"none\">)<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [localhost] =&gt; (item=<\/span><span data-contrast=\"none\">group_vars<\/span><span data-contrast=\"none\">\/<\/span><span data-contrast=\"none\">dynamic_db.yml<\/span><span data-contrast=\"none\">)<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [create the inventory directory]&nbsp;&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [localhost]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [remove old dynamic host file]&nbsp;&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">ok: [localhost]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [create new dynamic host file]&nbsp;&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [localhost]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [add retrieved IP to file]&nbsp;&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [localhost]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [add retrieved IP to file]&nbsp;&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [localhost]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [add retrieved IP to file]&nbsp;&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [localhost]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [Add host]&nbsp;&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [localhost]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [Add host]&nbsp;&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [localhost]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [Collect facts again]&nbsp;&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">ok: [localhost]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [Wait 300 seconds for port 22 to become open and contains the string \"OpenSSH\"]&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">ok: [localhost]<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><\/pre>\n<pre><span><\/span><span data-contrast=\"none\">PLAY [<\/span><span data-contrast=\"none\">dynamic_web<\/span><span data-contrast=\"none\">]&nbsp;&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [Gathering Facts]&nbsp;&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">ok: [52.215.235.149]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [create a website]&nbsp;&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [webserver :&nbsp;yum update]&nbsp;&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [52.215.235.149]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [webserver :&nbsp;install apache]&nbsp;&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [52.215.235.149]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [webserver :&nbsp;create&nbsp;website&nbsp;configuration]&nbsp;&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [52.215.235.149]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [webserver :&nbsp;copy html page]&nbsp;&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [52.215.235.149]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [webserver :&nbsp;restart webserver]&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [52.215.235.149]<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><\/pre>\n<pre><span><\/span><span data-contrast=\"none\">PLAY [<\/span><span data-contrast=\"none\">dynamic_db<\/span><span data-contrast=\"none\">]&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [Gathering Facts]&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">ok: [34.251.117.128]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [create a database]&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [<\/span><span data-contrast=\"none\">databaseserver<\/span><span data-contrast=\"none\">&nbsp;: yum update]&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [34.251.117.128]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [<\/span><span data-contrast=\"none\">databaseserver<\/span><span data-contrast=\"none\">&nbsp;: install&nbsp;<\/span><span data-contrast=\"none\">mysql<\/span><span data-contrast=\"none\">]&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [34.251.117.128]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [<\/span><span data-contrast=\"none\">databaseserver<\/span><span data-contrast=\"none\">&nbsp;: restart&nbsp;<\/span><span data-contrast=\"none\">mariadb<\/span><span data-contrast=\"none\">]&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [34.251.117.128]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">TASK [<\/span><span data-contrast=\"none\">databaseserver<\/span><span data-contrast=\"none\">&nbsp;: Create a new database with name&nbsp;<\/span><span data-contrast=\"none\">devoteam<\/span><span data-contrast=\"none\">]&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">changed: [34.251.117.128]<\/span><span data-contrast=\"none\">&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">PLAY RECAP&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">34.251.db_ip<\/span><span data-contrast=\"none\">&nbsp;\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f:&nbsp;<\/span><span data-contrast=\"none\">ok=5 \u202f\u202f<\/span><span data-contrast=\"none\">\u202f<\/span><span data-contrast=\"none\">changed=4 \u202f\u202f<\/span><span data-contrast=\"none\">\u202funreachable=0 \u202f\u202f\u202ffailed=0&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">52.215.web&nbsp;<\/span><span data-contrast=\"none\">ip<\/span><span data-contrast=\"none\">&nbsp;\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f:&nbsp;<\/span><span data-contrast=\"none\">ok=6 \u202f\u202f<\/span><span data-contrast=\"none\">\u202f<\/span><span data-contrast=\"none\">changed=5 \u202f\u202f<\/span><span data-contrast=\"none\">\u202funreachable=0 \u202f\u202f\u202ffailed=0&nbsp;<\/span><span>\n<\/span><span data-contrast=\"none\">localhost<\/span><span data-contrast=\"none\">&nbsp;\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f\u202f:&nbsp;<\/span><span data-contrast=\"none\">ok=17 \u202f<\/span><span data-contrast=\"none\">\u202f<\/span><span data-contrast=\"none\">changed=11 \u202f<\/span><span data-contrast=\"none\">\u202funreachable=0 \u202f\u202f\u202ffailed=0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><\/pre>\n<p>&nbsp;<\/p>\n<p><span data-contrast=\"none\">So, now you have your servers.&nbsp;<\/span><a href=\"http:\/\/57.215.235.149\/\" target=\"_blank\" rel=\"noopener noreferrer\"><span data-contrast=\"none\">Click here<\/span><\/a><span data-contrast=\"auto\">&nbsp;<\/span><span data-contrast=\"none\">to see the result of the webpage.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><\/p>\n<p><span data-contrast=\"none\">If you want to access the machine via&nbsp;ssh:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><\/p>\n<p><span data-contrast=\"none\">ssh&nbsp;&#8211;<\/span><span data-contrast=\"none\">i<\/span><span data-contrast=\"none\">&nbsp;~\/ansible-terraform-keys\/<\/span><span data-contrast=\"none\">id_rsa<\/span><span data-contrast=\"none\">&nbsp;centos@57.255.web_ip<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559685&quot;:709,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><\/p>\n<p><span data-contrast=\"none\">If you like to destroy the servers build in the previous command, you can do this by running the same command again but with a<\/span><span data-contrast=\"none\">&nbsp;<\/span><span data-contrast=\"none\">different variable.<\/span><span data-contrast=\"none\">&nbsp;(<\/span><span data-contrast=\"none\">aws_instance_state<\/span><span data-contrast=\"none\">=absent)<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Screenshot-2020-02-04-at-13.43.16.png\" alt=\"\" width=\"1284\" height=\"148\" class=\"aligncenter size-full wp-image-17531\"><\/p>\n<p><span data-contrast=\"none\">Now the machines, security groups and keys build in the previous command will all be destroyed on AWS.<\/span><span data-ccp-props=\"{}\">&nbsp;<\/span><\/p>\n<h3><b><span data-contrast=\"none\">What\u2019s next?<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><\/h3>\n<h3><span data-contrast=\"auto\">This blog post is part of the&nbsp;<\/span><span data-contrast=\"auto\">series<\/span><span data-contrast=\"auto\">&nbsp;\u201c<\/span><a href=\"https:\/\/belgium.devoteam.com\/blog\/ansible-and-terraform-the-best-of-both-worlds\/\"><span data-contrast=\"none\">Ansible and Terraform working together: the best of both worlds<\/span><\/a><span data-contrast=\"auto\">\u201d.<\/span><span data-contrast=\"none\">&nbsp;<\/span><span data-contrast=\"none\">In the next episode we will explain&nbsp;<\/span><b><span data-contrast=\"none\">what was going on behind the scenes and discuss the Terraform and Ansible part<\/span><\/b><span data-contrast=\"none\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:240}\">&nbsp;<\/span><\/h3>\n<div class=\"block-fullwidth-dark\">\n<h3>If you have any questions or need help with your tools, don&#8217;t hesitate to contact Hans Neefs via <a href=\"mailto:hans.neefs@devoteam.com\">mail<\/a> or <a href=\"tel:+32(0)477 99 65 44\">phone<\/a>.<\/h3>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Ansible&nbsp;and&nbsp;Terraform&nbsp;(magically) working together In the&nbsp;previous episode, you learned how to install Ansible, Terraform, create&nbsp;ssh&nbsp;keys and some basic user configuration on AWS. In this episode, we will use a live example to get you \u201cwarmed up\u201d. We will&nbsp;clone the code from&nbsp;Github&nbsp;so you don\u2019t have to waste your time on inputting&nbsp;all code yourself,&nbsp;modify some variables&nbsp;and provision&nbsp;and&nbsp;deploy two [&hellip;]<\/p>\n","protected":false},"featured_media":136917,"template":"","categories":[2462],"tags":[3521,3023],"industry":[],"class_list":["post-513599","expert-view","type-expert-view","status-publish","has-post-thumbnail","hentry","category-cloud-native-architecture-en-pt","tag-belgium-en-pt","tag-cloud-native-architecture-en-pt"],"acf":[],"cards":"\n\t<div class=\"single-post-card\">\n\n\t\t<figure class=\"wp-block-post-featured-image\"><a href=\"https:\/\/devoteam.info\/en-pt\/expert-view\/ansible-and-terraform-episode-2\/\" target=\"_self\" ><img width=\"2560\" height=\"1440\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Ansible-Terraform-image_BW-scaled-1.png\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"Ansible and Terraform: Episode 2\" style=\"aspect-ratio:4\/3;width:100%;object-fit:cover;\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Ansible-Terraform-image_BW-scaled-1.png 2560w, https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Ansible-Terraform-image_BW-scaled-1-300x169.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Ansible-Terraform-image_BW-scaled-1-1024x576.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Ansible-Terraform-image_BW-scaled-1-768x432.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Ansible-Terraform-image_BW-scaled-1-1536x864.png 1536w, https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Ansible-Terraform-image_BW-scaled-1-2048x1152.png 2048w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><\/a><\/figure>\n\n\t\t\n\t\t<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-43282307 wp-block-group-is-layout-flex\">\n\t<p style=\"font-style:normal;font-weight:700\" class=\"has-link-color wp-elements-1 wp-block-lp-post-type has-text-color has-primary-color has-small-font-size\">Expert View<\/p>\n\n\t\t\n\t\t<h3 style=\"font-style:normal;font-weight:400\" class=\"wp-block-post-title has-base-font-size\"><a href=\"https:\/\/devoteam.info\/en-pt\/expert-view\/ansible-and-terraform-episode-2\/\" target=\"_self\" >Ansible and Terraform: Episode 2<\/a><\/h3><\/div>\n\t\t\n\t<\/div>\n\n","yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Ansible and Terraform: Episode 2 | Devoteam<\/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:\/\/devoteam.info\/en-pt\/expert-view\/ansible-and-terraform-episode-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ansible and Terraform: Episode 2\" \/>\n<meta property=\"og:description\" content=\"Ansible&nbsp;and&nbsp;Terraform&nbsp;(magically) working together In the&nbsp;previous episode, you learned how to install Ansible, Terraform, create&nbsp;ssh&nbsp;keys and some basic user configuration on AWS. In this episode, we will use a live example to get you \u201cwarmed up\u201d. We will&nbsp;clone the code from&nbsp;Github&nbsp;so you don\u2019t have to waste your time on inputting&nbsp;all code yourself,&nbsp;modify some variables&nbsp;and provision&nbsp;and&nbsp;deploy two [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devoteam.info\/en-pt\/expert-view\/ansible-and-terraform-episode-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Devoteam\" \/>\n<meta property=\"og:image\" content=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/09\/Sif.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"234\" \/>\n\t<meta property=\"og:image:height\" content=\"234\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/en-pt\\\/expert-view\\\/ansible-and-terraform-episode-2\\\/\",\"url\":\"https:\\\/\\\/devoteam.info\\\/en-pt\\\/expert-view\\\/ansible-and-terraform-episode-2\\\/\",\"name\":\"Ansible and Terraform: Episode 2 | Devoteam\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/en-pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/en-pt\\\/expert-view\\\/ansible-and-terraform-episode-2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/en-pt\\\/expert-view\\\/ansible-and-terraform-episode-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/Ansible-Terraform-image_BW-scaled-1.png\",\"datePublished\":\"2020-02-04T12:04:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/en-pt\\\/expert-view\\\/ansible-and-terraform-episode-2\\\/#breadcrumb\"},\"inLanguage\":\"en-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/devoteam.info\\\/en-pt\\\/expert-view\\\/ansible-and-terraform-episode-2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-PT\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/en-pt\\\/expert-view\\\/ansible-and-terraform-episode-2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/Ansible-Terraform-image_BW-scaled-1.png\",\"contentUrl\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/Ansible-Terraform-image_BW-scaled-1.png\",\"width\":2560,\"height\":1440},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/en-pt\\\/expert-view\\\/ansible-and-terraform-episode-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/devoteam.info\\\/en-pt\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Expert View\",\"item\":\"https:\\\/\\\/devoteam.info\\\/en-pt\\\/expert-view\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Ansible and Terraform: Episode 2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/en-pt\\\/#website\",\"url\":\"https:\\\/\\\/devoteam.info\\\/en-pt\\\/\",\"name\":\"Devoteam\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/devoteam.info\\\/en-pt\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-PT\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ansible and Terraform: Episode 2 | Devoteam","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:\/\/devoteam.info\/en-pt\/expert-view\/ansible-and-terraform-episode-2\/","og_locale":"en_US","og_type":"article","og_title":"Ansible and Terraform: Episode 2","og_description":"Ansible&nbsp;and&nbsp;Terraform&nbsp;(magically) working together In the&nbsp;previous episode, you learned how to install Ansible, Terraform, create&nbsp;ssh&nbsp;keys and some basic user configuration on AWS. In this episode, we will use a live example to get you \u201cwarmed up\u201d. We will&nbsp;clone the code from&nbsp;Github&nbsp;so you don\u2019t have to waste your time on inputting&nbsp;all code yourself,&nbsp;modify some variables&nbsp;and provision&nbsp;and&nbsp;deploy two [&hellip;]","og_url":"https:\/\/devoteam.info\/en-pt\/expert-view\/ansible-and-terraform-episode-2\/","og_site_name":"Devoteam","og_image":[{"width":234,"height":234,"url":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/09\/Sif.jpeg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devoteam.info\/en-pt\/expert-view\/ansible-and-terraform-episode-2\/","url":"https:\/\/devoteam.info\/en-pt\/expert-view\/ansible-and-terraform-episode-2\/","name":"Ansible and Terraform: Episode 2 | Devoteam","isPartOf":{"@id":"https:\/\/devoteam.info\/en-pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devoteam.info\/en-pt\/expert-view\/ansible-and-terraform-episode-2\/#primaryimage"},"image":{"@id":"https:\/\/devoteam.info\/en-pt\/expert-view\/ansible-and-terraform-episode-2\/#primaryimage"},"thumbnailUrl":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Ansible-Terraform-image_BW-scaled-1.png","datePublished":"2020-02-04T12:04:58+00:00","breadcrumb":{"@id":"https:\/\/devoteam.info\/en-pt\/expert-view\/ansible-and-terraform-episode-2\/#breadcrumb"},"inLanguage":"en-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devoteam.info\/en-pt\/expert-view\/ansible-and-terraform-episode-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-PT","@id":"https:\/\/devoteam.info\/en-pt\/expert-view\/ansible-and-terraform-episode-2\/#primaryimage","url":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Ansible-Terraform-image_BW-scaled-1.png","contentUrl":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Ansible-Terraform-image_BW-scaled-1.png","width":2560,"height":1440},{"@type":"BreadcrumbList","@id":"https:\/\/devoteam.info\/en-pt\/expert-view\/ansible-and-terraform-episode-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devoteam.info\/en-pt\/"},{"@type":"ListItem","position":2,"name":"Expert View","item":"https:\/\/devoteam.info\/en-pt\/expert-view\/"},{"@type":"ListItem","position":3,"name":"Ansible and Terraform: Episode 2"}]},{"@type":"WebSite","@id":"https:\/\/devoteam.info\/en-pt\/#website","url":"https:\/\/devoteam.info\/en-pt\/","name":"Devoteam","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devoteam.info\/en-pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-PT"}]}},"uagb_featured_image_src":{"full":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Ansible-Terraform-image_BW-scaled-1.png",2560,1440,false],"thumbnail":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Ansible-Terraform-image_BW-scaled-1-150x150.png",150,150,true],"medium":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Ansible-Terraform-image_BW-scaled-1-300x169.png",300,169,true],"medium_large":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Ansible-Terraform-image_BW-scaled-1-768x432.png",768,432,true],"large":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Ansible-Terraform-image_BW-scaled-1-1024x576.png",1024,576,true],"1536x1536":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Ansible-Terraform-image_BW-scaled-1-1536x864.png",1536,864,true],"2048x2048":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/11\/Ansible-Terraform-image_BW-scaled-1-2048x1152.png",2048,1152,true]},"uagb_author_info":{"display_name":"wcraye","author_link":"https:\/\/devoteam.info\/en-pt\/author\/"},"uagb_comment_info":0,"uagb_excerpt":"Ansible&nbsp;and&nbsp;Terraform&nbsp;(magically) working together In the&nbsp;previous episode, you learned how to install Ansible, Terraform, create&nbsp;ssh&nbsp;keys and some basic user configuration on AWS. In this episode, we will use a live example to get you \u201cwarmed up\u201d. We will&nbsp;clone the code from&nbsp;Github&nbsp;so you don\u2019t have to waste your time on inputting&nbsp;all code yourself,&nbsp;modify some variables&nbsp;and provision&nbsp;and&nbsp;deploy two&hellip;","_links":{"self":[{"href":"https:\/\/devoteam.info\/en-pt\/wp-json\/wp\/v2\/expert-view\/513599","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devoteam.info\/en-pt\/wp-json\/wp\/v2\/expert-view"}],"about":[{"href":"https:\/\/devoteam.info\/en-pt\/wp-json\/wp\/v2\/types\/expert-view"}],"version-history":[{"count":0,"href":"https:\/\/devoteam.info\/en-pt\/wp-json\/wp\/v2\/expert-view\/513599\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devoteam.info\/en-pt\/wp-json\/wp\/v2\/media\/136917"}],"wp:attachment":[{"href":"https:\/\/devoteam.info\/en-pt\/wp-json\/wp\/v2\/media?parent=513599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devoteam.info\/en-pt\/wp-json\/wp\/v2\/categories?post=513599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devoteam.info\/en-pt\/wp-json\/wp\/v2\/tags?post=513599"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/devoteam.info\/en-pt\/wp-json\/wp\/v2\/industry?post=513599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}