- 07 Aug 2024
-
DarkLight
-
PDF
Installation Validation
- Updated on 07 Aug 2024
-
DarkLight
-
PDF
Once Itential Automation Gateway is installed and configured, use the information in this guide to change the default password, get started with the API, and set your security keys.
- Default User Name:
admin@itential
. - Default Password:
admin
.
Change Default Password
You must first login to obtain the authorization token and then paste the token into the change password curl
command.
An example curl
script is provided below.
$ curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ "password": "admin", "username": "admin@itential" }' 'http://localhost:8083/api/v2.0/login'
{"token": "NTAuMjczOTA4MTYwNDM5OTY2"}
curl -X POST --header 'Authorization: <COPY TOKEN VALUE FROM PREVIOUS CMD HERE>' --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{
"new_password": "super-secure-password",
"old_password": "admin"
}' 'http://localhost:8083/api/v2.0/account/admin%40itential/change_password'
Alternate Method: Editing the SQLite Database
The default password can also be changed by directly editing the underlying SQLite database. This may be required if Itential Automation Gateway is down or otherwise not accepting API requests. The sqlite3 Python module is included in all Itential Automation Gateway installations; as such, the following examples assume its usage as your SQLite interface.
-
Load the Itential Automation Gateway data file into
sqlite3
.sqlite3 automation-gateway.db
-
Optionally, list all the tables present in the data file. The
account
table contains the password to be changed..table
-
Update the
admin@itential
user password on theaccount
table. Provide the new password as a SHA-512 hash. In this example, the hash equals "Admin1234!". If you use the hash as-is, be sure to update the password to a unique and secure value once you have access to the system.UPDATE account SET password_hash = "pbkdf2:sha512:40000$7z3XJWhA$8fb0c3cc8098cc9d1ae566e7d1d622794bfe8c1808fa9c42a8cdd9b5d098231d6b46f71a74f4b692ed2d21043cb4417234e4efe01df3e928e86f5c96ac449fb8" WHERE name = "admin@itential" ;
-
Optionally, review your changes by listing all
account
table values.select * from account;
-
Exit the
sqlite3
module..exit
Login to Automation Gateway
Login to the Automation Gateway UI running at: https://servername:8083.
- The username will be
admin@itential
. - The password will be the
<super-secure-password>
that was selected in the previous step.
Click here for IAG 2022.1
Login to Automation Gateway UI running at:
https://servername:8443
Password Reset Functionality Enabled
During initial (first time) login as admin, a straightforward Change Password feature is enabled that allows the user to enter a new password.
-
You will be asked to set security questions and a strong password that meets security guidelines.
-
The default email for admin is set to
admin@itential.com
but it can be changed to an email that complies to organization standards. The email and security answers that are set will be used as an identifier for the account, in case of password or username recovery. -
For creation of user accounts, the email id is a mandatory field.
Figure 1: First Time Login
Refer to IAG Server Configuration for more information.
Getting Started with the API
For a complete API reference, use the API Documentation link in the Automation Gateway UI. The interface allows you to browse and interact with the Automation Gateway API.
Add a Device
If an existing Ansible Inventory is not already configured, you can add a new device to Automation Gateway using the API. The following is an example curl
script to add a device.
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ "password": "admin", "username": "admin@itential" }' 'http://localhost:8083/api/v2.0/login'
{"token": "NTAuMjczOTA4MTYwNDM5OTY2"}
curl -X POST --header 'Authorization: <COPY TOKEN VALUE FROM PREVIOUS CMD HERE>' --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{
"name": "ios02",
"variables": {
"ansible_host": "192.168.32.79",
"ansible_port": 22,
"ansible_user": "ios-user",
"ansible_ssh_private_key_file": "/path/to/key",
"ansible_network_os": "ios",
"ansible_connection": "network_cli"
}
}' 'https://localhost:8083/api/v2.0/devices'
Get a Device List
Use the following command to get a list of managed devices.
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ "password": "admin", "username": "admin@itential" }' 'http://localhost:8083/api/v2.0/login'
{"token": "NTAuMjczOTA4MTYwNDM5OTY2"}
curl -X GET --header 'Authorization: <COPY TOKEN VALUE FROM PREVIOUS CMD HERE>' --header 'Accept: application/json' 'http://localhost:8083/api/v2.0/devices'
Get Configuration for a Device
Use the following command to retrieve the configuration for a managed device.
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ "password": "admin", "username": "admin@itential" }' 'http://localhost:8083/api/v2.0/login'
{"token": "NTAuMjczOTA4MTYwNDM5OTY2"}
curl -X POST --header 'Authorization: <COPY TOKEN VALUE FROM PREVIOUS CMD HERE>' --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{
"hosts": [ "ios01" ]
}' 'https://localhost:8083/api/v2.0/roles/itential_get_config/execute'
Click here to show code snippet in IAG 20221.
Automation Gateway 2022.1
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ "password": "admin", "username": "admin@itential" }' 'http://localhost:8083/api/v2.0/login'
{"token": "NTAuMjczOTA4MTYwNDM5OTY2"}
curl -X POST --header 'Authorization: <COPY TOKEN VALUE FROM PREVIOUS CMD HERE>' --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{
"hosts": [ "ios01" ],
"template": "ios_config"
}' 'https://localhost:8083/api/v2.0/getConfig'
Run a Command on a Device
Use the following to run a command on a managed device.
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ "password": "admin", "username": "admin@itential" }' 'http://localhost:8083/api/v2.0/login'
{"token": "NTAuMjczOTA4MTYwNDM5OTY2"}
curl -X POST --header 'Authorization: <COPY TOKEN VALUE FROM PREVIOUS CMD HERE>' --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{
"command": [ "show version" ],
"hosts": [ "ios01" ]
}' 'https://localhost:8083/api/v2.0/roles/itential_cli/execute'
Click here to show code snippet in IAG 20221.
Automation Gateway 2022.1
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ "password": "admin", "username": "admin@itential" }' 'http://localhost:8083/api/v2.0/login'
{"token": "NTAuMjczOTA4MTYwNDM5OTY2"}
curl -X POST --header 'Authorization: <COPY TOKEN VALUE FROM PREVIOUS CMD HERE>' --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{
"command": [ "show version" ],
"hosts": [ "ios01" ],
"template": "ios_command"
}' 'https://localhost:8083/api/v2.0/runCommand'