Using Guaranteed State
Using Patch Success
Tachyon v5.1 - Install and Configure - Lab Guide
Tachyon v5.1 - AppClarity Training
Tachyon v5.1 - Application Migration Training
Tachyon v5.1 - Using - Using Experience - Lab Guide
Tachyon v5.1 - Using - Using Guaranteed State - Lab Guide
Tachyon v5.1 - Using - Using Inventory - Lab Guide
Tachyon v5.1 - Using - Using Patch Success - Lab Guide
Tachyon v5.1 - Using - Using TIMS - Lab Guide
- Tachyon v5.1 - Using - Application Programming Interface Lab Guide
Tachyon Advanced v5.1 Lab Guide
Tachyon - Nomad as Content Provider Lab Guide
- Tachyon v5.1 - Install and Configure - Lab Guide
Now that we have Tachyon configured to allow external API calls. We need to install our API tool. The next steps will show you how to install Postman. This is the API interface we will use to first illustrate the things that can be done with the APIs. This course is not designed to teach you how to use Postman but instead the concepts here will translate to the API tool of your choice.
- Open the SkyTap Shared Drive shortcut on the desktop. Navigate to 1E Tachyon - Course Content\1E Tachyon 5.1 Course Content and download Postman-win32-7.14.0-Setup.exe. When the download finishes move the file to c:\temp
- Log into 1ETRNW102 as 1ETRN\Tachyon_AdminPP
- Navigate to \\1ETRNAP\temp and copy Postman-win32-7.14.0.exe to c:\Sources
- Double-click the Postman executable you just copied and install Postman
- On the Create Account screen click the Skip signing in and take me straight to the app at the very bottom (it appears greyed out but click on it anyway)
- In the upper right click the Wrench icon and go into Settings. In General the third item down is SSL Certificate Verification - turn this off.
- From the LaunchPad click on the Plus sign to Open an Untitled Request
- Let's first test our connection to Tachyon. In the Enter Request URL field in the center next to Get type in
- Click the Authorization tab below that line. In the Type field choose NTLM Authentication (Beta) and type in 1ETRN\Tachyon_adminpp and Passw0rd
- Click on Headers and in the Key field type in X-Tachyon-Consumer in the Value field type in Post click Send
- Notice the ErrorCode - Consumer.UnlicensedConsumer.
- Amend Post in the value field to Postman click Send
- You should get a status of 200 Ok and see the Tachyon System Information in the Body area
Examples of API Calls
In Tachyon there many different calls that we can do. Think of the things you can do in the Settings Application (system configuration type items) and things you can do in the Explorer Application (interacting with the devices that are reporting into Tachyon). We will do some of each of these things.
Device API Calls
- Click the Plus sign to open a new request
- In the Request URL Field type in https://Tachyon.1etrn.local/Consumer/Devices leave the type as Get
- Click on Headers and in the Key field type in X-Tachyon-Consumer in the Value field type in Postman
- Click Send
- Notice the listing of all of our Devices in the body
- Now we will Get a specific device click the Plus sign to open a new request and type in https://Tachyon.1etrn.local/Consumer/Devices/fqdn/1ETRNW71.1ETRN.Local
- Click on Headers and in the Key field type in X-Tachyon-Consumer in the Value field type in Postman click Send
- Notice the Status 400 Bad Request. FQDN for this API call must be encoded in Base64 format
- Open a new tab in Chrome and navigate to base64encode.org - Select Encode at the top and Type in 1ETRNW71.1etrn.local in the top form and click on the green Encode. Copy the characters from the bottom pane into your Postman Request URL (replacing the 1ETRNW71.1ETRN.Local). Click Send
- Notice the Status 200 and the details of our device
Defining Scope For the Query
Next we will define a scope for our query to limit our results to a particular type of device. In this example we are only wanting to return our Servers.
- Perform a Post on https://Tachyon.1etrn.local/Consumer/Devices/Scope
- Set NTLM Authorization and Add your X-Tachyon-Consumer header value to Postman. Also add a second header in the Key field start typing in Content and choose Content-Type in the Value field start typing in application and Choose application/json. This is the header we need to add when passing some parameters with our request.
- Click on the Body tab and choose the raw radio button
- In the Code Block type in the following
- Click Send
- Notice our results pane - only the Server device types are returned.
Device Management Groups
- Base64 encode 1ETRNAP.1etrn.local and use in the next step request
- Now perform the following Get Groups
- Scroll down and notice the Management Groups that this device is a member of
Device Criticality Mapping
- Now perform a Get on https://Tachyon.1etrn.local/Consumer/Devices/CriticalityMapping
Instruction API Calls
Now we will work with our API calls that do things with Instructions and Instruction Sets.
Perform a Get on https://Tachyon.1etrn.local/Consumer/InstructionSets
- Notice the listing of all of our Instruction Sets that have been uploaded to Tachyon
Now perform a Get on https://Tachyon.1etrn.local/Consumer/InstructionDefinitions
- Notice all of the instruction definitions. Look at all of the Instruction Set IDs. You will need to use these in later labs.
Perform a Get on https://Tachyon.1etrn.local/Consumer/InstructionSets/Id/16
- Notice it returns our Device Criticality Instruction Set
- Perform a Get on https://Tachyon.1etrn.local/Consumer/InstructionDefinitions?instructionType=Question
- Notice that this returns all of the instructions that are Questions. Only the instructions that the user can see per their permissions are returned. The ones that the account does not have permission to are omitted from the return.
Perform a Get on https://Tachyon.1etrn.local/Consumer/Instructions/InFlight/InstructionSet/16
- Notice we have 0 Running instructions for our Device Criticality Instruction Set
- Open Chrome and navigate to Explorer Application. Ask the question What is the Criticality of my Devices? and change the Gather duration to 30 minutes
- Go back to Postman and resend the last Get
- Notice we now have 1 InFlight instruction for that instruction set
Delete an Instruction Set without deleting the Instructions
The next exercise will show you how to delete an instruction set without deleting the instruction definitions.
- Open the Settings Application in Chrome and navigate to Instructions - Instruction Sets and select the Misc Instruction Set.
- Note that we have 35 instructions in the Misc Instruction Set and 0 instructions in the Unassigned Instruction Set
- Back in Postman perform a Delete on https://Tachyon.1etrn.local/Consumer/InstructionSets/Id/18?deleteContent=false
- Navigate back into the Settings Application and notice that we now have 35 instructions in the Unassigned Instruction Set and no Misc Instruction Set. You may have to refresh your page.
Create a New Instruction Set
We will now create an instruction set to replace the one we just deleted.
- Perform a Post on https://Tachyon.1etrn.local/Consumer/InstructionSets
- Change to NTLM Authorization and Add your standard header of X-Tachyon-Consumer with a value of Postman. Still in Headers also add a header of Content-Type with a value of application/json
- Click the Body tab and choose the Raw radio button. Ensure that json is selected in the far right column (in Orange)
- Type in the following in the Body Code Block
- Click Send
- Notice our Status 201 Created
- Navigate to the Settings Application and ensure that the Instruction Set was created. Notice it contains 0 Instruction Definitions.
Add a Specific Instruction Definition to an Instruction Set
- Back in Postman open a new tab and perform a Get on InstructionSets find the Instruction Set ID of the new Msc instruction set we created
- Perform a Post on InstructionSets/Contents
- Add our header for a payload (Content-Type with a Value of application/json)
- Select Body and choose Raw
- Type the following in your Body code block
- Navigate to Settings application and check to make sure your instructions (Delete all coverage tags and Delete all freeform tags) have been moved into your instruction set.
Create a Question
Now we will use Postman to ask a question. We will refer to it as creating a question. We are going to ask What is the Criticality of My Devices?
- Perform a Post on Instructions
- Add your additional header of Content-Type value = application/json
- In your body - raw code block type in the following
- You should get a Status of 201 Created
- Open the Explorer Application and Notice that the Question is Running
Create a Question and Set Coverage to Specific Devices
Now we are going to ask a question "What is the location of my devices?" and limit the coverage to specific devices.
- In Postman open a new request and perform a Post on Instructions/Targeted
- Add your Additional Header for a payload (Content-Type value application/json)
- In your body - raw code block type in
- Click Send to create the Question
- You should see the Status of 201 Created
Check the Log for Status
- Open the Tachyon.ConsumerAPI.log and see the details of the Request you just sent
- Notice the line for "Question Created" with a Payload "Get the location of my devices?" and Coverage of our Windows 7 devices
Check the Responses in Explorer
- Open the Explorer Application and check that the instruction is running
Create a Question that Requires Parameters
Now we will create a question that requires us to enter some values at the time of issue.
- Back in Postman click the Plus sign to open a new request window
- Add your Authorization and your two headers
- Perform a Post on Instructions
- In your Body - Raw tab type in the following in your code block
- Click Send to issue our request
- Notice the Status 201 Created
- Check the log and the responses in Explorer application
Create an Action
Now will we create an action and see the changes that are made to our devices. We will be setting a registry entry on our Windows 7 devices. Our instruction requires multifactor authentication and approval.
- Back in Postman open a new request to perform a Post on Instructions and fill in the Authorization and the two headers that we need to add a payload to our request
- For Authentication use the Tachyon_Admin1 account. Change that in your Authorization tab in Postman
- In the Body - Raw code block type in
- Click Send
- You should see Status 201 Created
- Check Tachyon.ConsumerAPI.log for success messages
- Log into 1ETRNW71 as 1ETRN\Tachyon_Admin1
- Open Live Mail and get the authorization code for the instruction number you collected from the ConsumerAPI.log
- Open Explorer and navigate to Instructions - History. Notice the instruction waiting for authentication. Open that instruction and click on the Provide authentication code button
- Enter your authentication code from the email
- Perform a Post on Approvals/Instruction
- For authentication use 1ETRN\Tachyon_AdminPP account
- In the Body code block type in
- Check the Log and the Explorer application for the results.
- Open Regedit and navigate to HKLM\Software\1E\ there will be a name of Common with the data set to Postman
Now we will approve the Action
Earlier we look at creating the question from instruction definition 127. This pulls all of the subkeys for a registry key. This instruction is not aggregated. Now we will look at an instruction that is aggregated. You will need to understand how your instruction returns the responses in order to be able to handle them to act on the data that is returned.
- Create a question What processes are running by performing a Post on Instructions
- After adding your Headers and your Authorization type the following in your Body field
- Click Send
- Open Explorer application and take a look at the responses that are returned from each of the questions.
Showing both aggregated and non-aggregated responses
There are times when you want to have both the counts of the items and the listing of all items. We can do this by setting the KeepRaw flag.
- Back in Postman in the Body - Raw section add the following line to your code block under "ResponseTtlMinutes" : 120 (you will need to add a comma to this line)
- Open Explorer and navigate to Instructions - History and select the latest issue of the What processes are running instruction
- Now you see the ability to see either the Raw table view or the Aggregated table view by switching the view using the buttons above the Filter Results button
- Open the first What processes are running instruction and notice that we only have one view to see for these responses
For our first step for permissions we will look at all of the permissions for a Role and then the permissions for a Principal
- In Postman perform a Get on Roles
- Notice "ID" : 7 is our Global Actioner
- Now perform a Get on Principals this shows all of the users that are configured in Tachyon
- Perform a Get on Principals/Role/7 this will show you all of the users who are a Global Actioner in Tachyon
- Perform a Get on SecurableTypes this returns all of the available securable types
Take a look at the Resources section at the end of this lab guide. Navigate to the Consumer API Reference page and familiarize yourself with the different types of calls that you can make.
In this lab we learned how to use Postman to interact with the Tachyon Platform. We learned about system activities (things we would do in the settings application) and also about interacting with the devices that are reporting into Tachyon (things we could do with the Explorer application). We also looked at aggregation and had our first look at Permissions.