diff --git a/playbooks/inventory.yml b/playbooks/inventory.yml index 13e6659..7b188ea 100644 --- a/playbooks/inventory.yml +++ b/playbooks/inventory.yml @@ -1,15 +1,41 @@ --- -- name: Сбор инвентаря и создание его в Semaphore UI - hosts: localhost - connection: local - gather_facts: no - vars: +- name: Debug Payload + debug: + msg: + - "Name: {{ inventory_name }}" + - "SSH Key ID: {{ semaphore_key_id }}" + - "Content Length: {{ inventory_content | length }}" +#- name: Сбор инвентаря и создание его в Semaphore UI + #hosts: localhost + #connection: local + #gather_facts: no + #vars: # --- НАСТРОЙКИ SEMAPHORE --- - semaphore_url: "http://192.168.0.198:9999" # Адрес вашего Semaphore - semaphore_project_id: 1 # ID проекта - semaphore_key_id: 7 # ID ключа (Store Key) для подключения к хостам - semaphore_api_token: "9ojexqiwt1xkemig7j1bd1pe-frh7hkre4reryk2occ=" # Вставьте токен или передайте через Extra Vars - inventory_name: "Auto Scanned Network" # Как назвать инвентарь в Semaphore + #semaphore_url: "http://192.168.0.198:9999" # Адрес вашего Semaphore + #semaphore_project_id: 1 # ID проекта + #semaphore_key_id: 7 # ID ключа (Store Key) для подключения к хостам + #semaphore_api_token: "9ojexqiwt1xkemig7j1bd1pe-frh7hkre4reryk2occ=" # Вставьте токен или передайте через Extra Vars + #inventory_name: "Auto Scanned Network" # Как назвать инвентарь в Semaphore + +- name: Создание инвентаря в Semaphore через API + uri: + url: "{{ semaphore_url }}/api/project/{{ semaphore_project_id }}/inventory" + method: POST + headers: + Authorization: "Bearer {{ semaphore_api_token }}" + Content-Type: "application/json" + Accept: "application/json" + body_format: json + body: + name: "{{ inventory_name }}" + project_id: "{{ semaphore_project_id | int }}" + type: "static" + # ВАЖНО: поле называется ssh_key_id, а не key_id + ssh_key_id: "{{ semaphore_key_id | int }}" + inventory: "{{ inventory_content }}" + status_code: [201, 200] + # 201 - Created, 200 - OK + register: api_response # --- НАСТРОЙКИ СЕТИ (из вашего примера) --- subnets: