Управление аутентификацией
Управление аутентификациями осуществляется через коллекцию /api/authentications.
Доступны полные действия CRUD при аутентификации:
- запрос аутентификаций;
- создание аутентификаций;
- редактирование аутентификаций;
- обновление аутентификаций;
- удаление аутентификаций.
Запрос аутентификаций
Запрос всех аутентификаций в Комплексе:
GET /api/authentications
Получение подробной информации о конкретной аутентификации:
GET /api/authentications/:id
Можно также запросить аутентификацию менеджера полезной нагрузки сценария конфигурации следующим образом:
GET /api/configuration_script_payloads/:id/authentications
или получить подробную информацию о конкретной аутентификации:
GET /api/configuration_script_payloads/:id/authentications/:authentication_id
Создание аутентификаций
Аутентификацию можно создать с помощью POST для коллекции аутентификаций или с помощью подписи действия create, которое также позволяет создавать несколько аутентификаций в одном запросе.
POST /api/authentications
{
"description" : "Authentication Description",
"name" : "SomeCredentials",
"related" : {},
"type" : "Комплекса::Providers::AnsibleTower::AutomationManager::Credential",
"manager_resource" : { "href" : "http://localhost:3000/api/providers/7" }
}
Создание нескольких аутентификаций:
{
"action" : "create",
"resources" : [
{ "description" : "System Credentials", "name" : "SystemCreds", ... },
{ "description" : "Admin Credentials", "name" : "AdminCreds", ... },
...
]
}
При необходимости можно создать аутентификацию для поставщика конкретного сценария конфигурации, что устраняет необходимость указания поставщика:
POST /api/configuration_script_payloads/:id/authentications
{
"description" : "Authentication Description",
"name" : "SomeCredentials",
"related" : {},
"type" : "Комплекса::Providers::AnsibleTower::AutomationManager::Credential"
}
Также с поддержкой массового создания:
{
"action" : "create",
"resources" : [
{ "description" : "System Credentials", "name" : "SystemCreds", ... },
{ "description" : "Admin Credentials", "name" : "AdminCreds", ... },
...
]
}
Редактирование аутентификаций
Редактирование одной аутентификации:
POST /api/authentications/:id
{
"action" : "edit",
"resource" : {
"name" : "UpdatedCredentials"
}
Редактирование нескольких аутентификаций:
POST /api/authentications
{
"action" : "edit",
"resources" : [
{
"href" : "http://localhost:3000/api/authentications/101",
"description" : "Updated Sample Credentials 1",
"name" : "UpdatedCredentials1"
},
{
"href" : "http://localhost:3000/api/authentications/102",
"description" : "Updated Sample Credentials 2",
"name" : "UpdatedCredentials2"
},
...
]
}
Обновление аутентификаций
Аутентификацию можно обновить, отправив действие refresh на один ресурс или на несколько ресурсов одновременно, с использованием коллекции:
POST /api/authentications/:id
{
"action" : "refresh"
}
Обновление нескольких аутентификаций:
POST /api/authentications
{
"action" : "refresh",
"resources" : [
{ "id" : "51" },
{ "id" : "52" }
]
}
Например, запрос:
POST /api/authentications/51
{
"action" : "refresh"
}
Ответ:
{
"success" : true,
"message" : "Refreshing Authentication id:51 name:'SampleCredentials'",
"task_id" : "8",
"task_href" : "http://localhost:3000/api/tasks/8",
"tasks" : [
{
"id" : "8",
"href" : "http://localhost:3000/api/tasks/8"
}
]
}
Удаление аутентификаций
Аутентификацию можно удалить либо с помощью действия delete POST, либо с помощью HTTP-метода DELETE:
POST /api/authentications/101
{
"action" : "delete"
}
или:
DELETE /api/authentications/101
Удаление нескольких аутентификаций можно выполнить следующим образом:
POST /api/authentications
{
"action" : "delete",
"resources" : [
{ "href" : "http://localhost:3000/api/authentications/101" },
{ "href" : "http://localhost:3000/api/authentications/102" },
...
]
}