1. Overview of HashiCorp Exams
Hey everyone, and welcome to the exam preparation section. So finally we are here, and this is going to be a very exciting section here. Now, this section of exam preparation is divided into three categories. First, we’ll go over the fundamentals of exams, such as how much they cost, what the rules and regulations are, and some of the most important aspects of the exam registration process. The second category is where we go ahead and look at the important pointers for the exams that you need to know before you sit for the exams. The third step is to have a practise test, which you must complete thoroughly before sitting. So this will allow you to analyses how well you have understood the concepts that we have discussed throughout the course.
So let’s go ahead and discuss the first category, where we look into the basics of the Hash cop exams. This video is, in fact, a common video that we will have for our three courses related to the Hash cop TerraForm, Hash cop Vault, and Hash cop Console certifications, primarily because the things remain the same here. So let’s get started. Now, the first important point is related to the overview of the Hashioki exam. So let’s look into some of the important areas here. So the Ashiq exam is basically a multiple-choice exam. It is online proctored, the duration is one R, the question is 57, and the price is very interesting. It is 70.50 UST plus taxes. And this is a really great part about the Haikou exams. The language is English, and the expiration time is two years. Now, when you discuss multiple choice, there are various sub formats that are involved here.
It’s not just the standard MCQ; you also have a true or false-based question. You have a standard MCQ base. You’ll even have fill-in-the-blanks questions, where they’ll give you a question with one part of it missing. So you’ll have to enter it manually without looking at any of the answers. So there won’t be any answers provided. So this also proves to be an interesting type of question in the MCQs. So let’s look into the example. So the demo software stores information on which type of back end to use, and you will have to fill in the blank where you will have to answer this specific question. So you will not see any answers here. So this is one of the reasons why this proves to be a very interesting type of questions here.
Now, let’s look into some of the important rules that you need to follow for the exams. First, you must be alone in the room. Your desk and work area must be clear. You are connected to a power source, you should not use any phones or headphones, there should be no dual monitors, no leaving seats, no talking webcam, and the speaker and microphone must remain on throughout the test, and the proctor must be able to see you throughout the duration of that test. Now we’ll be discussing this in more detail in just a moment. Now, before the exams, you’ll have to show around the room. Now, generally, depending upon the room that you have—in fact, this is a photo of my room, where you can see that I have a lot of text-based information.
So many quotes are written here, as are my goals, and so on. So generally, the proctor will not really allow this type of room, primarily because of the text information that you have. So in India, we call it a Joel. So generally, what I do is, before sitting for the exams, I cover it with a bed sheet. So far and even on the sides, I have some text-based quotations. So I generally cover them with a bedsheet. So at the last moment, the proctor does not really create an issue here. Now that we’re talking about a disk, make sure you have a fairly empty desk—no books, nothing that can be flagged. So all I usually use is a camera, an external keyboard or mouse, and my laptop plugged into a power source. So now let’s look at the high-level overview of the overall registration process. First, you have to login to the Hashioki certification page. Second is to register for the exams, check and validate the system requirements, and download the PSI software. So yes, for the exams, you will need external software. And the fifth is best wishes and good luck. So let’s look at the registration process practically. So currently I’m on the Hash cash certification page.
So there are three certifications here: TerraForm, Vault, and Console. The overall process for registration and even for the examination is similar for all three of them. So, as an example, consider the TerraForm for one year. So whenever you select any certification, you can go ahead and click on “register for the exams.” So this will go ahead and take you to the Hashioki page, where they have a lot of information here’s one of the important things that you should read is the exam taker handbook, which contains some of the important examinations related to the legal agreement, system requirements, ID requirements, so you will have to provide identification, and so on. So everything is provided here.
So this is something that is important that you need to look into anyway. So once you have read through the rules, you can go ahead and click on this link, which is associated with clicking here, to go to the exam platform. So you will have to login with your GitHub credentials. This is an important part to remember. So, first log into GitHub, and then click on the “Login with GitHub” button. So since I am not logged into GitHub right now, it will take me to the GitHub page, where I’ll have to authenticate first. So let me also enter a verification code. That’s fantastic; I’ll do a verification. So this is how the PSI page looks like. In fact, Hashicovand was not previously associated with the PSI. So we used to make use of zoom while sitting for the exams. However, the new platform is based on PSI. So here you’ll also see a historical record here.
So currently, you see that I only have one certification listed here. primarily because the two older certifications related to TerraForm Vault were based on the older platforms. So, let’s say you want to provide one of the certifications. The first thing you should do is click on schedule. So let’s click on “schedule” here. So the next page is related to country location. So let’s select India. And within the time zone, it only gives me the option of Asia-Kolkata. Once that is done, you will have to choose an available time slot. So currently, let’s move on to the next month, which is December. You have one, and then you have to select between morning, afternoon, and evening. So you can choose any time stock, say morning. I’ll register for 07:00 a.m., and let’s do a continue. So, basically, it will ask you to confirm the details for this. Now, one important thing that I generally follow is that I try to schedule the exam during the day, somewhere where the sunlight is visible. Now, the reason why I do that is because sometimes there are some electric power cuts that happen within the area where I live in. So, for example, suppose I registered for the exams and scheduled them for 4:00 a.m. I have an UPS for my Wi-Fi. So I have a little UPS box. So my WiFi keeps her working. But if the light goes out in my room and the proctor is not able to see, then he’ll immediately raise a red flag there. So this is the reason why I generally schedule the exam in the morning time.
So even if the power goes out, my internet will still function, and the proctor will be able to see me. So that is one of the things that I follow. Now, again, depending on your area, you can choose the timing accordingly. So let me do a continue here, and it says that a booking was successfully created. So now the next important part is related to payment. And this is one of the areas where I have tried more than ten times to make a payment. So this is the difficult year. One important thing that you have to remember is that, apart from giving your credit card information (expiration date, cardholder name), you have to make sure that your billing address matches the one on the statement within your card. As a result, if you enter an incorrect or invalid address, it will not accept the card.
This is an important part to remember here. So one funny thing is that I recently changed the address on one of my cards, and it refused to accept my newer address. Even the older address was not accepted. So then I had to use a different card altogether. So always keep two cards handy while you are registering for the Hashioki exams here. Now, generally, after you have registered for the exams, you will get an email from the PSI, which basically gives you some of the important details related to exams like the exam date, start time, duration, and exam location. Make sure you are also aware of some of the important regulations contained in the exam taker’s handbook.
So make sure you read this carefully. Now, along with that, one very important thing to remember is to verify the compatibility check. So let’s go ahead and open this up. So you can go ahead and run a system check here, where it will go ahead and verify the quality as well as the audio. So it will ask you to share the screen. Let’s do that. All right. So it gave a little warning here, primarily related to the audio level of the microphone. So this is one thing that you have to verify before you sit for the exams. Now, again, the microphone that I have is associated with the recording software. So this is the reason why it is an issue here. However, you should not have received any warning. So this is one thing that you should immediately check after you register for the exams. Also note that you will have to download a secure browser here, and the exams will be based on that. So let me also give you some information on how that would work. So let’s click here to download a PSI-secure browser here.
So this is the executable. Depending on the operating system, it would be downloaded. so the executable is downloaded. Let’s quickly open this up. So you’ll have to agree on the terms and conditions. Great. So once this software has opened, you’ll have to specify which camera you intend to make use of. So far, I have two cameras: an HD camera built into my laptop and an external one. So I’ll go with the built-in one. Then you can select the microphone that you intend to make use of. Let’s use the default one that comes with the laptop. I’ll click on “continue.” So now it will go ahead and verify the microphone.
So within the next screen, it will also verify various system requirements. Let’s click on “next.” So on this screen, you have to add a photo ID. Let’s assume that I’ll take an example of my phone here. So all you can do is put your photo on your ID card and snap a quick photo. After this, you can go ahead and click on “Continue.” Now comes the interesting part, where you’ll have to scan your room and workspace. So, take your camera and scan the room 360 degrees before showing the entire workspace. So now, in order to do that, what you’ll have to do is first click on “Start video recording.” Now, if you do not have an external webcam—something similar to what I have—it will be difficult. So you’ll have to place your laptop on your hands, and you’ll have to rotate it 360 degrees here. So this is one important part to remember.
So let’s say I click on Record, stop the recording, and then you will have to play before you can go ahead and continue. So let’s get this game started. Once done, let’s click on “Continue.” Then it will ask you to take a selfie. So let’s quickly do that. I’ll do a Continue, and that’s great. It says you’re all set here. So let’s go to our PPT here. Now, one important part to remember is that this happened specifically while I was sitting with the Consumer Associate exams. So what happened was that the firewall that I was using was blocking this software. So initially here, it will show you that you are all set because I even tested it before sitting for the exams here. But while I was sitting for the exams, there were a lot of issues, primarily because of the firewall that I was using. So generally, I make use of a Bitdefender firewall.
So it does a lot of things. Let me quickly show you. So here you see that I had turned off my firewall because with the firewall enabled, it was not working. So during the exams, when things were not working well, the proctor was not able to see my video, audio, or anything. I had to turn off my firewall last year. Along with that, if you’re making use of software like Bitdefender, you also have to verify the video and audio protection here. So what would generally happen is that the PSI really needs to see your audio and video, and if you have those things blocked, So generally, within the webcam protection and within the audio protection, I generally whitelist the software that is allowed to capture the audio and the webcam. So, if you have something similar to this, make sure to whitelist before proceeding.
Otherwise, you’ll have a lot of issues while preparing for the exams. Now, one more important thing here: it states that on the day of the exam, please log in 15 minutes early and launch your exam so you’ll be able to launch the exam 30 minutes prior. I will really recommend that you sit down and start the exams 30 minutes prior. So I’ll tell you my experience. So my exams were at 530 in the evening; I started at five, and my exams started at 545. So for 45 minutes, I was debugging a lot of issues. So some issues were related to the Pacisoftware, some issues were related to the firewall that I was using, and so on.
So it took me 45 minutes to start the exam. So this is the reason why it is very important that you start early, at least 30 minutes before you log in and initiate the exam process. Primarily because, when you start the exam, you will not be taken directly to the proctor. You’ll have to go through the entire part of the PSI registration process, where you have to show your identity card and your room, and only after that will the proctor appear great, as we are discussing here. So after you have registered for the exams, you can see a message that you can only launch the exam within 30 minutes of your appointment time. So get started as soon as possible. This is very important. specifically for the PSI. I would not have said this if the zoom was used in an older operating system, but it is the case with the PSI.
2. Important Pointers for Exams – Part 01
Hey everyone, and welcome to the first part of the important tips for the TerraForm certification exams. So let’s get started. Now, the first important point is associated with the Terraform Provider. As a result, you must be very knowledgeable about what providers are and what capabilities they provide. So a provider is responsible for understanding the API interaction and exposing the resources. Now, most of the available providers correspond to One Cloud or an on-premises infrastructure platform and offer resource types that correspond to each of the features that are available on the platform. So, whenever a specific platform introduces new features, for example, AWS introduces new major features, the Terraform Provider plugin will be updated accordingly. So you can also explicitly set a specific version of the provider within the Provider block.
Now, one important part to remember for the exams is that to upgrade to the latest acceptable version of the provider, you can run a Terraform upgrade. So at a high level, just understand the architecture of a provider. On the left hand side, you have your Terraform configuration, the Terraform, and possibly a specific Provider plugin. And this provider is in charge of underlying API interaction authentication with backend cloud providers such as AWS and others. So that’s the reason why the focus on the provider is so important, even for the exams. The next important part to remember is that you can have multiple provider instances within the TerraForm code with the help of aliases. So, if you have an AWS provider and the region is US East 1, you have one more instance of the AWS provider. You might have a different region altogether. So you have the alias “Western” as well as the region “US West”.
So the provider block without an alias is also known as the default provider configuration. So this is the default provider configuration. When an alias is set, it creates an additional provider configuration. The next important pointer that you need to remember is associated with the Terraform in it. So the TerraForm unit command is used to initialize a working directory containing the TerraForm files. Now during the unit process, the configuration is searched for module blocks, the source code for the reference module is retrieved, and the location is given in the source arguments. So this is something that we have seen within the TerraForm registry video, where when you do a TerraForm unit, what TerraForm does is that it downloads the entire modules from the TerraForm registry to the local part, and from there the code is initialized. All right, so this is one important part to remember.
Also, before using the Terraform, the Provider must be initialized. Now initialising basically downloads and installs the provider plugin so that it can later be run. Now, one important thing to remember for exams: whenever you do a terraform in it. It will not create any sample files like Example TF and others. It primarily serves to initialize the working directory and download the required provider plugin. If you are making use of modules, then it will also download the module block. Particularly if the modules are part of the Terraform registry.
The next important point is associated with a TerraForm plan. Note that the Terraform Plan command is used to create an execution plan. It will not modify things within the infrastructure. Now, whenever you run a Terraform plan, it will perform a refresh unless explicitly disabled, and then determine what actions are required to achieve the desired state, as specified in the configuration file. As a result, you should understand the concepts of the desired state and the current state at a high level. Now, the TerraForm Plan command also provides a convenient way to check whether the execution plan for a set of changes matches your expectation without actually making the changes to the real resources or to the state.
The next important point is associated with a terrain application. So remember that the Terraform Apply command is used to apply the changes required to reach the desired state of the configuration. Now, TerraForm Apply will also write data to the TerraForm TF state file. So you need to remember the TerraformTF state file for the exams. Now, once the application is finished, the resources are immediately available, whether you are creating them or terminating them, depending on the configuration that you have used. The next important point is associated with the TerraForm Refresh. So the TerraForm Refresh command is used to reconcile the state that TerraForm knows about with the infrastructure in the real world infrastructure.
Now, one important part of TerraForm Refresh is that it does not modify the infrastructure, but it does modify the state file. The following critical point is related to Terraform Destroy. So the Terraform Destroy command is used to destroy the Terraform Manage infrastructure. Again, one important thing to remember is that the “Terrain Destroy” command is not the only one through which the infrastructure can be destroyed.
So for the second command, you can also decide to remove the configuration file from your block. And then, if you do a TerraFormApply automatically, the desired state would be maintained by destroying whatever resources might have been removed from the configuration file. The next important point is associated with the TerraForm format. So remember that the TerraForm FMT command is used to rewrite the TerraForm configuration files to the canonical format and the associated style. Now, in examples, if you see use cases where all the configurations that are written by the team member need to have a proper style of code, then TerraForm FMT can be used. The next important point is associated with the TerraForm Validate.
The TerraForm Validate command validates the configuration file in the directory. Now Validate runs checks that verify whether a configuration file is syntactically valid, and this is primarily useful for general verification of reusable modules, including the correctness of the attribute names and the value types. Remember that it is also safe to run this command automatically. As a post-safe check within your text editor, for example, or as a test step for the reusable module within your CI system. Now it can also run before the TerraForm plan. Now the validation requires an initialised working directory with any reference plugins and modules installed. Now the last important pointer for today’s video is associated with the TerraForm provisioner. Remember that the provisioner can be used to simulate specific actions on a local machine or even a remote virtual machine in order to prepare the server for other infrastructure objects that will be used to provide services.
Now, one important part to remember for the telephone provisioner is that the provisioner should only be used as a last resort for most of the common situations where there are better alternatives that are available. So let’s say that you want to configure an application. So it is recommended to create an AMI where the application is already configured through tools like Packer. And once the AMI is created, you can use Terraform to launch the instances from that AMI. Now, one very important thing to remember under this specific topic is that provisioners are inside the resource block. This is important. So if you see that you have a resource block named “AWS underscore instance,” followed by the name and provision, inside this specific resource block, this is an important part to remember for the exams. Aside from that, we have a look at TerraForm’s local and remote provisioning.
3. Important Pointers for Exams – Part 02
Hey everyone, and welcome to the second part of the important points for the TerraForm certification. Let’s get started. The first thing you should be aware of is Terraforms debugging capabilities. So TerraForm has detailed logs that can be enabled with the TF underscore log environment variable when you set it to a specific value. Now you can set the TF underscore lock to one of the log levels that include trace, debug, info, or error to change the verbosity of the logging. As an example, TF underscore log is equivalent to trace.
Now also remember that if you want to process the logged output, you can set the TF underscore log underscore path. This is very important. You must remember this because you will see TF underscore log underscore file and TF underscore log underscore path in exams. So, even if you understand the concept as a whole, you may become perplexed as to whether it is a file or a path. So that’s the reason why you should just remember that you have a path over here, and the name is TF underscore log for trace. The second important pointer is associated with the TerraForm import. So do know that TerraForm has the capability to import the existing infrastructure. Now, due to this capability, you can take resources that have been created by other means and bring them under your TerraForm management.
Now remember that the current implementation of TerraFormimport can only import the resources into the state; it does not generate the configuration. This third point is very important, although there are plans where, in a future version of Terraform, this configuration will also be generated automatically. But as of now, that is not the case. So this is an important pointer. For example, next is that because of this capability where TerraForm can only import resource without generating the configuration, it is important that prior to running the TerraForm import you should write the resource configuration block manually for the resource that you are planning to import. So this is a simple command here where you have TerraForm import and you have your resource configuration block, which is AWS underscore instance MYC-2 followed by the instance ID in the case where you are planning to import an EC-2 instance that was created manually.
The following critical point is related to local values. So a local value assigns a name to an expression, allowing it to be used multiple times within the module without repeating itself. So the expression of a local value can refer to other locals. So this is a very important part of the exams. So remember that the expression that you use for local can refer to other locals, but as usual, reference cycles are not allowed. That is a local variable that cannot refer to itself or to a variable that refers directly or indirectly back to it. This is a very important part to remember. Next, it is recommended to group logically related local values into a single block, particularly if they are dependent on each other. The next important point is associated with the data types. Understand the data types at a high level. So you should understand what a strain is, a list is, a map is, and what numbers are.
The next important pointer is associated with a TerraForm workspace. So note that Terraform allows us to have multiple workspaces. We can configure a different number of environment variables for each workspace. As a result, workspace supports multiple statefiles for a single configuration. So this second pointer is quite important, for example. So just remember that even if you have a single configuration, there can be multiple state files for the TerraForm workspace. The next important pointer is associated with the TerraForm modules. TerraForm modules must be thoroughly understood. So remember that Terraform modules allow us to centralise resources, and from the root modules, you can go ahead and call the child modules whenever required. So your understanding of the concept of root and child modules is important.
So every TerraForm configuration has at least one module, known as the root module, which consists of the resources defined in the TF file in the main working directory. So whenever you write a TerraForm TF file, that is considered a root module. So a module can call other modules, which lets you include the chi module resources into the configuration in a proper way. So, for example, this codeblock is from a root module, but you are calling a child module with the help of the source parameter from here. So the module that includes a module block like this is the calling module of the child module. So just keep these specific terms in mind. The next important point is associated with the output values, specifically when you are using them in modules. So remember that the resource that you define in the modules is encapsulated, so the calling module cannot access the attributes directly.
However, the child module can declare the output values to selectively export certain values to be accessed by the calling module. So you have output that is instance underscoreIP, underscore addr, and the value is referenced from the instances’ private IP over here. So you should be aware of how you can output the values as far as the module perspective is concerned. The next important point is associated with suppressing the values in a CLI output. So an output can be marked as containing sensitive material. Using the optional sensitive argument, which is sensitive, is equal to true. So setting an output value in the root module as sensitive prevents Terraform from showing its value in the list of outputs at the end of Terraform apply. This is something that we have already seen in our practical video.
Now, one important part to remember here is that the sensitive output values are still recorded within the state. So if you are going through the state, these values, even though they are marked as sensitive, will still be visible. Now, the next important point is associated with the module version. So remember that it is recommended to explicitly constrain the acceptable version number for each external module to avoid unexpected or unwanted changes, primarily because the module versions, specifically if you are making use of the TerraForm registry, keep on updating regularly. Now, one important part to remember here is that the version constraints are supported only for modules installed from the module registry, such as the TerraForm registry or TerraForm Cloud’s private module registry.
This is a very important part to remember. The next important point is associated with the TerraForm registry. So the TerraForm registry is integrated directly into TerraForm. So the syntax for referencing a registry module is namespace, name, and provider. So your namespace is hash corn, the name is console, and the provider is AWS. So the next important point is associated with a private registry for module sources.
So you can also use modules from a private registry like the one that has been provided by the TerraForm cloud. Now, private registry modules have source strings of the following form: hostname. So in this case, the hostname is TerraForm, followed by the namespace name and the provider. So the namespace, name, and provider are very similar to those of the TerraForm registry. The only additional thing here is the host name. Now, while fetching a module, remember that having a version is required. So here we are specifying a version. So this is one of the required aspects.