{"id":1874,"date":"2024-05-15T04:39:29","date_gmt":"2024-05-15T04:39:29","guid":{"rendered":"https:\/\/www.nicktailor.com\/?p=1874"},"modified":"2024-05-15T04:43:25","modified_gmt":"2024-05-15T04:43:25","slug":"how-to-power-up-or-power-down-multiple-instances-in-oci-using-cli-with-ansible","status":"publish","type":"post","link":"https:\/\/nicktailor.com\/tech-blog\/how-to-power-up-or-power-down-multiple-instances-in-oci-using-cli-with-ansible\/","title":{"rendered":"How to Power Up or Power Down multiple instances in OCI using CLI with Ansible"},"content":{"rendered":"<div class=\"ul\" style=\"margin: 0;\">\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>This assume you have already configured the OCI cli and added your key to the user inside the OCI interface so your Ubuntu or Jump box can connect to your OCI infrastructure<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>Ansible<\/div>\n<div class=\"ul\" style=\"margin: 0;\">\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 72pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.37em; left: 0; font-size: 2em;\">\u25e6<\/span>\u00a0<\/span>Role to control power up\/down instances using the OCI CLI<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 72pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.37em; left: 0; font-size: 2em;\">\u25e6<\/span>\u00a0<\/span>This assume you already have ansible setup<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3; margin-left: 72pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.37em; left: 0; font-size: 2em;\">\u25e6<\/span>\u00a0<\/span>You will need to install the ansible oci collections<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">Now the reason why you would probably want this is over terraform is because terraform is more suited for infrastructure orchestration and not really suited to deal with the instances once they are up and running.<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">If you have scaled servers out in OCI powering servers up and down in bulk currently is not available. If you are doing a migration or using a staging environment that you need need to use the machine when building or doing troubleshooting.<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">Then having a way to power up\/down multiple machines at once is convenient.<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">Install the OCI collections if you don\u2019t have it already.<\/p>\n<p style=\"margin-top: 18pt; padding-top: 0; margin-bottom: 12pt; padding-bottom: 0; line-height: 1.2;\"><strong><span style=\"color: #1f2328;\">Linux\/macOS<\/span><\/strong><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.2;\"><span style=\"color: #1f2328;\">curl -L https:\/\/raw.githubusercontent.com\/oracle\/oci-ansible-collection\/master\/scripts\/install.sh | bash -s &#8212; &#8212;<\/span><span style=\"color: #1f2328;\">verbose<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">ansible-galaxy collection list \u2013 Will list the collections installed<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\"># \/path\/to\/ansible\/collections<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">Collection Version<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;-<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">amazon.aws 1.4.0<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">ansible.builtin 1.3.0<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">ansible.posix 1.3.0<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">oracle.oci 2.10.0<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">Once you have it installed you need to test the OCI client is working<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">oci iam compartment list \u2013all (this will list out the compartment ID list for your instances.<\/p>\n<p>Compartments in OCI are a way to organise infrastructure and control access to those resources. This is great for if you have contractors coming and you only want them to have access to certain things not everything.<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">Now there are two ways you can your instance names.<\/p>\n<div class=\"ul\" style=\"margin: 0;\">\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>One logging in via the OCI interface and going the correct compartment, which is very slow and mind numbing to wait for.<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>Or you can use automated approaches which is what you should be doing with everything you do that needs to be done over and over.<\/div>\n<\/div>\n<\/div>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">Bash Script to get the instances names from OCI<\/p>\n<div class=\"ul\" style=\"margin: 0;\">\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>This will use the OCI CLI and provide all instances name and ips<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>It loops through each availability domain.<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>for each availability domain, it lists the instance IDs and writes them to instance_ids.txt.<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>It cleans up the instance_ids.txt file to remove brackets, quotes, and commas.<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>It reads each instance ID from instance_ids.txt.<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>For each instance, it retrieves the VNIC information.<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>It extracts the display name, public IP, and private IP, and prints them.<\/div>\n<\/div>\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>The script ends the loop and moves to the next availability domain.<\/div>\n<\/div>\n<\/div>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #9cdcfe;\">compartment_id<\/span><span style=\"color: #d4d4d4;\">=<\/span><span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">ocid1.compartment.oc1..insert compartment ID here<\/span><span style=\"color: #ce9178;\">&#8220;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #6a9955;\"># Explicitly define the availability domains based on your provided data<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #9cdcfe;\">availability_domains<\/span><span style=\"color: #d4d4d4;\">=<\/span><span style=\"color: #cccccc;\">(<\/span><span style=\"color: #ce9178;\">&#8220;zcLB:US-CHICAGO-1-AD-1&#8221;<\/span> <span style=\"color: #ce9178;\">&#8220;zcLB:US-CHICAGO-1-AD-2&#8221;<\/span> <span style=\"color: #ce9178;\">&#8220;zcLB:US-CHICAGO-1-AD-3&#8221;<\/span><span style=\"color: #cccccc;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #6a9955;\"># For each availability domain, list the instances<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #c586c0;\">for<\/span> <span style=\"color: #9cdcfe;\">ad<\/span> <span style=\"color: #c586c0;\">in<\/span> <span style=\"color: #ce9178;\">&#8220;${<\/span><span style=\"color: #9cdcfe;\">availability_<\/span><span style=\"color: #9cdcfe;\">domains<\/span><span style=\"color: #ce9178;\">[<\/span><span style=\"color: #d4d4d4;\">@<\/span><span style=\"color: #ce9178;\">]}&#8221;<\/span><span style=\"color: #cccccc;\">; <\/span><span style=\"color: #c586c0;\">do<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #6a9955;\"># List instances within the specific AD and compartment, extracting the &#8220;id&#8221; field<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">oci<\/span> <span style=\"color: #ce9178;\">compute<\/span> <span style=\"color: #ce9178;\">instance<\/span> <span style=\"color: #ce9178;\">list<\/span> <span style=\"color: #569cd6;\">&#8211;compartment-id<\/span> <span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">compartment_id<\/span> <span style=\"color: #569cd6;\">&#8211;availability-domain<\/span> <span style=\"color: #9cdcfe;\">$ad<\/span> <span style=\"color: #569cd6;\">&#8211;query<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">data[<\/span><span style=\"color: #ce9178;\">].id&#8221;<\/span> <span style=\"color: #569cd6;\">&#8211;raw-output<\/span> <span style=\"color: #d4d4d4;\">&gt;<\/span> <span style=\"color: #ce9178;\">instance_ids.txt<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #6a9955;\"># Clean up the instance IDs (removing brackets, quotes, etc.)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">sed<\/span> <span style=\"color: #569cd6;\">&#8211;<\/span><span style=\"color: #569cd6;\">i<\/span> <span style=\"color: #ce9178;\">&#8216;s\/<\/span><span style=\"color: #ce9178;\">\\[<\/span><span style=\"color: #ce9178;\">\/\/g&#8217;<\/span> <span style=\"color: #ce9178;\">instance_ids.txt<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">sed<\/span> <span style=\"color: #569cd6;\">&#8211;<\/span><span style=\"color: #569cd6;\">i<\/span> <span style=\"color: #ce9178;\">&#8216;s\/\\]\/\/g&#8217;<\/span> <span style=\"color: #ce9178;\">instance_ids.txt<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">sed<\/span> <span style=\"color: #569cd6;\">&#8211;<\/span><span style=\"color: #569cd6;\">i<\/span> <span style=\"color: #ce9178;\">&#8216;s\/&#8221;\/\/g&#8217;<\/span> <span style=\"color: #ce9178;\">instance_ids.txt<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">sed<\/span> <span style=\"color: #569cd6;\">&#8211;<\/span><span style=\"color: #569cd6;\">i<\/span> <span style=\"color: #ce9178;\">&#8216;s<\/span><span style=\"color: #ce9178;\">\/,\/<\/span><span style=\"color: #ce9178;\">\/g&#8217;<\/span> <span style=\"color: #ce9178;\">instance_ids.txt<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #6a9955;\"># Read each instance ID from instance_ids.txt<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #c586c0;\">while<\/span> <span style=\"color: #dcdcaa;\">read<\/span> <span style=\"color: #569cd6;\">-r<\/span> <span style=\"color: #ce9178;\">instance_id<\/span><span style=\"color: #cccccc;\">; <\/span><span style=\"color: #c586c0;\">do<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #6a9955;\"># Get instance VNIC information<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #9cdcfe;\">instance_info<\/span><span style=\"color: #d4d4d4;\">=<\/span><span style=\"color: #cccccc;\">$(<\/span><span style=\"color: #dcdcaa;\">oci<\/span> <span style=\"color: #ce9178;\">compute<\/span> <span style=\"color: #ce9178;\">instance<\/span> <span style=\"color: #ce9178;\">list-<\/span><span style=\"color: #ce9178;\">vnics<\/span> <span style=\"color: #569cd6;\">&#8211;instance-id<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">instance_id<\/span><span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #cccccc;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #6a9955;\"># Extract the required fields and print them<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #9cdcfe;\">display_name<\/span><span style=\"color: #d4d4d4;\">=<\/span><span style=\"color: #cccccc;\">$(<\/span><span style=\"color: #dcdcaa;\">echo<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">instance_info<\/span><span style=\"color: #ce9178;\">&#8220;<\/span> <span style=\"color: #d4d4d4;\">|<\/span> <span style=\"color: #dcdcaa;\">jq<\/span> <span style=\"color: #569cd6;\">-r<\/span> <span style=\"color: #ce9178;\">&#8216;.data[0].&#8221;display-name&#8221;&#8216;<\/span><span style=\"color: #cccccc;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #9cdcfe;\">public_ip<\/span><span style=\"color: #d4d4d4;\">=<\/span><span style=\"color: #cccccc;\">$(<\/span><span style=\"color: #dcdcaa;\">echo<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">instance_info<\/span><span style=\"color: #ce9178;\">&#8220;<\/span> <span style=\"color: #d4d4d4;\">|<\/span> <span style=\"color: #dcdcaa;\">jq<\/span> <span style=\"color: #569cd6;\">-r<\/span> <span style=\"color: #ce9178;\">&#8216;.data[0].&#8221;public-<\/span><span style=\"color: #ce9178;\">ip<\/span><span style=\"color: #ce9178;\">&#8220;&#8216;<\/span><span style=\"color: #cccccc;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #9cdcfe;\">private_ip<\/span><span style=\"color: #d4d4d4;\">=<\/span><span style=\"color: #cccccc;\">$(<\/span><span style=\"color: #dcdcaa;\">echo<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">instance_info<\/span><span style=\"color: #ce9178;\">&#8220;<\/span> <span style=\"color: #d4d4d4;\">|<\/span> <span style=\"color: #dcdcaa;\">jq<\/span> <span style=\"color: #569cd6;\">-r<\/span> <span style=\"color: #ce9178;\">&#8216;.data[0].&#8221;private-<\/span><span style=\"color: #ce9178;\">ip<\/span><span style=\"color: #ce9178;\">&#8220;&#8216;<\/span><span style=\"color: #cccccc;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">echo<\/span> <span style=\"color: #ce9178;\">&#8220;Availability Domain: <\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">ad<\/span><span style=\"color: #ce9178;\">&#8220;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">echo<\/span> <span style=\"color: #ce9178;\">&#8220;Display Name: <\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">display_<\/span><span style=\"color: #9cdcfe;\">name<\/span><span style=\"color: #ce9178;\">&#8220;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">echo<\/span> <span style=\"color: #ce9178;\">&#8220;Public IP: <\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">public_<\/span><span style=\"color: #9cdcfe;\">ip<\/span><span style=\"color: #ce9178;\">&#8220;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">echo<\/span> <span style=\"color: #ce9178;\">&#8220;Private IP: <\/span><span style=\"color: #9cdcfe;\">$<\/span><span style=\"color: #9cdcfe;\">private_<\/span><span style=\"color: #9cdcfe;\">ip<\/span><span style=\"color: #ce9178;\">&#8220;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">echo<\/span> <span style=\"color: #ce9178;\">&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8220;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #c586c0;\">done<\/span> <span style=\"color: #d4d4d4;\">&lt;<\/span><span style=\"color: #cccccc;\"> instance_ids.txt<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #c586c0;\">done<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">The output of the script when piped in to a file will look like<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">Instance.names<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #dcdcaa;\">Availability<\/span> <span style=\"color: #ce9178;\">Domain:<\/span> <span style=\"color: #ce9178;\">zcLB:US-CHICAGO-1-AD-1<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #dcdcaa;\">Display<\/span> <span style=\"color: #ce9178;\">Name:<\/span> <span style=\"color: #ce9178;\">Instance1<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #dcdcaa;\">Public<\/span> <span style=\"color: #ce9178;\">IP:<\/span> <span style=\"color: #b5cea8;\">192.0.2.1<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #dcdcaa;\">Private<\/span> <span style=\"color: #ce9178;\">IP:<\/span> <span style=\"color: #b5cea8;\">10.0.0.1<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #dcdcaa;\">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #dcdcaa;\">Availability<\/span> <span style=\"color: #ce9178;\">Domain:<\/span> <span style=\"color: #ce9178;\">zcLB:US-CHICAGO-1-AD-1<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #dcdcaa;\">Display<\/span> <span style=\"color: #ce9178;\">Name:<\/span> <span style=\"color: #ce9178;\">Instance2<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #dcdcaa;\">Public<\/span> <span style=\"color: #ce9178;\">IP:<\/span> <span style=\"color: #b5cea8;\">192.0.2.2<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #dcdcaa;\">Private<\/span> <span style=\"color: #ce9178;\">IP:<\/span> <span style=\"color: #b5cea8;\">10.0.0.2<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #dcdcaa;\">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #dcdcaa;\">&#8230;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">You can now grep this file for the name of the servers you want to power on or off quickly<\/p>\n<div class=\"ul\" style=\"margin: 0;\">\n<div class=\"li\" style=\"margin: 0;\">\n<div style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; position: relative; text-indent: -18pt;\"><span style=\"position: absolute; top: -0.34em; left: 0; font-size: 2em;\">\u2022<\/span>\u00a0<\/span>grep instance.names | grep &lt;Instance*&gt;<\/div>\n<p style=\"text-align: left; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3; margin-left: 36pt;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<\/div>\n<\/div>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">Now we have an ansible playbook that can power on or power off the instance by name provided by the OCI client<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">Ansible playbook to power on or off multiple instances via OCI CLI<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #dcdcaa;\">&#8212;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #dcdcaa;\">&#8211;<\/span> <span style=\"color: #ce9178;\">name:<\/span> <span style=\"color: #ce9178;\">Control<\/span> <span style=\"color: #ce9178;\">OCI<\/span> <span style=\"color: #ce9178;\">Instance<\/span> <span style=\"color: #ce9178;\">Power<\/span> <span style=\"color: #ce9178;\">State<\/span> <span style=\"color: #ce9178;\">based<\/span> <span style=\"color: #ce9178;\">on<\/span> <span style=\"color: #ce9178;\">Instance<\/span> <span style=\"color: #ce9178;\">Names<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">hosts:<\/span> <span style=\"color: #ce9178;\">localhost<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">vars:<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">instance_names_to_stop<\/span><span style=\"color: #dcdcaa;\">:<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">&#8211;<\/span> <span style=\"color: #ce9178;\">instance1<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #6a9955;\"># Add more instance names here if you wish to stop them&#8230;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">instance_names_to_start<\/span><span style=\"color: #dcdcaa;\">:<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #6a9955;\"># List the instance names you wish to start here&#8230;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #6a9955;\"># Example:<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">&#8211;<\/span> <span style=\"color: #ce9178;\">Instance2<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">tasks:<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">&#8211;<\/span> <span style=\"color: #ce9178;\">name:<\/span> <span style=\"color: #ce9178;\">Fetch<\/span> <span style=\"color: #ce9178;\">all<\/span> <span style=\"color: #ce9178;\">instance<\/span> <span style=\"color: #ce9178;\">details<\/span> <span style=\"color: #ce9178;\">in<\/span> <span style=\"color: #ce9178;\">the<\/span> <span style=\"color: #ce9178;\">compartment<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">command<\/span><span style=\"color: #ce9178;\">:<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">cmd<\/span><span style=\"color: #dcdcaa;\">:<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">oci<\/span><span style=\"color: #ce9178;\"> compute instance list &#8211;compartment-id <\/span><span style=\"color: #ce9178;\">ocid1.compartment.oc1..<\/span><span style=\"color: #ce9178;\">aaaaaaaak7jc7tn2su2oqzmrbujpr5wmnuucj4mwj4o4g7rqlzemy4yvxrza &#8211;output <\/span><span style=\"color: #ce9178;\">json<\/span><span style=\"color: #ce9178;\">&#8220;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">register:<\/span> <span style=\"color: #ce9178;\">oci_output<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">&#8211;<\/span> <span style=\"color: #ce9178;\">set_fact<\/span><span style=\"color: #ce9178;\">:<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">instances:<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">{{ <\/span><span style=\"color: #ce9178;\">oci<\/span><span style=\"color: #ce9178;\">_output.stdout<\/span><span style=\"color: #ce9178;\"> | <\/span><span style=\"color: #ce9178;\">from_json<\/span><span style=\"color: #ce9178;\"> }}&#8221;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">&#8211;<\/span> <span style=\"color: #ce9178;\">name:<\/span> <span style=\"color: #ce9178;\">Extract<\/span> <span style=\"color: #ce9178;\">relevant<\/span> <span style=\"color: #ce9178;\">information<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">set_fact<\/span><span style=\"color: #dcdcaa;\">:<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">clean_instances<\/span><span style=\"color: #dcdcaa;\">:<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">{{ <\/span><span style=\"color: #ce9178;\">clean<\/span><span style=\"color: #ce9178;\">_instances<\/span><span style=\"color: #ce9178;\"> | default([]) + [{ &#8216;name&#8217;: item[&#8216;display-name&#8217;], &#8216;id&#8217;: item.id, &#8216;state&#8217;: item[&#8216;lifecycle-state&#8217;] }] }}&#8221;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">loop:<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">{{ <\/span><span style=\"color: #ce9178;\">instances<\/span><span style=\"color: #ce9178;\">.data<\/span><span style=\"color: #ce9178;\"> }}&#8221;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">when:<\/span> <span style=\"color: #ce9178;\">&#8220;&#8216;display-name&#8217; in item and &#8216;id&#8217; in item and &#8216;lifecycle-state&#8217; in item&#8221;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">&#8211;<\/span> <span style=\"color: #ce9178;\">name:<\/span> <span style=\"color: #ce9178;\">Filter<\/span> <span style=\"color: #ce9178;\">out<\/span> <span style=\"color: #ce9178;\">instances<\/span> <span style=\"color: #ce9178;\">to<\/span> <span style=\"color: #ce9178;\">stop<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">set_fact<\/span><span style=\"color: #dcdcaa;\">:<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">instances_to_stop<\/span><span style=\"color: #dcdcaa;\">:<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">{{ <\/span><span style=\"color: #ce9178;\">instances<\/span><span style=\"color: #ce9178;\">_to_stop<\/span><span style=\"color: #ce9178;\"> | default([]) + [item] }}&#8221;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">loop:<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">{{ <\/span><span style=\"color: #ce9178;\">clean<\/span><span style=\"color: #ce9178;\">_instances<\/span><span style=\"color: #ce9178;\"> }}&#8221;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">when:<\/span> <span style=\"color: #ce9178;\">&#8220;item.name in <\/span><span style=\"color: #ce9178;\">instance_names_to_stop<\/span><span style=\"color: #ce9178;\"> and <\/span><span style=\"color: #ce9178;\">item.state<\/span><span style=\"color: #ce9178;\"> == &#8216;RUNNING'&#8221;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">&#8211;<\/span> <span style=\"color: #ce9178;\">name:<\/span> <span style=\"color: #ce9178;\">Filter<\/span> <span style=\"color: #ce9178;\">out<\/span> <span style=\"color: #ce9178;\">instances<\/span> <span style=\"color: #ce9178;\">to<\/span> <span style=\"color: #ce9178;\">start<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">set_fact<\/span><span style=\"color: #dcdcaa;\">:<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">instances_to_start<\/span><span style=\"color: #dcdcaa;\">:<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">{{ <\/span><span style=\"color: #ce9178;\">instances<\/span><span style=\"color: #ce9178;\">_to_start<\/span><span style=\"color: #ce9178;\"> | default([]) + [item] }}&#8221;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">loop:<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">{{ <\/span><span style=\"color: #ce9178;\">clean<\/span><span style=\"color: #ce9178;\">_instances<\/span><span style=\"color: #ce9178;\"> }}&#8221;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">when:<\/span> <span style=\"color: #ce9178;\">&#8220;item.name in <\/span><span style=\"color: #ce9178;\">instance_names_to_start<\/span><span style=\"color: #ce9178;\"> and <\/span><span style=\"color: #ce9178;\">item.state<\/span><span style=\"color: #ce9178;\"> == &#8216;STOPPED'&#8221;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">&#8211;<\/span> <span style=\"color: #ce9178;\">name:<\/span> <span style=\"color: #ce9178;\">Filter<\/span> <span style=\"color: #ce9178;\">out<\/span> <span style=\"color: #ce9178;\">instances<\/span> <span style=\"color: #ce9178;\">to<\/span> <span style=\"color: #ce9178;\">stop<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">set_fact<\/span><span style=\"color: #dcdcaa;\">:<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">instances_to_stop<\/span><span style=\"color: #dcdcaa;\">:<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">{{ <\/span><span style=\"color: #ce9178;\">clean<\/span><span style=\"color: #ce9178;\">_instances<\/span><span style=\"color: #ce9178;\"> | <\/span><span style=\"color: #ce9178;\">selectattr<\/span><span style=\"color: #ce9178;\">(&#8216;name&#8217;, &#8216;in&#8217;, <\/span><span style=\"color: #ce9178;\">instance_names_to_stop<\/span><span style=\"color: #ce9178;\">) | <\/span><span style=\"color: #ce9178;\">selectattr<\/span><span style=\"color: #ce9178;\">(&#8216;state&#8217;, &#8216;<\/span><span style=\"color: #ce9178;\">equalto<\/span><span style=\"color: #ce9178;\">&#8216;, &#8216;RUNNING&#8217;) | list }}&#8221;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">&#8211;<\/span> <span style=\"color: #ce9178;\">name:<\/span> <span style=\"color: #ce9178;\">Filter<\/span> <span style=\"color: #ce9178;\">out<\/span> <span style=\"color: #ce9178;\">instances<\/span> <span style=\"color: #ce9178;\">to<\/span> <span style=\"color: #ce9178;\">start<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">set_fact<\/span><span style=\"color: #dcdcaa;\">:<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">instances_to_start<\/span><span style=\"color: #dcdcaa;\">:<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">{{ <\/span><span style=\"color: #ce9178;\">clean<\/span><span style=\"color: #ce9178;\">_instances<\/span><span style=\"color: #ce9178;\"> | <\/span><span style=\"color: #ce9178;\">selectattr<\/span><span style=\"color: #ce9178;\">(&#8216;name&#8217;, &#8216;in&#8217;, <\/span><span style=\"color: #ce9178;\">instance_names_to_start<\/span><span style=\"color: #ce9178;\">) | <\/span><span style=\"color: #ce9178;\">selectattr<\/span><span style=\"color: #ce9178;\">(&#8216;state&#8217;, &#8216;<\/span><span style=\"color: #ce9178;\">equalto<\/span><span style=\"color: #ce9178;\">&#8216;, &#8216;STOPPED&#8217;) | list }}&#8221;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">&#8211;<\/span> <span style=\"color: #ce9178;\">name:<\/span> <span style=\"color: #ce9178;\">Display<\/span> <span style=\"color: #ce9178;\">instances<\/span> <span style=\"color: #ce9178;\">to<\/span> <span style=\"color: #ce9178;\">stop<\/span><span style=\"color: #cccccc;\"> (you <\/span><span style=\"color: #ce9178;\">can<\/span> <span style=\"color: #ce9178;\">remove<\/span> <span style=\"color: #ce9178;\">this<\/span> <span style=\"color: #ce9178;\">debug<\/span> <span style=\"color: #ce9178;\">task<\/span> <span style=\"color: #ce9178;\">later<\/span><span style=\"color: #cccccc;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">debug:<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">var:<\/span> <span style=\"color: #ce9178;\">instances_to_stop<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">&#8211;<\/span> <span style=\"color: #ce9178;\">name:<\/span> <span style=\"color: #ce9178;\">Display<\/span> <span style=\"color: #ce9178;\">instances<\/span> <span style=\"color: #ce9178;\">to<\/span> <span style=\"color: #ce9178;\">start<\/span><span style=\"color: #cccccc;\"> (you <\/span><span style=\"color: #ce9178;\">can<\/span> <span style=\"color: #ce9178;\">remove<\/span> <span style=\"color: #ce9178;\">this<\/span> <span style=\"color: #ce9178;\">debug<\/span> <span style=\"color: #ce9178;\">task<\/span> <span style=\"color: #ce9178;\">later<\/span><span style=\"color: #cccccc;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">debug:<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">var:<\/span> <span style=\"color: #ce9178;\">instances_to_start<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">&#8211;<\/span> <span style=\"color: #ce9178;\">name:<\/span> <span style=\"color: #ce9178;\">Power<\/span> <span style=\"color: #ce9178;\">off<\/span> <span style=\"color: #ce9178;\">instances<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">command<\/span><span style=\"color: #ce9178;\">:<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">cmd<\/span><span style=\"color: #dcdcaa;\">:<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">oci<\/span><span style=\"color: #ce9178;\"> compute instance action &#8212;<\/span><span style=\"color: #ce9178;\">action<\/span><span style=\"color: #ce9178;\"> STOP &#8211;instance-id <\/span><span style=\"color: #ce9178;\">{{ item.id<\/span><span style=\"color: #ce9178;\"> }}&#8221;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">loop:<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">{{ <\/span><span style=\"color: #ce9178;\">instances<\/span><span style=\"color: #ce9178;\">_to_stop<\/span><span style=\"color: #ce9178;\"> }}&#8221;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">when:<\/span> <span style=\"color: #ce9178;\">instances_to_stop<\/span> <span style=\"color: #d4d4d4;\">|<\/span> <span style=\"color: #dcdcaa;\">length<\/span> <span style=\"color: #d4d4d4;\">&gt;<\/span> <span style=\"color: #b5cea8;\">0<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">register:<\/span> <span style=\"color: #ce9178;\">state<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #6a9955;\"># \u00a0&#8211; debug: <\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #6a9955;\"># \u00a0 \u00a0 \u00a0var: state<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">&#8211;<\/span> <span style=\"color: #ce9178;\">name:<\/span> <span style=\"color: #ce9178;\">Power<\/span> <span style=\"color: #ce9178;\">on<\/span> <span style=\"color: #ce9178;\">instances<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">command<\/span><span style=\"color: #ce9178;\">:<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">cmd<\/span><span style=\"color: #dcdcaa;\">:<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">oci<\/span><span style=\"color: #ce9178;\"> compute instance action &#8212;<\/span><span style=\"color: #ce9178;\">action<\/span><span style=\"color: #ce9178;\"> START &#8211;instance-id <\/span><span style=\"color: #ce9178;\">{{ item.id<\/span><span style=\"color: #ce9178;\"> }}&#8221;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">loop:<\/span> <span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">{{ <\/span><span style=\"color: #ce9178;\">instances<\/span><span style=\"color: #ce9178;\">_to_start<\/span><span style=\"color: #ce9178;\"> }}&#8221;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #dcdcaa;\">when:<\/span> <span style=\"color: #ce9178;\">instances_to_start<\/span> <span style=\"color: #d4d4d4;\">|<\/span> <span style=\"color: #dcdcaa;\">length<\/span> <span style=\"color: #d4d4d4;\">&gt;<\/span> <span style=\"color: #b5cea8;\">0<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\">The output will look like<\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #ce9178;\">PLAY [Control OCI Instance Power State based on Instance Names] **********************************************************************************<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #ce9178;\">TASK [Gathering Facts] ***************************************************************************************************************************<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #569cd6;\">ok<\/span><span style=\"color: #cccccc;\">: [<\/span><span style=\"color: #ce9178;\">localhost<\/span><span style=\"color: #cccccc;\">]<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #ce9178;\">TASK [Fetch all instance details in the compartment] *********************************************************************************************<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #569cd6;\">changed<\/span><span style=\"color: #cccccc;\">: [<\/span><span style=\"color: #ce9178;\">localhost<\/span><span style=\"color: #cccccc;\">]<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #ce9178;\">TASK [Parse the OCI CLI output] ******************************************************************************************************************<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #569cd6;\">ok<\/span><span style=\"color: #cccccc;\">: [<\/span><span style=\"color: #ce9178;\">localhost<\/span><span style=\"color: #cccccc;\">]<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #ce9178;\">TASK [Extract relevant information] **************************************************************************************************************<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #569cd6;\">ok<\/span><span style=\"color: #cccccc;\">: [<\/span><span style=\"color: #ce9178;\">localhost<\/span><span style=\"color: #cccccc;\">] <\/span><span style=\"color: #569cd6;\">=&gt; (item<\/span><span style=\"color: #569cd6;\">={<\/span><span style=\"color: #569cd6;\">&#8216;display-name&#8217;<\/span><span style=\"color: #cccccc;\">: <\/span><span style=\"color: #ce9178;\">&#8216;Instance1&#8217;<\/span><span style=\"color: #cccccc;\">, <\/span><span style=\"color: #ce9178;\">&#8216;id&#8217;<\/span><span style=\"color: #cccccc;\">: <\/span><span style=\"color: #ce9178;\">&#8216;ocid1.instance.oc1..exampleuniqueID1&#8217;<\/span><span style=\"color: #cccccc;\">, <\/span><span style=\"color: #ce9178;\">&#8216;lifecycle-state&#8217;<\/span><span style=\"color: #cccccc;\">: <\/span><span style=\"color: #ce9178;\">&#8216;STOPPED&#8217;<\/span><span style=\"color: #cccccc;\">}<\/span><span style=\"color: #ce9178;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #569cd6;\">ok<\/span><span style=\"color: #cccccc;\">: [<\/span><span style=\"color: #ce9178;\">localhost<\/span><span style=\"color: #cccccc;\">] <\/span><span style=\"color: #569cd6;\">=&gt; (item<\/span><span style=\"color: #569cd6;\">={<\/span><span style=\"color: #569cd6;\">&#8216;display-name&#8217;<\/span><span style=\"color: #cccccc;\">: <\/span><span style=\"color: #ce9178;\">&#8216;Instance2&#8217;<\/span><span style=\"color: #cccccc;\">, <\/span><span style=\"color: #ce9178;\">&#8216;id&#8217;<\/span><span style=\"color: #cccccc;\">: <\/span><span style=\"color: #ce9178;\">&#8216;ocid1.instance.oc1..exampleuniqueID2&#8217;<\/span><span style=\"color: #cccccc;\">, <\/span><span style=\"color: #ce9178;\">&#8216;lifecycle-state&#8217;<\/span><span style=\"color: #cccccc;\">: <\/span><span style=\"color: #ce9178;\">&#8216;RUNNING&#8217;<\/span><span style=\"color: #cccccc;\">}<\/span><span style=\"color: #ce9178;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #ce9178;\">TASK [Filter out instances to stop] **************************************************************************************************************<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #569cd6;\">ok<\/span><span style=\"color: #cccccc;\">: [<\/span><span style=\"color: #ce9178;\">localhost<\/span><span style=\"color: #cccccc;\">]<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #ce9178;\">TASK [Filter out instances to start] *************************************************************************************************************<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #569cd6;\">ok<\/span><span style=\"color: #cccccc;\">: [<\/span><span style=\"color: #ce9178;\">localhost<\/span><span style=\"color: #cccccc;\">]<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #ce9178;\">TASK [Display instances to stop (you can remove this debug task later)] **************************************************************************<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #569cd6;\">ok<\/span><span style=\"color: #cccccc;\">: [<\/span><span style=\"color: #ce9178;\">localhost<\/span><span style=\"color: #cccccc;\">] <\/span><span style=\"color: #ce9178;\">=&gt; {<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">instances<\/span><span style=\"color: #ce9178;\">_to_stop<\/span><span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #cccccc;\">: [<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0 \u00a0 \u00a0 \u00a0 {<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #ce9178;\">&#8220;name&#8221;<\/span><span style=\"color: #cccccc;\">: <\/span><span style=\"color: #ce9178;\">&#8220;Instance2&#8221;<\/span><span style=\"color: #cccccc;\">,<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #ce9178;\">&#8220;id&#8221;<\/span><span style=\"color: #cccccc;\">: <\/span><span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">ocid1.instance.oc1..<\/span><span style=\"color: #ce9178;\">exampleuniqueID2&#8243;<\/span><span style=\"color: #cccccc;\">,<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #ce9178;\">&#8220;state&#8221;<\/span><span style=\"color: #cccccc;\">: <\/span><span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">RUNNING&#8221;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0 \u00a0 \u00a0 \u00a0 }<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0 \u00a0 ]<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">}<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #ce9178;\">TASK [Display instances to start (you can remove this debug task later)] *************************************************************************<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #569cd6;\">ok<\/span><span style=\"color: #cccccc;\">: [<\/span><span style=\"color: #ce9178;\">localhost<\/span><span style=\"color: #cccccc;\">] <\/span><span style=\"color: #ce9178;\">=&gt; {<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">instances<\/span><span style=\"color: #ce9178;\">_to_start<\/span><span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #cccccc;\">: [<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0 \u00a0 \u00a0 \u00a0 {<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #ce9178;\">&#8220;name&#8221;<\/span><span style=\"color: #cccccc;\">: <\/span><span style=\"color: #ce9178;\">&#8220;Instance1&#8221;<\/span><span style=\"color: #cccccc;\">,<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #ce9178;\">&#8220;id&#8221;<\/span><span style=\"color: #cccccc;\">: <\/span><span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">ocid1.instance.oc1..<\/span><span style=\"color: #ce9178;\">exampleuniqueID1&#8243;<\/span><span style=\"color: #cccccc;\">,<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #ce9178;\">&#8220;state&#8221;<\/span><span style=\"color: #cccccc;\">: <\/span><span style=\"color: #ce9178;\">&#8220;<\/span><span style=\"color: #ce9178;\">STOPPED&#8221;<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0 \u00a0 \u00a0 \u00a0 }<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">\u00a0 \u00a0 ]<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #cccccc;\">}<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #ce9178;\">TASK [Power off instances] ***********************************************************************************************************************<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #569cd6;\">changed<\/span><span style=\"color: #cccccc;\">: [<\/span><span style=\"color: #ce9178;\">localhost<\/span><span style=\"color: #cccccc;\">] <\/span><span style=\"color: #569cd6;\">=&gt; (item<\/span><span style=\"color: #569cd6;\">={<\/span><span style=\"color: #569cd6;\">&#8216;name&#8217;<\/span><span style=\"color: #cccccc;\">: <\/span><span style=\"color: #ce9178;\">&#8216;Instance2&#8217;<\/span><span style=\"color: #cccccc;\">, <\/span><span style=\"color: #ce9178;\">&#8216;id&#8217;<\/span><span style=\"color: #cccccc;\">: <\/span><span style=\"color: #ce9178;\">&#8216;ocid1.instance.oc1..exampleuniqueID2&#8217;<\/span><span style=\"color: #cccccc;\">, <\/span><span style=\"color: #ce9178;\">&#8216;state&#8217;<\/span><span style=\"color: #cccccc;\">: <\/span><span style=\"color: #ce9178;\">&#8216;RUNNING&#8217;<\/span><span style=\"color: #cccccc;\">}<\/span><span style=\"color: #ce9178;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #ce9178;\">TASK [Power on instances] ************************************************************************************************************************<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #569cd6;\">changed<\/span><span style=\"color: #cccccc;\">: [<\/span><span style=\"color: #ce9178;\">localhost<\/span><span style=\"color: #cccccc;\">] <\/span><span style=\"color: #569cd6;\">=&gt; (item<\/span><span style=\"color: #569cd6;\">={<\/span><span style=\"color: #569cd6;\">&#8216;name&#8217;<\/span><span style=\"color: #cccccc;\">: <\/span><span style=\"color: #ce9178;\">&#8216;Instance1&#8217;<\/span><span style=\"color: #cccccc;\">, <\/span><span style=\"color: #ce9178;\">&#8216;id&#8217;<\/span><span style=\"color: #cccccc;\">: <\/span><span style=\"color: #ce9178;\">&#8216;ocid1.instance.oc1..exampleuniqueID1&#8217;<\/span><span style=\"color: #cccccc;\">, <\/span><span style=\"color: #ce9178;\">&#8216;state&#8217;<\/span><span style=\"color: #cccccc;\">: <\/span><span style=\"color: #ce9178;\">&#8216;STOPPED&#8217;<\/span><span style=\"color: #cccccc;\">}<\/span><span style=\"color: #ce9178;\">)<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #ce9178;\">PLAY RECAP ****************************************************************************************************************************************<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"color: #569cd6;\">localhost<\/span><span style=\"color: #cccccc;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #cccccc;\"> \u00a0:<\/span> <span style=\"color: #ce9178;\">ok=9 \u00a0 \u00a0changed=3 \u00a0 \u00a0unreachable=0 \u00a0 \u00a0failed=0 \u00a0 \u00a0skipped=0 \u00a0 \u00a0rescued=0 \u00a0 \u00a0ignored=0<\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 0pt; padding-bottom: 0; line-height: 1.43;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n<p style=\"margin-top: 0pt; padding-top: 0; margin-bottom: 8pt; padding-bottom: 0; line-height: 1.3;\"><span style=\"display: inline-block; height: 1em;\"><span style=\"display: none;\">.<\/span><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u2022\u00a0This assume you have already configured the OCI cli and added your key to the user inside the OCI interface so your Ubuntu or Jump box can connect to your OCI infrastructure \u2022\u00a0Ansible \u25e6\u00a0Role to control power up\/down instances using the OCI CLI \u25e6\u00a0This assume you already have ansible setup \u25e6\u00a0You will need to install the ansible oci collections .<a href=\"https:\/\/nicktailor.com\/tech-blog\/how-to-power-up-or-power-down-multiple-instances-in-oci-using-cli-with-ansible\/\" class=\"read-more\">Read More &#8230;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[51,138,141],"tags":[],"class_list":["post-1874","post","type-post","status-publish","format-standard","hentry","category-ansible","category-linux","category-oci"],"_links":{"self":[{"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/posts\/1874","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/comments?post=1874"}],"version-history":[{"count":3,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/posts\/1874\/revisions"}],"predecessor-version":[{"id":1877,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/posts\/1874\/revisions\/1877"}],"wp:attachment":[{"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/media?parent=1874"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/categories?post=1874"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/tags?post=1874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}