diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ae46ffb1..83798565 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -80,7 +80,7 @@ py311-coverage: variables: TOX_ENVS: "$CI_BUILD_NAME" -py36-install: +py38-install: <<: *branch_tests variables: TOX_ENVS: "$CI_BUILD_NAME" diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 00000000..b38ec9af --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,26 @@ +# .readthedocs.yaml +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Set the version of Python and other tools you might need +build: + os: ubuntu-22.04 + tools: + python: "3.11" + nodejs: "16" + +# Build documentation in the docs/ directory with Sphinx +sphinx: + configuration: doc/conf.py + +# If using Sphinx, optionally build your docs in additional formats such as PDF +formats: + - pdf + +# Optionally declare the Python requirements required to build your docs +python: + install: + - requirements: requirements-doc.txt diff --git a/doc/api.rst b/doc/api.rst index c90adde4..5c060fcb 100644 --- a/doc/api.rst +++ b/doc/api.rst @@ -11,7 +11,7 @@ This is an example of api schema, but you can find actual schema on Polemarch ho .. _structure: Structure ------------------------ +--------- In Polemarch we have some entities that can be nested to another entities. Below examples of such entities: diff --git a/doc/api_schema.yaml b/doc/api_schema.yaml index 2389f1f8..cdc2c08a 100644 --- a/doc/api_schema.yaml +++ b/doc/api_schema.yaml @@ -16,48 +16,48 @@ info: has_docs: true docs_url: /docs/ x-links: + Request: + - url: https://gitlab.com/vstconsulting/polemarch/issues/new?issuable_template%5D=Ask&issue%5Btitle%5D=Ask%20about%20version%203.0.0 + name: Question + - url: https://gitlab.com/vstconsulting/polemarch/issues/new?issuable_template%5D=Bug&issue%5Btitle%5D=Bug%20in%20version%203.0.0 + name: Bug report + - url: https://gitlab.com/vstconsulting/polemarch/issues/new?issuable_template%5D=Feature%20request&issue%5Btitle%5D= + name: Feature request Documentation: - name: Official documentation url: http://polemarch.readthedocs.io/ + name: Official documentation Repository: - name: Official repository url: https://gitlab.com/vstconsulting/polemarch.git - Request: - - name: Question - url: https://gitlab.com/vstconsulting/polemarch/issues/new?issuable_template%5D=Ask&issue%5Btitle%5D=Ask%20about%20version%202.3.0 - - name: Bug report - url: https://gitlab.com/vstconsulting/polemarch/issues/new?issuable_template%5D=Bug&issue%5Btitle%5D=Bug%20in%20version%202.3.0 - - name: Feature request - url: https://gitlab.com/vstconsulting/polemarch/issues/new?issuable_template%5D=Feature%20request&issue%5Btitle%5D= + name: Official repository x-menu: - name: Projects - span_class: fas fa-cubes url: /project + span_class: fas fa-cubes - name: Community - span_class: fa fa-cloud url: /community_template + span_class: fa fa-cloud - name: Inventories + url: /inventory span_class: fa fa-folder sublinks: - name: Groups - span_class: fas fa-server url: /group + span_class: fas fa-server - name: Hosts - span_class: fas fa-hdd url: /host - url: /inventory + span_class: fas fa-hdd - name: History - span_class: fa fa-calendar url: /history + span_class: fa fa-calendar - name: System span_class: fa fa-cog sublinks: - name: Users - span_class: fa fa-user url: /user + span_class: fa fa-user - name: Hooks - span_class: fa fa-plug url: /hook + span_class: fa fa-plug x-page-limit: 20 x-settings: static_path: /static/ @@ -67,18 +67,18 @@ info: login_url: /account/login/ x-subscriptions-prefix: polemarch.update x-versions: - application: 2.3.0 - library: 2.3.0 - vstutils: 5.2.5 - django: 3.2.16 + application: 3.0.0 + library: 3.0.0 + vstutils: 5.4.0 + django: 4.1.6 djangorestframework: 3.14.0 - drf_yasg: 1.21.4 + drf_yasg: 1.21.5 ansible: 2.9.27 - version: v3 + version: v4 host: localhost:8080 schemes: - http -basePath: /api/v3 +basePath: /api/v4 consumes: - application/json - application/msgpack @@ -97,6 +97,47 @@ paths: operationId: community_template_list description: List of community project templates. parameters: + - name: id + in: query + description: A unique integer value (or comma separated list) identifying + this instance. + required: false + type: array + items: + type: integer + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: name + in: query + description: A name string value (or comma separated list) of instance. + required: false + type: string + - name: type + in: query + description: '' + required: false + type: string + enum: + - '' + - GIT + - TAR + - name: id__not + in: query + description: A unique integer value (or comma separated list) identifying + this instance. + required: false + type: array + items: + type: integer + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: name__not + in: query + description: A name string value (or comma separated list) of instance. + required: false + type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -150,11 +191,11 @@ paths: results: type: array items: - $ref: '#/definitions/ProjectTemplate' + $ref: '#/definitions/ProjectCommunityTemplate' tags: - community_template x-subscribe-labels: - - main.ProjectTemplate + - main.ProjectCommunityTemplate x-list: true parameters: [] /community_template/{id}/: @@ -166,41 +207,41 @@ paths: '200': description: OK schema: - $ref: '#/definitions/OneProjectTemplate' + $ref: '#/definitions/OneProjectCommunityTemplate' tags: - community_template x-subscribe-labels: - - main.ProjectTemplate + - main.ProjectCommunityTemplate x-list: false parameters: - name: id in: path - description: A unique value identifying this project template. + description: A unique value identifying this project community template. required: true type: integer /community_template/{id}/use_it/: post: operationId: community_template_use_it - description: Create project based on this template. + description: Create a project based on current template. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/ProjectTemplateCreate' + $ref: '#/definitions/ProjectCommunityTemplateUseIt' responses: '201': description: CREATED schema: - $ref: '#/definitions/ProjectTemplateCreate' + $ref: '#/definitions/ProjectCommunityTemplateUseIt' tags: - community_template - x-require-confirmation: false + x-title: Use it x-multiaction: false parameters: - name: id in: path - description: A unique value identifying this project template. + description: A unique value identifying this project community template. required: true type: integer /group/: @@ -320,12 +361,12 @@ paths: in: body required: true schema: - $ref: '#/definitions/GroupCreateMaster' + $ref: '#/definitions/CreateGroup' responses: '201': description: CREATED schema: - $ref: '#/definitions/GroupCreateMaster' + $ref: '#/definitions/CreateGroup' tags: - group parameters: [] @@ -401,12 +442,12 @@ paths: in: body required: true schema: - $ref: '#/definitions/GroupCopy' + $ref: '#/definitions/Copy' responses: '201': description: CREATED schema: - $ref: '#/definitions/GroupCopy' + $ref: '#/definitions/Copy' tags: - group parameters: @@ -531,12 +572,12 @@ paths: in: body required: true schema: - $ref: '#/definitions/GroupCreateMaster' + $ref: '#/definitions/CreateGroup' responses: '201': description: CREATED schema: - $ref: '#/definitions/GroupCreateMaster' + $ref: '#/definitions/CreateGroup' tags: - group x-allow-append: true @@ -622,12 +663,12 @@ paths: in: body required: true schema: - $ref: '#/definitions/GroupCopy' + $ref: '#/definitions/Copy' responses: '201': description: CREATED schema: - $ref: '#/definitions/GroupCopy' + $ref: '#/definitions/Copy' tags: - group parameters: @@ -667,6 +708,15 @@ paths: description: Instance type. required: false type: string + enum: + - '' + - HOST + - RANGE + - name: variables + in: query + description: List of variables to filter. Comma separated "key:value" list. + required: false + type: string - name: id__not in: query description: A unique integer value (or comma separated list) identifying @@ -683,11 +733,6 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: variables - in: query - description: List of variables to filter. Comma separated "key:value" list. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -858,12 +903,12 @@ paths: in: body required: true schema: - $ref: '#/definitions/Host' + $ref: '#/definitions/Copy' responses: '201': description: CREATED schema: - $ref: '#/definitions/Host' + $ref: '#/definitions/Copy' tags: - group parameters: @@ -883,7 +928,7 @@ paths: required: true type: integer /group/{id}/groups/{groups_id}/hosts/{hosts_id}/set_owner/: - post: + patch: operationId: group_groups_hosts_groups_set_owner description: Change instance owner. parameters: @@ -893,12 +938,14 @@ paths: schema: $ref: '#/definitions/SetOwner' responses: - '201': - description: CREATED + '200': + description: OK schema: $ref: '#/definitions/SetOwner' tags: - group + x-title: Set owner + x-multiaction: false parameters: - name: groups_id in: path @@ -918,7 +965,7 @@ paths: /group/{id}/groups/{groups_id}/hosts/{hosts_id}/variables/: get: operationId: group_groups_hosts_variables_list - description: Return all variables of instance. + description: Return all variables of inventory host. parameters: - name: id in: query @@ -1015,7 +1062,7 @@ paths: x-list: true post: operationId: group_groups_hosts_variables_add - description: Create a new variable of instance. + description: Create a new variable of inventory host. parameters: - name: data in: body @@ -1049,7 +1096,7 @@ paths: /group/{id}/groups/{groups_id}/hosts/{hosts_id}/variables/{variables_id}/: get: operationId: group_groups_hosts_variables_get - description: Return a variable of instance. + description: Return a variable of inventory host. parameters: [] responses: '200': @@ -1125,7 +1172,7 @@ paths: description: A unique integer value identifying instance of this variables sublist. /group/{id}/groups/{groups_id}/set_owner/: - post: + patch: operationId: group_groups_set_owner description: Change instance owner. parameters: @@ -1135,12 +1182,14 @@ paths: schema: $ref: '#/definitions/SetOwner' responses: - '201': - description: CREATED + '200': + description: OK schema: $ref: '#/definitions/SetOwner' tags: - group + x-title: Set owner + x-multiaction: false parameters: - name: groups_id in: path @@ -1155,7 +1204,7 @@ paths: /group/{id}/groups/{groups_id}/variables/: get: operationId: group_groups_variables_list - description: Return all variables of instance. + description: Return all variables of inventory host. parameters: - name: id in: query @@ -1252,7 +1301,7 @@ paths: x-list: true post: operationId: group_groups_variables_add - description: Create a new variable of instance. + description: Create a new variable of inventory host. parameters: - name: data in: body @@ -1281,7 +1330,7 @@ paths: /group/{id}/groups/{groups_id}/variables/{variables_id}/: get: operationId: group_groups_variables_get - description: Return a variable of instance. + description: Return a variable of inventory host. parameters: [] responses: '200': @@ -1354,7 +1403,25 @@ paths: /group/{id}/hosts/: get: operationId: group_hosts_list - description: Return all hosts. + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: id in: query @@ -1377,6 +1444,15 @@ paths: description: Instance type. required: false type: string + enum: + - '' + - HOST + - RANGE + - name: variables + in: query + description: List of variables to filter. Comma separated "key:value" list. + required: false + type: string - name: id__not in: query description: A unique integer value (or comma separated list) identifying @@ -1393,11 +1469,6 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: variables - in: query - description: List of variables to filter. Comma separated "key:value" list. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -1461,7 +1532,25 @@ paths: x-list: true post: operationId: group_hosts_add - description: Create a new host. + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: data in: body @@ -1485,7 +1574,25 @@ paths: /group/{id}/hosts/{hosts_id}/: get: operationId: group_hosts_get - description: Return a host instance. + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: [] responses: '200': @@ -1499,7 +1606,25 @@ paths: x-list: false put: operationId: group_hosts_update - description: Update a host. + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: data in: body @@ -1515,7 +1640,25 @@ paths: - group patch: operationId: group_hosts_edit - description: Update one or more fields on an existing host. + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: data in: body @@ -1531,7 +1674,25 @@ paths: - group delete: operationId: group_hosts_remove - description: Remove an existing host. + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: [] responses: '204': @@ -1552,18 +1713,36 @@ paths: /group/{id}/hosts/{hosts_id}/copy/: post: operationId: group_hosts_copy - description: Endpoint which copy instance with deps. + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/Host' + $ref: '#/definitions/Copy' responses: '201': description: CREATED schema: - $ref: '#/definitions/Host' + $ref: '#/definitions/Copy' tags: - group parameters: @@ -1578,7 +1757,7 @@ paths: required: true type: integer /group/{id}/hosts/{hosts_id}/set_owner/: - post: + patch: operationId: group_hosts_set_owner description: Change instance owner. parameters: @@ -1588,12 +1767,14 @@ paths: schema: $ref: '#/definitions/SetOwner' responses: - '201': - description: CREATED + '200': + description: OK schema: $ref: '#/definitions/SetOwner' tags: - group + x-title: Set owner + x-multiaction: false parameters: - name: hosts_id in: path @@ -1608,7 +1789,25 @@ paths: /group/{id}/hosts/{hosts_id}/variables/: get: operationId: group_hosts_variables_list - description: Return all variables of instance. + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: id in: query @@ -1705,7 +1904,25 @@ paths: x-list: true post: operationId: group_hosts_variables_add - description: Create a new variable of instance. + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: data in: body @@ -1734,7 +1951,25 @@ paths: /group/{id}/hosts/{hosts_id}/variables/{variables_id}/: get: operationId: group_hosts_variables_get - description: Return a variable of instance. + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: [] responses: '200': @@ -1748,7 +1983,25 @@ paths: x-list: false put: operationId: group_hosts_variables_update - description: Update variable value. + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: data in: body @@ -1764,7 +2017,25 @@ paths: - group patch: operationId: group_hosts_variables_edit - description: Update one or more fields on an existing variable. + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: data in: body @@ -1780,7 +2051,25 @@ paths: - group delete: operationId: group_hosts_variables_remove - description: Remove an existing variable. + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: [] responses: '204': @@ -1805,7 +2094,7 @@ paths: description: A unique integer value identifying instance of this variables sublist. /group/{id}/set_owner/: - post: + patch: operationId: group_set_owner description: Change instance owner. parameters: @@ -1815,12 +2104,14 @@ paths: schema: $ref: '#/definitions/SetOwner' responses: - '201': - description: CREATED + '200': + description: OK schema: $ref: '#/definitions/SetOwner' tags: - group + x-title: Set owner + x-multiaction: false parameters: - name: id in: path @@ -1830,7 +2121,25 @@ paths: /group/{id}/variables/: get: operationId: group_variables_list - description: Return all variables of instance. + summary: Inventory hosts variables. + description: |- + retrieve: + Return a variable of inventory host. + + list: + Return all variables of inventory host. + + create: + Create a new variable of inventory host. + + destroy: + Remove an existing variable. + + partial_update: + Update one or more fields on an existing variable. + + update: + Update variable value. parameters: - name: id in: query @@ -1927,7 +2236,25 @@ paths: x-list: true post: operationId: group_variables_add - description: Create a new variable of instance. + summary: Inventory hosts variables. + description: |- + retrieve: + Return a variable of inventory host. + + list: + Return all variables of inventory host. + + create: + Create a new variable of inventory host. + + destroy: + Remove an existing variable. + + partial_update: + Update one or more fields on an existing variable. + + update: + Update variable value. parameters: - name: data in: body @@ -1951,7 +2278,25 @@ paths: /group/{id}/variables/{variables_id}/: get: operationId: group_variables_get - description: Return a variable of instance. + summary: Inventory hosts variables. + description: |- + retrieve: + Return a variable of inventory host. + + list: + Return all variables of inventory host. + + create: + Create a new variable of inventory host. + + destroy: + Remove an existing variable. + + partial_update: + Update one or more fields on an existing variable. + + update: + Update variable value. parameters: [] responses: '200': @@ -1965,7 +2310,25 @@ paths: x-list: false put: operationId: group_variables_update - description: Update variable value. + summary: Inventory hosts variables. + description: |- + retrieve: + Return a variable of inventory host. + + list: + Return all variables of inventory host. + + create: + Create a new variable of inventory host. + + destroy: + Remove an existing variable. + + partial_update: + Update one or more fields on an existing variable. + + update: + Update variable value. parameters: - name: data in: body @@ -1981,7 +2344,25 @@ paths: - group patch: operationId: group_variables_edit - description: Update one or more fields on an existing variable. + summary: Inventory hosts variables. + description: |- + retrieve: + Return a variable of inventory host. + + list: + Return all variables of inventory host. + + create: + Create a new variable of inventory host. + + destroy: + Remove an existing variable. + + partial_update: + Update one or more fields on an existing variable. + + update: + Update variable value. parameters: - name: data in: body @@ -1997,7 +2378,25 @@ paths: - group delete: operationId: group_variables_remove - description: Remove an existing variable. + summary: Inventory hosts variables. + description: |- + retrieve: + Return a variable of inventory host. + + list: + Return all variables of inventory host. + + create: + Create a new variable of inventory host. + + destroy: + Remove an existing variable. + + partial_update: + Update one or more fields on an existing variable. + + update: + Update variable value. parameters: [] responses: '204': @@ -2019,7 +2418,7 @@ paths: /history/: get: operationId: history_list - description: Return all history of executions. + description: Return all history instances of executions. parameters: - name: id in: query @@ -2032,6 +2431,19 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true + - name: status + in: query + description: Status of execution. + required: false + type: string + enum: + - '' + - DELAY + - RUN + - OK + - ERROR + - OFFLINE + - INTERRUPTED - name: mode in: query description: Module or playbook name. @@ -2042,9 +2454,14 @@ paths: description: Kind of execution. required: false type: string - - name: status + - name: older in: query - description: Status of execution. + description: Older then this time + required: false + type: string + - name: newer + in: query + description: Newer then this time required: false type: string - name: id__not @@ -2058,26 +2475,6 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: name - in: query - description: A name string value (or comma separated list) of instance. - required: false - type: string - - name: name__not - in: query - description: A name string value (or comma separated list) of instance. - required: false - type: string - - name: older - in: query - description: Older then this time - required: false - type: string - - name: newer - in: query - description: Newer then this time - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -2159,7 +2556,7 @@ paths: /history/{id}/: get: operationId: history_get - description: Return a execution history instance. + description: Return an execution history instance. parameters: [] responses: '200': @@ -2187,9 +2584,9 @@ paths: required: true type: integer /history/{id}/cancel/: - post: + patch: operationId: history_cancel - description: Cencel working task. + description: Cancel working task. parameters: - name: data in: body @@ -2200,10 +2597,10 @@ paths: '200': description: OK schema: - $ref: '#/definitions/ActionResponse' + $ref: '#/definitions/Response' tags: - history - x-require-confirmation: false + x-title: Cancel x-multiaction: false parameters: - name: id @@ -2214,14 +2611,14 @@ paths: /history/{id}/clear/: delete: operationId: history_clear - description: Clear history output. + description: Clear execution output. parameters: [] responses: '204': description: NO CONTENT tags: - history - x-require-confirmation: false + x-title: Clear x-multiaction: false parameters: - name: id @@ -2232,14 +2629,13 @@ paths: /history/{id}/facts/: get: operationId: history_facts - description: Get compilated history facts (only for execution 'module' with - module 'setup'). + description: Get facts from "setup" ansible module execution. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/Facts' + $ref: '#/definitions/FactsResponse' tags: - history x-subscribe-labels: @@ -2272,11 +2668,30 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string + - name: when + in: query + description: '' + required: false + type: string + enum: + - '' + - on_execution + - after_execution + - on_user_add + - on_user_upd + - on_user_del + - on_object_add + - on_object_upd + - on_object_del - name: type in: query description: Instance type. required: false type: string + enum: + - '' + - HTTP + - SCRIPT - name: id__not in: query description: A unique integer value (or comma separated list) identifying @@ -2368,12 +2783,12 @@ paths: in: body required: true schema: - $ref: '#/definitions/Hook' + $ref: '#/definitions/OneHook' responses: '201': description: CREATED schema: - $ref: '#/definitions/Hook' + $ref: '#/definitions/OneHook' tags: - hook parameters: [] @@ -2386,7 +2801,7 @@ paths: '200': description: OK schema: - $ref: '#/definitions/Hook' + $ref: '#/definitions/OneHook' tags: - hook x-subscribe-labels: @@ -2400,12 +2815,12 @@ paths: in: body required: true schema: - $ref: '#/definitions/Hook' + $ref: '#/definitions/OneHook' responses: '200': description: OK schema: - $ref: '#/definitions/Hook' + $ref: '#/definitions/OneHook' tags: - hook patch: @@ -2416,12 +2831,12 @@ paths: in: body required: true schema: - $ref: '#/definitions/Hook' + $ref: '#/definitions/OneHook' responses: '200': description: OK schema: - $ref: '#/definitions/Hook' + $ref: '#/definitions/OneHook' tags: - hook delete: @@ -2465,7 +2880,16 @@ paths: description: Instance type. required: false type: string - - name: id__not + enum: + - '' + - HOST + - RANGE + - name: variables + in: query + description: List of variables to filter. Comma separated "key:value" list. + required: false + type: string + - name: id__not in: query description: A unique integer value (or comma separated list) identifying this instance. @@ -2481,11 +2905,6 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: variables - in: query - description: List of variables to filter. Comma separated "key:value" list. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -2635,12 +3054,12 @@ paths: in: body required: true schema: - $ref: '#/definitions/Host' + $ref: '#/definitions/Copy' responses: '201': description: CREATED schema: - $ref: '#/definitions/Host' + $ref: '#/definitions/Copy' tags: - host parameters: @@ -2650,7 +3069,7 @@ paths: required: true type: integer /host/{id}/set_owner/: - post: + patch: operationId: host_set_owner description: Change instance owner. parameters: @@ -2660,12 +3079,14 @@ paths: schema: $ref: '#/definitions/SetOwner' responses: - '201': - description: CREATED + '200': + description: OK schema: $ref: '#/definitions/SetOwner' tags: - host + x-title: Set owner + x-multiaction: false parameters: - name: id in: path @@ -2675,7 +3096,25 @@ paths: /host/{id}/variables/: get: operationId: host_variables_list - description: Return all variables of instance. + summary: Inventory hosts variables. + description: |- + retrieve: + Return a variable of inventory host. + + list: + Return all variables of inventory host. + + create: + Create a new variable of inventory host. + + destroy: + Remove an existing variable. + + partial_update: + Update one or more fields on an existing variable. + + update: + Update variable value. parameters: - name: id in: query @@ -2772,7 +3211,25 @@ paths: x-list: true post: operationId: host_variables_add - description: Create a new variable of instance. + summary: Inventory hosts variables. + description: |- + retrieve: + Return a variable of inventory host. + + list: + Return all variables of inventory host. + + create: + Create a new variable of inventory host. + + destroy: + Remove an existing variable. + + partial_update: + Update one or more fields on an existing variable. + + update: + Update variable value. parameters: - name: data in: body @@ -2796,7 +3253,25 @@ paths: /host/{id}/variables/{variables_id}/: get: operationId: host_variables_get - description: Return a variable of instance. + summary: Inventory hosts variables. + description: |- + retrieve: + Return a variable of inventory host. + + list: + Return all variables of inventory host. + + create: + Create a new variable of inventory host. + + destroy: + Remove an existing variable. + + partial_update: + Update one or more fields on an existing variable. + + update: + Update variable value. parameters: [] responses: '200': @@ -2810,7 +3285,25 @@ paths: x-list: false put: operationId: host_variables_update - description: Update variable value. + summary: Inventory hosts variables. + description: |- + retrieve: + Return a variable of inventory host. + + list: + Return all variables of inventory host. + + create: + Create a new variable of inventory host. + + destroy: + Remove an existing variable. + + partial_update: + Update one or more fields on an existing variable. + + update: + Update variable value. parameters: - name: data in: body @@ -2826,7 +3319,25 @@ paths: - host patch: operationId: host_variables_edit - description: Update one or more fields on an existing variable. + summary: Inventory hosts variables. + description: |- + retrieve: + Return a variable of inventory host. + + list: + Return all variables of inventory host. + + create: + Create a new variable of inventory host. + + destroy: + Remove an existing variable. + + partial_update: + Update one or more fields on an existing variable. + + update: + Update variable value. parameters: - name: data in: body @@ -2842,7 +3353,25 @@ paths: - host delete: operationId: host_variables_remove - description: Remove an existing variable. + summary: Inventory hosts variables. + description: |- + retrieve: + Return a variable of inventory host. + + list: + Return all variables of inventory host. + + create: + Create a new variable of inventory host. + + destroy: + Remove an existing variable. + + partial_update: + Update one or more fields on an existing variable. + + update: + Update variable value. parameters: [] responses: '204': @@ -2882,6 +3411,21 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string + - name: variables + in: query + description: List of variables to filter. Comma separated "key:value" list. + required: false + type: string + - name: plugin + in: query + description: '' + required: false + type: array + items: + type: string + collectionFormat: csv + minItems: 1 + uniqueItems: true - name: id__not in: query description: A unique integer value (or comma separated list) identifying @@ -2898,11 +3442,6 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: variables - in: query - description: List of variables to filter. Comma separated "key:value" list. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -2916,6 +3455,8 @@ paths: - -id - name - -name + - plugin + - -plugin collectionFormat: csv minItems: 1 uniqueItems: true @@ -2970,32 +3511,34 @@ paths: in: body required: true schema: - $ref: '#/definitions/OneInventory' + $ref: '#/definitions/CreateInventory' responses: '201': description: CREATED schema: - $ref: '#/definitions/OneInventory' + $ref: '#/definitions/CreateInventory' tags: - inventory parameters: [] /inventory/import_inventory/: post: operationId: inventory_import_inventory - description: '' + description: Import inventory from file. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/InventoryImport' + $ref: '#/definitions/ImportInventory' responses: '201': description: CREATED schema: - $ref: '#/definitions/InventoryImport' + $ref: '#/definitions/ImportInventory' tags: - inventory + x-title: Import inventory + x-multiaction: false parameters: [] /inventory/{id}/: get: @@ -3085,6 +3628,11 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string + - name: variables + in: query + description: List of variables to filter. Comma separated "key:value" list. + required: false + type: string - name: id__not in: query description: A unique integer value (or comma separated list) identifying @@ -3101,11 +3649,6 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: variables - in: query - description: List of variables to filter. Comma separated "key:value" list. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -3203,7 +3746,25 @@ paths: /inventory/{id}/all_hosts/: get: operationId: inventory_all_hosts_list - description: Return all hosts. + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: id in: query @@ -3226,6 +3787,15 @@ paths: description: Instance type. required: false type: string + enum: + - '' + - HOST + - RANGE + - name: variables + in: query + description: List of variables to filter. Comma separated "key:value" list. + required: false + type: string - name: id__not in: query description: A unique integer value (or comma separated list) identifying @@ -3242,11 +3812,6 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: variables - in: query - description: List of variables to filter. Comma separated "key:value" list. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -3317,7 +3882,25 @@ paths: /inventory/{id}/all_hosts/{all_hosts_id}/: get: operationId: inventory_all_hosts_get - description: Return a host instance. + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: [] responses: '200': @@ -3348,12 +3931,12 @@ paths: in: body required: true schema: - $ref: '#/definitions/Inventory' + $ref: '#/definitions/Copy' responses: '201': description: CREATED schema: - $ref: '#/definitions/Inventory' + $ref: '#/definitions/Copy' tags: - inventory parameters: @@ -3388,6 +3971,11 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string + - name: variables + in: query + description: List of variables to filter. Comma separated "key:value" list. + required: false + type: string - name: id__not in: query description: A unique integer value (or comma separated list) identifying @@ -3404,11 +3992,6 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: variables - in: query - description: List of variables to filter. Comma separated "key:value" list. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -3479,12 +4062,12 @@ paths: in: body required: true schema: - $ref: '#/definitions/GroupCreateMaster' + $ref: '#/definitions/CreateGroup' responses: '201': description: CREATED schema: - $ref: '#/definitions/GroupCreateMaster' + $ref: '#/definitions/CreateGroup' tags: - inventory x-allow-append: true @@ -3555,8 +4138,7 @@ paths: - name: group_id in: path required: true - type: integer - description: A unique integer value identifying instance of this groups sublist. + type: string - name: id in: path description: A unique integer value identifying this inventory. @@ -3571,20 +4153,19 @@ paths: in: body required: true schema: - $ref: '#/definitions/GroupCopy' + $ref: '#/definitions/Copy' responses: '201': description: CREATED schema: - $ref: '#/definitions/GroupCopy' + $ref: '#/definitions/Copy' tags: - inventory parameters: - name: group_id in: path required: true - type: integer - description: A unique integer value identifying instance of this groups sublist. + type: string - name: id in: path description: A unique integer value identifying this inventory. @@ -3616,11 +4197,11 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: children + - name: variables in: query - description: '' + description: List of variables to filter. Comma separated "key:value" list. required: false - type: boolean + type: string - name: id__not in: query description: A unique integer value (or comma separated list) identifying @@ -3706,12 +4287,12 @@ paths: in: body required: true schema: - $ref: '#/definitions/GroupCreateMaster' + $ref: '#/definitions/CreateGroup' responses: '201': description: CREATED schema: - $ref: '#/definitions/GroupCreateMaster' + $ref: '#/definitions/CreateGroup' tags: - inventory x-allow-append: true @@ -3719,8 +4300,7 @@ paths: - name: group_id in: path required: true - type: integer - description: A unique integer value identifying instance of this groups sublist. + type: string - name: id in: path description: A unique integer value identifying this inventory. @@ -3784,10 +4364,41 @@ paths: - inventory parameters: - name: group_id + in: path + required: true + type: string + - name: groups_id in: path required: true type: integer description: A unique integer value identifying instance of this groups sublist. + - name: id + in: path + description: A unique integer value identifying this inventory. + required: true + type: integer + /inventory/{id}/group/{group_id}/groups/{groups_id}/copy/: + post: + operationId: inventory_group_groups_group_copy + description: Endpoint which copy instance with deps. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/Copy' + responses: + '201': + description: CREATED + schema: + $ref: '#/definitions/Copy' + tags: + - inventory + parameters: + - name: group_id + in: path + required: true + type: string - name: groups_id in: path required: true @@ -3798,9 +4409,9 @@ paths: description: A unique integer value identifying this inventory. required: true type: integer - /inventory/{id}/group/{group_id}/hosts/: + /inventory/{id}/group/{group_id}/groups/{groups_id}/hosts/: get: - operationId: inventory_group_hosts_list + operationId: inventory_group_groups_hosts_list description: Return all hosts. parameters: - name: id @@ -3824,6 +4435,15 @@ paths: description: Instance type. required: false type: string + enum: + - '' + - HOST + - RANGE + - name: variables + in: query + description: List of variables to filter. Comma separated "key:value" list. + required: false + type: string - name: id__not in: query description: A unique integer value (or comma separated list) identifying @@ -3840,11 +4460,6 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: variables - in: query - description: List of variables to filter. Comma separated "key:value" list. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -3907,7 +4522,7 @@ paths: - main.Host x-list: true post: - operationId: inventory_group_hosts_add + operationId: inventory_group_groups_hosts_add description: Create a new host. parameters: - name: data @@ -3925,6 +4540,10 @@ paths: x-allow-append: true parameters: - name: group_id + in: path + required: true + type: string + - name: groups_id in: path required: true type: integer @@ -3934,9 +4553,9 @@ paths: description: A unique integer value identifying this inventory. required: true type: integer - /inventory/{id}/group/{group_id}/hosts/{hosts_id}/: + /inventory/{id}/group/{group_id}/groups/{groups_id}/hosts/{hosts_id}/: get: - operationId: inventory_group_hosts_get + operationId: inventory_group_groups_hosts_get description: Return a host instance. parameters: [] responses: @@ -3950,7 +4569,7 @@ paths: - main.Host x-list: false put: - operationId: inventory_group_hosts_update + operationId: inventory_group_groups_hosts_update description: Update a host. parameters: - name: data @@ -3966,7 +4585,7 @@ paths: tags: - inventory patch: - operationId: inventory_group_hosts_edit + operationId: inventory_group_groups_hosts_edit description: Update one or more fields on an existing host. parameters: - name: data @@ -3982,7 +4601,7 @@ paths: tags: - inventory delete: - operationId: inventory_group_hosts_remove + operationId: inventory_group_groups_hosts_remove description: Remove an existing host. parameters: [] responses: @@ -3992,6 +4611,10 @@ paths: - inventory parameters: - name: group_id + in: path + required: true + type: string + - name: groups_id in: path required: true type: integer @@ -4006,25 +4629,29 @@ paths: description: A unique integer value identifying this inventory. required: true type: integer - /inventory/{id}/group/{group_id}/hosts/{hosts_id}/copy/: + /inventory/{id}/group/{group_id}/groups/{groups_id}/hosts/{hosts_id}/copy/: post: - operationId: inventory_group_hosts_group_copy + operationId: inventory_group_groups_hosts_group_groups_copy description: Endpoint which copy instance with deps. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/Host' + $ref: '#/definitions/Copy' responses: '201': description: CREATED schema: - $ref: '#/definitions/Host' + $ref: '#/definitions/Copy' tags: - inventory parameters: - name: group_id + in: path + required: true + type: string + - name: groups_id in: path required: true type: integer @@ -4039,9 +4666,9 @@ paths: description: A unique integer value identifying this inventory. required: true type: integer - /inventory/{id}/group/{group_id}/hosts/{hosts_id}/set_owner/: - post: - operationId: inventory_group_hosts_group_set_owner + /inventory/{id}/group/{group_id}/groups/{groups_id}/hosts/{hosts_id}/set_owner/: + patch: + operationId: inventory_group_groups_hosts_group_groups_set_owner description: Change instance owner. parameters: - name: data @@ -4050,14 +4677,20 @@ paths: schema: $ref: '#/definitions/SetOwner' responses: - '201': - description: CREATED + '200': + description: OK schema: $ref: '#/definitions/SetOwner' tags: - inventory + x-title: Set owner + x-multiaction: false parameters: - name: group_id + in: path + required: true + type: string + - name: groups_id in: path required: true type: integer @@ -4072,10 +4705,10 @@ paths: description: A unique integer value identifying this inventory. required: true type: integer - /inventory/{id}/group/{group_id}/hosts/{hosts_id}/variables/: + /inventory/{id}/group/{group_id}/groups/{groups_id}/hosts/{hosts_id}/variables/: get: - operationId: inventory_group_hosts_variables_list - description: Return all variables of instance. + operationId: inventory_group_groups_hosts_variables_list + description: Return all variables of inventory host. parameters: - name: id in: query @@ -4171,8 +4804,8 @@ paths: - main.Variable x-list: true post: - operationId: inventory_group_hosts_variables_add - description: Create a new variable of instance. + operationId: inventory_group_groups_hosts_variables_add + description: Create a new variable of inventory host. parameters: - name: data in: body @@ -4189,6 +4822,10 @@ paths: x-allow-append: false parameters: - name: group_id + in: path + required: true + type: string + - name: groups_id in: path required: true type: integer @@ -4203,10 +4840,10 @@ paths: description: A unique integer value identifying this inventory. required: true type: integer - /inventory/{id}/group/{group_id}/hosts/{hosts_id}/variables/{variables_id}/: + /inventory/{id}/group/{group_id}/groups/{groups_id}/hosts/{hosts_id}/variables/{variables_id}/: get: - operationId: inventory_group_hosts_variables_get - description: Return a variable of instance. + operationId: inventory_group_groups_hosts_variables_get + description: Return a variable of inventory host. parameters: [] responses: '200': @@ -4219,7 +4856,7 @@ paths: - main.Variable x-list: false put: - operationId: inventory_group_hosts_variables_update + operationId: inventory_group_groups_hosts_variables_update description: Update variable value. parameters: - name: data @@ -4235,7 +4872,7 @@ paths: tags: - inventory patch: - operationId: inventory_group_hosts_variables_edit + operationId: inventory_group_groups_hosts_variables_edit description: Update one or more fields on an existing variable. parameters: - name: data @@ -4251,7 +4888,7 @@ paths: tags: - inventory delete: - operationId: inventory_group_hosts_variables_remove + operationId: inventory_group_groups_hosts_variables_remove description: Remove an existing variable. parameters: [] responses: @@ -4261,6 +4898,10 @@ paths: - inventory parameters: - name: group_id + in: path + required: true + type: string + - name: groups_id in: path required: true type: integer @@ -4281,9 +4922,9 @@ paths: type: integer description: A unique integer value identifying instance of this variables sublist. - /inventory/{id}/group/{group_id}/set_owner/: - post: - operationId: inventory_group_set_owner + /inventory/{id}/group/{group_id}/groups/{groups_id}/set_owner/: + patch: + operationId: inventory_group_groups_group_set_owner description: Change instance owner. parameters: - name: data @@ -4292,14 +4933,20 @@ paths: schema: $ref: '#/definitions/SetOwner' responses: - '201': - description: CREATED + '200': + description: OK schema: $ref: '#/definitions/SetOwner' tags: - inventory + x-title: Set owner + x-multiaction: false parameters: - name: group_id + in: path + required: true + type: string + - name: groups_id in: path required: true type: integer @@ -4309,10 +4956,10 @@ paths: description: A unique integer value identifying this inventory. required: true type: integer - /inventory/{id}/group/{group_id}/variables/: + /inventory/{id}/group/{group_id}/groups/{groups_id}/variables/: get: - operationId: inventory_group_variables_list - description: Return all variables of instance. + operationId: inventory_group_groups_variables_list + description: Return all variables of inventory host. parameters: - name: id in: query @@ -4408,8 +5055,8 @@ paths: - main.Variable x-list: true post: - operationId: inventory_group_variables_add - description: Create a new variable of instance. + operationId: inventory_group_groups_variables_add + description: Create a new variable of inventory host. parameters: - name: data in: body @@ -4426,6 +5073,10 @@ paths: x-allow-append: false parameters: - name: group_id + in: path + required: true + type: string + - name: groups_id in: path required: true type: integer @@ -4435,10 +5086,10 @@ paths: description: A unique integer value identifying this inventory. required: true type: integer - /inventory/{id}/group/{group_id}/variables/{variables_id}/: + /inventory/{id}/group/{group_id}/groups/{groups_id}/variables/{variables_id}/: get: - operationId: inventory_group_variables_get - description: Return a variable of instance. + operationId: inventory_group_groups_variables_get + description: Return a variable of inventory host. parameters: [] responses: '200': @@ -4451,7 +5102,7 @@ paths: - main.Variable x-list: false put: - operationId: inventory_group_variables_update + operationId: inventory_group_groups_variables_update description: Update variable value. parameters: - name: data @@ -4467,7 +5118,7 @@ paths: tags: - inventory patch: - operationId: inventory_group_variables_edit + operationId: inventory_group_groups_variables_edit description: Update one or more fields on an existing variable. parameters: - name: data @@ -4483,7 +5134,7 @@ paths: tags: - inventory delete: - operationId: inventory_group_variables_remove + operationId: inventory_group_groups_variables_remove description: Remove an existing variable. parameters: [] responses: @@ -4493,6 +5144,10 @@ paths: - inventory parameters: - name: group_id + in: path + required: true + type: string + - name: groups_id in: path required: true type: integer @@ -4508,9 +5163,9 @@ paths: type: integer description: A unique integer value identifying instance of this variables sublist. - /inventory/{id}/hosts/: + /inventory/{id}/group/{group_id}/hosts/: get: - operationId: inventory_hosts_list + operationId: inventory_group_hosts_list description: Return all hosts. parameters: - name: id @@ -4534,6 +5189,15 @@ paths: description: Instance type. required: false type: string + enum: + - '' + - HOST + - RANGE + - name: variables + in: query + description: List of variables to filter. Comma separated "key:value" list. + required: false + type: string - name: id__not in: query description: A unique integer value (or comma separated list) identifying @@ -4550,11 +5214,6 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: variables - in: query - description: List of variables to filter. Comma separated "key:value" list. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -4617,7 +5276,7 @@ paths: - main.Host x-list: true post: - operationId: inventory_hosts_add + operationId: inventory_group_hosts_add description: Create a new host. parameters: - name: data @@ -4634,14 +5293,18 @@ paths: - inventory x-allow-append: true parameters: + - name: group_id + in: path + required: true + type: string - name: id in: path description: A unique integer value identifying this inventory. required: true type: integer - /inventory/{id}/hosts/{hosts_id}/: + /inventory/{id}/group/{group_id}/hosts/{hosts_id}/: get: - operationId: inventory_hosts_get + operationId: inventory_group_hosts_get description: Return a host instance. parameters: [] responses: @@ -4655,7 +5318,7 @@ paths: - main.Host x-list: false put: - operationId: inventory_hosts_update + operationId: inventory_group_hosts_update description: Update a host. parameters: - name: data @@ -4671,7 +5334,7 @@ paths: tags: - inventory patch: - operationId: inventory_hosts_edit + operationId: inventory_group_hosts_edit description: Update one or more fields on an existing host. parameters: - name: data @@ -4687,7 +5350,7 @@ paths: tags: - inventory delete: - operationId: inventory_hosts_remove + operationId: inventory_group_hosts_remove description: Remove an existing host. parameters: [] responses: @@ -4696,6 +5359,10 @@ paths: tags: - inventory parameters: + - name: group_id + in: path + required: true + type: string - name: hosts_id in: path required: true @@ -4706,24 +5373,28 @@ paths: description: A unique integer value identifying this inventory. required: true type: integer - /inventory/{id}/hosts/{hosts_id}/copy/: + /inventory/{id}/group/{group_id}/hosts/{hosts_id}/copy/: post: - operationId: inventory_hosts_copy + operationId: inventory_group_hosts_group_copy description: Endpoint which copy instance with deps. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/Host' + $ref: '#/definitions/Copy' responses: '201': description: CREATED schema: - $ref: '#/definitions/Host' + $ref: '#/definitions/Copy' tags: - inventory parameters: + - name: group_id + in: path + required: true + type: string - name: hosts_id in: path required: true @@ -4734,9 +5405,9 @@ paths: description: A unique integer value identifying this inventory. required: true type: integer - /inventory/{id}/hosts/{hosts_id}/set_owner/: - post: - operationId: inventory_hosts_set_owner + /inventory/{id}/group/{group_id}/hosts/{hosts_id}/set_owner/: + patch: + operationId: inventory_group_hosts_group_set_owner description: Change instance owner. parameters: - name: data @@ -4745,13 +5416,19 @@ paths: schema: $ref: '#/definitions/SetOwner' responses: - '201': - description: CREATED + '200': + description: OK schema: $ref: '#/definitions/SetOwner' tags: - inventory + x-title: Set owner + x-multiaction: false parameters: + - name: group_id + in: path + required: true + type: string - name: hosts_id in: path required: true @@ -4762,10 +5439,10 @@ paths: description: A unique integer value identifying this inventory. required: true type: integer - /inventory/{id}/hosts/{hosts_id}/variables/: + /inventory/{id}/group/{group_id}/hosts/{hosts_id}/variables/: get: - operationId: inventory_hosts_variables_list - description: Return all variables of instance. + operationId: inventory_group_hosts_variables_list + description: Return all variables of inventory host. parameters: - name: id in: query @@ -4861,8 +5538,8 @@ paths: - main.Variable x-list: true post: - operationId: inventory_hosts_variables_add - description: Create a new variable of instance. + operationId: inventory_group_hosts_variables_add + description: Create a new variable of inventory host. parameters: - name: data in: body @@ -4878,6 +5555,10 @@ paths: - inventory x-allow-append: false parameters: + - name: group_id + in: path + required: true + type: string - name: hosts_id in: path required: true @@ -4888,10 +5569,10 @@ paths: description: A unique integer value identifying this inventory. required: true type: integer - /inventory/{id}/hosts/{hosts_id}/variables/{variables_id}/: + /inventory/{id}/group/{group_id}/hosts/{hosts_id}/variables/{variables_id}/: get: - operationId: inventory_hosts_variables_get - description: Return a variable of instance. + operationId: inventory_group_hosts_variables_get + description: Return a variable of inventory host. parameters: [] responses: '200': @@ -4904,7 +5585,7 @@ paths: - main.Variable x-list: false put: - operationId: inventory_hosts_variables_update + operationId: inventory_group_hosts_variables_update description: Update variable value. parameters: - name: data @@ -4920,7 +5601,7 @@ paths: tags: - inventory patch: - operationId: inventory_hosts_variables_edit + operationId: inventory_group_hosts_variables_edit description: Update one or more fields on an existing variable. parameters: - name: data @@ -4936,7 +5617,7 @@ paths: tags: - inventory delete: - operationId: inventory_hosts_variables_remove + operationId: inventory_group_hosts_variables_remove description: Remove an existing variable. parameters: [] responses: @@ -4945,6 +5626,10 @@ paths: tags: - inventory parameters: + - name: group_id + in: path + required: true + type: string - name: hosts_id in: path required: true @@ -4961,9 +5646,9 @@ paths: type: integer description: A unique integer value identifying instance of this variables sublist. - /inventory/{id}/set_owner/: - post: - operationId: inventory_set_owner + /inventory/{id}/group/{group_id}/set_owner/: + patch: + operationId: inventory_group_set_owner description: Change instance owner. parameters: - name: data @@ -4972,22 +5657,28 @@ paths: schema: $ref: '#/definitions/SetOwner' responses: - '201': - description: CREATED + '200': + description: OK schema: $ref: '#/definitions/SetOwner' tags: - inventory + x-title: Set owner + x-multiaction: false parameters: + - name: group_id + in: path + required: true + type: string - name: id in: path description: A unique integer value identifying this inventory. required: true type: integer - /inventory/{id}/variables/: + /inventory/{id}/group/{group_id}/variables/: get: - operationId: inventory_variables_list - description: Return all variables of instance. + operationId: inventory_group_variables_list + description: Return all variables of inventory host. parameters: - name: id in: query @@ -5083,8 +5774,8 @@ paths: - main.Variable x-list: true post: - operationId: inventory_variables_add - description: Create a new variable of instance. + operationId: inventory_group_variables_add + description: Create a new variable of inventory host. parameters: - name: data in: body @@ -5100,15 +5791,19 @@ paths: - inventory x-allow-append: false parameters: + - name: group_id + in: path + required: true + type: string - name: id in: path description: A unique integer value identifying this inventory. required: true type: integer - /inventory/{id}/variables/{variables_id}/: + /inventory/{id}/group/{group_id}/variables/{variables_id}/: get: - operationId: inventory_variables_get - description: Return a variable of instance. + operationId: inventory_group_variables_get + description: Return a variable of inventory host. parameters: [] responses: '200': @@ -5121,7 +5816,7 @@ paths: - main.Variable x-list: false put: - operationId: inventory_variables_update + operationId: inventory_group_variables_update description: Update variable value. parameters: - name: data @@ -5137,7 +5832,7 @@ paths: tags: - inventory patch: - operationId: inventory_variables_edit + operationId: inventory_group_variables_edit description: Update one or more fields on an existing variable. parameters: - name: data @@ -5153,7 +5848,7 @@ paths: tags: - inventory delete: - operationId: inventory_variables_remove + operationId: inventory_group_variables_remove description: Remove an existing variable. parameters: [] responses: @@ -5162,6 +5857,10 @@ paths: tags: - inventory parameters: + - name: group_id + in: path + required: true + type: string - name: id in: path description: A unique integer value identifying this inventory. @@ -5173,10 +5872,28 @@ paths: type: integer description: A unique integer value identifying instance of this variables sublist. - /project/: + /inventory/{id}/hosts/: get: - operationId: project_list - description: Return all projects. + operationId: inventory_hosts_list + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: id in: query @@ -5194,16 +5911,20 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: status + - name: type in: query - description: Project sync status. + description: Instance type. required: false - type: array - items: - type: string - collectionFormat: csv - minItems: 1 - uniqueItems: true + type: string + enum: + - '' + - HOST + - RANGE + - name: variables + in: query + description: List of variables to filter. Comma separated "key:value" list. + required: false + type: string - name: id__not in: query description: A unique integer value (or comma separated list) identifying @@ -5220,21 +5941,6 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: variables - in: query - description: List of variables to filter. Comma separated "key:value" list. - required: false - type: string - - name: status__not - in: query - description: Project sync status. - required: false - type: array - items: - type: string - collectionFormat: csv - minItems: 1 - uniqueItems: true - name: ordering in: query description: Which field to use when ordering the results. @@ -5248,8 +5954,8 @@ paths: - -id - name - -name - - status - - -status + - type + - -type collectionFormat: csv minItems: 1 uniqueItems: true @@ -5290,169 +5996,290 @@ paths: results: type: array items: - $ref: '#/definitions/Project' + $ref: '#/definitions/Host' tags: - - project + - inventory x-subscribe-labels: - - main.Project + - main.Host x-list: true post: - operationId: project_add - description: Create a new project. + operationId: inventory_hosts_add + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/ProjectCreateMaster' + $ref: '#/definitions/OneHost' responses: '201': description: CREATED schema: - $ref: '#/definitions/ProjectCreateMaster' + $ref: '#/definitions/OneHost' tags: - - project - parameters: [] - /project/{id}/: + - inventory + x-allow-append: true + parameters: + - name: id + in: path + description: A unique integer value identifying this inventory. + required: true + type: integer + /inventory/{id}/hosts/{hosts_id}/: get: - operationId: project_get - description: Return a project instance. + operationId: inventory_hosts_get + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/OneProject' + $ref: '#/definitions/OneHost' tags: - - project + - inventory x-subscribe-labels: - - main.Project + - main.Host x-list: false put: - operationId: project_update - description: Update a project. + operationId: inventory_hosts_update + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneProject' + $ref: '#/definitions/OneHost' responses: '200': description: OK schema: - $ref: '#/definitions/OneProject' + $ref: '#/definitions/OneHost' tags: - - project + - inventory patch: - operationId: project_edit - description: Update one or more fields on an existing project. + operationId: inventory_hosts_edit + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneProject' + $ref: '#/definitions/OneHost' responses: '200': description: OK schema: - $ref: '#/definitions/OneProject' + $ref: '#/definitions/OneHost' tags: - - project + - inventory delete: - operationId: project_remove - description: Remove an existing project. + operationId: inventory_hosts_remove + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: [] responses: '204': description: NO CONTENT tags: - - project + - inventory parameters: + - name: hosts_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this hosts sublist. - name: id in: path - description: A unique integer value identifying this project. + description: A unique integer value identifying this inventory. required: true type: integer - /project/{id}/copy/: + /inventory/{id}/hosts/{hosts_id}/copy/: post: - operationId: project_copy - description: Endpoint which copy instance with deps. + operationId: inventory_hosts_copy + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/Project' + $ref: '#/definitions/Copy' responses: '201': description: CREATED schema: - $ref: '#/definitions/Project' + $ref: '#/definitions/Copy' tags: - - project + - inventory parameters: - - name: id + - name: hosts_id in: path - description: A unique integer value identifying this project. required: true type: integer - /project/{id}/execute_module/: - post: - operationId: project_execute_module - description: Execute module plugin. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/ExecuteModule' - responses: - '201': - description: CREATED - schema: - $ref: '#/definitions/ExecuteResponse' - tags: - - project - x-require-confirmation: false - x-multiaction: false - parameters: + description: A unique integer value identifying instance of this hosts sublist. - name: id in: path - description: A unique integer value identifying this project. + description: A unique integer value identifying this inventory. required: true type: integer - /project/{id}/execute_playbook/: - post: - operationId: project_execute_playbook - description: Execute playbook plugin. + /inventory/{id}/hosts/{hosts_id}/set_owner/: + patch: + operationId: inventory_hosts_set_owner + description: Change instance owner. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/ExecutePlaybook' + $ref: '#/definitions/SetOwner' responses: - '201': - description: CREATED + '200': + description: OK schema: - $ref: '#/definitions/ExecuteResponse' + $ref: '#/definitions/SetOwner' tags: - - project - x-require-confirmation: false + - inventory + x-title: Set owner x-multiaction: false parameters: + - name: hosts_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this hosts sublist. - name: id in: path - description: A unique integer value identifying this project. + description: A unique integer value identifying this inventory. required: true type: integer - /project/{id}/execution_templates/: + /inventory/{id}/hosts/{hosts_id}/variables/: get: - operationId: project_execution_templates_list - description: Template(id, hidden, notes, owner, name, kind, template_data, options_data, - inventory, project) + operationId: inventory_hosts_variables_list + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: id in: query @@ -5465,19 +6292,14 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: name - in: query - description: A name string value (or comma separated list) of instance. - required: false - type: string - - name: kind + - name: key in: query - description: A kind of template. + description: A key name string value (or comma separated list) of instance. required: false type: string - - name: inventory + - name: value in: query - description: The inventory id or path in project. + description: A value of instance. required: false type: string - name: id__not @@ -5491,11 +6313,6 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: name__not - in: query - description: A name string value (or comma separated list) of instance. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -5507,10 +6324,10 @@ paths: enum: - id - -id - - name - - -name - - kind - - -kind + - key + - -key + - value + - -value collectionFormat: csv minItems: 1 uniqueItems: true @@ -5551,143 +6368,288 @@ paths: results: type: array items: - $ref: '#/definitions/ExecutionTemplate' + $ref: '#/definitions/InventoryVariable' tags: - - project + - inventory x-subscribe-labels: - - main.Template + - main.Variable x-list: true post: - operationId: project_execution_templates_add - description: Template(id, hidden, notes, owner, name, kind, template_data, options_data, - inventory, project) + operationId: inventory_hosts_variables_add + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/CreateExecutionTemplate' + $ref: '#/definitions/InventoryVariable' responses: '201': description: CREATED schema: - $ref: '#/definitions/CreateExecutionTemplate' + $ref: '#/definitions/InventoryVariable' tags: - - project + - inventory x-allow-append: false parameters: + - name: hosts_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this hosts sublist. - name: id in: path - description: A unique integer value identifying this project. + description: A unique integer value identifying this inventory. required: true type: integer - /project/{id}/execution_templates/{execution_templates_id}/: + /inventory/{id}/hosts/{hosts_id}/variables/{variables_id}/: get: - operationId: project_execution_templates_get - description: Template(id, hidden, notes, owner, name, kind, template_data, options_data, - inventory, project) + operationId: inventory_hosts_variables_get + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/OneExecutionTemplate' + $ref: '#/definitions/InventoryVariable' tags: - - project + - inventory x-subscribe-labels: - - main.Template + - main.Variable x-list: false put: - operationId: project_execution_templates_update - description: Template(id, hidden, notes, owner, name, kind, template_data, options_data, - inventory, project) + operationId: inventory_hosts_variables_update + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneExecutionTemplate' + $ref: '#/definitions/InventoryVariable' responses: '200': description: OK schema: - $ref: '#/definitions/OneExecutionTemplate' + $ref: '#/definitions/InventoryVariable' tags: - - project + - inventory patch: - operationId: project_execution_templates_edit - description: Template(id, hidden, notes, owner, name, kind, template_data, options_data, - inventory, project) + operationId: inventory_hosts_variables_edit + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneExecutionTemplate' + $ref: '#/definitions/InventoryVariable' responses: '200': description: OK schema: - $ref: '#/definitions/OneExecutionTemplate' + $ref: '#/definitions/InventoryVariable' tags: - - project + - inventory delete: - operationId: project_execution_templates_remove - description: Template(id, hidden, notes, owner, name, kind, template_data, options_data, - inventory, project) + operationId: inventory_hosts_variables_remove + summary: Manage inventory hosts. + description: |- + retrieve: + Return a host instance. + + list: + Return all hosts. + + create: + Create a new host. + + destroy: + Remove an existing host. + + partial_update: + Update one or more fields on an existing host. + + update: + Update a host. parameters: [] responses: '204': description: NO CONTENT tags: - - project + - inventory parameters: - - name: execution_templates_id + - name: hosts_id in: path required: true type: integer - description: A unique integer value identifying instance of this template - sublist. + description: A unique integer value identifying instance of this hosts sublist. - name: id in: path - description: A unique integer value identifying this project. + description: A unique integer value identifying this inventory. required: true type: integer - /project/{id}/execution_templates/{execution_templates_id}/execute/: - post: - operationId: project_execution_templates_execute - description: Execute template with option. + - name: variables_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this variables + sublist. + /inventory/{id}/set_owner/: + patch: + operationId: inventory_set_owner + description: Change instance owner. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/TemplateExec' + $ref: '#/definitions/SetOwner' responses: - '201': - description: CREATED + '200': + description: OK schema: - $ref: '#/definitions/ExecuteResponse' + $ref: '#/definitions/SetOwner' tags: - - project - x-require-confirmation: false + - inventory + x-title: Set owner x-multiaction: false parameters: - - name: execution_templates_id + - name: id in: path + description: A unique integer value identifying this inventory. required: true type: integer - description: A unique integer value identifying instance of this template - sublist. + /inventory/{id}/state/: + get: + operationId: inventory_state_get + description: State + parameters: [] + responses: + '200': + description: OK + schema: + $ref: '#/definitions/InventoryState' + tags: + - inventory + x-subscribe-labels: + - main.Inventory + x-list: false + put: + operationId: inventory_state_update + description: State + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/InventoryStateUpdate' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/InventoryState' + tags: + - inventory + x-multiaction: false + parameters: - name: id in: path - description: A unique integer value identifying this project. + description: A unique integer value identifying this inventory. required: true type: integer - /project/{id}/execution_templates/{execution_templates_id}/option/: + /inventory/{id}/variables/: get: - operationId: project_execution_templates_option_list - description: TemplateOption(template, id, name, data) + operationId: inventory_variables_list + summary: Inventory hosts variables. + description: |- + retrieve: + Return a variable of inventory host. + + list: + Return all variables of inventory host. + + create: + Create a new variable of inventory host. + + destroy: + Remove an existing variable. + + partial_update: + Update one or more fields on an existing variable. + + update: + Update variable value. parameters: - name: id in: query @@ -5696,13 +6658,18 @@ paths: required: false type: array items: - type: string + type: integer collectionFormat: csv minItems: 1 uniqueItems: true - - name: name + - name: key in: query - description: A name string value (or comma separated list) of instance. + description: A key name string value (or comma separated list) of instance. + required: false + type: string + - name: value + in: query + description: A value of instance. required: false type: string - name: id__not @@ -5712,15 +6679,10 @@ paths: required: false type: array items: - type: string + type: integer collectionFormat: csv minItems: 1 uniqueItems: true - - name: name__not - in: query - description: A name string value (or comma separated list) of instance. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -5730,8 +6692,12 @@ paths: type: string format: ordering_choices enum: - - name - - -name + - id + - -id + - key + - -key + - value + - -value collectionFormat: csv minItems: 1 uniqueItems: true @@ -5772,119 +6738,197 @@ paths: results: type: array items: - $ref: '#/definitions/TemplateOption' + $ref: '#/definitions/InventoryVariable' tags: - - project + - inventory x-subscribe-labels: - - main.TemplateOption + - main.Variable x-list: true post: - operationId: project_execution_templates_option_add - description: TemplateOption(template, id, name, data) + operationId: inventory_variables_add + summary: Inventory hosts variables. + description: |- + retrieve: + Return a variable of inventory host. + + list: + Return all variables of inventory host. + + create: + Create a new variable of inventory host. + + destroy: + Remove an existing variable. + + partial_update: + Update one or more fields on an existing variable. + + update: + Update variable value. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/CreateTemplateOption' + $ref: '#/definitions/InventoryVariable' responses: '201': description: CREATED schema: - $ref: '#/definitions/CreateTemplateOption' + $ref: '#/definitions/InventoryVariable' tags: - - project + - inventory x-allow-append: false parameters: - - name: execution_templates_id + - name: id in: path + description: A unique integer value identifying this inventory. required: true type: integer - description: A unique integer value identifying instance of this template - sublist. - - name: id - in: path - description: A unique integer value identifying this project. - required: true - type: integer - /project/{id}/execution_templates/{execution_templates_id}/option/{option_id}/: + /inventory/{id}/variables/{variables_id}/: get: - operationId: project_execution_templates_option_get - description: TemplateOption(template, id, name, data) + operationId: inventory_variables_get + summary: Inventory hosts variables. + description: |- + retrieve: + Return a variable of inventory host. + + list: + Return all variables of inventory host. + + create: + Create a new variable of inventory host. + + destroy: + Remove an existing variable. + + partial_update: + Update one or more fields on an existing variable. + + update: + Update variable value. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/OneTemplateOption' + $ref: '#/definitions/InventoryVariable' tags: - - project + - inventory x-subscribe-labels: - - main.TemplateOption + - main.Variable x-list: false put: - operationId: project_execution_templates_option_update - description: TemplateOption(template, id, name, data) + operationId: inventory_variables_update + summary: Inventory hosts variables. + description: |- + retrieve: + Return a variable of inventory host. + + list: + Return all variables of inventory host. + + create: + Create a new variable of inventory host. + + destroy: + Remove an existing variable. + + partial_update: + Update one or more fields on an existing variable. + + update: + Update variable value. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneTemplateOption' + $ref: '#/definitions/InventoryVariable' responses: '200': description: OK schema: - $ref: '#/definitions/OneTemplateOption' + $ref: '#/definitions/InventoryVariable' tags: - - project + - inventory patch: - operationId: project_execution_templates_option_edit - description: TemplateOption(template, id, name, data) + operationId: inventory_variables_edit + summary: Inventory hosts variables. + description: |- + retrieve: + Return a variable of inventory host. + + list: + Return all variables of inventory host. + + create: + Create a new variable of inventory host. + + destroy: + Remove an existing variable. + + partial_update: + Update one or more fields on an existing variable. + + update: + Update variable value. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneTemplateOption' + $ref: '#/definitions/InventoryVariable' responses: '200': description: OK schema: - $ref: '#/definitions/OneTemplateOption' + $ref: '#/definitions/InventoryVariable' tags: - - project + - inventory delete: - operationId: project_execution_templates_option_remove - description: TemplateOption(template, id, name, data) + operationId: inventory_variables_remove + summary: Inventory hosts variables. + description: |- + retrieve: + Return a variable of inventory host. + + list: + Return all variables of inventory host. + + create: + Create a new variable of inventory host. + + destroy: + Remove an existing variable. + + partial_update: + Update one or more fields on an existing variable. + + update: + Update variable value. parameters: [] responses: '204': description: NO CONTENT tags: - - project + - inventory parameters: - - name: execution_templates_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this template - sublist. - name: id in: path - description: A unique integer value identifying this project. + description: A unique integer value identifying this inventory. required: true type: integer - - name: option_id + - name: variables_id in: path required: true - type: string - /project/{id}/history/: + type: integer + description: A unique integer value identifying instance of this variables + sublist. + /project/: get: - operationId: project_history_list - description: History(id, hidden, project, inventory, mode, revision, kind, start_time, - stop_time, raw_args, json_args, raw_inventory, status, initiator, initiator_type, - executor, json_options) + operationId: project_list + description: Return all projects. parameters: - name: id in: query @@ -5897,21 +6941,31 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: mode + - name: name in: query - description: Module or playbook name. + description: A name string value (or comma separated list) of instance. required: false type: string - - name: kind + - name: status in: query - description: Kind of execution. + description: Project sync status. required: false - type: string - - name: status + type: array + items: + type: string + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: status__not in: query - description: Status of execution. + description: Project sync status. required: false - type: string + type: array + items: + type: string + collectionFormat: csv + minItems: 1 + uniqueItems: true - name: id__not in: query description: A unique integer value (or comma separated list) identifying @@ -5923,26 +6977,11 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: name - in: query - description: A name string value (or comma separated list) of instance. - required: false - type: string - name: name__not in: query description: A name string value (or comma separated list) of instance. required: false type: string - - name: older - in: query - description: Older then this time - required: false - type: string - - name: newer - in: query - description: Newer then this time - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -5954,26 +6993,10 @@ paths: enum: - id - -id - - start_time - - -start_time - - executor - - -executor - - initiator - - -initiator - - initiator_type - - -initiator_type - - revision - - -revision - - inventory - - -inventory - - kind - - -kind - - mode - - -mode + - name + - -name - status - -status - - stop_time - - -stop_time collectionFormat: csv minItems: 1 uniqueItems: true @@ -6014,141 +7037,95 @@ paths: results: type: array items: - $ref: '#/definitions/ProjectHistory' + $ref: '#/definitions/Project' tags: - project x-subscribe-labels: - - main.History + - main.Project x-list: true - parameters: - - name: id - in: path - description: A unique integer value identifying this project. - required: true - type: integer - /project/{id}/history/{history_id}/: + post: + operationId: project_add + description: Create a new project. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/CreateProject' + responses: + '201': + description: CREATED + schema: + $ref: '#/definitions/CreateProject' + tags: + - project + parameters: [] + /project/{id}/: get: - operationId: project_history_get - description: History(id, hidden, project, inventory, mode, revision, kind, start_time, - stop_time, raw_args, json_args, raw_inventory, status, initiator, initiator_type, - executor, json_options) + operationId: project_get + description: Return a project instance. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/OneHistory' + $ref: '#/definitions/OneProject' tags: - project x-subscribe-labels: - - main.History + - main.Project x-list: false - delete: - operationId: project_history_remove - description: History(id, hidden, project, inventory, mode, revision, kind, start_time, - stop_time, raw_args, json_args, raw_inventory, status, initiator, initiator_type, - executor, json_options) - parameters: [] + put: + operationId: project_update + description: Update a project. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/OneProject' responses: - '204': - description: NO CONTENT + '200': + description: OK + schema: + $ref: '#/definitions/OneProject' tags: - project - parameters: - - name: history_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this history sublist. - - name: id - in: path - description: A unique integer value identifying this project. - required: true - type: integer - /project/{id}/history/{history_id}/cancel/: - post: - operationId: project_history_cancel - description: Cencel working task. + patch: + operationId: project_edit + description: Update one or more fields on an existing project. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/Empty' + $ref: '#/definitions/OneProject' responses: '200': description: OK schema: - $ref: '#/definitions/ActionResponse' + $ref: '#/definitions/OneProject' tags: - project - x-require-confirmation: false - x-multiaction: false - parameters: - - name: history_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this history sublist. - - name: id - in: path - description: A unique integer value identifying this project. - required: true - type: integer - /project/{id}/history/{history_id}/clear/: delete: - operationId: project_history_clear - description: Clear history output. + operationId: project_remove + description: Remove an existing project. parameters: [] responses: '204': description: NO CONTENT tags: - project - x-require-confirmation: false - x-multiaction: false - parameters: - - name: history_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this history sublist. - - name: id - in: path - description: A unique integer value identifying this project. - required: true - type: integer - /project/{id}/history/{history_id}/facts/: - get: - operationId: project_history_facts - description: Get compilated history facts (only for execution 'module' with - module 'setup'). - parameters: [] - responses: - '200': - description: OK - schema: - $ref: '#/definitions/Facts' - tags: - - project - x-subscribe-labels: - - main.History - x-list: false parameters: - - name: history_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this history sublist. - name: id in: path description: A unique integer value identifying this project. required: true type: integer - /project/{id}/inventory/: + /project/{id}/_project_template_options/: get: - operationId: project_inventory_list - description: Return all inventories. + operationId: project__template_options_list + description: ExecutionTemplateOption(id, name, template, notes, arguments) parameters: - name: id in: query @@ -6157,13 +7134,13 @@ paths: required: false type: array items: - type: integer + type: string collectionFormat: csv minItems: 1 uniqueItems: true - - name: name + - name: template in: query - description: A name string value (or comma separated list) of instance. + description: Search by template's primary key or name required: false type: string - name: id__not @@ -6173,23 +7150,13 @@ paths: required: false type: array items: - type: integer + type: string collectionFormat: csv minItems: 1 uniqueItems: true - - name: name__not + - name: ordering in: query - description: A name string value (or comma separated list) of instance. - required: false - type: string - - name: variables - in: query - description: List of variables to filter. Comma separated "key:value" list. - required: false - type: string - - name: ordering - in: query - description: Which field to use when ordering the results. + description: Which field to use when ordering the results. required: false type: array items: @@ -6198,8 +7165,10 @@ paths: enum: - id - -id - - name - - -name + - template + - -template + - extended_name + - -extended_name collectionFormat: csv minItems: 1 uniqueItems: true @@ -6240,196 +7209,75 @@ paths: results: type: array items: - $ref: '#/definitions/Inventory' + $ref: '#/definitions/ProjectTemplateOption' tags: - project x-subscribe-labels: - - main.Inventory + - main.ExecutionTemplateOption x-list: true - post: - operationId: project_inventory_add - description: Create a new inventory. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/OneInventory' - responses: - '201': - description: CREATED - schema: - $ref: '#/definitions/OneInventory' - tags: - - project - x-allow-append: true - parameters: - - name: id - in: path - description: A unique integer value identifying this project. - required: true - type: integer - /project/{id}/inventory/file_import_inventory/: - post: - operationId: project_inventory_file_import_inventory - description: Create a new inventory. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/InventoryFileImport' - responses: - '201': - description: CREATED - schema: - $ref: '#/definitions/InventoryFileImport' - tags: - - project - parameters: - - name: id - in: path - description: A unique integer value identifying this project. - required: true - type: integer - /project/{id}/inventory/import_inventory/: - post: - operationId: project_inventory_import_inventory - description: Create a new inventory. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/InventoryImport' - responses: - '201': - description: CREATED - schema: - $ref: '#/definitions/InventoryImport' - tags: - - project + x-hidden: true parameters: - name: id in: path description: A unique integer value identifying this project. required: true type: integer - /project/{id}/inventory/{inventory_id}/: + /project/{id}/_project_template_options/{_project_template_options_id}/: get: - operationId: project_inventory_get - description: Return a inventory instance. + operationId: project__template_options_get + description: ExecutionTemplateOption(id, name, template, notes, arguments) parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/OneInventory' + $ref: '#/definitions/OneProjectTemplateOption' tags: - project x-subscribe-labels: - - main.Inventory + - main.ExecutionTemplateOption x-list: false - put: - operationId: project_inventory_update - description: Update a inventory. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/OneInventory' - responses: - '200': - description: OK - schema: - $ref: '#/definitions/OneInventory' - tags: - - project - patch: - operationId: project_inventory_edit - description: Update one or more fields on an existing inventory. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/OneInventory' - responses: - '200': - description: OK - schema: - $ref: '#/definitions/OneInventory' - tags: - - project - delete: - operationId: project_inventory_remove - description: Remove an existing inventory. - parameters: [] - responses: - '204': - description: NO CONTENT - tags: - - project parameters: - - name: id + - name: _project_template_options_id in: path - description: A unique integer value identifying this project. required: true - type: integer - - name: inventory_id + type: string + - name: id in: path + description: A unique integer value identifying this project. required: true type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/all_groups/: + /project/{id}/ansible_modules/: get: - operationId: project_inventory_all_groups_list - description: Return all groups. + operationId: project_ansible_modules_list + summary: Ansible modules for project. + description: |- + retrieve: + Return a module details of project instance. + + list: + Return all available modules of project. parameters: - - name: __deep_parent + - name: path in: query - description: '' + description: Full path to module. required: false - type: integer - - name: id + type: string + - name: path__not in: query - description: A unique integer value (or comma separated list) identifying - this instance. + description: Full path to module. required: false - type: array - items: - type: integer - collectionFormat: csv - minItems: 1 - uniqueItems: true + type: string - name: name in: query - description: A name string value (or comma separated list) of instance. + description: Full path to module. required: false type: string - - name: id__not - in: query - description: A unique integer value (or comma separated list) identifying - this instance. - required: false - type: array - items: - type: integer - collectionFormat: csv - minItems: 1 - uniqueItems: true - name: name__not in: query description: A name string value (or comma separated list) of instance. required: false type: string - - name: variables - in: query - description: List of variables to filter. Comma separated "key:value" list. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -6441,10 +7289,8 @@ paths: enum: - id - -id - - name - - -name - - children - - -children + - path + - -path collectionFormat: csv minItems: 1 uniqueItems: true @@ -6485,12 +7331,11 @@ paths: results: type: array items: - $ref: '#/definitions/Group' + $ref: '#/definitions/AnsibleModule' tags: - project x-subscribe-labels: - - main.Group - x-deep-nested-view: groups + - main.Module x-list: true parameters: - name: id @@ -6498,89 +7343,63 @@ paths: description: A unique integer value identifying this project. required: true type: integer - - name: inventory_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/all_groups/{all_groups_id}/: + /project/{id}/ansible_modules/{ansible_modules_id}/: get: - operationId: project_inventory_all_groups_get - description: Return a group instance. + operationId: project_ansible_modules_get + summary: Ansible modules for project. + description: |- + retrieve: + Return a module details of project instance. + + list: + Return all available modules of project. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/OneGroup' + $ref: '#/definitions/OneAnsibleModule' tags: - project x-subscribe-labels: - - main.Group - x-deep-nested-view: groups + - main.Module x-list: false parameters: - - name: all_groups_id + - name: ansible_modules_id in: path required: true - type: string + type: integer + description: A unique integer value identifying instance of this ansible_modules + sublist. - name: id in: path description: A unique integer value identifying this project. required: true type: integer - - name: inventory_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/all_hosts/: + /project/{id}/ansible_playbooks/: get: - operationId: project_inventory_all_hosts_list - description: Return all hosts. + operationId: project_ansible_playbooks_list + summary: Ansible playbooks for project. + description: |- + retrieve: + Return a playbook of project instance. + + list: + Return all playbooks of project. parameters: - - name: id - in: query - description: A unique integer value (or comma separated list) identifying - this instance. - required: false - type: array - items: - type: integer - collectionFormat: csv - minItems: 1 - uniqueItems: true - - name: name - in: query - description: A name string value (or comma separated list) of instance. - required: false - type: string - - name: type + - name: playbook in: query - description: Instance type. + description: Playbook filename. required: false type: string - - name: id__not - in: query - description: A unique integer value (or comma separated list) identifying - this instance. - required: false - type: array - items: - type: integer - collectionFormat: csv - minItems: 1 - uniqueItems: true - - name: name__not + - name: playbook__not in: query - description: A name string value (or comma separated list) of instance. + description: Playbook filename. required: false type: string - - name: variables + - name: pb_filter in: query - description: List of variables to filter. Comma separated "key:value" list. + description: Playbook filename - filter for prefetch. required: false type: string - name: ordering @@ -6596,8 +7415,8 @@ paths: - -id - name - -name - - type - - -type + - playbook + - -playbook collectionFormat: csv minItems: 1 uniqueItems: true @@ -6638,11 +7457,11 @@ paths: results: type: array items: - $ref: '#/definitions/Host' + $ref: '#/definitions/AnsiblePlaybook' tags: - project x-subscribe-labels: - - main.Host + - main.AnsiblePlaybook x-list: true parameters: - name: id @@ -6650,82 +7469,135 @@ paths: description: A unique integer value identifying this project. required: true type: integer - - name: inventory_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/all_hosts/{all_hosts_id}/: + /project/{id}/ansible_playbooks/{ansible_playbooks_id}/: get: - operationId: project_inventory_all_hosts_get - description: Return a host instance. + operationId: project_ansible_playbooks_get + summary: Ansible playbooks for project. + description: |- + retrieve: + Return a playbook of project instance. + + list: + Return all playbooks of project. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/OneHost' + $ref: '#/definitions/OneAnsiblePlaybook' tags: - project x-subscribe-labels: - - main.Host + - main.AnsiblePlaybook x-list: false parameters: - - name: all_hosts_id + - name: ansible_playbooks_id in: path required: true - type: string + type: integer + description: A unique integer value identifying instance of this ansible_playbooks + sublist. - name: id in: path description: A unique integer value identifying this project. required: true type: integer - - name: inventory_id + /project/{id}/copy/: + post: + operationId: project_copy + description: Endpoint which copy instance with deps. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/Project' + responses: + '201': + description: CREATED + schema: + $ref: '#/definitions/Project' + tags: + - project + parameters: + - name: id in: path + description: A unique integer value identifying this project. required: true type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/copy/: + /project/{id}/execute_ansible_module/: post: - operationId: project_inventory_copy - description: Endpoint which copy instance with deps. + operationId: project_execute_ansible_module + description: Execute ANSIBLE_MODULE plugin. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/Inventory' + $ref: '#/definitions/ExecuteAnsibleModule' responses: '201': description: CREATED schema: - $ref: '#/definitions/Inventory' + $ref: '#/definitions/ProjectExecuteResponse' tags: - project + x-title: Execute ansible module + x-multiaction: false parameters: - name: id in: path description: A unique integer value identifying this project. required: true type: integer - - name: inventory_id + /project/{id}/execute_ansible_playbook/: + post: + operationId: project_execute_ansible_playbook + description: Execute ANSIBLE_PLAYBOOK plugin. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/ExecuteAnsiblePlaybook' + responses: + '201': + description: CREATED + schema: + $ref: '#/definitions/ProjectExecuteResponse' + tags: + - project + x-title: Execute ansible playbook + x-multiaction: false + parameters: + - name: id in: path + description: A unique integer value identifying this project. required: true type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/group/: + /project/{id}/execution_templates/: get: - operationId: project_inventory_group_list - description: Return all groups. + operationId: project_execution_templates_list + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: - - name: __deep_parent - in: query - description: '' - required: false - type: integer - name: id in: query description: A unique integer value (or comma separated list) identifying @@ -6742,6 +7614,15 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string + - name: plugin + in: query + description: '' + required: false + type: string + enum: + - '' + - ANSIBLE_PLAYBOOK + - ANSIBLE_MODULE - name: id__not in: query description: A unique integer value (or comma separated list) identifying @@ -6758,11 +7639,6 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: variables - in: query - description: List of variables to filter. Comma separated "key:value" list. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -6776,8 +7652,8 @@ paths: - -id - name - -name - - children - - -children + - plugin + - -plugin collectionFormat: csv minItems: 1 uniqueItems: true @@ -6818,93 +7694,175 @@ paths: results: type: array items: - $ref: '#/definitions/Group' + $ref: '#/definitions/ExecutionTemplate' tags: - project x-subscribe-labels: - - main.Group - x-deep-nested-view: groups + - main.ExecutionTemplate x-list: true post: - operationId: project_inventory_group_add - description: Create a new group. + operationId: project_execution_templates_add + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/GroupCreateMaster' + $ref: '#/definitions/CreateExecutionTemplate' responses: '201': description: CREATED schema: - $ref: '#/definitions/GroupCreateMaster' + $ref: '#/definitions/CreateExecutionTemplate' tags: - project - x-allow-append: true + x-allow-append: false parameters: - name: id in: path description: A unique integer value identifying this project. required: true type: integer - - name: inventory_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/group/{group_id}/: + /project/{id}/execution_templates/{execution_templates_id}/: get: - operationId: project_inventory_group_get - description: Return a group instance. + operationId: project_execution_templates_get + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/OneGroup' + $ref: '#/definitions/OneExecutionTemplate' tags: - project x-subscribe-labels: - - main.Group - x-deep-nested-view: groups + - main.ExecutionTemplate x-list: false put: - operationId: project_inventory_group_update - description: Update a group. + operationId: project_execution_templates_update + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneGroup' + $ref: '#/definitions/OneExecutionTemplate' responses: '200': description: OK schema: - $ref: '#/definitions/OneGroup' + $ref: '#/definitions/OneExecutionTemplate' tags: - project patch: - operationId: project_inventory_group_edit - description: Update one or more fields on an existing group. + operationId: project_execution_templates_edit + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneGroup' + $ref: '#/definitions/OneExecutionTemplate' responses: '200': description: OK schema: - $ref: '#/definitions/OneGroup' + $ref: '#/definitions/OneExecutionTemplate' tags: - project delete: - operationId: project_inventory_group_remove - description: Remove an existing group. + operationId: project_execution_templates_remove + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: [] responses: '204': @@ -6912,64 +7870,71 @@ paths: tags: - project parameters: - - name: group_id + - name: execution_templates_id in: path required: true - type: string + type: integer + description: A unique integer value identifying instance of this execution_templates + sublist. - name: id in: path description: A unique integer value identifying this project. required: true type: integer - - name: inventory_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/group/{group_id}/copy/: + /project/{id}/execution_templates/{execution_templates_id}/execute/: post: - operationId: project_inventory_group_inventory_copy - description: Endpoint which copy instance with deps. + operationId: project_execution_templates_execute + description: Execute template with option. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/GroupCopy' + $ref: '#/definitions/ExecuteTemplate' responses: '201': description: CREATED schema: - $ref: '#/definitions/GroupCopy' + $ref: '#/definitions/ExecuteTemplateResponse' tags: - project + x-title: Execute + x-multiaction: false parameters: - - name: group_id + - name: execution_templates_id in: path required: true - type: string + type: integer + description: A unique integer value identifying instance of this execution_templates + sublist. - name: id in: path description: A unique integer value identifying this project. required: true type: integer - - name: inventory_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/group/{group_id}/groups/: + /project/{id}/execution_templates/{execution_templates_id}/history/: get: - operationId: project_inventory_group_groups_list - description: Return all groups. + operationId: project_execution_templates_history_list + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: - - name: __deep_parent - in: query - description: '' - required: false - type: integer - name: id in: query description: A unique integer value (or comma separated list) identifying @@ -6981,16 +7946,39 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: name + - name: status in: query - description: A name string value (or comma separated list) of instance. + description: Status of execution. required: false type: string - - name: children + enum: + - '' + - DELAY + - RUN + - OK + - ERROR + - OFFLINE + - INTERRUPTED + - name: mode in: query - description: '' + description: Module or playbook name. required: false - type: boolean + type: string + - name: kind + in: query + description: Kind of execution. + required: false + type: string + - name: older + in: query + description: Older then this time + required: false + type: string + - name: newer + in: query + description: Newer then this time + required: false + type: string - name: id__not in: query description: A unique integer value (or comma separated list) identifying @@ -7002,11 +7990,6 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: name__not - in: query - description: A name string value (or comma separated list) of instance. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -7018,10 +8001,26 @@ paths: enum: - id - -id - - name - - -name - - children - - -children + - start_time + - -start_time + - executor + - -executor + - initiator + - -initiator + - initiator_type + - -initiator_type + - project + - -project + - inventory + - -inventory + - kind + - -kind + - mode + - -mode + - status + - -status + - stop_time + - -stop_time collectionFormat: csv minItems: 1 uniqueItems: true @@ -7062,126 +8061,220 @@ paths: results: type: array items: - $ref: '#/definitions/Group' + $ref: '#/definitions/History' tags: - project x-subscribe-labels: - - main.Group + - main.History x-list: true - post: - operationId: project_inventory_group_groups_add - description: Create a new group. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/GroupCreateMaster' - responses: - '201': - description: CREATED - schema: - $ref: '#/definitions/GroupCreateMaster' - tags: - - project - x-allow-append: true parameters: - - name: group_id + - name: execution_templates_id in: path required: true - type: string - - name: id - in: path - description: A unique integer value identifying this project. - required: true type: integer - - name: inventory_id + description: A unique integer value identifying instance of this execution_templates + sublist. + - name: id in: path + description: A unique integer value identifying this project. required: true type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/group/{group_id}/groups/{groups_id}/: + /project/{id}/execution_templates/{execution_templates_id}/history/{history_id}/: get: - operationId: project_inventory_group_groups_get - description: Return a group instance. + operationId: project_execution_templates_history_get + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/OneGroup' + $ref: '#/definitions/OneHistory' tags: - project x-subscribe-labels: - - main.Group + - main.History x-list: false - put: - operationId: project_inventory_group_groups_update - description: Update a group. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/OneGroup' + delete: + operationId: project_execution_templates_history_remove + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. + parameters: [] responses: - '200': - description: OK - schema: - $ref: '#/definitions/OneGroup' + '204': + description: NO CONTENT tags: - project + parameters: + - name: execution_templates_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this execution_templates + sublist. + - name: history_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this history sublist. + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + /project/{id}/execution_templates/{execution_templates_id}/history/{history_id}/cancel/: patch: - operationId: project_inventory_group_groups_edit - description: Update one or more fields on an existing group. + operationId: project_execution_templates_history_execution_templates_cancel + description: Cancel working task. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneGroup' + $ref: '#/definitions/Empty' responses: '200': description: OK schema: - $ref: '#/definitions/OneGroup' + $ref: '#/definitions/Response' tags: - project + x-title: Cancel + x-multiaction: false + parameters: + - name: execution_templates_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this execution_templates + sublist. + - name: history_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this history sublist. + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + /project/{id}/execution_templates/{execution_templates_id}/history/{history_id}/clear/: delete: - operationId: project_inventory_group_groups_remove - description: Remove an existing group. + operationId: project_execution_templates_history_execution_templates_clear + description: Clear execution output. parameters: [] responses: '204': description: NO CONTENT tags: - project + x-title: Clear + x-multiaction: false parameters: - - name: group_id + - name: execution_templates_id in: path required: true - type: string - - name: groups_id + type: integer + description: A unique integer value identifying instance of this execution_templates + sublist. + - name: history_id in: path required: true type: integer - description: A unique integer value identifying instance of this groups sublist. + description: A unique integer value identifying instance of this history sublist. - name: id in: path description: A unique integer value identifying this project. required: true type: integer - - name: inventory_id + /project/{id}/execution_templates/{execution_templates_id}/history/{history_id}/facts/: + get: + operationId: project_execution_templates_history_execution_templates_facts + description: Get facts from "setup" ansible module execution. + parameters: [] + responses: + '200': + description: OK + schema: + $ref: '#/definitions/FactsResponse' + tags: + - project + x-subscribe-labels: + - main.History + x-list: false + parameters: + - name: execution_templates_id in: path required: true type: integer - description: A unique integer value identifying instance of this inventories + description: A unique integer value identifying instance of this execution_templates sublist. - /project/{id}/inventory/{inventory_id}/group/{group_id}/hosts/: + - name: history_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this history sublist. + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + /project/{id}/execution_templates/{execution_templates_id}/options/: get: - operationId: project_inventory_group_hosts_list - description: Return all hosts. + operationId: project_execution_templates_options_list + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: - name: id in: query @@ -7190,7 +8283,7 @@ paths: required: false type: array items: - type: integer + type: string collectionFormat: csv minItems: 1 uniqueItems: true @@ -7199,11 +8292,6 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: type - in: query - description: Instance type. - required: false - type: string - name: id__not in: query description: A unique integer value (or comma separated list) identifying @@ -7211,7 +8299,7 @@ paths: required: false type: array items: - type: integer + type: string collectionFormat: csv minItems: 1 uniqueItems: true @@ -7220,11 +8308,6 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: variables - in: query - description: List of variables to filter. Comma separated "key:value" list. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -7238,8 +8321,6 @@ paths: - -id - name - -name - - type - - -type collectionFormat: csv minItems: 1 uniqueItems: true @@ -7280,95 +8361,181 @@ paths: results: type: array items: - $ref: '#/definitions/Host' + $ref: '#/definitions/ExecutionTemplateOption' tags: - project x-subscribe-labels: - - main.Host + - main.ExecutionTemplateOption x-list: true post: - operationId: project_inventory_group_hosts_add - description: Create a new host. + operationId: project_execution_templates_options_add + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneHost' + $ref: '#/definitions/OneExecutionTemplateOption' responses: '201': description: CREATED schema: - $ref: '#/definitions/OneHost' + $ref: '#/definitions/OneExecutionTemplateOption' tags: - project - x-allow-append: true + x-allow-append: false parameters: - - name: group_id + - name: execution_templates_id in: path required: true - type: string + type: integer + description: A unique integer value identifying instance of this execution_templates + sublist. - name: id in: path description: A unique integer value identifying this project. required: true type: integer - - name: inventory_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/group/{group_id}/hosts/{hosts_id}/: + /project/{id}/execution_templates/{execution_templates_id}/options/{options_id}/: get: - operationId: project_inventory_group_hosts_get - description: Return a host instance. + operationId: project_execution_templates_options_get + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/OneHost' + $ref: '#/definitions/OneExecutionTemplateOption' tags: - project x-subscribe-labels: - - main.Host + - main.ExecutionTemplateOption x-list: false put: - operationId: project_inventory_group_hosts_update - description: Update a host. + operationId: project_execution_templates_options_update + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneHost' + $ref: '#/definitions/OneExecutionTemplateOption' responses: '200': description: OK schema: - $ref: '#/definitions/OneHost' + $ref: '#/definitions/OneExecutionTemplateOption' tags: - project patch: - operationId: project_inventory_group_hosts_edit - description: Update one or more fields on an existing host. + operationId: project_execution_templates_options_edit + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneHost' + $ref: '#/definitions/OneExecutionTemplateOption' responses: '200': description: OK schema: - $ref: '#/definitions/OneHost' + $ref: '#/definitions/OneExecutionTemplateOption' tags: - project delete: - operationId: project_inventory_group_hosts_remove - description: Remove an existing host. + operationId: project_execution_templates_options_remove + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: [] responses: '204': @@ -7376,106 +8543,78 @@ paths: tags: - project parameters: - - name: group_id - in: path - required: true - type: string - - name: hosts_id + - name: execution_templates_id in: path required: true type: integer - description: A unique integer value identifying instance of this hosts sublist. + description: A unique integer value identifying instance of this execution_templates + sublist. - name: id in: path description: A unique integer value identifying this project. required: true type: integer - - name: inventory_id + - name: options_id in: path required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/group/{group_id}/hosts/{hosts_id}/copy/: + type: string + /project/{id}/execution_templates/{execution_templates_id}/options/{options_id}/execute/: post: - operationId: project_inventory_group_hosts_inventory_group_copy - description: Endpoint which copy instance with deps. + operationId: project_execution_templates_options_execution_templates_execute + description: Execute template with option. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/Host' + $ref: '#/definitions/Empty' responses: '201': description: CREATED schema: - $ref: '#/definitions/Host' + $ref: '#/definitions/ExecuteTemplateResponse' tags: - project + x-title: Execute + x-multiaction: false parameters: - - name: group_id - in: path - required: true - type: string - - name: hosts_id + - name: execution_templates_id in: path required: true type: integer - description: A unique integer value identifying instance of this hosts sublist. + description: A unique integer value identifying instance of this execution_templates + sublist. - name: id in: path description: A unique integer value identifying this project. required: true type: integer - - name: inventory_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/group/{group_id}/hosts/{hosts_id}/set_owner/: - post: - operationId: project_inventory_group_hosts_inventory_group_set_owner - description: Change instance owner. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/SetOwner' - responses: - '201': - description: CREATED - schema: - $ref: '#/definitions/SetOwner' - tags: - - project - parameters: - - name: group_id + - name: options_id in: path required: true type: string - - name: hosts_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this hosts sublist. - - name: id - in: path - description: A unique integer value identifying this project. - required: true - type: integer - - name: inventory_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/group/{group_id}/hosts/{hosts_id}/variables/: + /project/{id}/execution_templates/{execution_templates_id}/options/{options_id}/periodic_tasks/: get: - operationId: project_inventory_group_hosts_variables_list - description: Return all variables of instance. + operationId: project_execution_templates_options_periodic_tasks_list + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: - name: id in: query @@ -7488,16 +8627,26 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: key + - name: name in: query - description: A key name string value (or comma separated list) of instance. + description: A name string value (or comma separated list) of instance. required: false type: string - - name: value + - name: schedule in: query - description: A value of instance. + description: '' required: false type: string + - name: enabled + in: query + description: '' + required: false + type: boolean + - name: save_result + in: query + description: '' + required: false + type: boolean - name: id__not in: query description: A unique integer value (or comma separated list) identifying @@ -7509,6 +8658,11 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true + - name: name__not + in: query + description: A name string value (or comma separated list) of instance. + required: false + type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -7520,10 +8674,14 @@ paths: enum: - id - -id - - key - - -key - - value - - -value + - name + - -name + - schedule + - -schedule + - enabled + - -enabled + - save_result + - -save_result collectionFormat: csv minItems: 1 uniqueItems: true @@ -7564,100 +8722,185 @@ paths: results: type: array items: - $ref: '#/definitions/InventoryVariable' + $ref: '#/definitions/TemplatePeriodicTask' tags: - project x-subscribe-labels: - - main.Variable + - main.TemplatePeriodicTask x-list: true post: - operationId: project_inventory_group_hosts_variables_add - description: Create a new variable of instance. + operationId: project_execution_templates_options_periodic_tasks_add + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/InventoryVariable' + $ref: '#/definitions/OneTemplatePeriodicTask' responses: '201': description: CREATED schema: - $ref: '#/definitions/InventoryVariable' + $ref: '#/definitions/OneTemplatePeriodicTask' tags: - project x-allow-append: false parameters: - - name: group_id - in: path - required: true - type: string - - name: hosts_id + - name: execution_templates_id in: path required: true type: integer - description: A unique integer value identifying instance of this hosts sublist. + description: A unique integer value identifying instance of this execution_templates + sublist. - name: id in: path description: A unique integer value identifying this project. required: true type: integer - - name: inventory_id + - name: options_id in: path required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/group/{group_id}/hosts/{hosts_id}/variables/{variables_id}/: + type: string + /project/{id}/execution_templates/{execution_templates_id}/options/{options_id}/periodic_tasks/{periodic_tasks_id}/: get: - operationId: project_inventory_group_hosts_variables_get - description: Return a variable of instance. + operationId: project_execution_templates_options_periodic_tasks_get + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/InventoryVariable' + $ref: '#/definitions/OneTemplatePeriodicTask' tags: - project x-subscribe-labels: - - main.Variable + - main.TemplatePeriodicTask x-list: false put: - operationId: project_inventory_group_hosts_variables_update - description: Update variable value. + operationId: project_execution_templates_options_periodic_tasks_update + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/InventoryVariable' + $ref: '#/definitions/OneTemplatePeriodicTask' responses: '200': description: OK schema: - $ref: '#/definitions/InventoryVariable' + $ref: '#/definitions/OneTemplatePeriodicTask' tags: - project patch: - operationId: project_inventory_group_hosts_variables_edit - description: Update one or more fields on an existing variable. + operationId: project_execution_templates_options_periodic_tasks_edit + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/InventoryVariable' + $ref: '#/definitions/OneTemplatePeriodicTask' responses: '200': description: OK schema: - $ref: '#/definitions/InventoryVariable' + $ref: '#/definitions/OneTemplatePeriodicTask' tags: - project delete: - operationId: project_inventory_group_hosts_variables_remove - description: Remove an existing variable. + operationId: project_execution_templates_options_periodic_tasks_remove + summary: Manage execution templates of project. + description: |- + retrieve: + Return an execution template instance. + + list: + Return all execution templates in project. + + create: + Create a new execution template. + + destroy: + Remove an existing execution template. + + partial_update: + Update one or more fields on an existing execution template. + + update: + Update an execution template. parameters: [] responses: '204': @@ -7665,69 +8908,38 @@ paths: tags: - project parameters: - - name: group_id - in: path - required: true - type: string - - name: hosts_id + - name: execution_templates_id in: path required: true type: integer - description: A unique integer value identifying instance of this hosts sublist. + description: A unique integer value identifying instance of this execution_templates + sublist. - name: id in: path description: A unique integer value identifying this project. required: true type: integer - - name: inventory_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - - name: variables_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this variables - sublist. - /project/{id}/inventory/{inventory_id}/group/{group_id}/set_owner/: - post: - operationId: project_inventory_group_inventory_set_owner - description: Change instance owner. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/SetOwner' - responses: - '201': - description: CREATED - schema: - $ref: '#/definitions/SetOwner' - tags: - - project - parameters: - - name: group_id + - name: options_id in: path required: true type: string - - name: id - in: path - description: A unique integer value identifying this project. - required: true - type: integer - - name: inventory_id + - name: periodic_tasks_id in: path required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/group/{group_id}/variables/: + type: string + /project/{id}/history/: get: - operationId: project_inventory_group_variables_list - description: Return all variables of instance. + operationId: project_history_list + summary: View previous executions. + description: |- + retrieve: + Return an execution history instance. + + list: + Return all history instances of executions. + + destroy: + Remove an existing history record. parameters: - name: id in: query @@ -7740,14 +8952,37 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: key + - name: status in: query - description: A key name string value (or comma separated list) of instance. + description: Status of execution. required: false type: string - - name: value + enum: + - '' + - DELAY + - RUN + - OK + - ERROR + - OFFLINE + - INTERRUPTED + - name: mode in: query - description: A value of instance. + description: Module or playbook name. + required: false + type: string + - name: kind + in: query + description: Kind of execution. + required: false + type: string + - name: older + in: query + description: Older then this time + required: false + type: string + - name: newer + in: query + description: Newer then this time required: false type: string - name: id__not @@ -7772,10 +9007,26 @@ paths: enum: - id - -id - - key - - -key - - value - - -value + - start_time + - -start_time + - executor + - -executor + - initiator + - -initiator + - initiator_type + - -initiator_type + - project + - -project + - inventory + - -inventory + - kind + - -kind + - mode + - -mode + - status + - -status + - stop_time + - -stop_time collectionFormat: csv minItems: 1 uniqueItems: true @@ -7816,127 +9067,154 @@ paths: results: type: array items: - $ref: '#/definitions/InventoryVariable' + $ref: '#/definitions/History' tags: - project x-subscribe-labels: - - main.Variable + - main.History x-list: true - post: - operationId: project_inventory_group_variables_add - description: Create a new variable of instance. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/InventoryVariable' - responses: - '201': - description: CREATED - schema: - $ref: '#/definitions/InventoryVariable' - tags: - - project - x-allow-append: false parameters: - - name: group_id - in: path - required: true - type: string - name: id in: path description: A unique integer value identifying this project. required: true type: integer - - name: inventory_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/group/{group_id}/variables/{variables_id}/: + /project/{id}/history/{history_id}/: get: - operationId: project_inventory_group_variables_get - description: Return a variable of instance. + operationId: project_history_get + summary: View previous executions. + description: |- + retrieve: + Return an execution history instance. + + list: + Return all history instances of executions. + + destroy: + Remove an existing history record. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/InventoryVariable' + $ref: '#/definitions/OneHistory' tags: - project x-subscribe-labels: - - main.Variable + - main.History x-list: false - put: - operationId: project_inventory_group_variables_update - description: Update variable value. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/InventoryVariable' + delete: + operationId: project_history_remove + summary: View previous executions. + description: |- + retrieve: + Return an execution history instance. + + list: + Return all history instances of executions. + + destroy: + Remove an existing history record. + parameters: [] responses: - '200': - description: OK - schema: - $ref: '#/definitions/InventoryVariable' + '204': + description: NO CONTENT tags: - project + parameters: + - name: history_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this history sublist. + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + /project/{id}/history/{history_id}/cancel/: patch: - operationId: project_inventory_group_variables_edit - description: Update one or more fields on an existing variable. + operationId: project_history_cancel + description: Cancel working task. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/InventoryVariable' + $ref: '#/definitions/Empty' responses: '200': description: OK schema: - $ref: '#/definitions/InventoryVariable' + $ref: '#/definitions/Response' tags: - project + x-title: Cancel + x-multiaction: false + parameters: + - name: history_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this history sublist. + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + /project/{id}/history/{history_id}/clear/: delete: - operationId: project_inventory_group_variables_remove - description: Remove an existing variable. + operationId: project_history_clear + description: Clear execution output. parameters: [] responses: '204': description: NO CONTENT tags: - project + x-title: Clear + x-multiaction: false parameters: - - name: group_id + - name: history_id in: path required: true - type: string + type: integer + description: A unique integer value identifying instance of this history sublist. - name: id in: path description: A unique integer value identifying this project. required: true type: integer - - name: inventory_id + /project/{id}/history/{history_id}/facts/: + get: + operationId: project_history_facts + description: Get facts from "setup" ansible module execution. + parameters: [] + responses: + '200': + description: OK + schema: + $ref: '#/definitions/FactsResponse' + tags: + - project + x-subscribe-labels: + - main.History + x-list: false + parameters: + - name: history_id in: path required: true type: integer - description: A unique integer value identifying instance of this inventories - sublist. - - name: variables_id + description: A unique integer value identifying instance of this history sublist. + - name: id in: path + description: A unique integer value identifying this project. required: true type: integer - description: A unique integer value identifying instance of this variables - sublist. - /project/{id}/inventory/{inventory_id}/hosts/: + /project/{id}/inventory/: get: - operationId: project_inventory_hosts_list - description: Return all hosts. + operationId: project_inventory_list + description: Inventory(id, hidden, notes, owner, name, plugin, _inventory_state) parameters: - name: id in: query @@ -7954,11 +9232,21 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: type + - name: variables in: query - description: Instance type. + description: List of variables to filter. Comma separated "key:value" list. required: false type: string + - name: plugin + in: query + description: '' + required: false + type: array + items: + type: string + collectionFormat: csv + minItems: 1 + uniqueItems: true - name: id__not in: query description: A unique integer value (or comma separated list) identifying @@ -7975,11 +9263,6 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: variables - in: query - description: List of variables to filter. Comma separated "key:value" list. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -7993,8 +9276,8 @@ paths: - -id - name - -name - - type - - -type + - plugin + - -plugin collectionFormat: csv minItems: 1 uniqueItems: true @@ -8035,26 +9318,26 @@ paths: results: type: array items: - $ref: '#/definitions/Host' + $ref: '#/definitions/Inventory' tags: - project x-subscribe-labels: - - main.Host + - main.Inventory x-list: true post: - operationId: project_inventory_hosts_add - description: Create a new host. + operationId: project_inventory_add + description: Inventory(id, hidden, notes, owner, name, plugin, _inventory_state) parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneHost' + $ref: '#/definitions/CreateInventory' responses: '201': description: CREATED schema: - $ref: '#/definitions/OneHost' + $ref: '#/definitions/CreateInventory' tags: - project x-allow-append: true @@ -8064,62 +9347,81 @@ paths: description: A unique integer value identifying this project. required: true type: integer - - name: inventory_id + /project/{id}/inventory/import_inventory/: + post: + operationId: project_inventory_import_inventory + description: Import inventory from file. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/ProjectImportInventory' + responses: + '201': + description: CREATED + schema: + $ref: '#/definitions/ProjectImportInventory' + tags: + - project + x-title: Import inventory + x-multiaction: false + parameters: + - name: id in: path + description: A unique integer value identifying this project. required: true type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/hosts/{hosts_id}/: + /project/{id}/inventory/{inventory_id}/: get: - operationId: project_inventory_hosts_get - description: Return a host instance. + operationId: project_inventory_get + description: Inventory(id, hidden, notes, owner, name, plugin, _inventory_state) parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/OneHost' + $ref: '#/definitions/OneInventory' tags: - project x-subscribe-labels: - - main.Host + - main.Inventory x-list: false put: - operationId: project_inventory_hosts_update - description: Update a host. + operationId: project_inventory_update + description: Inventory(id, hidden, notes, owner, name, plugin, _inventory_state) parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneHost' + $ref: '#/definitions/OneInventory' responses: '200': description: OK schema: - $ref: '#/definitions/OneHost' + $ref: '#/definitions/OneInventory' tags: - project patch: - operationId: project_inventory_hosts_edit - description: Update one or more fields on an existing host. + operationId: project_inventory_edit + description: Inventory(id, hidden, notes, owner, name, plugin, _inventory_state) parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneHost' + $ref: '#/definitions/OneInventory' responses: '200': description: OK schema: - $ref: '#/definitions/OneHost' + $ref: '#/definitions/OneInventory' tags: - project delete: - operationId: project_inventory_hosts_remove - description: Remove an existing host. + operationId: project_inventory_remove + description: Inventory(id, hidden, notes, owner, name, plugin, _inventory_state) parameters: [] responses: '204': @@ -8127,79 +9429,6 @@ paths: tags: - project parameters: - - name: hosts_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this hosts sublist. - - name: id - in: path - description: A unique integer value identifying this project. - required: true - type: integer - - name: inventory_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/hosts/{hosts_id}/copy/: - post: - operationId: project_inventory_hosts_inventory_copy - description: Endpoint which copy instance with deps. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/Host' - responses: - '201': - description: CREATED - schema: - $ref: '#/definitions/Host' - tags: - - project - parameters: - - name: hosts_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this hosts sublist. - - name: id - in: path - description: A unique integer value identifying this project. - required: true - type: integer - - name: inventory_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/hosts/{hosts_id}/set_owner/: - post: - operationId: project_inventory_hosts_inventory_set_owner - description: Change instance owner. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/SetOwner' - responses: - '201': - description: CREATED - schema: - $ref: '#/definitions/SetOwner' - tags: - - project - parameters: - - name: hosts_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this hosts sublist. - name: id in: path description: A unique integer value identifying this project. @@ -8208,14 +9437,17 @@ paths: - name: inventory_id in: path required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/hosts/{hosts_id}/variables/: + type: string + /project/{id}/inventory/{inventory_id}/all_groups/: get: - operationId: project_inventory_hosts_variables_list - description: Return all variables of instance. + operationId: project_inventory_all_groups_list + description: Return all groups. parameters: + - name: __deep_parent + in: query + description: '' + required: false + type: integer - name: id in: query description: A unique integer value (or comma separated list) identifying @@ -8227,14 +9459,14 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: key + - name: name in: query - description: A key name string value (or comma separated list) of instance. + description: A name string value (or comma separated list) of instance. required: false type: string - - name: value + - name: variables in: query - description: A value of instance. + description: List of variables to filter. Comma separated "key:value" list. required: false type: string - name: id__not @@ -8248,6 +9480,11 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true + - name: name__not + in: query + description: A name string value (or comma separated list) of instance. + required: false + type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -8259,10 +9496,10 @@ paths: enum: - id - -id - - key - - -key - - value - - -value + - name + - -name + - children + - -children collectionFormat: csv minItems: 1 uniqueItems: true @@ -8303,35 +9540,14 @@ paths: results: type: array items: - $ref: '#/definitions/InventoryVariable' + $ref: '#/definitions/Group' tags: - project x-subscribe-labels: - - main.Variable + - main.Group + x-deep-nested-view: groups x-list: true - post: - operationId: project_inventory_hosts_variables_add - description: Create a new variable of instance. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/InventoryVariable' - responses: - '201': - description: CREATED - schema: - $ref: '#/definitions/InventoryVariable' - tags: - - project - x-allow-append: false parameters: - - name: hosts_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this hosts sublist. - name: id in: path description: A unique integer value identifying this project. @@ -8340,106 +9556,28 @@ paths: - name: inventory_id in: path required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/hosts/{hosts_id}/variables/{variables_id}/: + type: string + /project/{id}/inventory/{inventory_id}/all_groups/{all_groups_id}/: get: - operationId: project_inventory_hosts_variables_get - description: Return a variable of instance. + operationId: project_inventory_all_groups_get + description: Return a group instance. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/InventoryVariable' + $ref: '#/definitions/OneGroup' tags: - project x-subscribe-labels: - - main.Variable + - main.Group + x-deep-nested-view: groups x-list: false - put: - operationId: project_inventory_hosts_variables_update - description: Update variable value. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/InventoryVariable' - responses: - '200': - description: OK - schema: - $ref: '#/definitions/InventoryVariable' - tags: - - project - patch: - operationId: project_inventory_hosts_variables_edit - description: Update one or more fields on an existing variable. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/InventoryVariable' - responses: - '200': - description: OK - schema: - $ref: '#/definitions/InventoryVariable' - tags: - - project - delete: - operationId: project_inventory_hosts_variables_remove - description: Remove an existing variable. - parameters: [] - responses: - '204': - description: NO CONTENT - tags: - - project parameters: - - name: hosts_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this hosts sublist. - - name: id - in: path - description: A unique integer value identifying this project. - required: true - type: integer - - name: inventory_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - - name: variables_id + - name: all_groups_id in: path required: true - type: integer - description: A unique integer value identifying instance of this variables - sublist. - /project/{id}/inventory/{inventory_id}/set_owner/: - post: - operationId: project_inventory_set_owner - description: Change instance owner. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/SetOwner' - responses: - '201': - description: CREATED - schema: - $ref: '#/definitions/SetOwner' - tags: - - project - parameters: + type: string - name: id in: path description: A unique integer value identifying this project. @@ -8448,13 +9586,11 @@ paths: - name: inventory_id in: path required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/variables/: + type: string + /project/{id}/inventory/{inventory_id}/all_hosts/: get: - operationId: project_inventory_variables_list - description: Return all variables of instance. + operationId: project_inventory_all_hosts_list + description: Return all hosts. parameters: - name: id in: query @@ -8467,14 +9603,23 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: key + - name: name in: query - description: A key name string value (or comma separated list) of instance. + description: A name string value (or comma separated list) of instance. required: false type: string - - name: value + - name: type in: query - description: A value of instance. + description: Instance type. + required: false + type: string + enum: + - '' + - HOST + - RANGE + - name: variables + in: query + description: List of variables to filter. Comma separated "key:value" list. required: false type: string - name: id__not @@ -8488,6 +9633,11 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true + - name: name__not + in: query + description: A name string value (or comma separated list) of instance. + required: false + type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -8499,10 +9649,10 @@ paths: enum: - id - -id - - key - - -key - - value - - -value + - name + - -name + - type + - -type collectionFormat: csv minItems: 1 uniqueItems: true @@ -8543,29 +9693,12 @@ paths: results: type: array items: - $ref: '#/definitions/InventoryVariable' + $ref: '#/definitions/Host' tags: - project x-subscribe-labels: - - main.Variable + - main.Host x-list: true - post: - operationId: project_inventory_variables_add - description: Create a new variable of instance. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/InventoryVariable' - responses: - '201': - description: CREATED - schema: - $ref: '#/definitions/InventoryVariable' - tags: - - project - x-allow-append: false parameters: - name: id in: path @@ -8575,63 +9708,51 @@ paths: - name: inventory_id in: path required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - /project/{id}/inventory/{inventory_id}/variables/{variables_id}/: + type: string + /project/{id}/inventory/{inventory_id}/all_hosts/{all_hosts_id}/: get: - operationId: project_inventory_variables_get - description: Return a variable of instance. + operationId: project_inventory_all_hosts_get + description: Return a host instance. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/InventoryVariable' + $ref: '#/definitions/OneHost' tags: - project x-subscribe-labels: - - main.Variable + - main.Host x-list: false - put: - operationId: project_inventory_variables_update - description: Update variable value. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/InventoryVariable' - responses: - '200': - description: OK - schema: - $ref: '#/definitions/InventoryVariable' - tags: - - project - patch: - operationId: project_inventory_variables_edit - description: Update one or more fields on an existing variable. + parameters: + - name: all_hosts_id + in: path + required: true + type: string + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/copy/: + post: + operationId: project_inventory_copy + description: Endpoint which copy instance with deps. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/InventoryVariable' + $ref: '#/definitions/Copy' responses: - '200': - description: OK + '201': + description: CREATED schema: - $ref: '#/definitions/InventoryVariable' - tags: - - project - delete: - operationId: project_inventory_variables_remove - description: Remove an existing variable. - parameters: [] - responses: - '204': - description: NO CONTENT + $ref: '#/definitions/Copy' tags: - project parameters: @@ -8643,134 +9764,21 @@ paths: - name: inventory_id in: path required: true - type: integer - description: A unique integer value identifying instance of this inventories - sublist. - - name: variables_id - in: path - required: true - type: integer - description: A unique integer value identifying instance of this variables - sublist. - /project/{id}/module/: + type: string + /project/{id}/inventory/{inventory_id}/group/: get: - operationId: project_module_list - description: Return all available modules of project. + operationId: project_inventory_group_list + description: Return all groups. parameters: - - name: path + - name: __deep_parent in: query - description: Full path to module. + description: '' required: false - type: string - - name: name + type: integer + - name: id in: query - description: Name of module. - required: false - type: string - - name: path__not - in: query - description: Full path to module. - required: false - type: string - - name: ordering - in: query - description: Which field to use when ordering the results. - required: false - type: array - items: - type: string - format: ordering_choices - enum: - - id - - -id - - path - - -path - collectionFormat: csv - minItems: 1 - uniqueItems: true - - name: __search - in: query - description: A search term. - required: false - type: string - - name: limit - in: query - description: Number of results to return per page. - required: false - type: integer - - name: offset - in: query - description: The initial index from which to return the results. - required: false - type: integer - responses: - '200': - description: OK - schema: - required: - - count - - results - type: object - properties: - count: - type: integer - next: - type: string - format: uri - x-nullable: true - previous: - type: string - format: uri - x-nullable: true - results: - type: array - items: - $ref: '#/definitions/Module' - tags: - - project - x-subscribe-labels: - - main.Module - x-list: true - parameters: - - name: id - in: path - description: A unique integer value identifying this project. - required: true - type: integer - /project/{id}/module/{module_id}/: - get: - operationId: project_module_get - description: Return a module details of project instance. - parameters: [] - responses: - '200': - description: OK - schema: - $ref: '#/definitions/OneModule' - tags: - - project - x-subscribe-labels: - - main.Module - x-list: false - parameters: - - name: id - in: path - description: A unique integer value identifying this project. - required: true - type: integer - - name: module_id - in: path - required: true - type: string - /project/{id}/periodic_task/: - get: - operationId: project_periodic_task_list - description: Return all periodic tasks in project. - parameters: - - name: id - in: query - description: A unique integer value (or comma separated list) identifying - this instance. + description: A unique integer value (or comma separated list) identifying + this instance. required: false type: array items: @@ -8778,26 +9786,16 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: mode - in: query - description: Periodic task module or playbook name. - required: false - type: string - - name: kind + - name: name in: query - description: Kind of periodic task. + description: A name string value (or comma separated list) of instance. required: false type: string - - name: type + - name: variables in: query - description: Instance type. + description: List of variables to filter. Comma separated "key:value" list. required: false type: string - - name: template - in: query - description: A unique integer id of template used in periodic task. - required: false - type: number - name: id__not in: query description: A unique integer value (or comma separated list) identifying @@ -8809,11 +9807,6 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: name - in: query - description: A name string value (or comma separated list) of instance. - required: false - type: string - name: name__not in: query description: A name string value (or comma separated list) of instance. @@ -8832,22 +9825,8 @@ paths: - -id - name - -name - - kind - - -kind - - mode - - -mode - - save_result - - -save_result - - template - - -template - - template_opt - - -template_opt - - enabled - - -enabled - - type - - -type - - schedule - - -schedule + - children + - -children collectionFormat: csv minItems: 1 uniqueItems: true @@ -8888,85 +9867,91 @@ paths: results: type: array items: - $ref: '#/definitions/Periodictask' + $ref: '#/definitions/Group' tags: - project x-subscribe-labels: - - main.PeriodicTask + - main.Group + x-deep-nested-view: groups x-list: true post: - operationId: project_periodic_task_add - description: Create a new periodic task. + operationId: project_inventory_group_add + description: Create a new group. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OnePeriodictask' + $ref: '#/definitions/CreateGroup' responses: '201': description: CREATED schema: - $ref: '#/definitions/OnePeriodictask' + $ref: '#/definitions/CreateGroup' tags: - project - x-allow-append: false + x-allow-append: true parameters: - name: id in: path description: A unique integer value identifying this project. required: true type: integer - /project/{id}/periodic_task/{periodic_task_id}/: + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/: get: - operationId: project_periodic_task_get - description: Return a perodic task instance. + operationId: project_inventory_group_get + description: Return a group instance. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/OnePeriodictask' + $ref: '#/definitions/OneGroup' tags: - project x-subscribe-labels: - - main.PeriodicTask + - main.Group + x-deep-nested-view: groups x-list: false put: - operationId: project_periodic_task_update - description: Update a periodic task. + operationId: project_inventory_group_update + description: Update a group. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OnePeriodictask' + $ref: '#/definitions/OneGroup' responses: '200': description: OK schema: - $ref: '#/definitions/OnePeriodictask' + $ref: '#/definitions/OneGroup' tags: - project patch: - operationId: project_periodic_task_edit - description: Update one or more fields on an existing periodic task. + operationId: project_inventory_group_edit + description: Update one or more fields on an existing group. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OnePeriodictask' + $ref: '#/definitions/OneGroup' responses: '200': description: OK schema: - $ref: '#/definitions/OnePeriodictask' + $ref: '#/definitions/OneGroup' tags: - project delete: - operationId: project_periodic_task_remove - description: Remove an existing periodic task. + operationId: project_inventory_group_remove + description: Remove an existing group. parameters: [] responses: '204': @@ -8974,53 +9959,60 @@ paths: tags: - project parameters: + - name: group_id + in: path + required: true + type: string - name: id in: path description: A unique integer value identifying this project. required: true type: integer - - name: periodic_task_id + - name: inventory_id in: path required: true - type: integer - description: A unique integer value identifying instance of this periodic_task - sublist. - /project/{id}/periodic_task/{periodic_task_id}/execute/: + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/copy/: post: - operationId: project_periodic_task_execute - description: Ad-hoc execute periodic task. + operationId: project_inventory_group_inventory_copy + description: Endpoint which copy instance with deps. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/Empty' + $ref: '#/definitions/Copy' responses: '201': description: CREATED schema: - $ref: '#/definitions/ExecuteResponse' + $ref: '#/definitions/Copy' tags: - project - x-require-confirmation: false - x-multiaction: false parameters: + - name: group_id + in: path + required: true + type: string - name: id in: path description: A unique integer value identifying this project. required: true type: integer - - name: periodic_task_id + - name: inventory_id in: path required: true - type: integer - description: A unique integer value identifying instance of this periodic_task - sublist. - /project/{id}/periodic_task/{periodic_task_id}/variables/: + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/groups/: get: - operationId: project_periodic_task_variables_list - description: Return all variables of periodic task. + operationId: project_inventory_group_groups_list + description: Return all groups. parameters: + - name: __deep_parent + in: query + description: '' + required: false + type: integer - name: id in: query description: A unique integer value (or comma separated list) identifying @@ -9032,14 +10024,14 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: key + - name: name in: query - description: A key name string value (or comma separated list) of instance. + description: A name string value (or comma separated list) of instance. required: false type: string - - name: value + - name: variables in: query - description: A value of instance. + description: List of variables to filter. Comma separated "key:value" list. required: false type: string - name: id__not @@ -9053,6 +10045,11 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true + - name: name__not + in: query + description: A name string value (or comma separated list) of instance. + required: false + type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -9064,10 +10061,10 @@ paths: enum: - id - -id - - key - - -key - - value - - -value + - name + - -name + - children + - -children collectionFormat: csv minItems: 1 uniqueItems: true @@ -9108,91 +10105,93 @@ paths: results: type: array items: - $ref: '#/definitions/PeriodicTaskVariable' + $ref: '#/definitions/Group' tags: - project x-subscribe-labels: - - main.Variable + - main.Group x-list: true post: - operationId: project_periodic_task_variables_add - description: Create a new variable of periodic task. + operationId: project_inventory_group_groups_add + description: Create a new group. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/PeriodicTaskVariable' + $ref: '#/definitions/CreateGroup' responses: '201': description: CREATED schema: - $ref: '#/definitions/PeriodicTaskVariable' + $ref: '#/definitions/CreateGroup' tags: - project - x-allow-append: false + x-allow-append: true parameters: + - name: group_id + in: path + required: true + type: string - name: id in: path description: A unique integer value identifying this project. required: true type: integer - - name: periodic_task_id + - name: inventory_id in: path required: true - type: integer - description: A unique integer value identifying instance of this periodic_task - sublist. - /project/{id}/periodic_task/{periodic_task_id}/variables/{variables_id}/: + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/groups/{groups_id}/: get: - operationId: project_periodic_task_variables_get - description: Return a variable of periodic task. + operationId: project_inventory_group_groups_get + description: Return a group instance. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/PeriodicTaskVariable' + $ref: '#/definitions/OneGroup' tags: - project x-subscribe-labels: - - main.Variable + - main.Group x-list: false put: - operationId: project_periodic_task_variables_update - description: Update variable value. + operationId: project_inventory_group_groups_update + description: Update a group. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/PeriodicTaskVariable' + $ref: '#/definitions/OneGroup' responses: '200': description: OK schema: - $ref: '#/definitions/PeriodicTaskVariable' + $ref: '#/definitions/OneGroup' tags: - project patch: - operationId: project_periodic_task_variables_edit - description: Update one or more fields on an existing variable. + operationId: project_inventory_group_groups_edit + description: Update one or more fields on an existing group. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/PeriodicTaskVariable' + $ref: '#/definitions/OneGroup' responses: '200': description: OK schema: - $ref: '#/definitions/PeriodicTaskVariable' + $ref: '#/definitions/OneGroup' tags: - project delete: - operationId: project_periodic_task_variables_remove - description: Remove an existing variable. + operationId: project_inventory_group_groups_remove + description: Remove an existing group. parameters: [] responses: '204': @@ -9200,28 +10199,65 @@ paths: tags: - project parameters: - - name: id + - name: group_id in: path - description: A unique integer value identifying this project. required: true - type: integer - - name: periodic_task_id + type: string + - name: groups_id in: path required: true type: integer - description: A unique integer value identifying instance of this periodic_task - sublist. - - name: variables_id + description: A unique integer value identifying instance of this groups sublist. + - name: id in: path + description: A unique integer value identifying this project. required: true type: integer - description: A unique integer value identifying instance of this variables - sublist. - /project/{id}/playbook/: - get: - operationId: project_playbook_list - description: Return all playbooks of project. - parameters: + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/groups/{groups_id}/copy/: + post: + operationId: project_inventory_group_groups_inventory_group_copy + description: Endpoint which copy instance with deps. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/Copy' + responses: + '201': + description: CREATED + schema: + $ref: '#/definitions/Copy' + tags: + - project + parameters: + - name: group_id + in: path + required: true + type: string + - name: groups_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this groups sublist. + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/groups/{groups_id}/hosts/: + get: + operationId: project_inventory_group_groups_hosts_list + description: Return all hosts. + parameters: - name: id in: query description: A unique integer value (or comma separated list) identifying @@ -9238,14 +10274,18 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: playbook + - name: type in: query - description: Playbook filename. + description: Instance type. required: false type: string - - name: pb_filter + enum: + - '' + - HOST + - RANGE + - name: variables in: query - description: Playbook filename - filter for prefetch. + description: List of variables to filter. Comma separated "key:value" list. required: false type: string - name: id__not @@ -9264,11 +10304,6 @@ paths: description: A name string value (or comma separated list) of instance. required: false type: string - - name: playbook__not - in: query - description: Playbook filename. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -9282,8 +10317,8 @@ paths: - -id - name - -name - - playbook - - -playbook + - type + - -type collectionFormat: csv minItems: 1 uniqueItems: true @@ -9324,97 +10359,216 @@ paths: results: type: array items: - $ref: '#/definitions/Playbook' + $ref: '#/definitions/Host' tags: - project x-subscribe-labels: - - main.Task + - main.Host x-list: true + post: + operationId: project_inventory_group_groups_hosts_add + description: Create a new host. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/OneHost' + responses: + '201': + description: CREATED + schema: + $ref: '#/definitions/OneHost' + tags: + - project + x-allow-append: true parameters: + - name: group_id + in: path + required: true + type: string + - name: groups_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this groups sublist. - name: id in: path description: A unique integer value identifying this project. required: true type: integer - /project/{id}/playbook/{playbook_id}/: + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/groups/{groups_id}/hosts/{hosts_id}/: get: - operationId: project_playbook_get - description: Return a playbook of project instance. + operationId: project_inventory_group_groups_hosts_get + description: Return a host instance. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/OnePlaybook' + $ref: '#/definitions/OneHost' tags: - project x-subscribe-labels: - - main.Task + - main.Host x-list: false + put: + operationId: project_inventory_group_groups_hosts_update + description: Update a host. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/OneHost' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/OneHost' + tags: + - project + patch: + operationId: project_inventory_group_groups_hosts_edit + description: Update one or more fields on an existing host. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/OneHost' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/OneHost' + tags: + - project + delete: + operationId: project_inventory_group_groups_hosts_remove + description: Remove an existing host. + parameters: [] + responses: + '204': + description: NO CONTENT + tags: + - project parameters: + - name: group_id + in: path + required: true + type: string + - name: groups_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this groups sublist. + - name: hosts_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this hosts sublist. - name: id in: path description: A unique integer value identifying this project. required: true type: integer - - name: playbook_id + - name: inventory_id in: path required: true - type: integer - description: A unique integer value identifying instance of this playbook - sublist. - /project/{id}/set_owner/: + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/groups/{groups_id}/hosts/{hosts_id}/copy/: post: - operationId: project_set_owner - description: Change instance owner. + operationId: project_inventory_group_groups_hosts_inventory_group_groups_copy + description: Endpoint which copy instance with deps. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/SetOwner' + $ref: '#/definitions/Copy' responses: '201': description: CREATED schema: - $ref: '#/definitions/SetOwner' + $ref: '#/definitions/Copy' tags: - project parameters: + - name: group_id + in: path + required: true + type: string + - name: groups_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this groups sublist. + - name: hosts_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this hosts sublist. - name: id in: path description: A unique integer value identifying this project. required: true type: integer - /project/{id}/sync/: - post: - operationId: project_sync - description: Sync project with repository. + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/groups/{groups_id}/hosts/{hosts_id}/set_owner/: + patch: + operationId: project_inventory_group_groups_hosts_inventory_group_groups_set_owner + description: Change instance owner. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/Empty' + $ref: '#/definitions/SetOwner' responses: '200': description: OK schema: - $ref: '#/definitions/ActionResponse' + $ref: '#/definitions/SetOwner' tags: - project - x-require-confirmation: false + x-title: Set owner x-multiaction: false parameters: + - name: group_id + in: path + required: true + type: string + - name: groups_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this groups sublist. + - name: hosts_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this hosts sublist. - name: id in: path description: A unique integer value identifying this project. required: true type: integer - /project/{id}/variables/: + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/groups/{groups_id}/hosts/{hosts_id}/variables/: get: - operationId: project_variables_list - description: Return all variables of instance. + operationId: project_inventory_group_groups_hosts_variables_list + description: Return all variables of inventory host. parameters: - name: id in: query @@ -9503,84 +10657,102 @@ paths: results: type: array items: - $ref: '#/definitions/ProjectVariable' + $ref: '#/definitions/InventoryVariable' tags: - project x-subscribe-labels: - main.Variable x-list: true post: - operationId: project_variables_add - description: Create a new variable of instance. + operationId: project_inventory_group_groups_hosts_variables_add + description: Create a new variable of inventory host. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/ProjectVariable' + $ref: '#/definitions/InventoryVariable' responses: '201': description: CREATED schema: - $ref: '#/definitions/ProjectVariable' + $ref: '#/definitions/InventoryVariable' tags: - project x-allow-append: false parameters: + - name: group_id + in: path + required: true + type: string + - name: groups_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this groups sublist. + - name: hosts_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this hosts sublist. - name: id in: path description: A unique integer value identifying this project. required: true type: integer - /project/{id}/variables/{variables_id}/: + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/groups/{groups_id}/hosts/{hosts_id}/variables/{variables_id}/: get: - operationId: project_variables_get - description: Return a variable of instance. + operationId: project_inventory_group_groups_hosts_variables_get + description: Return a variable of inventory host. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/ProjectVariable' + $ref: '#/definitions/InventoryVariable' tags: - project x-subscribe-labels: - main.Variable x-list: false put: - operationId: project_variables_update + operationId: project_inventory_group_groups_hosts_variables_update description: Update variable value. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/ProjectVariable' + $ref: '#/definitions/InventoryVariable' responses: '200': description: OK schema: - $ref: '#/definitions/ProjectVariable' + $ref: '#/definitions/InventoryVariable' tags: - project patch: - operationId: project_variables_edit + operationId: project_inventory_group_groups_hosts_variables_edit description: Update one or more fields on an existing variable. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/ProjectVariable' + $ref: '#/definitions/InventoryVariable' responses: '200': description: OK schema: - $ref: '#/definitions/ProjectVariable' + $ref: '#/definitions/InventoryVariable' tags: - project delete: - operationId: project_variables_remove + operationId: project_inventory_group_groups_hosts_variables_remove description: Remove an existing variable. parameters: [] responses: @@ -9589,21 +10761,77 @@ paths: tags: - project parameters: + - name: group_id + in: path + required: true + type: string + - name: groups_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this groups sublist. + - name: hosts_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this hosts sublist. - name: id in: path description: A unique integer value identifying this project. required: true type: integer + - name: inventory_id + in: path + required: true + type: string - name: variables_id in: path required: true type: integer description: A unique integer value identifying instance of this variables sublist. - /team/: + /project/{id}/inventory/{inventory_id}/group/{group_id}/groups/{groups_id}/set_owner/: + patch: + operationId: project_inventory_group_groups_inventory_group_set_owner + description: Change instance owner. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/SetOwner' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/SetOwner' + tags: + - project + x-title: Set owner + x-multiaction: false + parameters: + - name: group_id + in: path + required: true + type: string + - name: groups_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this groups sublist. + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/groups/{groups_id}/variables/: get: - operationId: team_list - description: Return all teams. + operationId: project_inventory_group_groups_variables_list + description: Return all variables of inventory host. parameters: - name: id in: query @@ -9616,9 +10844,14 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: name + - name: key in: query - description: A name string value (or comma separated list) of instance. + description: A key name string value (or comma separated list) of instance. + required: false + type: string + - name: value + in: query + description: A value of instance. required: false type: string - name: id__not @@ -9632,11 +10865,6 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: name__not - in: query - description: A name string value (or comma separated list) of instance. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -9648,8 +10876,10 @@ paths: enum: - id - -id - - name - - -name + - key + - -key + - value + - -value collectionFormat: csv minItems: 1 uniqueItems: true @@ -9690,141 +10920,133 @@ paths: results: type: array items: - $ref: '#/definitions/Team' + $ref: '#/definitions/InventoryVariable' tags: - - team + - project x-subscribe-labels: - - main.UserGroup + - main.Variable x-list: true post: - operationId: team_add - description: Create a new team. + operationId: project_inventory_group_groups_variables_add + description: Create a new variable of inventory host. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneTeam' + $ref: '#/definitions/InventoryVariable' responses: '201': description: CREATED schema: - $ref: '#/definitions/OneTeam' + $ref: '#/definitions/InventoryVariable' tags: - - team - parameters: [] - /team/{id}/: + - project + x-allow-append: false + parameters: + - name: group_id + in: path + required: true + type: string + - name: groups_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this groups sublist. + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/groups/{groups_id}/variables/{variables_id}/: get: - operationId: team_get - description: Return a team instance. + operationId: project_inventory_group_groups_variables_get + description: Return a variable of inventory host. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/OneTeam' + $ref: '#/definitions/InventoryVariable' tags: - - team + - project x-subscribe-labels: - - main.UserGroup + - main.Variable x-list: false put: - operationId: team_update - description: Update a team. + operationId: project_inventory_group_groups_variables_update + description: Update variable value. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneTeam' + $ref: '#/definitions/InventoryVariable' responses: '200': description: OK schema: - $ref: '#/definitions/OneTeam' + $ref: '#/definitions/InventoryVariable' tags: - - team + - project patch: - operationId: team_edit - description: Update one or more fields on an existing team. + operationId: project_inventory_group_groups_variables_edit + description: Update one or more fields on an existing variable. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneTeam' + $ref: '#/definitions/InventoryVariable' responses: '200': description: OK schema: - $ref: '#/definitions/OneTeam' + $ref: '#/definitions/InventoryVariable' tags: - - team + - project delete: - operationId: team_remove - description: Remove an existing team. + operationId: project_inventory_group_groups_variables_remove + description: Remove an existing variable. parameters: [] responses: '204': description: NO CONTENT tags: - - team + - project parameters: - - name: id + - name: group_id + in: path + required: true + type: string + - name: groups_id in: path - description: A unique integer value identifying this user group. required: true type: integer - /team/{id}/copy/: - post: - operationId: team_copy - description: Endpoint which copy instance with deps. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/Team' - responses: - '201': - description: CREATED - schema: - $ref: '#/definitions/Team' - tags: - - team - parameters: + description: A unique integer value identifying instance of this groups sublist. - name: id in: path - description: A unique integer value identifying this user group. + description: A unique integer value identifying this project. required: true type: integer - /team/{id}/set_owner/: - post: - operationId: team_set_owner - description: Change instance owner. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/SetOwner' - responses: - '201': - description: CREATED - schema: - $ref: '#/definitions/SetOwner' - tags: - - team - parameters: - - name: id + - name: inventory_id + in: path + required: true + type: string + - name: variables_id in: path - description: A unique integer value identifying this user group. required: true type: integer - /team/{id}/user/: + description: A unique integer value identifying instance of this variables + sublist. + /project/{id}/inventory/{inventory_id}/group/{group_id}/hosts/: get: - operationId: team_user_list - description: Return all users. + operationId: project_inventory_group_hosts_list + description: Return all hosts. parameters: - name: id in: query @@ -9837,29 +11059,23 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: username + - name: name in: query description: A name string value (or comma separated list) of instance. required: false type: string - - name: is_active - in: query - description: Boolean value meaning status of user. - required: false - type: boolean - - name: first_name - in: query - description: Users first name. - required: false - type: string - - name: last_name + - name: type in: query - description: Users last name. + description: Instance type. required: false type: string - - name: email + enum: + - '' + - HOST + - RANGE + - name: variables in: query - description: Users e-mail value. + description: List of variables to filter. Comma separated "key:value" list. required: false type: string - name: id__not @@ -9873,7 +11089,7 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: username__not + - name: name__not in: query description: A name string value (or comma separated list) of instance. required: false @@ -9889,12 +11105,10 @@ paths: enum: - id - -id - - username - - -username - - is_active - - -is_active - - email - - -email + - name + - -name + - type + - -type collectionFormat: csv minItems: 1 uniqueItems: true @@ -9935,246 +11149,196 @@ paths: results: type: array items: - $ref: '#/definitions/User' + $ref: '#/definitions/Host' tags: - - team + - project x-subscribe-labels: - - auth.User + - main.Host x-list: true post: - operationId: team_user_add - description: Create a new user. + operationId: project_inventory_group_hosts_add + description: Create a new host. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/CreateUser' + $ref: '#/definitions/OneHost' responses: '201': description: CREATED schema: - $ref: '#/definitions/CreateUser' + $ref: '#/definitions/OneHost' tags: - - team + - project x-allow-append: true parameters: + - name: group_id + in: path + required: true + type: string - name: id in: path - description: A unique integer value identifying this user group. + description: A unique integer value identifying this project. required: true type: integer - /team/{id}/user/{user_id}/: + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/hosts/{hosts_id}/: get: - operationId: team_user_get - description: Return a user instance. + operationId: project_inventory_group_hosts_get + description: Return a host instance. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/OneUser' + $ref: '#/definitions/OneHost' tags: - - team + - project x-subscribe-labels: - - auth.User + - main.Host x-list: false put: - operationId: team_user_update - description: Update a user. + operationId: project_inventory_group_hosts_update + description: Update a host. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneUser' + $ref: '#/definitions/OneHost' responses: '200': description: OK schema: - $ref: '#/definitions/OneUser' + $ref: '#/definitions/OneHost' tags: - - team + - project patch: - operationId: team_user_edit - description: Update one or more fields on an existing user. + operationId: project_inventory_group_hosts_edit + description: Update one or more fields on an existing host. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneUser' + $ref: '#/definitions/OneHost' responses: '200': description: OK schema: - $ref: '#/definitions/OneUser' + $ref: '#/definitions/OneHost' tags: - - team + - project delete: - operationId: team_user_remove - description: Remove an existing user. + operationId: project_inventory_group_hosts_remove + description: Remove an existing host. parameters: [] responses: '204': description: NO CONTENT tags: - - team + - project parameters: - - name: id + - name: group_id + in: path + required: true + type: string + - name: hosts_id in: path - description: A unique integer value identifying this user group. required: true type: integer - - name: user_id + description: A unique integer value identifying instance of this hosts sublist. + - name: id in: path + description: A unique integer value identifying this project. required: true type: integer - description: A unique integer value identifying instance of this users sublist. - /team/{id}/user/{user_id}/_settings/: - get: - operationId: team_user__settings_get - description: Return all users. - parameters: [] + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/hosts/{hosts_id}/copy/: + post: + operationId: project_inventory_group_hosts_inventory_group_copy + description: Endpoint which copy instance with deps. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/Copy' responses: - '200': - description: OK + '201': + description: CREATED schema: - $ref: '#/definitions/_UserSettings' + $ref: '#/definitions/Copy' tags: - - team - x-subscribe-labels: - - auth.User - x-list: false - put: - operationId: team_user__settings_update - description: Update a user. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/_UserSettings' - responses: - '200': - description: OK - schema: - $ref: '#/definitions/_UserSettings' - tags: - - team + - project parameters: - - name: id + - name: group_id in: path - description: A unique integer value identifying this user group. required: true - type: integer - - name: user_id + type: string + - name: hosts_id in: path required: true type: integer - description: A unique integer value identifying instance of this users sublist. - /team/{id}/user/{user_id}/change_password/: - post: - operationId: team_user_change_password - description: Create a new user. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/ChangePassword' - responses: - '201': - description: CREATED - schema: - $ref: '#/definitions/ChangePassword' - tags: - - team - parameters: + description: A unique integer value identifying instance of this hosts sublist. - name: id in: path - description: A unique integer value identifying this user group. + description: A unique integer value identifying this project. required: true type: integer - - name: user_id + - name: inventory_id in: path required: true - type: integer - description: A unique integer value identifying instance of this users sublist. - /team/{id}/user/{user_id}/copy/: - post: - operationId: team_user_copy - description: Endpoint which copy instance with deps. + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/hosts/{hosts_id}/set_owner/: + patch: + operationId: project_inventory_group_hosts_inventory_group_set_owner + description: Change instance owner. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/User' + $ref: '#/definitions/SetOwner' responses: - '201': - description: CREATED + '200': + description: OK schema: - $ref: '#/definitions/User' + $ref: '#/definitions/SetOwner' tags: - - team + - project + x-title: Set owner + x-multiaction: false parameters: - - name: id + - name: group_id in: path - description: A unique integer value identifying this user group. required: true - type: integer - - name: user_id + type: string + - name: hosts_id in: path required: true type: integer - description: A unique integer value identifying instance of this users sublist. - /team/{id}/user/{user_id}/twofa/: - get: - operationId: team_user_twofa_get - description: Return all users. - parameters: [] - responses: - '200': - description: OK - schema: - $ref: '#/definitions/TwoFA' - tags: - - team - x-subscribe-labels: - - auth.User - x-list: false - put: - operationId: team_user_twofa_update - description: Update a user. - parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/TwoFA' - responses: - '200': - description: OK - schema: - $ref: '#/definitions/TwoFA' - tags: - - team - parameters: + description: A unique integer value identifying instance of this hosts sublist. - name: id in: path - description: A unique integer value identifying this user group. + description: A unique integer value identifying this project. required: true type: integer - - name: user_id + - name: inventory_id in: path required: true - type: integer - description: A unique integer value identifying instance of this users sublist. - /user/: + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/hosts/{hosts_id}/variables/: get: - operationId: user_list - description: Return all users. + operationId: project_inventory_group_hosts_variables_list + description: Return all variables of inventory host. parameters: - name: id in: query @@ -10187,29 +11351,14 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: username - in: query - description: A name string value (or comma separated list) of instance. - required: false - type: string - - name: is_active - in: query - description: Boolean value meaning status of user. - required: false - type: boolean - - name: first_name - in: query - description: Users first name. - required: false - type: string - - name: last_name + - name: key in: query - description: Users last name. + description: A key name string value (or comma separated list) of instance. required: false type: string - - name: email + - name: value in: query - description: Users e-mail value. + description: A value of instance. required: false type: string - name: id__not @@ -10223,11 +11372,6 @@ paths: collectionFormat: csv minItems: 1 uniqueItems: true - - name: username__not - in: query - description: A name string value (or comma separated list) of instance. - required: false - type: string - name: ordering in: query description: Which field to use when ordering the results. @@ -10239,12 +11383,10 @@ paths: enum: - id - -id - - username - - -username - - is_active - - -is_active - - email - - -email + - key + - -key + - value + - -value collectionFormat: csv minItems: 1 uniqueItems: true @@ -10285,264 +11427,1800 @@ paths: results: type: array items: - $ref: '#/definitions/User' + $ref: '#/definitions/InventoryVariable' tags: - - user + - project x-subscribe-labels: - - auth.User + - main.Variable x-list: true post: - operationId: user_add - description: Create a new user. + operationId: project_inventory_group_hosts_variables_add + description: Create a new variable of inventory host. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/CreateUser' + $ref: '#/definitions/InventoryVariable' responses: '201': description: CREATED schema: - $ref: '#/definitions/CreateUser' + $ref: '#/definitions/InventoryVariable' tags: - - user - parameters: [] - /user/{id}/: + - project + x-allow-append: false + parameters: + - name: group_id + in: path + required: true + type: string + - name: hosts_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this hosts sublist. + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/hosts/{hosts_id}/variables/{variables_id}/: get: - operationId: user_get - description: Return a user instance. + operationId: project_inventory_group_hosts_variables_get + description: Return a variable of inventory host. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/OneUser' + $ref: '#/definitions/InventoryVariable' tags: - - user + - project x-subscribe-labels: - - auth.User + - main.Variable x-list: false put: - operationId: user_update - description: Update a user. + operationId: project_inventory_group_hosts_variables_update + description: Update variable value. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneUser' + $ref: '#/definitions/InventoryVariable' responses: '200': description: OK schema: - $ref: '#/definitions/OneUser' + $ref: '#/definitions/InventoryVariable' tags: - - user + - project patch: - operationId: user_edit - description: Update one or more fields on an existing user. + operationId: project_inventory_group_hosts_variables_edit + description: Update one or more fields on an existing variable. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/OneUser' + $ref: '#/definitions/InventoryVariable' responses: '200': description: OK schema: - $ref: '#/definitions/OneUser' + $ref: '#/definitions/InventoryVariable' tags: - - user + - project delete: - operationId: user_remove - description: Remove an existing user. + operationId: project_inventory_group_hosts_variables_remove + description: Remove an existing variable. parameters: [] responses: '204': description: NO CONTENT tags: - - user + - project parameters: + - name: group_id + in: path + required: true + type: string + - name: hosts_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this hosts sublist. - name: id in: path - description: A unique integer value identifying this user. + description: A unique integer value identifying this project. required: true type: integer - /user/{id}/_settings/: - get: - operationId: user__settings_get - description: '' - parameters: [] - responses: - '200': - description: OK - schema: - $ref: '#/definitions/_UserSettings' - tags: - - user - x-subscribe-labels: - - auth.User - x-list: false - put: - operationId: user__settings_update - description: '' + - name: inventory_id + in: path + required: true + type: string + - name: variables_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this variables + sublist. + /project/{id}/inventory/{inventory_id}/group/{group_id}/set_owner/: + patch: + operationId: project_inventory_group_inventory_set_owner + description: Change instance owner. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/_UserSettings' + $ref: '#/definitions/SetOwner' responses: '200': description: OK schema: - $ref: '#/definitions/_UserSettings' + $ref: '#/definitions/SetOwner' tags: - - user + - project + x-title: Set owner + x-multiaction: false parameters: + - name: group_id + in: path + required: true + type: string - name: id in: path - description: A unique integer value identifying this user. + description: A unique integer value identifying this project. required: true type: integer - /user/{id}/change_password/: - post: - operationId: user_change_password - description: '' + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/variables/: + get: + operationId: project_inventory_group_variables_list + description: Return all variables of inventory host. parameters: - - name: data - in: body - required: true - schema: - $ref: '#/definitions/ChangePassword' + - name: id + in: query + description: A unique integer value (or comma separated list) identifying + this instance. + required: false + type: array + items: + type: integer + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: key + in: query + description: A key name string value (or comma separated list) of instance. + required: false + type: string + - name: value + in: query + description: A value of instance. + required: false + type: string + - name: id__not + in: query + description: A unique integer value (or comma separated list) identifying + this instance. + required: false + type: array + items: + type: integer + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: ordering + in: query + description: Which field to use when ordering the results. + required: false + type: array + items: + type: string + format: ordering_choices + enum: + - id + - -id + - key + - -key + - value + - -value + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: __search + in: query + description: A search term. + required: false + type: string + - name: limit + in: query + description: Number of results to return per page. + required: false + type: integer + - name: offset + in: query + description: The initial index from which to return the results. + required: false + type: integer responses: - '201': - description: CREATED + '200': + description: OK schema: - $ref: '#/definitions/ChangePassword' + required: + - count + - results + type: object + properties: + count: + type: integer + next: + type: string + format: uri + x-nullable: true + previous: + type: string + format: uri + x-nullable: true + results: + type: array + items: + $ref: '#/definitions/InventoryVariable' tags: - - user - parameters: - - name: id - in: path - description: A unique integer value identifying this user. - required: true - type: integer - /user/{id}/copy/: + - project + x-subscribe-labels: + - main.Variable + x-list: true post: - operationId: user_copy - description: Endpoint which copy instance with deps. + operationId: project_inventory_group_variables_add + description: Create a new variable of inventory host. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/User' + $ref: '#/definitions/InventoryVariable' responses: '201': description: CREATED schema: - $ref: '#/definitions/User' + $ref: '#/definitions/InventoryVariable' tags: - - user + - project + x-allow-append: false parameters: + - name: group_id + in: path + required: true + type: string - name: id in: path - description: A unique integer value identifying this user. + description: A unique integer value identifying this project. required: true type: integer - /user/{id}/twofa/: + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/group/{group_id}/variables/{variables_id}/: get: - operationId: user_twofa_get - description: '' + operationId: project_inventory_group_variables_get + description: Return a variable of inventory host. parameters: [] responses: '200': description: OK schema: - $ref: '#/definitions/TwoFA' + $ref: '#/definitions/InventoryVariable' tags: - - user + - project x-subscribe-labels: - - auth.User + - main.Variable x-list: false put: - operationId: user_twofa_update - description: '' + operationId: project_inventory_group_variables_update + description: Update variable value. parameters: - name: data in: body required: true schema: - $ref: '#/definitions/TwoFA' + $ref: '#/definitions/InventoryVariable' responses: '200': description: OK schema: - $ref: '#/definitions/TwoFA' + $ref: '#/definitions/InventoryVariable' tags: - - user + - project + patch: + operationId: project_inventory_group_variables_edit + description: Update one or more fields on an existing variable. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/InventoryVariable' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/InventoryVariable' + tags: + - project + delete: + operationId: project_inventory_group_variables_remove + description: Remove an existing variable. + parameters: [] + responses: + '204': + description: NO CONTENT + tags: + - project parameters: + - name: group_id + in: path + required: true + type: string - name: id in: path - description: A unique integer value identifying this user. + description: A unique integer value identifying this project. required: true type: integer -definitions: - ProjectTemplate: - required: - - id - - name - type: object - properties: - id: - title: Id - type: integer - name: - title: Name - type: string - maxLength: 1024 - minLength: 1 - type: - title: Type + - name: inventory_id + in: path + required: true type: string - enum: - - GIT - - TAR - x-properties-groups: - '': - - id - - name - - type - x-view-field-name: name - OneProjectTemplate: - required: - - id - - name - - description - - repository - type: object - properties: - id: - title: Id + - name: variables_id + in: path + required: true type: integer - name: - title: Name - type: string - maxLength: 1024 - minLength: 1 - description: - title: Description - type: string - minLength: 1 - type: - title: Type - type: string - enum: - - GIT - - TAR + description: A unique integer value identifying instance of this variables + sublist. + /project/{id}/inventory/{inventory_id}/hosts/: + get: + operationId: project_inventory_hosts_list + description: Return all hosts. + parameters: + - name: id + in: query + description: A unique integer value (or comma separated list) identifying + this instance. + required: false + type: array + items: + type: integer + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: name + in: query + description: A name string value (or comma separated list) of instance. + required: false + type: string + - name: type + in: query + description: Instance type. + required: false + type: string + enum: + - '' + - HOST + - RANGE + - name: variables + in: query + description: List of variables to filter. Comma separated "key:value" list. + required: false + type: string + - name: id__not + in: query + description: A unique integer value (or comma separated list) identifying + this instance. + required: false + type: array + items: + type: integer + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: name__not + in: query + description: A name string value (or comma separated list) of instance. + required: false + type: string + - name: ordering + in: query + description: Which field to use when ordering the results. + required: false + type: array + items: + type: string + format: ordering_choices + enum: + - id + - -id + - name + - -name + - type + - -type + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: __search + in: query + description: A search term. + required: false + type: string + - name: limit + in: query + description: Number of results to return per page. + required: false + type: integer + - name: offset + in: query + description: The initial index from which to return the results. + required: false + type: integer + responses: + '200': + description: OK + schema: + required: + - count + - results + type: object + properties: + count: + type: integer + next: + type: string + format: uri + x-nullable: true + previous: + type: string + format: uri + x-nullable: true + results: + type: array + items: + $ref: '#/definitions/Host' + tags: + - project + x-subscribe-labels: + - main.Host + x-list: true + post: + operationId: project_inventory_hosts_add + description: Create a new host. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/OneHost' + responses: + '201': + description: CREATED + schema: + $ref: '#/definitions/OneHost' + tags: + - project + x-allow-append: true + parameters: + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/hosts/{hosts_id}/: + get: + operationId: project_inventory_hosts_get + description: Return a host instance. + parameters: [] + responses: + '200': + description: OK + schema: + $ref: '#/definitions/OneHost' + tags: + - project + x-subscribe-labels: + - main.Host + x-list: false + put: + operationId: project_inventory_hosts_update + description: Update a host. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/OneHost' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/OneHost' + tags: + - project + patch: + operationId: project_inventory_hosts_edit + description: Update one or more fields on an existing host. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/OneHost' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/OneHost' + tags: + - project + delete: + operationId: project_inventory_hosts_remove + description: Remove an existing host. + parameters: [] + responses: + '204': + description: NO CONTENT + tags: + - project + parameters: + - name: hosts_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this hosts sublist. + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/hosts/{hosts_id}/copy/: + post: + operationId: project_inventory_hosts_inventory_copy + description: Endpoint which copy instance with deps. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/Copy' + responses: + '201': + description: CREATED + schema: + $ref: '#/definitions/Copy' + tags: + - project + parameters: + - name: hosts_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this hosts sublist. + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/hosts/{hosts_id}/set_owner/: + patch: + operationId: project_inventory_hosts_inventory_set_owner + description: Change instance owner. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/SetOwner' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/SetOwner' + tags: + - project + x-title: Set owner + x-multiaction: false + parameters: + - name: hosts_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this hosts sublist. + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/hosts/{hosts_id}/variables/: + get: + operationId: project_inventory_hosts_variables_list + description: Return all variables of inventory host. + parameters: + - name: id + in: query + description: A unique integer value (or comma separated list) identifying + this instance. + required: false + type: array + items: + type: integer + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: key + in: query + description: A key name string value (or comma separated list) of instance. + required: false + type: string + - name: value + in: query + description: A value of instance. + required: false + type: string + - name: id__not + in: query + description: A unique integer value (or comma separated list) identifying + this instance. + required: false + type: array + items: + type: integer + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: ordering + in: query + description: Which field to use when ordering the results. + required: false + type: array + items: + type: string + format: ordering_choices + enum: + - id + - -id + - key + - -key + - value + - -value + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: __search + in: query + description: A search term. + required: false + type: string + - name: limit + in: query + description: Number of results to return per page. + required: false + type: integer + - name: offset + in: query + description: The initial index from which to return the results. + required: false + type: integer + responses: + '200': + description: OK + schema: + required: + - count + - results + type: object + properties: + count: + type: integer + next: + type: string + format: uri + x-nullable: true + previous: + type: string + format: uri + x-nullable: true + results: + type: array + items: + $ref: '#/definitions/InventoryVariable' + tags: + - project + x-subscribe-labels: + - main.Variable + x-list: true + post: + operationId: project_inventory_hosts_variables_add + description: Create a new variable of inventory host. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/InventoryVariable' + responses: + '201': + description: CREATED + schema: + $ref: '#/definitions/InventoryVariable' + tags: + - project + x-allow-append: false + parameters: + - name: hosts_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this hosts sublist. + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/hosts/{hosts_id}/variables/{variables_id}/: + get: + operationId: project_inventory_hosts_variables_get + description: Return a variable of inventory host. + parameters: [] + responses: + '200': + description: OK + schema: + $ref: '#/definitions/InventoryVariable' + tags: + - project + x-subscribe-labels: + - main.Variable + x-list: false + put: + operationId: project_inventory_hosts_variables_update + description: Update variable value. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/InventoryVariable' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/InventoryVariable' + tags: + - project + patch: + operationId: project_inventory_hosts_variables_edit + description: Update one or more fields on an existing variable. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/InventoryVariable' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/InventoryVariable' + tags: + - project + delete: + operationId: project_inventory_hosts_variables_remove + description: Remove an existing variable. + parameters: [] + responses: + '204': + description: NO CONTENT + tags: + - project + parameters: + - name: hosts_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this hosts sublist. + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + - name: inventory_id + in: path + required: true + type: string + - name: variables_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this variables + sublist. + /project/{id}/inventory/{inventory_id}/set_owner/: + patch: + operationId: project_inventory_set_owner + description: Change instance owner. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/SetOwner' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/SetOwner' + tags: + - project + x-title: Set owner + x-multiaction: false + parameters: + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/state/: + get: + operationId: project_inventory_state_get + description: State + parameters: [] + responses: + '200': + description: OK + schema: + $ref: '#/definitions/InventoryState' + tags: + - project + x-subscribe-labels: + - main.Inventory + x-list: false + put: + operationId: project_inventory_state_update + description: State + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/InventoryStateUpdate' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/InventoryState' + tags: + - project + x-multiaction: false + parameters: + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/variables/: + get: + operationId: project_inventory_variables_list + description: Return all variables of inventory host. + parameters: + - name: id + in: query + description: A unique integer value (or comma separated list) identifying + this instance. + required: false + type: array + items: + type: integer + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: key + in: query + description: A key name string value (or comma separated list) of instance. + required: false + type: string + - name: value + in: query + description: A value of instance. + required: false + type: string + - name: id__not + in: query + description: A unique integer value (or comma separated list) identifying + this instance. + required: false + type: array + items: + type: integer + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: ordering + in: query + description: Which field to use when ordering the results. + required: false + type: array + items: + type: string + format: ordering_choices + enum: + - id + - -id + - key + - -key + - value + - -value + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: __search + in: query + description: A search term. + required: false + type: string + - name: limit + in: query + description: Number of results to return per page. + required: false + type: integer + - name: offset + in: query + description: The initial index from which to return the results. + required: false + type: integer + responses: + '200': + description: OK + schema: + required: + - count + - results + type: object + properties: + count: + type: integer + next: + type: string + format: uri + x-nullable: true + previous: + type: string + format: uri + x-nullable: true + results: + type: array + items: + $ref: '#/definitions/InventoryVariable' + tags: + - project + x-subscribe-labels: + - main.Variable + x-list: true + post: + operationId: project_inventory_variables_add + description: Create a new variable of inventory host. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/InventoryVariable' + responses: + '201': + description: CREATED + schema: + $ref: '#/definitions/InventoryVariable' + tags: + - project + x-allow-append: false + parameters: + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + - name: inventory_id + in: path + required: true + type: string + /project/{id}/inventory/{inventory_id}/variables/{variables_id}/: + get: + operationId: project_inventory_variables_get + description: Return a variable of inventory host. + parameters: [] + responses: + '200': + description: OK + schema: + $ref: '#/definitions/InventoryVariable' + tags: + - project + x-subscribe-labels: + - main.Variable + x-list: false + put: + operationId: project_inventory_variables_update + description: Update variable value. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/InventoryVariable' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/InventoryVariable' + tags: + - project + patch: + operationId: project_inventory_variables_edit + description: Update one or more fields on an existing variable. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/InventoryVariable' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/InventoryVariable' + tags: + - project + delete: + operationId: project_inventory_variables_remove + description: Remove an existing variable. + parameters: [] + responses: + '204': + description: NO CONTENT + tags: + - project + parameters: + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + - name: inventory_id + in: path + required: true + type: string + - name: variables_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this variables + sublist. + /project/{id}/set_owner/: + patch: + operationId: project_set_owner + description: Change instance owner. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/SetOwner' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/SetOwner' + tags: + - project + x-title: Set owner + x-multiaction: false + parameters: + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + /project/{id}/sync/: + patch: + operationId: project_sync + description: Synchronize project with repository. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/Empty' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/Response' + tags: + - project + x-title: Sync + x-multiaction: false + parameters: + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + /project/{id}/variables/: + get: + operationId: project_variables_list + description: Variable(id, hidden, content_type, object_id, key, value) + parameters: + - name: id + in: query + description: A unique integer value (or comma separated list) identifying + this instance. + required: false + type: array + items: + type: integer + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: key + in: query + description: A key name string value (or comma separated list) of instance. + required: false + type: string + - name: value + in: query + description: A value of instance. + required: false + type: string + - name: id__not + in: query + description: A unique integer value (or comma separated list) identifying + this instance. + required: false + type: array + items: + type: integer + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: ordering + in: query + description: Which field to use when ordering the results. + required: false + type: array + items: + type: string + format: ordering_choices + enum: + - id + - -id + - key + - -key + - value + - -value + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: __search + in: query + description: A search term. + required: false + type: string + - name: limit + in: query + description: Number of results to return per page. + required: false + type: integer + - name: offset + in: query + description: The initial index from which to return the results. + required: false + type: integer + responses: + '200': + description: OK + schema: + required: + - count + - results + type: object + properties: + count: + type: integer + next: + type: string + format: uri + x-nullable: true + previous: + type: string + format: uri + x-nullable: true + results: + type: array + items: + $ref: '#/definitions/ProjectVariable' + tags: + - project + x-subscribe-labels: + - main.Variable + x-list: true + post: + operationId: project_variables_add + description: Variable(id, hidden, content_type, object_id, key, value) + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/ProjectVariable' + responses: + '201': + description: CREATED + schema: + $ref: '#/definitions/ProjectVariable' + tags: + - project + x-allow-append: false + parameters: + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + /project/{id}/variables/{variables_id}/: + get: + operationId: project_variables_get + description: Variable(id, hidden, content_type, object_id, key, value) + parameters: [] + responses: + '200': + description: OK + schema: + $ref: '#/definitions/ProjectVariable' + tags: + - project + x-subscribe-labels: + - main.Variable + x-list: false + put: + operationId: project_variables_update + description: Variable(id, hidden, content_type, object_id, key, value) + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/ProjectVariable' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/ProjectVariable' + tags: + - project + patch: + operationId: project_variables_edit + description: Variable(id, hidden, content_type, object_id, key, value) + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/ProjectVariable' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/ProjectVariable' + tags: + - project + delete: + operationId: project_variables_remove + description: Variable(id, hidden, content_type, object_id, key, value) + parameters: [] + responses: + '204': + description: NO CONTENT + tags: + - project + parameters: + - name: id + in: path + description: A unique integer value identifying this project. + required: true + type: integer + - name: variables_id + in: path + required: true + type: integer + description: A unique integer value identifying instance of this variables + sublist. + /stats/: + get: + operationId: stats_list + description: '' + parameters: + - name: ordering + in: query + description: Which field to use when ordering the results. + required: false + type: array + items: + type: string + format: ordering_choices + enum: + - projects + - -projects + - inventories + - -inventories + - users + - -users + - execution_plugins + - -execution_plugins + - inventory_plugins + - -inventory_plugins + - jobs + - -jobs + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: __search + in: query + description: A search term. + required: false + type: string + - name: limit + in: query + description: Number of results to return per page. + required: false + type: integer + - name: offset + in: query + description: The initial index from which to return the results. + required: false + type: integer + responses: + '200': + description: OK + schema: + required: + - count + - results + type: object + properties: + count: + type: integer + next: + type: string + format: uri + x-nullable: true + previous: + type: string + format: uri + x-nullable: true + results: + type: array + items: + $ref: '#/definitions/Stats' + tags: + - stats + x-list: true + parameters: [] + /user/: + get: + operationId: user_list + description: Return all users. + parameters: + - name: id + in: query + description: A unique integer value (or comma separated list) identifying + this instance. + required: false + type: array + items: + type: integer + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: username + in: query + description: A name string value (or comma separated list) of instance. + required: false + type: string + - name: is_active + in: query + description: Boolean value meaning status of user. + required: false + type: boolean + - name: first_name + in: query + description: Users first name. + required: false + type: string + - name: last_name + in: query + description: Users last name. + required: false + type: string + - name: email + in: query + description: Users e-mail value. + required: false + type: string + - name: id__not + in: query + description: A unique integer value (or comma separated list) identifying + this instance. + required: false + type: array + items: + type: integer + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: username__not + in: query + description: A name string value (or comma separated list) of instance. + required: false + type: string + - name: ordering + in: query + description: Which field to use when ordering the results. + required: false + type: array + items: + type: string + format: ordering_choices + enum: + - id + - -id + - username + - -username + - is_active + - -is_active + - email + - -email + collectionFormat: csv + minItems: 1 + uniqueItems: true + - name: __search + in: query + description: A search term. + required: false + type: string + - name: limit + in: query + description: Number of results to return per page. + required: false + type: integer + - name: offset + in: query + description: The initial index from which to return the results. + required: false + type: integer + responses: + '200': + description: OK + schema: + required: + - count + - results + type: object + properties: + count: + type: integer + next: + type: string + format: uri + x-nullable: true + previous: + type: string + format: uri + x-nullable: true + results: + type: array + items: + $ref: '#/definitions/User' + tags: + - user + x-subscribe-labels: + - auth.User + x-list: true + post: + operationId: user_add + description: Create a new user. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/CreateUser' + responses: + '201': + description: CREATED + schema: + $ref: '#/definitions/CreateUser' + tags: + - user + parameters: [] + /user/{id}/: + get: + operationId: user_get + description: Return a user instance. + parameters: [] + responses: + '200': + description: OK + schema: + $ref: '#/definitions/OneUser' + tags: + - user + x-subscribe-labels: + - auth.User + x-list: false + put: + operationId: user_update + description: Update a user. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/OneUser' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/OneUser' + tags: + - user + patch: + operationId: user_edit + description: Update one or more fields on an existing user. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/OneUser' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/OneUser' + tags: + - user + delete: + operationId: user_remove + description: Remove an existing user. + parameters: [] + responses: + '204': + description: NO CONTENT + tags: + - user + parameters: + - name: id + in: path + description: A unique integer value identifying this user. + required: true + type: integer + /user/{id}/_settings/: + get: + operationId: user__settings_get + description: Manage users. + parameters: [] + responses: + '200': + description: OK + schema: + $ref: '#/definitions/_UserSettings' + tags: + - user + x-subscribe-labels: + - auth.User + x-list: false + put: + operationId: user__settings_update + description: Manage users. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/_UserSettings' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/_UserSettings' + tags: + - user + parameters: + - name: id + in: path + description: A unique integer value identifying this user. + required: true + type: integer + /user/{id}/change_password/: + post: + operationId: user_change_password + description: Manage users. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/ChangePassword' + responses: + '201': + description: CREATED + schema: + $ref: '#/definitions/ChangePassword' + tags: + - user + parameters: + - name: id + in: path + description: A unique integer value identifying this user. + required: true + type: integer + /user/{id}/copy/: + post: + operationId: user_copy + description: Endpoint which copy instance with deps. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/User' + responses: + '201': + description: CREATED + schema: + $ref: '#/definitions/User' + tags: + - user + parameters: + - name: id + in: path + description: A unique integer value identifying this user. + required: true + type: integer + /user/{id}/twofa/: + get: + operationId: user_twofa_get + description: Manage users. + parameters: [] + responses: + '200': + description: OK + schema: + $ref: '#/definitions/TwoFA' + tags: + - user + x-subscribe-labels: + - auth.User + x-list: false + put: + operationId: user_twofa_update + description: Manage users. + parameters: + - name: data + in: body + required: true + schema: + $ref: '#/definitions/TwoFA' + responses: + '200': + description: OK + schema: + $ref: '#/definitions/TwoFA' + tags: + - user + parameters: + - name: id + in: path + description: A unique integer value identifying this user. + required: true + type: integer +definitions: + ProjectCommunityTemplate: + required: + - id + - name + type: object + properties: + id: + title: Id + type: integer + name: + title: Name + type: string + maxLength: 1024 + minLength: 1 + type: + title: Type + type: string + enum: + - GIT + - TAR + x-properties-groups: + '': + - id + - name + - type + x-view-field-name: name + OneProjectCommunityTemplate: + required: + - id + - name + - description + - repository + type: object + properties: + id: + title: Id + type: integer + name: + title: Name + type: string + maxLength: 1024 + minLength: 1 + description: + title: Description + type: string + minLength: 1 + type: + title: Type + type: string + enum: + - GIT + - TAR repository: title: Repository type: string @@ -10556,7 +13234,7 @@ definitions: - type - repository x-view-field-name: name - ProjectTemplateCreate: + ProjectCommunityTemplateUseIt: type: object properties: project_id: @@ -10565,9 +13243,9 @@ definitions: readOnly: true x-options: redirect: - concat_field_name: false - depend_field: null operation_name: project + depend_field: null + concat_field_name: false x-nullable: true name: title: Name @@ -10579,8 +13257,6 @@ definitions: - name x-view-field-name: name Group: - required: - - from_project type: object properties: id: @@ -10595,50 +13271,13 @@ definitions: children: title: Children type: boolean - from_project: - title: Project based - type: boolean x-properties-groups: '': - id - name - children - - from_project x-view-field-name: name - User: - required: - - username - type: object - properties: - id: - title: ID - type: integer - readOnly: true - username: - title: Username - description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ - only. - type: string - pattern: ^[\w.@+-]+$ - maxLength: 150 - minLength: 1 - is_active: - title: Is active - type: boolean - default: true - email: - title: Email - type: string - format: email - minLength: 1 - x-properties-groups: - '': - - id - - username - - is_active - - email - x-view-field-name: username - GroupCreateMaster: + CreateGroup: type: object properties: id: @@ -10653,13 +13292,25 @@ definitions: notes: title: Notes type: string - minLength: 1 + format: textarea children: title: Contains groups type: boolean default: false owner: - $ref: '#/definitions/User' + title: Owner + type: integer + format: fk + readOnly: true + x-options: + model: + $ref: '#/definitions/User' + value_field: id + view_field: username + usePrefetch: true + makeLink: true + dependence: null + filters: null x-properties-groups: '': - id @@ -10683,13 +13334,25 @@ definitions: notes: title: Notes type: string - minLength: 1 + format: textarea children: title: Contains groups type: boolean readOnly: true owner: - $ref: '#/definitions/User' + title: Owner + type: integer + format: fk + readOnly: true + x-options: + model: + $ref: '#/definitions/User' + value_field: id + view_field: username + usePrefetch: true + makeLink: true + dependence: null + filters: null x-properties-groups: '': - id @@ -10698,7 +13361,7 @@ definitions: - children - owner x-view-field-name: name - GroupCopy: + Copy: type: object properties: id: @@ -10730,20 +13393,13 @@ definitions: type: title: Type type: string - enum: - - HOST - - RANGE - default: HOST - from_project: - title: Project based - type: boolean - readOnly: true + maxLength: 5 + minLength: 1 x-properties-groups: '': - id - name - type - - from_project x-view-field-name: name OneHost: type: object @@ -10769,7 +13425,19 @@ definitions: - RANGE default: HOST owner: - $ref: '#/definitions/User' + title: Owner + type: integer + format: fk + readOnly: true + x-options: + model: + $ref: '#/definitions/User' + value_field: id + view_field: username + usePrefetch: true + makeLink: true + dependence: null + filters: null x-properties-groups: '': - id @@ -10780,26 +13448,26 @@ definitions: x-view-field-name: name SetOwner: required: - - user_id + - owner type: object properties: - user_id: - title: New owner + owner: + title: Owner type: integer format: fk x-options: - dependence: null - filters: null - makeLink: true model: $ref: '#/definitions/User' - usePrefetch: true value_field: id view_field: username + usePrefetch: true + makeLink: true + dependence: null + filters: null x-properties-groups: '': - - user_id - x-view-field-name: user_id + - owner + x-view-field-name: owner InventoryVariable: required: - key @@ -10845,14 +13513,32 @@ definitions: type: string format: dynamic x-options: - choices: {} field: key + choices: {} types: - ansible_become: boolean - ansible_become_pass: password - ansible_port: integer - ansible_ssh_pass: password - ansible_ssh_private_key_file: secretfile + ansible_password: + type: string + format: password + ansible_ssh_pass: + type: string + format: password + ansible_become_pass: + type: string + format: password + ansible_become_password: + type: string + format: password + ansible_become: + type: boolean + ansible_port: + type: integer + default: 22 + ansible_ssh_private_key_file: + type: string + format: secretfile + x-options: + media_types: + - '*/*' x-properties-groups: '': - id @@ -10863,6 +13549,7 @@ definitions: required: - executor - mode + - status type: object properties: id: @@ -10878,39 +13565,39 @@ definitions: type: string format: dynamic x-options: - choices: {} field: initiator_type + choices: {} types: project: type: integer format: fk x-options: - dependence: null - filters: null - makeLink: true model: $ref: '#/definitions/User' - usePrefetch: true value_field: id view_field: username - scheduler: - type: string - x-format: static_value - x-options: - realField: string - staticValue: system + usePrefetch: true + makeLink: true + dependence: null + filters: null template: type: integer format: fk x-options: - dependence: null - filters: null - makeLink: true model: $ref: '#/definitions/User' - usePrefetch: true value_field: id view_field: username + usePrefetch: true + makeLink: true + dependence: null + filters: null + scheduler: + type: string + format: static_value + x-options: + staticValue: system + realField: string initiator: title: Initiator type: integer @@ -10925,10 +13612,11 @@ definitions: x-nullable: true inventory: title: Inventory - type: integer + type: string format: inventory readOnly: true - x-nullable: true + x-options: + filters: null kind: title: Kind type: string @@ -10975,8 +13663,10 @@ definitions: x-view-field-name: start_time OneHistory: required: + - status - executor - mode + - execute_args - execution_time type: object properties: @@ -10999,39 +13689,39 @@ definitions: type: string format: dynamic x-options: - choices: {} field: initiator_type + choices: {} types: project: type: integer format: fk x-options: - dependence: null - filters: null - makeLink: true model: $ref: '#/definitions/User' - usePrefetch: true value_field: id view_field: username - scheduler: - type: string - x-format: static_value - x-options: - realField: string - staticValue: system + usePrefetch: true + makeLink: true + dependence: null + filters: null template: type: integer format: fk x-options: - dependence: null - filters: null - makeLink: true model: $ref: '#/definitions/User' - usePrefetch: true value_field: id view_field: username + usePrefetch: true + makeLink: true + dependence: null + filters: null + scheduler: + type: string + format: static_value + x-options: + staticValue: system + realField: string project: title: Project type: integer @@ -11044,8 +13734,6 @@ definitions: inventory: title: Inventory type: integer - format: inventory - readOnly: true x-nullable: true kind: title: Kind @@ -11060,7 +13748,384 @@ definitions: execute_args: title: Execute args type: string - readOnly: true + format: dynamic + x-options: + field: kind + choices: {} + types: + ANSIBLE_PLAYBOOK: + required: + - playbook + type: object + properties: + playbook: + title: Playbook + type: string + format: fk_autocomplete + x-options: + model: + $ref: '#/definitions/AnsiblePlaybook' + value_field: playbook + view_field: name + usePrefetch: true + args: + title: Args + description: Playbook(s) + type: string + become: + title: Become + description: run operations with become (does not imply password + prompting) + type: boolean + become_method: + title: Become method + description: privilege escalation method to use (default=sudo), + use `ansible-doc -t become -l` to list valid choices. + type: string + check: + title: Check + description: don't make any changes; instead, try to predict some + of the changes that may occur + type: boolean + connection: + title: Connection + description: connection type to use (default=smart) + type: string + diff: + title: Diff + description: when changing (small) files and templates, show the + differences in those files; works great with --check + type: boolean + extra_vars: + title: Extra vars + description: set additional variables as key=value or YAML/JSON, + if filename prepend with @ + type: string + flush_cache: + title: Flush cache + description: clear the fact cache for every host in inventory + type: boolean + force_handlers: + title: Force handlers + description: run handlers even if a task fails + type: boolean + forks: + title: Forks + description: specify number of parallel processes to use (default=5) + type: integer + inventory: + title: Inventory + description: specify inventory host path or comma separated host + list. --inventory-file is deprecated + type: string + format: inventory + x-options: + filters: + plugin: POLEMARCH_DB,ANSIBLE_FILE,ANSIBLE_STRING + limit: + title: Limit + description: further limit selected hosts to an additional pattern + type: string + list_hosts: + title: List hosts + description: outputs a list of matching hosts; does not execute + anything else + type: boolean + list_tags: + title: List tags + description: list all available tags + type: boolean + list_tasks: + title: List tasks + description: list all tasks that would be executed + type: boolean + private_key: + title: Private key + description: use this file to authenticate the connection + type: string + format: secretfile + x-options: + media_types: + - '*/*' + scp_extra_args: + title: Scp extra args + description: specify extra arguments to pass to scp only (e.g. -l) + type: string + sftp_extra_args: + title: Sftp extra args + description: specify extra arguments to pass to sftp only (e.g. + -f, -l) + type: string + skip_tags: + title: Skip tags + description: only run plays and tasks whose tags do not match these + values + type: string + ssh_common_args: + title: Ssh common args + description: specify common arguments to pass to sftp/scp/ssh (e.g. + ProxyCommand) + type: string + ssh_extra_args: + title: Ssh extra args + description: specify extra arguments to pass to ssh only (e.g. -R) + type: string + start_at_task: + title: Start at task + description: start the playbook at the task matching this name + type: string + step: + title: Step + description: 'one-step-at-a-time: confirm each task before running' + type: boolean + syntax_check: + title: Syntax check + description: perform a syntax check on the playbook, but do not + execute it + type: boolean + tags: + title: Tags + description: only run plays and tasks tagged with these values + type: string + timeout: + title: Timeout + description: override the connection timeout in seconds (default=10) + type: integer + user: + title: User + description: connect as this user (default=None) + type: string + vault_password_file: + title: Vault password file + description: vault password file + type: string + format: secretfile + x-options: + media_types: + - '*/*' + verbose: + title: Verbose + description: verbose mode (-vvv for more, -vvvv to enable connection + debugging) + type: integer + maximum: 4 + minimum: 0 + x-properties-groups: + '': + - playbook + - args + - become + - become_method + - check + - connection + - diff + - extra_vars + - flush_cache + - force_handlers + - forks + - inventory + - limit + - list_hosts + - list_tags + - list_tasks + - private_key + - scp_extra_args + - sftp_extra_args + - skip_tags + - ssh_common_args + - ssh_extra_args + - start_at_task + - step + - syntax_check + - tags + - timeout + - user + - vault_password_file + - verbose + x-view-field-name: args + x-hide-not-required: true + ANSIBLE_MODULE: + required: + - module + type: object + properties: + module: + title: Module + type: string + format: fk_autocomplete + x-options: + model: + $ref: '#/definitions/AnsibleModule' + value_field: path + view_field: path + usePrefetch: true + args: + title: Args + description: host pattern + type: string + background: + title: Background + description: run asynchronously, failing after X seconds (default=N/A) + type: integer + become: + title: Become + description: run operations with become (does not imply password + prompting) + type: boolean + become_method: + title: Become method + description: privilege escalation method to use (default=sudo), + use `ansible-doc -t become -l` to list valid choices. + type: string + check: + title: Check + description: don't make any changes; instead, try to predict some + of the changes that may occur + type: boolean + connection: + title: Connection + description: connection type to use (default=smart) + type: string + diff: + title: Diff + description: when changing (small) files and templates, show the + differences in those files; works great with --check + type: boolean + extra_vars: + title: Extra vars + description: set additional variables as key=value or YAML/JSON, + if filename prepend with @ + type: string + forks: + title: Forks + description: specify number of parallel processes to use (default=5) + type: integer + inventory: + title: Inventory + description: specify inventory host path or comma separated host + list. --inventory-file is deprecated + type: string + format: inventory + x-options: + filters: + plugin: POLEMARCH_DB,ANSIBLE_FILE,ANSIBLE_STRING + limit: + title: Limit + description: further limit selected hosts to an additional pattern + type: string + list_hosts: + title: List hosts + description: outputs a list of matching hosts; does not execute + anything else + type: boolean + one_line: + title: One line + description: condense output + type: boolean + playbook_dir: + title: Playbook dir + description: Since this tool does not use playbooks, use this as + a substitute playbook directory.This sets the relative path for + many features including roles/ group_vars/ etc. + type: string + poll: + title: Poll + description: set the poll interval if using -B (default=15) + type: integer + private_key: + title: Private key + description: use this file to authenticate the connection + type: string + format: secretfile + x-options: + media_types: + - '*/*' + scp_extra_args: + title: Scp extra args + description: specify extra arguments to pass to scp only (e.g. -l) + type: string + sftp_extra_args: + title: Sftp extra args + description: specify extra arguments to pass to sftp only (e.g. + -f, -l) + type: string + ssh_common_args: + title: Ssh common args + description: specify common arguments to pass to sftp/scp/ssh (e.g. + ProxyCommand) + type: string + ssh_extra_args: + title: Ssh extra args + description: specify extra arguments to pass to ssh only (e.g. -R) + type: string + syntax_check: + title: Syntax check + description: perform a syntax check on the playbook, but do not + execute it + type: boolean + timeout: + title: Timeout + description: override the connection timeout in seconds (default=10) + type: integer + tree: + title: Tree + description: log output to this directory + type: string + user: + title: User + description: connect as this user (default=None) + type: string + vault_password_file: + title: Vault password file + description: vault password file + type: string + format: secretfile + x-options: + media_types: + - '*/*' + verbose: + title: Verbose + description: verbose mode (-vvv for more, -vvvv to enable connection + debugging) + type: integer + maximum: 4 + minimum: 0 + group: + title: Group + type: string + default: all + x-properties-groups: + '': + - module + - args + - background + - become + - become_method + - check + - connection + - diff + - extra_vars + - forks + - inventory + - limit + - list_hosts + - one_line + - playbook_dir + - poll + - private_key + - scp_extra_args + - sftp_extra_args + - ssh_common_args + - ssh_extra_args + - syntax_check + - timeout + - tree + - user + - vault_password_file + - verbose + - group + x-view-field-name: args + x-hide-not-required: true execution_time: title: Execution time type: integer @@ -11125,20 +14190,19 @@ definitions: x-properties-groups: '': [] x-view-field-name: null - ActionResponse: - required: - - detail + Response: type: object properties: detail: title: Detail type: string + readOnly: true minLength: 1 x-properties-groups: '': - detail x-view-field-name: detail - Facts: + FactsResponse: type: object properties: facts: @@ -11168,21 +14232,14 @@ definitions: type: title: Type type: string - enum: - - HTTP - - SCRIPT + maxLength: 32 + minLength: 1 when: title: When type: string - enum: - - on_execution - - after_execution - - on_user_add - - on_user_upd - - on_user_del - - on_object_add - - on_object_upd - - on_object_del + maxLength: 32 + minLength: 1 + x-nullable: true enable: title: Enable type: boolean @@ -11199,87 +14256,11 @@ definitions: - enable - recipients x-view-field-name: name - Inventory: - type: object - properties: - id: - title: Id - type: integer - readOnly: true - name: - title: Name - type: string - maxLength: 512 - minLength: 1 - from_project: - title: Project based - type: boolean - readOnly: true - x-properties-groups: - '': - - id - - name - - from_project - x-view-field-name: name - OneInventory: - type: object - properties: - id: - title: Id - type: integer - readOnly: true - name: - title: Name - type: string - maxLength: 512 - minLength: 1 - notes: - title: Notes - type: string - format: textarea - owner: - $ref: '#/definitions/User' - x-properties-groups: - '': - - id - - name - - notes - - owner - x-view-field-name: name - InventoryImport: + OneHook: required: - - name - - raw_data - type: object - properties: - inventory_id: - title: Inventory id - type: integer - readOnly: true - x-options: - redirect: - concat_field_name: false - depend_field: null - operation_name: inventory - x-nullable: true - name: - title: Name - type: string - minLength: 1 - raw_data: - title: Raw data - type: string - format: file - x-options: - media_types: - - '*/*' - x-properties-groups: - '': - - inventory_id - - name - - raw_data - x-view-field-name: name - Project: + - type + - when + - recipients type: object properties: id: @@ -11294,141 +14275,40 @@ definitions: type: title: Type type: string - readOnly: true - minLength: 1 - status: - title: Status - type: string enum: - - NEW - - ERROR - - OK - - WAIT_SYNC - - SYNC - readOnly: true - x-properties-groups: - '': - - id - - name - - type - - status - x-view-field-name: name - ProjectCreateMaster: - required: - - name - type: object - properties: - id: - title: Id - type: integer - readOnly: true - name: - title: Name - type: string - maxLength: 512 - minLength: 1 - status: - title: Status - type: string - readOnly: true - minLength: 1 - type: - title: Repo type + - HTTP + - SCRIPT + when: + title: When type: string enum: - - MANUAL - - GIT - - TAR - default: MANUAL - repository: - title: Repo url - type: string - format: dynamic - default: MANUAL - x-options: - choices: {} - field: type - types: - GIT: string - MANUAL: hidden - TAR: string - repo_auth: - title: Repo auth type - type: string - format: dynamic - default: NONE - x-options: - choices: {} - field: type - types: - GIT: - default: NONE - enum: - - NONE - - KEY - - PASSWORD - type: string - MANUAL: - format: hidden - type: string - TAR: - format: hidden - type: string - auth_data: - title: Repo auth data - type: string - format: dynamic - default: '' - x-options: - choices: {} - field: repo_auth - types: - KEY: secretfile - NONE: hidden - PASSWORD: password - branch: - title: Branch for GIT (branch/tag/SHA) or TAR (subdir) - type: string - format: dynamic - x-options: - choices: {} - field: type - types: - GIT: - type: string - MANUAL: - format: hidden - type: string - TAR: - type: string - x-nullable: true - additional_playbook_path: - title: Directory with playbooks + - on_execution + - after_execution + - on_user_add + - on_user_upd + - on_user_del + - on_object_add + - on_object_upd + - on_object_del + enable: + title: Enable + type: boolean + recipients: + title: Recipients + description: 'HTTP: list of URLs, separated by "|".
SCRIPT: + script files, separated by "|" Files must be in HOOKS_DIR directory.' type: string minLength: 1 - x-nullable: true x-properties-groups: - General: - - name - - type - - additional_playbook_path - Repository: - - repository - - branch - - repo_auth - - auth_data '': - id - - status + - name + - type + - when + - enable + - recipients x-view-field-name: name - Data: - type: object - properties: {} - x-nullable: true - x-properties-groups: - '': [] - x-view-field-name: null - OneProject: + Inventory: type: object properties: id: @@ -11440,436 +14320,344 @@ definitions: type: string maxLength: 512 minLength: 1 - repository: - title: Repository - type: string - default: MANUAL - minLength: 1 - status: - title: Status + plugin: + title: Plugin type: string enum: - - NEW - - ERROR - - OK - - WAIT_SYNC - - SYNC - readOnly: true - revision: - title: Revision - type: string - readOnly: true - branch: - title: Branch - type: string + - POLEMARCH_DB + - ANSIBLE_STRING + - ANSIBLE_FILE readOnly: true - owner: - $ref: '#/definitions/User' - notes: - title: Notes - type: string - format: textarea - readme_content: - title: Information - type: string - format: html + state_managed: + title: State managed + type: boolean readOnly: true - execute_view_data: - $ref: '#/definitions/Data' x-properties-groups: '': - id - name - - repository - - status - - revision - - branch - - owner - - notes - - readme_content - - execute_view_data + - plugin + - state_managed x-view-field-name: name - ExecuteModule: + CreateInventory: required: - - module + - plugin type: object properties: - module: - title: Module - type: string - format: fk_autocomplete - x-options: - model: - $ref: '#/definitions/Module' - usePrefetch: true - value_field: name - view_field: path - verbose: - title: Verbose - description: verbose mode (-vvv for more, -vvvv to enable connection debugging) - type: integer - maximum: 4 - become: - title: Become - description: run operations with become (does not imply password prompting) - type: boolean - become_method: - title: Become method - description: privilege escalation method to use (default=sudo), use `ansible-doc - -t become -l` to list valid choices. - type: string - inventory: - title: Inventory - description: specify inventory host path or comma separated host list. --inventory-file - is deprecated - type: string - format: inventory - list_hosts: - title: List hosts - description: outputs a list of matching hosts; does not execute anything else - type: boolean - limit: - title: Limit - description: further limit selected hosts to an additional pattern - type: string - poll: - title: Poll - description: set the poll interval if using -B (default=15) - type: integer - background: - title: Background - description: run asynchronously, failing after X seconds (default=N/A) + id: + title: Id type: integer - one_line: - title: One line - description: condense output - type: boolean - tree: - title: Tree - description: log output to this directory - type: string - private_key: - title: Private key - description: use this file to authenticate the connection - type: string - format: secretfile - x-options: - media_types: - - '*/*' - user: - title: User - description: connect as this user (default=None) + readOnly: true + name: + title: Name type: string - connection: - title: Connection - description: connection type to use (default=smart) + maxLength: 512 + minLength: 1 + plugin: + title: Plugin type: string - timeout: - title: Timeout - description: override the connection timeout in seconds (default=10) + enum: + - POLEMARCH_DB + - ANSIBLE_STRING + - ANSIBLE_FILE + owner: + title: Owner type: integer - ssh_common_args: - title: Ssh common args - description: specify common arguments to pass to sftp/scp/ssh (e.g. ProxyCommand) - type: string - sftp_extra_args: - title: Sftp extra args - description: specify extra arguments to pass to sftp only (e.g. -f, -l) - type: string - scp_extra_args: - title: Scp extra args - description: specify extra arguments to pass to scp only (e.g. -l) - type: string - ssh_extra_args: - title: Ssh extra args - description: specify extra arguments to pass to ssh only (e.g. -R) - type: string - check: - title: Check - description: don't make any changes; instead, try to predict some of the changes - that may occur - type: boolean - syntax_check: - title: Syntax check - description: perform a syntax check on the playbook, but do not execute it - type: boolean - diff: - title: Diff - description: when changing (small) files and templates, show the differences - in those files; works great with --check - type: boolean - extra_vars: - title: Extra vars - description: set additional variables as key=value or YAML/JSON, if filename - prepend with @ - type: string - vault_password_file: - title: Vault password file - description: vault password file - type: string - format: secretfile + format: fk + readOnly: true x-options: - media_types: - - '*/*' - forks: - title: Forks - description: specify number of parallel processes to use (default=5) - type: integer - playbook_dir: - title: Playbook dir - description: Since this tool does not use playbooks, use this as a substitute - playbook directory.This sets the relative path for many features including - roles/ group_vars/ etc. - type: string - args: - title: Args - description: host pattern - type: string - group: - title: Group - type: string - default: all - x-properties-groups: - '': - - module - - verbose - - become - - become_method - - inventory - - list_hosts - - limit - - poll - - background - - one_line - - tree - - private_key - - user - - connection - - timeout - - ssh_common_args - - sftp_extra_args - - scp_extra_args - - ssh_extra_args - - check - - syntax_check - - diff - - extra_vars - - vault_password_file - - forks - - playbook_dir - - args - - group - x-view-field-name: verbose - ExecuteResponse: + model: + $ref: '#/definitions/User' + value_field: id + view_field: username + usePrefetch: true + makeLink: true + dependence: null + filters: null + notes: + title: Notes + type: string + format: textarea + state_managed: + title: State managed + type: boolean + readOnly: true + x-properties-groups: + '': + - id + - name + - plugin + - owner + - notes + - state_managed + x-view-field-name: name + ImportInventory: required: - - detail + - name + - plugin + - data type: object properties: - detail: - title: Detail - type: string - minLength: 1 - history_id: - title: History id + inventory_id: + title: Inventory id type: integer + readOnly: true x-options: redirect: - concat_field_name: false + operation_name: inventory depend_field: null - operation_name: history - x-nullable: true - executor: - title: Executor - type: integer - x-nullable: true + concat_field_name: false + name: + title: Name + type: string + minLength: 1 + plugin: + title: Plugin + type: string + enum: + - POLEMARCH_DB + - ANSIBLE_STRING + data: + title: Data + type: string + format: dynamic + x-options: + field: plugin + choices: {} + types: + POLEMARCH_DB: + required: + - body + type: object + properties: + body: + title: Body + type: string + format: file + x-options: + media_types: + - '*/*' + x-properties-groups: + '': + - body + x-view-field-name: body + ANSIBLE_STRING: + required: + - file + type: object + properties: + file: + title: File + type: object + properties: + name: + type: string + x-nullable: true + content: + type: string + x-nullable: true + mediaType: + type: string + x-nullable: true + x-format: namedbinfile + x-validators: {} + x-properties-groups: + '': + - file + x-view-field-name: file x-properties-groups: '': - - detail - - history_id - - executor - x-view-field-name: history_id - ExecutePlaybook: - required: - - playbook + - inventory_id + - name + - plugin + - data + x-view-field-name: name + OneInventory: type: object properties: - playbook: - title: Playbook - type: string - format: fk_autocomplete - x-options: - model: - $ref: '#/definitions/Playbook' - usePrefetch: true - value_field: playbook - view_field: name - verbose: - title: Verbose - description: verbose mode (-vvv for more, -vvvv to enable connection debugging) + id: + title: Id type: integer - maximum: 4 - private_key: - title: Private key - description: use this file to authenticate the connection - type: string - format: secretfile - x-options: - media_types: - - '*/*' - user: - title: User - description: connect as this user (default=None) + readOnly: true + name: + title: Name type: string - connection: - title: Connection - description: connection type to use (default=smart) + maxLength: 512 + minLength: 1 + plugin: + title: Plugin type: string - timeout: - title: Timeout - description: override the connection timeout in seconds (default=10) + enum: + - POLEMARCH_DB + - ANSIBLE_STRING + - ANSIBLE_FILE + readOnly: true + owner: + title: Owner type: integer - ssh_common_args: - title: Ssh common args - description: specify common arguments to pass to sftp/scp/ssh (e.g. ProxyCommand) - type: string - sftp_extra_args: - title: Sftp extra args - description: specify extra arguments to pass to sftp only (e.g. -f, -l) - type: string - scp_extra_args: - title: Scp extra args - description: specify extra arguments to pass to scp only (e.g. -l) - type: string - ssh_extra_args: - title: Ssh extra args - description: specify extra arguments to pass to ssh only (e.g. -R) - type: string - force_handlers: - title: Force handlers - description: run handlers even if a task fails - type: boolean - flush_cache: - title: Flush cache - description: clear the fact cache for every host in inventory - type: boolean - become: - title: Become - description: run operations with become (does not imply password prompting) - type: boolean - become_method: - title: Become method - description: privilege escalation method to use (default=sudo), use `ansible-doc - -t become -l` to list valid choices. - type: string - tags: - title: Tags - description: only run plays and tasks tagged with these values - type: string - skip_tags: - title: Skip tags - description: only run plays and tasks whose tags do not match these values - type: string - check: - title: Check - description: don't make any changes; instead, try to predict some of the changes - that may occur - type: boolean - syntax_check: - title: Syntax check - description: perform a syntax check on the playbook, but do not execute it - type: boolean - diff: - title: Diff - description: when changing (small) files and templates, show the differences - in those files; works great with --check - type: boolean - inventory: - title: Inventory - description: specify inventory host path or comma separated host list. --inventory-file - is deprecated + format: fk + readOnly: true + x-options: + model: + $ref: '#/definitions/User' + value_field: id + view_field: username + usePrefetch: true + makeLink: true + dependence: null + filters: null + notes: + title: Notes type: string - format: inventory - list_hosts: - title: List hosts - description: outputs a list of matching hosts; does not execute anything else + format: textarea + state_managed: + title: State managed type: boolean - limit: - title: Limit - description: further limit selected hosts to an additional pattern - type: string - extra_vars: - title: Extra vars - description: set additional variables as key=value or YAML/JSON, if filename - prepend with @ - type: string - vault_password_file: - title: Vault password file - description: vault password file + readOnly: true + x-properties-groups: + '': + - id + - name + - plugin + - owner + - notes + - state_managed + x-view-field-name: name + InventoryState: + required: + - data + type: object + properties: + data: + title: Data type: string - format: secretfile + format: dynamic x-options: - media_types: - - '*/*' - forks: - title: Forks - description: specify number of parallel processes to use (default=5) - type: integer - list_tasks: - title: List tasks - description: list all tasks that would be executed - type: boolean - list_tags: - title: List tags - description: list all available tags - type: boolean - step: - title: Step - description: 'one-step-at-a-time: confirm each task before running' - type: boolean - start_at_task: - title: Start at task - description: start the playbook at the task matching this name - type: string - args: - title: Args - description: Playbook(s) + field: plugin + source_view: <> + choices: {} + types: + POLEMARCH_DB: + type: object + properties: {} + x-properties-groups: + '': [] + x-view-field-name: null + ANSIBLE_STRING: + required: + - body + type: object + properties: + body: + title: Body + type: string + format: file + x-options: + media_types: + - '*/*' + extension: + title: Extension + type: string + format: autocomplete + enum: + - yaml + - ini + - json + default: yaml + executable: + title: Executable + type: boolean + default: false + x-properties-groups: + '': + - body + - extension + - executable + x-view-field-name: extension + ANSIBLE_FILE: + type: object + properties: + path: + title: Path + type: string + default: '' + minLength: 1 + x-properties-groups: + '': + - path + x-view-field-name: path + x-properties-groups: + '': + - data + x-view-field-name: data + InventoryStateUpdate: + required: + - data + type: object + properties: + data: + title: Data type: string + format: dynamic + x-options: + field: plugin + source_view: <>.<> + choices: {} + types: + POLEMARCH_DB: + type: object + properties: {} + x-properties-groups: + '': [] + x-view-field-name: null + ANSIBLE_STRING: + required: + - body + type: object + properties: + body: + title: Body + type: string + format: file + x-options: + media_types: + - '*/*' + extension: + title: Extension + type: string + format: autocomplete + enum: + - yaml + - ini + - json + default: yaml + executable: + title: Executable + type: boolean + default: false + x-properties-groups: + '': + - body + - extension + - executable + x-view-field-name: extension + ANSIBLE_FILE: + type: object + properties: + path: + title: Path + type: string + default: '' + minLength: 1 + x-properties-groups: + '': + - path + x-view-field-name: path x-properties-groups: '': - - playbook - - verbose - - private_key - - user - - connection - - timeout - - ssh_common_args - - sftp_extra_args - - scp_extra_args - - ssh_extra_args - - force_handlers - - flush_cache - - become - - become_method - - tags - - skip_tags - - check - - syntax_check - - diff - - inventory - - list_hosts - - limit - - extra_vars - - vault_password_file - - forks - - list_tasks - - list_tags - - step - - start_at_task - - args - x-view-field-name: verbose - ExecutionTemplate: - required: - - name + - data + x-view-field-name: data + Project: type: object properties: id: @@ -11881,23 +14669,31 @@ definitions: type: string maxLength: 512 minLength: 1 - kind: + type: title: Type type: string + readOnly: true + minLength: 1 + status: + title: Status + type: string enum: - - Task - - Module - default: Task + - NEW + - WAIT_SYNC + - SYNC + - ERROR + - OK + readOnly: true x-properties-groups: '': - id - name - - kind + - type + - status x-view-field-name: name - CreateExecutionTemplate: + CreateProject: required: - name - - data type: object properties: id: @@ -11907,352 +14703,117 @@ definitions: name: title: Name type: string - maxLength: 512 minLength: 1 - kind: - title: Type + type: + title: Repo type type: string enum: - - Task - - Module - default: Task - notes: - title: Notes + - MANUAL + - GIT + - TAR + default: MANUAL + repository: + title: Repo url type: string - minLength: 1 - inventory: - title: Inventory + format: dynamic + default: MANUAL + x-options: + field: type + choices: {} + types: + MANUAL: hidden + TAR: + type: string + minLength: 1 + GIT: + type: string + minLength: 1 + repo_auth: + title: Repo auth type type: string format: dynamic + default: NONE x-options: + field: type + choices: {} + types: + MANUAL: hidden + TAR: hidden + GIT: + type: string + enum: + - NONE + - KEY + - PASSWORD + default: NONE + auth_data: + title: Repo auth data + type: string + format: dynamic + default: '' + x-options: + field: repo_auth choices: {} - field: kind types: - Module: + NONE: hidden + KEY: type: string - format: inventory - Task: + format: secretfile + x-options: + media_types: + - '*/*' + PASSWORD: type: string - format: inventory - data: - title: Data + format: password + branch: + title: Branch for GIT (branch/tag/SHA) or TAR (subdir) type: string format: dynamic x-options: + field: type choices: {} - field: kind types: - Module: - required: - - module - type: object - properties: - group: - title: Group - type: string - default: all - minLength: 1 - module: - title: Module - type: string - format: fk_autocomplete - x-options: - model: - $ref: '#/definitions/Module' - usePrefetch: true - value_field: name - view_field: path - args: - title: Arguments - type: string - default: '' - vars: - type: object - properties: - verbose: - title: Verbose - description: verbose mode (-vvv for more, -vvvv to enable connection - debugging) - type: integer - maximum: 4 - become: - title: Become - description: run operations with become (does not imply password - prompting) - type: boolean - become_method: - title: Become method - description: privilege escalation method to use (default=sudo), - use `ansible-doc -t become -l` to list valid choices. - type: string - list_hosts: - title: List hosts - description: outputs a list of matching hosts; does not execute - anything else - type: boolean - limit: - title: Limit - description: further limit selected hosts to an additional pattern - type: string - poll: - title: Poll - description: set the poll interval if using -B (default=15) - type: integer - background: - title: Background - description: run asynchronously, failing after X seconds (default=N/A) - type: integer - one_line: - title: One line - description: condense output - type: boolean - tree: - title: Tree - description: log output to this directory - type: string - private_key: - title: Private key - description: use this file to authenticate the connection - type: string - format: secretfile - x-options: - media_types: - - '*/*' - user: - title: User - description: connect as this user (default=None) - type: string - connection: - title: Connection - description: connection type to use (default=smart) - type: string - timeout: - title: Timeout - description: override the connection timeout in seconds (default=10) - type: integer - ssh_common_args: - title: Ssh common args - description: specify common arguments to pass to sftp/scp/ssh - (e.g. ProxyCommand) - type: string - sftp_extra_args: - title: Sftp extra args - description: specify extra arguments to pass to sftp only (e.g. - -f, -l) - type: string - scp_extra_args: - title: Scp extra args - description: specify extra arguments to pass to scp only (e.g. - -l) - type: string - ssh_extra_args: - title: Ssh extra args - description: specify extra arguments to pass to ssh only (e.g. - -R) - type: string - check: - title: Check - description: don't make any changes; instead, try to predict - some of the changes that may occur - type: boolean - syntax_check: - title: Syntax check - description: perform a syntax check on the playbook, but do - not execute it - type: boolean - diff: - title: Diff - description: when changing (small) files and templates, show - the differences in those files; works great with --check - type: boolean - extra_vars: - title: Extra vars - description: set additional variables as key=value or YAML/JSON, - if filename prepend with @ - type: string - vault_password_file: - title: Vault password file - description: vault password file - type: string - format: secretfile - x-options: - media_types: - - '*/*' - forks: - title: Forks - description: specify number of parallel processes to use (default=5) - type: integer - playbook_dir: - title: Playbook dir - description: Since this tool does not use playbooks, use this - as a substitute playbook directory.This sets the relative - path for many features including roles/ group_vars/ etc. - type: string - Task: - required: - - playbook - type: object - properties: - playbook: - title: Playbook - type: string - format: fk_autocomplete - x-options: - model: - $ref: '#/definitions/Playbook' - usePrefetch: true - value_field: playbook - view_field: playbook - vars: - type: object - properties: - verbose: - title: Verbose - description: verbose mode (-vvv for more, -vvvv to enable connection - debugging) - type: integer - maximum: 4 - private_key: - title: Private key - description: use this file to authenticate the connection - type: string - format: secretfile - x-options: - media_types: - - '*/*' - user: - title: User - description: connect as this user (default=None) - type: string - connection: - title: Connection - description: connection type to use (default=smart) - type: string - timeout: - title: Timeout - description: override the connection timeout in seconds (default=10) - type: integer - ssh_common_args: - title: Ssh common args - description: specify common arguments to pass to sftp/scp/ssh - (e.g. ProxyCommand) - type: string - sftp_extra_args: - title: Sftp extra args - description: specify extra arguments to pass to sftp only (e.g. - -f, -l) - type: string - scp_extra_args: - title: Scp extra args - description: specify extra arguments to pass to scp only (e.g. - -l) - type: string - ssh_extra_args: - title: Ssh extra args - description: specify extra arguments to pass to ssh only (e.g. - -R) - type: string - force_handlers: - title: Force handlers - description: run handlers even if a task fails - type: boolean - flush_cache: - title: Flush cache - description: clear the fact cache for every host in inventory - type: boolean - become: - title: Become - description: run operations with become (does not imply password - prompting) - type: boolean - become_method: - title: Become method - description: privilege escalation method to use (default=sudo), - use `ansible-doc -t become -l` to list valid choices. - type: string - tags: - title: Tags - description: only run plays and tasks tagged with these values - type: string - skip_tags: - title: Skip tags - description: only run plays and tasks whose tags do not match - these values - type: string - check: - title: Check - description: don't make any changes; instead, try to predict - some of the changes that may occur - type: boolean - syntax_check: - title: Syntax check - description: perform a syntax check on the playbook, but do - not execute it - type: boolean - diff: - title: Diff - description: when changing (small) files and templates, show - the differences in those files; works great with --check - type: boolean - list_hosts: - title: List hosts - description: outputs a list of matching hosts; does not execute - anything else - type: boolean - limit: - title: Limit - description: further limit selected hosts to an additional pattern - type: string - extra_vars: - title: Extra vars - description: set additional variables as key=value or YAML/JSON, - if filename prepend with @ - type: string - vault_password_file: - title: Vault password file - description: vault password file - type: string - format: secretfile - x-options: - media_types: - - '*/*' - forks: - title: Forks - description: specify number of parallel processes to use (default=5) - type: integer - list_tasks: - title: List tasks - description: list all tasks that would be executed - type: boolean - list_tags: - title: List tags - description: list all available tags - type: boolean - step: - title: Step - description: 'one-step-at-a-time: confirm each task before running' - type: boolean - start_at_task: - title: Start at task - description: start the playbook at the task matching this name - type: string - args: - title: Args - description: Playbook(s) - type: string + MANUAL: hidden + GIT: + type: string + minLength: 1 + TAR: + type: string + minLength: 1 + x-nullable: true + additional_playbook_path: + title: Directory with playbooks + type: string + minLength: 1 + x-nullable: true + status: + title: Status + type: string + readOnly: true + default: NEW + minLength: 1 x-properties-groups: + General: + - name + - type + - additional_playbook_path + Repository: + - repository + - branch + - repo_auth + - auth_data '': - id - - name - - kind - - notes - - inventory - - data + - status x-view-field-name: name - OneExecutionTemplate: - required: - - name - - data + Data: + type: object + properties: {} + x-nullable: true + x-properties-groups: + '': [] + x-view-field-name: null + OneProject: type: object properties: id: @@ -12262,1891 +14823,1630 @@ definitions: name: title: Name type: string - maxLength: 512 - minLength: 1 - kind: - title: Type + maxLength: 512 + minLength: 1 + repository: + title: Repository + type: string + default: MANUAL + minLength: 1 + status: + title: Status + type: string + enum: + - NEW + - WAIT_SYNC + - SYNC + - ERROR + - OK + readOnly: true + revision: + title: Revision + type: string + readOnly: true + branch: + title: Branch type: string - enum: - - Task - - Module readOnly: true + owner: + title: Owner + type: integer + format: fk + readOnly: true + x-options: + model: + $ref: '#/definitions/User' + value_field: id + view_field: username + usePrefetch: true + makeLink: true + dependence: null + filters: null notes: title: Notes type: string - minLength: 1 - inventory: - title: Inventory - type: string - format: dynamic - x-options: - choices: {} - field: kind - types: - Module: - type: string - format: inventory - Task: - type: string - format: inventory - data: - title: Data + format: textarea + readme_content: + title: '' type: string - format: dynamic - x-options: - choices: {} - field: kind - types: - Module: - required: - - module - type: object - properties: - group: - title: Group - type: string - default: all - minLength: 1 - module: - title: Module - type: string - format: fk_autocomplete - x-options: - model: - $ref: '#/definitions/Module' - usePrefetch: true - value_field: name - view_field: path - args: - title: Arguments - type: string - default: '' - vars: - type: object - properties: - verbose: - title: Verbose - description: verbose mode (-vvv for more, -vvvv to enable connection - debugging) - type: integer - maximum: 4 - become: - title: Become - description: run operations with become (does not imply password - prompting) - type: boolean - become_method: - title: Become method - description: privilege escalation method to use (default=sudo), - use `ansible-doc -t become -l` to list valid choices. - type: string - list_hosts: - title: List hosts - description: outputs a list of matching hosts; does not execute - anything else - type: boolean - limit: - title: Limit - description: further limit selected hosts to an additional pattern - type: string - poll: - title: Poll - description: set the poll interval if using -B (default=15) - type: integer - background: - title: Background - description: run asynchronously, failing after X seconds (default=N/A) - type: integer - one_line: - title: One line - description: condense output - type: boolean - tree: - title: Tree - description: log output to this directory - type: string - private_key: - title: Private key - description: use this file to authenticate the connection - type: string - format: secretfile - x-options: - media_types: - - '*/*' - user: - title: User - description: connect as this user (default=None) - type: string - connection: - title: Connection - description: connection type to use (default=smart) - type: string - timeout: - title: Timeout - description: override the connection timeout in seconds (default=10) - type: integer - ssh_common_args: - title: Ssh common args - description: specify common arguments to pass to sftp/scp/ssh - (e.g. ProxyCommand) - type: string - sftp_extra_args: - title: Sftp extra args - description: specify extra arguments to pass to sftp only (e.g. - -f, -l) - type: string - scp_extra_args: - title: Scp extra args - description: specify extra arguments to pass to scp only (e.g. - -l) - type: string - ssh_extra_args: - title: Ssh extra args - description: specify extra arguments to pass to ssh only (e.g. - -R) - type: string - check: - title: Check - description: don't make any changes; instead, try to predict - some of the changes that may occur - type: boolean - syntax_check: - title: Syntax check - description: perform a syntax check on the playbook, but do - not execute it - type: boolean - diff: - title: Diff - description: when changing (small) files and templates, show - the differences in those files; works great with --check - type: boolean - extra_vars: - title: Extra vars - description: set additional variables as key=value or YAML/JSON, - if filename prepend with @ - type: string - vault_password_file: - title: Vault password file - description: vault password file - type: string - format: secretfile - x-options: - media_types: - - '*/*' - forks: - title: Forks - description: specify number of parallel processes to use (default=5) - type: integer - playbook_dir: - title: Playbook dir - description: Since this tool does not use playbooks, use this - as a substitute playbook directory.This sets the relative - path for many features including roles/ group_vars/ etc. - type: string - Task: - required: - - playbook - type: object - properties: - playbook: - title: Playbook - type: string - format: fk_autocomplete - x-options: - model: - $ref: '#/definitions/Playbook' - usePrefetch: true - value_field: playbook - view_field: playbook - vars: - type: object - properties: - verbose: - title: Verbose - description: verbose mode (-vvv for more, -vvvv to enable connection - debugging) - type: integer - maximum: 4 - private_key: - title: Private key - description: use this file to authenticate the connection - type: string - format: secretfile - x-options: - media_types: - - '*/*' - user: - title: User - description: connect as this user (default=None) - type: string - connection: - title: Connection - description: connection type to use (default=smart) - type: string - timeout: - title: Timeout - description: override the connection timeout in seconds (default=10) - type: integer - ssh_common_args: - title: Ssh common args - description: specify common arguments to pass to sftp/scp/ssh - (e.g. ProxyCommand) - type: string - sftp_extra_args: - title: Sftp extra args - description: specify extra arguments to pass to sftp only (e.g. - -f, -l) - type: string - scp_extra_args: - title: Scp extra args - description: specify extra arguments to pass to scp only (e.g. - -l) - type: string - ssh_extra_args: - title: Ssh extra args - description: specify extra arguments to pass to ssh only (e.g. - -R) - type: string - force_handlers: - title: Force handlers - description: run handlers even if a task fails - type: boolean - flush_cache: - title: Flush cache - description: clear the fact cache for every host in inventory - type: boolean - become: - title: Become - description: run operations with become (does not imply password - prompting) - type: boolean - become_method: - title: Become method - description: privilege escalation method to use (default=sudo), - use `ansible-doc -t become -l` to list valid choices. - type: string - tags: - title: Tags - description: only run plays and tasks tagged with these values - type: string - skip_tags: - title: Skip tags - description: only run plays and tasks whose tags do not match - these values - type: string - check: - title: Check - description: don't make any changes; instead, try to predict - some of the changes that may occur - type: boolean - syntax_check: - title: Syntax check - description: perform a syntax check on the playbook, but do - not execute it - type: boolean - diff: - title: Diff - description: when changing (small) files and templates, show - the differences in those files; works great with --check - type: boolean - list_hosts: - title: List hosts - description: outputs a list of matching hosts; does not execute - anything else - type: boolean - limit: - title: Limit - description: further limit selected hosts to an additional pattern - type: string - extra_vars: - title: Extra vars - description: set additional variables as key=value or YAML/JSON, - if filename prepend with @ - type: string - vault_password_file: - title: Vault password file - description: vault password file - type: string - format: secretfile - x-options: - media_types: - - '*/*' - forks: - title: Forks - description: specify number of parallel processes to use (default=5) - type: integer - list_tasks: - title: List tasks - description: list all tasks that would be executed - type: boolean - list_tags: - title: List tags - description: list all available tags - type: boolean - step: - title: Step - description: 'one-step-at-a-time: confirm each task before running' - type: boolean - start_at_task: - title: Start at task - description: start the playbook at the task matching this name - type: string - args: - title: Args - description: Playbook(s) - type: string + format: html + readOnly: true + execute_view_data: + $ref: '#/definitions/Data' x-properties-groups: '': - id - name - - kind + - repository + - status + - revision + - branch + - owner - notes - - inventory - - data + - readme_content + - execute_view_data x-view-field-name: name - TemplateExec: + ProjectTemplateOption: + required: + - template + - extended_name type: object properties: - option: - title: Option + id: + title: Id type: string - minLength: 1 - x-nullable: true + format: uuid + template: + title: Template + type: integer format: fk x-options: - dependence: null - filters: null - makeLink: true model: - $ref: '#/definitions/TemplateOption' - value_field: name + $ref: '#/definitions/ExecutionTemplate' + value_field: id view_field: name + usePrefetch: true + makeLink: true + dependence: null + filters: null + extended_name: + title: Extended name + type: string + minLength: 1 x-properties-groups: '': - - option - x-view-field-name: option - TemplateOption: + - id + - template + - extended_name + x-view-field-name: template + OneProjectTemplateOption: required: - - name + - template + - extended_name type: object properties: id: title: Id type: string - readOnly: true - minLength: 1 - name: - title: Name + format: uuid + template: + title: Template + type: integer + format: fk + x-options: + model: + $ref: '#/definitions/ExecutionTemplate' + value_field: id + view_field: name + usePrefetch: true + makeLink: true + dependence: null + filters: null + extended_name: + title: Extended name type: string - maxLength: 256 minLength: 1 x-properties-groups: '': - id - - name - x-view-field-name: name - CreateTemplateOption: + - template + - extended_name + x-view-field-name: template + AnsibleModule: required: - - name - - data - type: object - properties: - id: - title: Id - type: string - readOnly: true - minLength: 1 - name: - title: Name - type: string - maxLength: 256 - minLength: 1 - kind: - title: Kind - type: string - readOnly: true - minLength: 1 - data: - title: Data - type: string - format: dynamic - x-options: - choices: {} - field: kind - types: - Module: - required: - - module - type: object - properties: - group: - title: Group - type: string - default: all - minLength: 1 - module: - title: Module - type: string - format: fk_autocomplete - x-options: - model: - $ref: '#/definitions/Module' - usePrefetch: true - value_field: name - view_field: path - args: - title: Arguments - type: string - default: '' - vars: - type: object - properties: - verbose: - title: Verbose - description: verbose mode (-vvv for more, -vvvv to enable connection - debugging) - type: integer - maximum: 4 - become: - title: Become - description: run operations with become (does not imply password - prompting) - type: boolean - become_method: - title: Become method - description: privilege escalation method to use (default=sudo), - use `ansible-doc -t become -l` to list valid choices. - type: string - list_hosts: - title: List hosts - description: outputs a list of matching hosts; does not execute - anything else - type: boolean - limit: - title: Limit - description: further limit selected hosts to an additional pattern - type: string - poll: - title: Poll - description: set the poll interval if using -B (default=15) - type: integer - background: - title: Background - description: run asynchronously, failing after X seconds (default=N/A) - type: integer - one_line: - title: One line - description: condense output - type: boolean - tree: - title: Tree - description: log output to this directory - type: string - private_key: - title: Private key - description: use this file to authenticate the connection - type: string - format: secretfile - x-options: - media_types: - - '*/*' - user: - title: User - description: connect as this user (default=None) - type: string - connection: - title: Connection - description: connection type to use (default=smart) - type: string - timeout: - title: Timeout - description: override the connection timeout in seconds (default=10) - type: integer - ssh_common_args: - title: Ssh common args - description: specify common arguments to pass to sftp/scp/ssh - (e.g. ProxyCommand) - type: string - sftp_extra_args: - title: Sftp extra args - description: specify extra arguments to pass to sftp only (e.g. - -f, -l) - type: string - scp_extra_args: - title: Scp extra args - description: specify extra arguments to pass to scp only (e.g. - -l) - type: string - ssh_extra_args: - title: Ssh extra args - description: specify extra arguments to pass to ssh only (e.g. - -R) - type: string - check: - title: Check - description: don't make any changes; instead, try to predict - some of the changes that may occur - type: boolean - syntax_check: - title: Syntax check - description: perform a syntax check on the playbook, but do - not execute it - type: boolean - diff: - title: Diff - description: when changing (small) files and templates, show - the differences in those files; works great with --check - type: boolean - extra_vars: - title: Extra vars - description: set additional variables as key=value or YAML/JSON, - if filename prepend with @ - type: string - vault_password_file: - title: Vault password file - description: vault password file - type: string - format: secretfile - x-options: - media_types: - - '*/*' - forks: - title: Forks - description: specify number of parallel processes to use (default=5) - type: integer - playbook_dir: - title: Playbook dir - description: Since this tool does not use playbooks, use this - as a substitute playbook directory.This sets the relative - path for many features including roles/ group_vars/ etc. - type: string - Task: - required: - - playbook - type: object - properties: - playbook: - title: Playbook - type: string - format: fk_autocomplete - x-options: - model: - $ref: '#/definitions/Playbook' - usePrefetch: true - value_field: playbook - view_field: playbook - vars: - type: object - properties: - verbose: - title: Verbose - description: verbose mode (-vvv for more, -vvvv to enable connection - debugging) - type: integer - maximum: 4 - private_key: - title: Private key - description: use this file to authenticate the connection - type: string - format: secretfile - x-options: - media_types: - - '*/*' - user: - title: User - description: connect as this user (default=None) - type: string - connection: - title: Connection - description: connection type to use (default=smart) - type: string - timeout: - title: Timeout - description: override the connection timeout in seconds (default=10) - type: integer - ssh_common_args: - title: Ssh common args - description: specify common arguments to pass to sftp/scp/ssh - (e.g. ProxyCommand) - type: string - sftp_extra_args: - title: Sftp extra args - description: specify extra arguments to pass to sftp only (e.g. - -f, -l) - type: string - scp_extra_args: - title: Scp extra args - description: specify extra arguments to pass to scp only (e.g. - -l) - type: string - ssh_extra_args: - title: Ssh extra args - description: specify extra arguments to pass to ssh only (e.g. - -R) - type: string - force_handlers: - title: Force handlers - description: run handlers even if a task fails - type: boolean - flush_cache: - title: Flush cache - description: clear the fact cache for every host in inventory - type: boolean - become: - title: Become - description: run operations with become (does not imply password - prompting) - type: boolean - become_method: - title: Become method - description: privilege escalation method to use (default=sudo), - use `ansible-doc -t become -l` to list valid choices. - type: string - tags: - title: Tags - description: only run plays and tasks tagged with these values - type: string - skip_tags: - title: Skip tags - description: only run plays and tasks whose tags do not match - these values - type: string - check: - title: Check - description: don't make any changes; instead, try to predict - some of the changes that may occur - type: boolean - syntax_check: - title: Syntax check - description: perform a syntax check on the playbook, but do - not execute it - type: boolean - diff: - title: Diff - description: when changing (small) files and templates, show - the differences in those files; works great with --check - type: boolean - list_hosts: - title: List hosts - description: outputs a list of matching hosts; does not execute - anything else - type: boolean - limit: - title: Limit - description: further limit selected hosts to an additional pattern - type: string - extra_vars: - title: Extra vars - description: set additional variables as key=value or YAML/JSON, - if filename prepend with @ - type: string - vault_password_file: - title: Vault password file - description: vault password file - type: string - format: secretfile - x-options: - media_types: - - '*/*' - forks: - title: Forks - description: specify number of parallel processes to use (default=5) - type: integer - list_tasks: - title: List tasks - description: list all tasks that would be executed - type: boolean - list_tags: - title: List tags - description: list all available tags - type: boolean - step: - title: Step - description: 'one-step-at-a-time: confirm each task before running' - type: boolean - start_at_task: - title: Start at task - description: start the playbook at the task matching this name - type: string - args: - title: Args - description: Playbook(s) - type: string + - path + type: object + properties: + id: + title: Id + type: integer + readOnly: true + path: + title: Path + type: string + maxLength: 1024 + minLength: 1 x-properties-groups: '': - id - - name - - kind - - data - x-view-field-name: name - OneTemplateOption: + - path + x-view-field-name: path + OneAnsibleModule: required: + - path - data type: object properties: id: title: Id - type: string + type: integer readOnly: true + path: + title: Path + type: string + maxLength: 1024 minLength: 1 + data: + title: Data + type: string + format: json + x-properties-groups: + '': + - id + - path + - data + x-view-field-name: path + AnsiblePlaybook: + required: + - playbook + type: object + properties: + id: + title: Id + type: integer + readOnly: true name: title: Name type: string - readOnly: true + maxLength: 251 minLength: 1 - kind: - title: Kind + playbook: + title: Playbook type: string + maxLength: 256 + minLength: 1 + x-properties-groups: + '': + - id + - name + - playbook + x-view-field-name: name + OneAnsiblePlaybook: + required: + - playbook + type: object + properties: + id: + title: Id + type: integer readOnly: true + name: + title: Name + type: string + maxLength: 251 minLength: 1 - data: - title: Data + playbook: + title: Playbook type: string - format: dynamic + maxLength: 256 + minLength: 1 + x-properties-groups: + '': + - id + - name + - playbook + x-view-field-name: name + ExecuteAnsibleModule: + required: + - module + type: object + properties: + module: + title: Module + type: string + format: fk_autocomplete x-options: - choices: {} - field: kind - types: - Module: - required: - - module - type: object - properties: - group: - title: Group - type: string - default: all - minLength: 1 - module: - title: Module - type: string - format: fk_autocomplete - x-options: - model: - $ref: '#/definitions/Module' - usePrefetch: true - value_field: name - view_field: path - args: - title: Arguments - type: string - default: '' - vars: - type: object - properties: - verbose: - title: Verbose - description: verbose mode (-vvv for more, -vvvv to enable connection - debugging) - type: integer - maximum: 4 - become: - title: Become - description: run operations with become (does not imply password - prompting) - type: boolean - become_method: - title: Become method - description: privilege escalation method to use (default=sudo), - use `ansible-doc -t become -l` to list valid choices. - type: string - list_hosts: - title: List hosts - description: outputs a list of matching hosts; does not execute - anything else - type: boolean - limit: - title: Limit - description: further limit selected hosts to an additional pattern - type: string - poll: - title: Poll - description: set the poll interval if using -B (default=15) - type: integer - background: - title: Background - description: run asynchronously, failing after X seconds (default=N/A) - type: integer - one_line: - title: One line - description: condense output - type: boolean - tree: - title: Tree - description: log output to this directory - type: string - private_key: - title: Private key - description: use this file to authenticate the connection - type: string - format: secretfile - x-options: - media_types: - - '*/*' - user: - title: User - description: connect as this user (default=None) - type: string - connection: - title: Connection - description: connection type to use (default=smart) - type: string - timeout: - title: Timeout - description: override the connection timeout in seconds (default=10) - type: integer - ssh_common_args: - title: Ssh common args - description: specify common arguments to pass to sftp/scp/ssh - (e.g. ProxyCommand) - type: string - sftp_extra_args: - title: Sftp extra args - description: specify extra arguments to pass to sftp only (e.g. - -f, -l) - type: string - scp_extra_args: - title: Scp extra args - description: specify extra arguments to pass to scp only (e.g. - -l) - type: string - ssh_extra_args: - title: Ssh extra args - description: specify extra arguments to pass to ssh only (e.g. - -R) - type: string - check: - title: Check - description: don't make any changes; instead, try to predict - some of the changes that may occur - type: boolean - syntax_check: - title: Syntax check - description: perform a syntax check on the playbook, but do - not execute it - type: boolean - diff: - title: Diff - description: when changing (small) files and templates, show - the differences in those files; works great with --check - type: boolean - extra_vars: - title: Extra vars - description: set additional variables as key=value or YAML/JSON, - if filename prepend with @ - type: string - vault_password_file: - title: Vault password file - description: vault password file - type: string - format: secretfile - x-options: - media_types: - - '*/*' - forks: - title: Forks - description: specify number of parallel processes to use (default=5) - type: integer - playbook_dir: - title: Playbook dir - description: Since this tool does not use playbooks, use this - as a substitute playbook directory.This sets the relative - path for many features including roles/ group_vars/ etc. - type: string - Task: - required: - - playbook - type: object - properties: - playbook: - title: Playbook - type: string - format: fk_autocomplete - x-options: - model: - $ref: '#/definitions/Playbook' - usePrefetch: true - value_field: playbook - view_field: playbook - vars: - type: object - properties: - verbose: - title: Verbose - description: verbose mode (-vvv for more, -vvvv to enable connection - debugging) - type: integer - maximum: 4 - private_key: - title: Private key - description: use this file to authenticate the connection - type: string - format: secretfile - x-options: - media_types: - - '*/*' - user: - title: User - description: connect as this user (default=None) - type: string - connection: - title: Connection - description: connection type to use (default=smart) - type: string - timeout: - title: Timeout - description: override the connection timeout in seconds (default=10) - type: integer - ssh_common_args: - title: Ssh common args - description: specify common arguments to pass to sftp/scp/ssh - (e.g. ProxyCommand) - type: string - sftp_extra_args: - title: Sftp extra args - description: specify extra arguments to pass to sftp only (e.g. - -f, -l) - type: string - scp_extra_args: - title: Scp extra args - description: specify extra arguments to pass to scp only (e.g. - -l) - type: string - ssh_extra_args: - title: Ssh extra args - description: specify extra arguments to pass to ssh only (e.g. - -R) - type: string - force_handlers: - title: Force handlers - description: run handlers even if a task fails - type: boolean - flush_cache: - title: Flush cache - description: clear the fact cache for every host in inventory - type: boolean - become: - title: Become - description: run operations with become (does not imply password - prompting) - type: boolean - become_method: - title: Become method - description: privilege escalation method to use (default=sudo), - use `ansible-doc -t become -l` to list valid choices. - type: string - tags: - title: Tags - description: only run plays and tasks tagged with these values - type: string - skip_tags: - title: Skip tags - description: only run plays and tasks whose tags do not match - these values - type: string - check: - title: Check - description: don't make any changes; instead, try to predict - some of the changes that may occur - type: boolean - syntax_check: - title: Syntax check - description: perform a syntax check on the playbook, but do - not execute it - type: boolean - diff: - title: Diff - description: when changing (small) files and templates, show - the differences in those files; works great with --check - type: boolean - list_hosts: - title: List hosts - description: outputs a list of matching hosts; does not execute - anything else - type: boolean - limit: - title: Limit - description: further limit selected hosts to an additional pattern - type: string - extra_vars: - title: Extra vars - description: set additional variables as key=value or YAML/JSON, - if filename prepend with @ - type: string - vault_password_file: - title: Vault password file - description: vault password file - type: string - format: secretfile - x-options: - media_types: - - '*/*' - forks: - title: Forks - description: specify number of parallel processes to use (default=5) - type: integer - list_tasks: - title: List tasks - description: list all tasks that would be executed - type: boolean - list_tags: - title: List tags - description: list all available tags - type: boolean - step: - title: Step - description: 'one-step-at-a-time: confirm each task before running' - type: boolean - start_at_task: - title: Start at task - description: start the playbook at the task matching this name - type: string - args: - title: Args - description: Playbook(s) - type: string + model: + $ref: '#/definitions/AnsibleModule' + value_field: path + view_field: path + usePrefetch: true + args: + title: Args + description: host pattern + type: string + background: + title: Background + description: run asynchronously, failing after X seconds (default=N/A) + type: integer + become: + title: Become + description: run operations with become (does not imply password prompting) + type: boolean + become_method: + title: Become method + description: privilege escalation method to use (default=sudo), use `ansible-doc + -t become -l` to list valid choices. + type: string + check: + title: Check + description: don't make any changes; instead, try to predict some of the changes + that may occur + type: boolean + connection: + title: Connection + description: connection type to use (default=smart) + type: string + diff: + title: Diff + description: when changing (small) files and templates, show the differences + in those files; works great with --check + type: boolean + extra_vars: + title: Extra vars + description: set additional variables as key=value or YAML/JSON, if filename + prepend with @ + type: string + forks: + title: Forks + description: specify number of parallel processes to use (default=5) + type: integer + inventory: + title: Inventory + description: specify inventory host path or comma separated host list. --inventory-file + is deprecated + type: string + format: inventory + x-options: + filters: + plugin: POLEMARCH_DB,ANSIBLE_FILE,ANSIBLE_STRING + limit: + title: Limit + description: further limit selected hosts to an additional pattern + type: string + list_hosts: + title: List hosts + description: outputs a list of matching hosts; does not execute anything else + type: boolean + one_line: + title: One line + description: condense output + type: boolean + playbook_dir: + title: Playbook dir + description: Since this tool does not use playbooks, use this as a substitute + playbook directory.This sets the relative path for many features including + roles/ group_vars/ etc. + type: string + poll: + title: Poll + description: set the poll interval if using -B (default=15) + type: integer + private_key: + title: Private key + description: use this file to authenticate the connection + type: string + format: secretfile + x-options: + media_types: + - '*/*' + scp_extra_args: + title: Scp extra args + description: specify extra arguments to pass to scp only (e.g. -l) + type: string + sftp_extra_args: + title: Sftp extra args + description: specify extra arguments to pass to sftp only (e.g. -f, -l) + type: string + ssh_common_args: + title: Ssh common args + description: specify common arguments to pass to sftp/scp/ssh (e.g. ProxyCommand) + type: string + ssh_extra_args: + title: Ssh extra args + description: specify extra arguments to pass to ssh only (e.g. -R) + type: string + syntax_check: + title: Syntax check + description: perform a syntax check on the playbook, but do not execute it + type: boolean + timeout: + title: Timeout + description: override the connection timeout in seconds (default=10) + type: integer + tree: + title: Tree + description: log output to this directory + type: string + user: + title: User + description: connect as this user (default=None) + type: string + vault_password_file: + title: Vault password file + description: vault password file + type: string + format: secretfile + x-options: + media_types: + - '*/*' + verbose: + title: Verbose + description: verbose mode (-vvv for more, -vvvv to enable connection debugging) + type: integer + maximum: 4 + minimum: 0 + group: + title: Group + type: string + default: all x-properties-groups: '': - - id - - name - - kind - - data - x-view-field-name: name - ProjectHistory: - required: - - executor - - mode + - module + - args + - background + - become + - become_method + - check + - connection + - diff + - extra_vars + - forks + - inventory + - limit + - list_hosts + - one_line + - playbook_dir + - poll + - private_key + - scp_extra_args + - sftp_extra_args + - ssh_common_args + - ssh_extra_args + - syntax_check + - timeout + - tree + - user + - vault_password_file + - verbose + - group + x-view-field-name: args + x-hide-not-required: true + ProjectExecuteResponse: type: object properties: - id: - title: Id + detail: + title: Detail + type: string + readOnly: true + minLength: 1 + history_id: + title: History id type: integer readOnly: true - start_time: - title: Start time - type: string - format: date-time + x-options: + redirect: + operation_name: project_history + depend_field: null + concat_field_name: false + x-nullable: true executor: title: Executor + type: integer + format: fk + readOnly: true + x-options: + model: + $ref: '#/definitions/User' + value_field: id + view_field: name + usePrefetch: true + makeLink: true + dependence: null + filters: null + x-nullable: true + x-properties-groups: + '': + - detail + - history_id + - executor + x-view-field-name: history_id + ExecuteAnsiblePlaybook: + required: + - playbook + type: object + properties: + playbook: + title: Playbook type: string - format: dynamic + format: fk_autocomplete x-options: - choices: {} - field: initiator_type - types: - project: - type: integer - format: fk - x-options: - dependence: null - filters: null - makeLink: true - model: - $ref: '#/definitions/User' - usePrefetch: true - value_field: id - view_field: username - scheduler: - type: string - x-format: static_value - x-options: - realField: string - staticValue: system - template: - type: integer - format: fk - x-options: - dependence: null - filters: null - makeLink: true - model: - $ref: '#/definitions/User' - usePrefetch: true - value_field: id - view_field: username - initiator: - title: Initiator - type: integer - initiator_type: - title: Initiator type + model: + $ref: '#/definitions/AnsiblePlaybook' + value_field: playbook + view_field: name + usePrefetch: true + args: + title: Args + description: Playbook(s) type: string - maxLength: 50 - minLength: 1 - revision: - title: Revision + become: + title: Become + description: run operations with become (does not imply password prompting) + type: boolean + become_method: + title: Become method + description: privilege escalation method to use (default=sudo), use `ansible-doc + -t become -l` to list valid choices. type: string - maxLength: 256 - x-nullable: true + check: + title: Check + description: don't make any changes; instead, try to predict some of the changes + that may occur + type: boolean + connection: + title: Connection + description: connection type to use (default=smart) + type: string + diff: + title: Diff + description: when changing (small) files and templates, show the differences + in those files; works great with --check + type: boolean + extra_vars: + title: Extra vars + description: set additional variables as key=value or YAML/JSON, if filename + prepend with @ + type: string + flush_cache: + title: Flush cache + description: clear the fact cache for every host in inventory + type: boolean + force_handlers: + title: Force handlers + description: run handlers even if a task fails + type: boolean + forks: + title: Forks + description: specify number of parallel processes to use (default=5) + type: integer inventory: title: Inventory - type: integer + description: specify inventory host path or comma separated host list. --inventory-file + is deprecated + type: string format: inventory - readOnly: true - x-nullable: true - kind: - title: Kind + x-options: + filters: + plugin: POLEMARCH_DB,ANSIBLE_FILE,ANSIBLE_STRING + limit: + title: Limit + description: further limit selected hosts to an additional pattern type: string - maxLength: 50 - minLength: 1 - mode: - title: Mode + list_hosts: + title: List hosts + description: outputs a list of matching hosts; does not execute anything else + type: boolean + list_tags: + title: List tags + description: list all available tags + type: boolean + list_tasks: + title: List tasks + description: list all tasks that would be executed + type: boolean + private_key: + title: Private key + description: use this file to authenticate the connection + type: string + format: secretfile + x-options: + media_types: + - '*/*' + scp_extra_args: + title: Scp extra args + description: specify extra arguments to pass to scp only (e.g. -l) + type: string + sftp_extra_args: + title: Sftp extra args + description: specify extra arguments to pass to sftp only (e.g. -f, -l) + type: string + skip_tags: + title: Skip tags + description: only run plays and tasks whose tags do not match these values + type: string + ssh_common_args: + title: Ssh common args + description: specify common arguments to pass to sftp/scp/ssh (e.g. ProxyCommand) + type: string + ssh_extra_args: + title: Ssh extra args + description: specify extra arguments to pass to ssh only (e.g. -R) + type: string + start_at_task: + title: Start at task + description: start the playbook at the task matching this name type: string - maxLength: 256 - minLength: 1 - options: - title: Options + step: + title: Step + description: 'one-step-at-a-time: confirm each task before running' + type: boolean + syntax_check: + title: Syntax check + description: perform a syntax check on the playbook, but do not execute it + type: boolean + tags: + title: Tags + description: only run plays and tasks tagged with these values type: string - readOnly: true - status: - title: Status + timeout: + title: Timeout + description: override the connection timeout in seconds (default=10) + type: integer + user: + title: User + description: connect as this user (default=None) type: string - enum: - - DELAY - - RUN - - OK - - ERROR - - OFFLINE - - INTERRUPTED - stop_time: - title: Stop time + vault_password_file: + title: Vault password file + description: vault password file type: string - format: date-time - x-nullable: true + format: secretfile + x-options: + media_types: + - '*/*' + verbose: + title: Verbose + description: verbose mode (-vvv for more, -vvvv to enable connection debugging) + type: integer + maximum: 4 + minimum: 0 x-properties-groups: '': - - id - - start_time - - executor - - initiator - - initiator_type - - revision + - playbook + - args + - become + - become_method + - check + - connection + - diff + - extra_vars + - flush_cache + - force_handlers + - forks - inventory - - kind - - mode - - options - - status - - stop_time - x-view-field-name: start_time - InventoryFileImport: + - limit + - list_hosts + - list_tags + - list_tasks + - private_key + - scp_extra_args + - sftp_extra_args + - skip_tags + - ssh_common_args + - ssh_extra_args + - start_at_task + - step + - syntax_check + - tags + - timeout + - user + - vault_password_file + - verbose + x-view-field-name: args + x-hide-not-required: true + ExecutionTemplate: required: - name + - plugin type: object properties: - inventory_id: - title: Inventory id + id: + title: Id type: integer readOnly: true - x-options: - redirect: - concat_field_name: false - depend_field: null - operation_name: inventory - x-nullable: true name: title: Name type: string - pattern: ^([\w\d_\-]+|[\.][\/\w\d_\-\+=\^,])(\.?[\w\d\-\/\\_()\+=\^,]+)+$ + maxLength: 255 minLength: 1 - raw_data: - title: Raw data + plugin: + title: Plugin type: string - readOnly: true + maxLength: 128 minLength: 1 x-properties-groups: '': - - inventory_id + - id - name - - raw_data + - plugin x-view-field-name: name - Module: + CreateExecutionTemplate: required: - - path + - name + - plugin + - arguments type: object properties: id: title: Id type: integer readOnly: true - path: - title: Path - type: string - maxLength: 1024 - minLength: 1 name: title: Name type: string - readOnly: true + minLength: 1 + plugin: + title: Plugin + type: string + enum: + - ANSIBLE_PLAYBOOK + - ANSIBLE_MODULE + arguments: + title: Arguments + type: string + format: dynamic + x-options: + field: plugin + choices: {} + types: + ANSIBLE_PLAYBOOK: + required: + - playbook + type: object + properties: + playbook: + title: Playbook + type: string + format: fk_autocomplete + x-options: + model: + $ref: '#/definitions/AnsiblePlaybook' + value_field: playbook + view_field: name + usePrefetch: true + args: + title: Args + description: Playbook(s) + type: string + become: + title: Become + description: run operations with become (does not imply password + prompting) + type: boolean + become_method: + title: Become method + description: privilege escalation method to use (default=sudo), + use `ansible-doc -t become -l` to list valid choices. + type: string + check: + title: Check + description: don't make any changes; instead, try to predict some + of the changes that may occur + type: boolean + connection: + title: Connection + description: connection type to use (default=smart) + type: string + diff: + title: Diff + description: when changing (small) files and templates, show the + differences in those files; works great with --check + type: boolean + extra_vars: + title: Extra vars + description: set additional variables as key=value or YAML/JSON, + if filename prepend with @ + type: string + flush_cache: + title: Flush cache + description: clear the fact cache for every host in inventory + type: boolean + force_handlers: + title: Force handlers + description: run handlers even if a task fails + type: boolean + forks: + title: Forks + description: specify number of parallel processes to use (default=5) + type: integer + inventory: + title: Inventory + description: specify inventory host path or comma separated host + list. --inventory-file is deprecated + type: string + format: inventory + x-options: + filters: + plugin: POLEMARCH_DB,ANSIBLE_FILE,ANSIBLE_STRING + limit: + title: Limit + description: further limit selected hosts to an additional pattern + type: string + list_hosts: + title: List hosts + description: outputs a list of matching hosts; does not execute + anything else + type: boolean + list_tags: + title: List tags + description: list all available tags + type: boolean + list_tasks: + title: List tasks + description: list all tasks that would be executed + type: boolean + private_key: + title: Private key + description: use this file to authenticate the connection + type: string + format: secretfile + x-options: + media_types: + - '*/*' + scp_extra_args: + title: Scp extra args + description: specify extra arguments to pass to scp only (e.g. -l) + type: string + sftp_extra_args: + title: Sftp extra args + description: specify extra arguments to pass to sftp only (e.g. + -f, -l) + type: string + skip_tags: + title: Skip tags + description: only run plays and tasks whose tags do not match these + values + type: string + ssh_common_args: + title: Ssh common args + description: specify common arguments to pass to sftp/scp/ssh (e.g. + ProxyCommand) + type: string + ssh_extra_args: + title: Ssh extra args + description: specify extra arguments to pass to ssh only (e.g. -R) + type: string + start_at_task: + title: Start at task + description: start the playbook at the task matching this name + type: string + step: + title: Step + description: 'one-step-at-a-time: confirm each task before running' + type: boolean + syntax_check: + title: Syntax check + description: perform a syntax check on the playbook, but do not + execute it + type: boolean + tags: + title: Tags + description: only run plays and tasks tagged with these values + type: string + timeout: + title: Timeout + description: override the connection timeout in seconds (default=10) + type: integer + user: + title: User + description: connect as this user (default=None) + type: string + vault_password_file: + title: Vault password file + description: vault password file + type: string + format: secretfile + x-options: + media_types: + - '*/*' + verbose: + title: Verbose + description: verbose mode (-vvv for more, -vvvv to enable connection + debugging) + type: integer + maximum: 4 + minimum: 0 + x-properties-groups: + '': + - playbook + - args + - become + - become_method + - check + - connection + - diff + - extra_vars + - flush_cache + - force_handlers + - forks + - inventory + - limit + - list_hosts + - list_tags + - list_tasks + - private_key + - scp_extra_args + - sftp_extra_args + - skip_tags + - ssh_common_args + - ssh_extra_args + - start_at_task + - step + - syntax_check + - tags + - timeout + - user + - vault_password_file + - verbose + x-view-field-name: args + x-hide-not-required: true + ANSIBLE_MODULE: + required: + - module + type: object + properties: + module: + title: Module + type: string + format: fk_autocomplete + x-options: + model: + $ref: '#/definitions/AnsibleModule' + value_field: path + view_field: path + usePrefetch: true + args: + title: Args + description: host pattern + type: string + background: + title: Background + description: run asynchronously, failing after X seconds (default=N/A) + type: integer + become: + title: Become + description: run operations with become (does not imply password + prompting) + type: boolean + become_method: + title: Become method + description: privilege escalation method to use (default=sudo), + use `ansible-doc -t become -l` to list valid choices. + type: string + check: + title: Check + description: don't make any changes; instead, try to predict some + of the changes that may occur + type: boolean + connection: + title: Connection + description: connection type to use (default=smart) + type: string + diff: + title: Diff + description: when changing (small) files and templates, show the + differences in those files; works great with --check + type: boolean + extra_vars: + title: Extra vars + description: set additional variables as key=value or YAML/JSON, + if filename prepend with @ + type: string + forks: + title: Forks + description: specify number of parallel processes to use (default=5) + type: integer + inventory: + title: Inventory + description: specify inventory host path or comma separated host + list. --inventory-file is deprecated + type: string + format: inventory + x-options: + filters: + plugin: POLEMARCH_DB,ANSIBLE_FILE,ANSIBLE_STRING + limit: + title: Limit + description: further limit selected hosts to an additional pattern + type: string + list_hosts: + title: List hosts + description: outputs a list of matching hosts; does not execute + anything else + type: boolean + one_line: + title: One line + description: condense output + type: boolean + playbook_dir: + title: Playbook dir + description: Since this tool does not use playbooks, use this as + a substitute playbook directory.This sets the relative path for + many features including roles/ group_vars/ etc. + type: string + poll: + title: Poll + description: set the poll interval if using -B (default=15) + type: integer + private_key: + title: Private key + description: use this file to authenticate the connection + type: string + format: secretfile + x-options: + media_types: + - '*/*' + scp_extra_args: + title: Scp extra args + description: specify extra arguments to pass to scp only (e.g. -l) + type: string + sftp_extra_args: + title: Sftp extra args + description: specify extra arguments to pass to sftp only (e.g. + -f, -l) + type: string + ssh_common_args: + title: Ssh common args + description: specify common arguments to pass to sftp/scp/ssh (e.g. + ProxyCommand) + type: string + ssh_extra_args: + title: Ssh extra args + description: specify extra arguments to pass to ssh only (e.g. -R) + type: string + syntax_check: + title: Syntax check + description: perform a syntax check on the playbook, but do not + execute it + type: boolean + timeout: + title: Timeout + description: override the connection timeout in seconds (default=10) + type: integer + tree: + title: Tree + description: log output to this directory + type: string + user: + title: User + description: connect as this user (default=None) + type: string + vault_password_file: + title: Vault password file + description: vault password file + type: string + format: secretfile + x-options: + media_types: + - '*/*' + verbose: + title: Verbose + description: verbose mode (-vvv for more, -vvvv to enable connection + debugging) + type: integer + maximum: 4 + minimum: 0 + group: + title: Group + type: string + default: all + x-properties-groups: + '': + - module + - args + - background + - become + - become_method + - check + - connection + - diff + - extra_vars + - forks + - inventory + - limit + - list_hosts + - one_line + - playbook_dir + - poll + - private_key + - scp_extra_args + - sftp_extra_args + - ssh_common_args + - ssh_extra_args + - syntax_check + - timeout + - tree + - user + - vault_password_file + - verbose + - group + x-view-field-name: args + x-hide-not-required: true x-properties-groups: '': - id - - path - name + - plugin + - arguments x-view-field-name: name - OneModule: + OneExecutionTemplate: required: - - path + - name type: object properties: id: title: Id type: integer readOnly: true - path: - title: Path - type: string - maxLength: 1024 - minLength: 1 name: title: Name type: string + maxLength: 255 + minLength: 1 + notes: + title: Notes + type: string + format: textarea + plugin: + title: Plugin + type: string readOnly: true - data: - title: Data + minLength: 1 + x-properties-groups: + '': + - id + - name + - notes + - plugin + x-view-field-name: name + ExecuteTemplate: + required: + - option + type: object + properties: + option: + title: Option + type: integer + format: fk + x-options: + model: + $ref: '#/definitions/ExecutionTemplateOption' + value_field: id + view_field: name + usePrefetch: true + makeLink: true + dependence: null + filters: null + x-properties-groups: + '': + - option + x-view-field-name: option + ExecuteTemplateResponse: + type: object + properties: + detail: + title: Detail type: string - format: json readOnly: true + minLength: 1 + history_id: + title: History id + type: integer + readOnly: true + x-options: + redirect: + operation_name: project_execution_templates_history + depend_field: null + concat_field_name: false + x-nullable: true + executor: + title: Executor + type: integer + format: fk + readOnly: true + x-options: + model: + $ref: '#/definitions/User' + value_field: id + view_field: name + usePrefetch: true + makeLink: true + dependence: null + filters: null + x-nullable: true x-properties-groups: '': - - id - - path - - name - - data - x-view-field-name: name - Periodictask: + - detail + - history_id + - executor + x-view-field-name: history_id + ExecutionTemplateOption: required: - - schedule + - name type: object properties: id: title: Id - type: integer - readOnly: true + type: string + format: uuid name: title: Name type: string - maxLength: 512 + maxLength: 255 minLength: 1 - kind: - title: Task type - type: string - enum: - - PLAYBOOK - - MODULE - - TEMPLATE - default: PLAYBOOK - mode: - title: Mode - type: string - format: dynamic - x-options: - choices: {} - field: kind - types: - MODULE: - type: string - format: fk_autocomplete - x-options: - model: - $ref: '#/definitions/Module' - usePrefetch: true - value_field: name - view_field: path - PLAYBOOK: - type: string - format: fk_autocomplete - x-options: - model: - $ref: '#/definitions/Playbook' - usePrefetch: true - value_field: playbook - view_field: playbook - TEMPLATE: hidden - inventory: - title: Inventory - type: string - format: inventory - save_result: - title: Save result - type: boolean - template: - title: Template - type: string - format: dynamic - x-options: - choices: {} - field: kind - types: - MODULE: hidden - PLAYBOOK: hidden - TEMPLATE: - type: integer - format: fk - x-options: - dependence: null - filters: null - makeLink: true - model: - $ref: '#/definitions/ExecutionTemplate' - usePrefetch: true - value_field: id - view_field: name - x-nullable: true - template_opt: - title: Template opt - type: string - format: dynamic - x-options: - choices: {} - field: template - types: {} - x-nullable: true - enabled: - title: Enabled - type: boolean - type: - title: Interval type - type: string - enum: - - CRONTAB - - INTERVAL - default: CRONTAB - schedule: - title: Schedule - type: string - format: dynamic - x-options: - choices: {} - field: type - types: - CRONTAB: - default: '* * * * *' - format: crontab - required: true - type: string - INTERVAL: - type: integer - format: uptime - default: 0 x-properties-groups: '': - id - name - - kind - - mode - - inventory - - save_result - - template - - template_opt - - enabled - - type - - schedule x-view-field-name: name - OnePeriodictask: + OneExecutionTemplateOption: required: - - schedule + - name + - arguments type: object properties: id: title: Id - type: integer + type: string + format: uuid readOnly: true name: title: Name type: string - maxLength: 512 + maxLength: 255 minLength: 1 - kind: - title: Task type - type: string - enum: - - PLAYBOOK - - MODULE - - TEMPLATE - default: PLAYBOOK - mode: - title: Mode - type: string - format: dynamic - x-options: - choices: {} - field: kind - types: - MODULE: - type: string - format: fk_autocomplete - x-options: - model: - $ref: '#/definitions/Module' - usePrefetch: true - value_field: name - view_field: path - PLAYBOOK: - type: string - format: fk_autocomplete - x-options: - model: - $ref: '#/definitions/Playbook' - usePrefetch: true - value_field: playbook - view_field: playbook - TEMPLATE: hidden - inventory: - title: Inventory - type: string - format: inventory - save_result: - title: Save result - type: boolean - template: - title: Template - type: string - format: dynamic - x-options: - choices: {} - field: kind - types: - MODULE: hidden - PLAYBOOK: hidden - TEMPLATE: - type: integer - format: fk - x-options: - dependence: null - filters: null - makeLink: true - model: - $ref: '#/definitions/ExecutionTemplate' - usePrefetch: true - value_field: id - view_field: name - x-nullable: true - template_opt: - title: Template opt - type: string - format: dynamic - x-options: - choices: {} - field: template - types: {} - x-nullable: true - enabled: - title: Enabled - type: boolean - type: - title: Interval type + notes: + title: Notes type: string - enum: - - CRONTAB - - INTERVAL - default: CRONTAB - schedule: - title: Schedule + format: textarea + arguments: + title: Arguments type: string format: dynamic x-options: + field: plugin + source_view: /project/{id}/execution_templates/{execution_templates_id}/ choices: {} - field: type types: - CRONTAB: - default: '* * * * *' - format: crontab - required: true - type: string - INTERVAL: - type: integer - format: uptime - default: 0 - notes: - title: Notes - type: string - format: textarea + ANSIBLE_PLAYBOOK: + required: + - playbook + type: object + properties: + playbook: + title: Playbook + type: string + format: fk_autocomplete + x-options: + model: + $ref: '#/definitions/AnsiblePlaybook' + value_field: playbook + view_field: name + usePrefetch: true + args: + title: Args + description: Playbook(s) + type: string + become: + title: Become + description: run operations with become (does not imply password + prompting) + type: boolean + become_method: + title: Become method + description: privilege escalation method to use (default=sudo), + use `ansible-doc -t become -l` to list valid choices. + type: string + check: + title: Check + description: don't make any changes; instead, try to predict some + of the changes that may occur + type: boolean + connection: + title: Connection + description: connection type to use (default=smart) + type: string + diff: + title: Diff + description: when changing (small) files and templates, show the + differences in those files; works great with --check + type: boolean + extra_vars: + title: Extra vars + description: set additional variables as key=value or YAML/JSON, + if filename prepend with @ + type: string + flush_cache: + title: Flush cache + description: clear the fact cache for every host in inventory + type: boolean + force_handlers: + title: Force handlers + description: run handlers even if a task fails + type: boolean + forks: + title: Forks + description: specify number of parallel processes to use (default=5) + type: integer + inventory: + title: Inventory + description: specify inventory host path or comma separated host + list. --inventory-file is deprecated + type: string + format: inventory + x-options: + filters: + plugin: POLEMARCH_DB,ANSIBLE_FILE,ANSIBLE_STRING + limit: + title: Limit + description: further limit selected hosts to an additional pattern + type: string + list_hosts: + title: List hosts + description: outputs a list of matching hosts; does not execute + anything else + type: boolean + list_tags: + title: List tags + description: list all available tags + type: boolean + list_tasks: + title: List tasks + description: list all tasks that would be executed + type: boolean + private_key: + title: Private key + description: use this file to authenticate the connection + type: string + format: secretfile + x-options: + media_types: + - '*/*' + scp_extra_args: + title: Scp extra args + description: specify extra arguments to pass to scp only (e.g. -l) + type: string + sftp_extra_args: + title: Sftp extra args + description: specify extra arguments to pass to sftp only (e.g. + -f, -l) + type: string + skip_tags: + title: Skip tags + description: only run plays and tasks whose tags do not match these + values + type: string + ssh_common_args: + title: Ssh common args + description: specify common arguments to pass to sftp/scp/ssh (e.g. + ProxyCommand) + type: string + ssh_extra_args: + title: Ssh extra args + description: specify extra arguments to pass to ssh only (e.g. -R) + type: string + start_at_task: + title: Start at task + description: start the playbook at the task matching this name + type: string + step: + title: Step + description: 'one-step-at-a-time: confirm each task before running' + type: boolean + syntax_check: + title: Syntax check + description: perform a syntax check on the playbook, but do not + execute it + type: boolean + tags: + title: Tags + description: only run plays and tasks tagged with these values + type: string + timeout: + title: Timeout + description: override the connection timeout in seconds (default=10) + type: integer + user: + title: User + description: connect as this user (default=None) + type: string + vault_password_file: + title: Vault password file + description: vault password file + type: string + format: secretfile + x-options: + media_types: + - '*/*' + verbose: + title: Verbose + description: verbose mode (-vvv for more, -vvvv to enable connection + debugging) + type: integer + maximum: 4 + minimum: 0 + x-properties-groups: + '': + - playbook + - args + - become + - become_method + - check + - connection + - diff + - extra_vars + - flush_cache + - force_handlers + - forks + - inventory + - limit + - list_hosts + - list_tags + - list_tasks + - private_key + - scp_extra_args + - sftp_extra_args + - skip_tags + - ssh_common_args + - ssh_extra_args + - start_at_task + - step + - syntax_check + - tags + - timeout + - user + - vault_password_file + - verbose + x-view-field-name: args + x-hide-not-required: true + ANSIBLE_MODULE: + required: + - module + type: object + properties: + module: + title: Module + type: string + format: fk_autocomplete + x-options: + model: + $ref: '#/definitions/AnsibleModule' + value_field: path + view_field: path + usePrefetch: true + args: + title: Args + description: host pattern + type: string + background: + title: Background + description: run asynchronously, failing after X seconds (default=N/A) + type: integer + become: + title: Become + description: run operations with become (does not imply password + prompting) + type: boolean + become_method: + title: Become method + description: privilege escalation method to use (default=sudo), + use `ansible-doc -t become -l` to list valid choices. + type: string + check: + title: Check + description: don't make any changes; instead, try to predict some + of the changes that may occur + type: boolean + connection: + title: Connection + description: connection type to use (default=smart) + type: string + diff: + title: Diff + description: when changing (small) files and templates, show the + differences in those files; works great with --check + type: boolean + extra_vars: + title: Extra vars + description: set additional variables as key=value or YAML/JSON, + if filename prepend with @ + type: string + forks: + title: Forks + description: specify number of parallel processes to use (default=5) + type: integer + inventory: + title: Inventory + description: specify inventory host path or comma separated host + list. --inventory-file is deprecated + type: string + format: inventory + x-options: + filters: + plugin: POLEMARCH_DB,ANSIBLE_FILE,ANSIBLE_STRING + limit: + title: Limit + description: further limit selected hosts to an additional pattern + type: string + list_hosts: + title: List hosts + description: outputs a list of matching hosts; does not execute + anything else + type: boolean + one_line: + title: One line + description: condense output + type: boolean + playbook_dir: + title: Playbook dir + description: Since this tool does not use playbooks, use this as + a substitute playbook directory.This sets the relative path for + many features including roles/ group_vars/ etc. + type: string + poll: + title: Poll + description: set the poll interval if using -B (default=15) + type: integer + private_key: + title: Private key + description: use this file to authenticate the connection + type: string + format: secretfile + x-options: + media_types: + - '*/*' + scp_extra_args: + title: Scp extra args + description: specify extra arguments to pass to scp only (e.g. -l) + type: string + sftp_extra_args: + title: Sftp extra args + description: specify extra arguments to pass to sftp only (e.g. + -f, -l) + type: string + ssh_common_args: + title: Ssh common args + description: specify common arguments to pass to sftp/scp/ssh (e.g. + ProxyCommand) + type: string + ssh_extra_args: + title: Ssh extra args + description: specify extra arguments to pass to ssh only (e.g. -R) + type: string + syntax_check: + title: Syntax check + description: perform a syntax check on the playbook, but do not + execute it + type: boolean + timeout: + title: Timeout + description: override the connection timeout in seconds (default=10) + type: integer + tree: + title: Tree + description: log output to this directory + type: string + user: + title: User + description: connect as this user (default=None) + type: string + vault_password_file: + title: Vault password file + description: vault password file + type: string + format: secretfile + x-options: + media_types: + - '*/*' + verbose: + title: Verbose + description: verbose mode (-vvv for more, -vvvv to enable connection + debugging) + type: integer + maximum: 4 + minimum: 0 + group: + title: Group + type: string + default: all + x-properties-groups: + '': + - module + - args + - background + - become + - become_method + - check + - connection + - diff + - extra_vars + - forks + - inventory + - limit + - list_hosts + - one_line + - playbook_dir + - poll + - private_key + - scp_extra_args + - sftp_extra_args + - ssh_common_args + - ssh_extra_args + - syntax_check + - timeout + - tree + - user + - vault_password_file + - verbose + - group + x-view-field-name: args + x-hide-not-required: true x-properties-groups: '': - - id - - name - - kind - - mode - - inventory - - save_result - - template - - template_opt - - enabled - - type - - schedule + - id + - name - notes + - arguments x-view-field-name: name - PeriodicTaskVariable: + TemplatePeriodicTask: required: - - key + - name + - schedule type: object properties: id: title: Id type: integer readOnly: true - key: - format: dynamic - name: key - title: Key + name: + title: Name type: string - x-options: - field: kind - types: - MODULE: - enum: - - verbose - - become - - become_method - - list_hosts - - limit - - poll - - background - - one_line - - tree - - private_key - - user - - connection - - timeout - - ssh_common_args - - sftp_extra_args - - scp_extra_args - - ssh_extra_args - - check - - syntax_check - - diff - - extra_vars - - vault_password_file - - forks - - playbook_dir - - args - - group - type: string - PLAYBOOK: - enum: - - verbose - - private_key - - user - - connection - - timeout - - ssh_common_args - - sftp_extra_args - - scp_extra_args - - ssh_extra_args - - force_handlers - - flush_cache - - become - - become_method - - tags - - skip_tags - - check - - syntax_check - - diff - - list_hosts - - limit - - extra_vars - - vault_password_file - - forks - - list_tasks - - list_tags - - step - - start_at_task - - args - type: string - value: - format: dynamic - name: value - title: Value + maxLength: 255 + minLength: 1 + schedule: + title: Schedule type: string + format: dynamic x-options: - field: kind + field: type + choices: {} types: - MODULE: - format: dynamic - type: string - x-options: - field: key - types: - args: - title: Args - description: host pattern - type: string - background: - title: Background - description: run asynchronously, failing after X seconds (default=N/A) - type: integer - become: - title: Become - description: run operations with become (does not imply password - prompting) - type: boolean - become_method: - title: Become method - description: privilege escalation method to use (default=sudo), - use `ansible-doc -t become -l` to list valid choices. - type: string - check: - title: Check - description: don't make any changes; instead, try to predict some - of the changes that may occur - type: boolean - connection: - title: Connection - description: connection type to use (default=smart) - type: string - diff: - title: Diff - description: when changing (small) files and templates, show the - differences in those files; works great with --check - type: boolean - extra_vars: - title: Extra vars - description: set additional variables as key=value or YAML/JSON, - if filename prepend with @ - type: string - forks: - title: Forks - description: specify number of parallel processes to use (default=5) - type: integer - group: - title: Group - type: string - default: all - limit: - title: Limit - description: further limit selected hosts to an additional pattern - type: string - list_hosts: - title: List hosts - description: outputs a list of matching hosts; does not execute - anything else - type: boolean - one_line: - title: One line - description: condense output - type: boolean - playbook_dir: - title: Playbook dir - description: Since this tool does not use playbooks, use this - as a substitute playbook directory.This sets the relative path - for many features including roles/ group_vars/ etc. - type: string - poll: - title: Poll - description: set the poll interval if using -B (default=15) - type: integer - private_key: - title: Private key - description: use this file to authenticate the connection - type: string - format: secretfile - x-options: - media_types: - - '*/*' - scp_extra_args: - title: Scp extra args - description: specify extra arguments to pass to scp only (e.g. - -l) - type: string - sftp_extra_args: - title: Sftp extra args - description: specify extra arguments to pass to sftp only (e.g. - -f, -l) - type: string - ssh_common_args: - title: Ssh common args - description: specify common arguments to pass to sftp/scp/ssh - (e.g. ProxyCommand) - type: string - ssh_extra_args: - title: Ssh extra args - description: specify extra arguments to pass to ssh only (e.g. - -R) - type: string - syntax_check: - title: Syntax check - description: perform a syntax check on the playbook, but do not - execute it - type: boolean - timeout: - title: Timeout - description: override the connection timeout in seconds (default=10) - type: integer - tree: - title: Tree - description: log output to this directory - type: string - user: - title: User - description: connect as this user (default=None) - type: string - vault_password_file: - title: Vault password file - description: vault password file - type: string - format: secretfile - x-options: - media_types: - - '*/*' - verbose: - title: Verbose - description: verbose mode (-vvv for more, -vvvv to enable connection - debugging) - type: integer - maximum: 4 - PLAYBOOK: - format: dynamic + INTERVAL: + type: integer + format: uptime + CRONTAB: type: string - x-options: - field: key - types: - args: - title: Args - description: Playbook(s) - type: string - become: - title: Become - description: run operations with become (does not imply password - prompting) - type: boolean - become_method: - title: Become method - description: privilege escalation method to use (default=sudo), - use `ansible-doc -t become -l` to list valid choices. - type: string - check: - title: Check - description: don't make any changes; instead, try to predict some - of the changes that may occur - type: boolean - connection: - title: Connection - description: connection type to use (default=smart) - type: string - diff: - title: Diff - description: when changing (small) files and templates, show the - differences in those files; works great with --check - type: boolean - extra_vars: - title: Extra vars - description: set additional variables as key=value or YAML/JSON, - if filename prepend with @ - type: string - flush_cache: - title: Flush cache - description: clear the fact cache for every host in inventory - type: boolean - force_handlers: - title: Force handlers - description: run handlers even if a task fails - type: boolean - forks: - title: Forks - description: specify number of parallel processes to use (default=5) - type: integer - limit: - title: Limit - description: further limit selected hosts to an additional pattern - type: string - list_hosts: - title: List hosts - description: outputs a list of matching hosts; does not execute - anything else - type: boolean - list_tags: - title: List tags - description: list all available tags - type: boolean - list_tasks: - title: List tasks - description: list all tasks that would be executed - type: boolean - private_key: - title: Private key - description: use this file to authenticate the connection - type: string - format: secretfile - x-options: - media_types: - - '*/*' - scp_extra_args: - title: Scp extra args - description: specify extra arguments to pass to scp only (e.g. - -l) - type: string - sftp_extra_args: - title: Sftp extra args - description: specify extra arguments to pass to sftp only (e.g. - -f, -l) - type: string - skip_tags: - title: Skip tags - description: only run plays and tasks whose tags do not match - these values - type: string - ssh_common_args: - title: Ssh common args - description: specify common arguments to pass to sftp/scp/ssh - (e.g. ProxyCommand) - type: string - ssh_extra_args: - title: Ssh extra args - description: specify extra arguments to pass to ssh only (e.g. - -R) - type: string - start_at_task: - title: Start at task - description: start the playbook at the task matching this name - type: string - step: - title: Step - description: 'one-step-at-a-time: confirm each task before running' - type: boolean - syntax_check: - title: Syntax check - description: perform a syntax check on the playbook, but do not - execute it - type: boolean - tags: - title: Tags - description: only run plays and tasks tagged with these values - type: string - timeout: - title: Timeout - description: override the connection timeout in seconds (default=10) - type: integer - user: - title: User - description: connect as this user (default=None) - type: string - vault_password_file: - title: Vault password file - description: vault password file - type: string - format: secretfile - x-options: - media_types: - - '*/*' - verbose: - title: Verbose - description: verbose mode (-vvv for more, -vvvv to enable connection - debugging) - type: integer - maximum: 4 - kind: - name: kind - readOnly: true - type: string - x-hidden: true + format: crontab + enabled: + title: Enabled + type: boolean + save_result: + title: Save result + type: boolean x-properties-groups: '': - id - - key - - value - x-view-field-name: key - Playbook: + - name + - schedule + - enabled + - save_result + x-view-field-name: name + OneTemplatePeriodicTask: required: - - playbook + - name + - type + - schedule type: object properties: id: @@ -14156,41 +16456,128 @@ definitions: name: title: Name type: string - maxLength: 251 + maxLength: 255 minLength: 1 - playbook: - title: Playbook + type: + title: Type type: string - maxLength: 256 - minLength: 1 + enum: + - INTERVAL + - CRONTAB + schedule: + title: Schedule + type: string + format: dynamic + x-options: + field: type + choices: {} + types: + INTERVAL: + type: integer + format: uptime + CRONTAB: + type: string + format: crontab + enabled: + title: Enabled + type: boolean + save_result: + title: Save result + type: boolean + notes: + title: Notes + type: string + format: textarea x-properties-groups: '': - id - name - - playbook + - type + - schedule + - enabled + - save_result + - notes x-view-field-name: name - OnePlaybook: + ProjectImportInventory: + required: + - name + - plugin + - data type: object properties: - id: - title: Id + inventory_id: + title: Inventory id type: integer readOnly: true + x-options: + redirect: + operation_name: project_inventory + depend_field: null + concat_field_name: false name: title: Name type: string - maxLength: 251 minLength: 1 - playbook: - title: Playbook + plugin: + title: Plugin type: string - readOnly: true - minLength: 1 + enum: + - POLEMARCH_DB + - ANSIBLE_STRING + data: + title: Data + type: string + format: dynamic + x-options: + field: plugin + choices: {} + types: + POLEMARCH_DB: + required: + - body + type: object + properties: + body: + title: Body + type: string + format: file + x-options: + media_types: + - '*/*' + x-properties-groups: + '': + - body + x-view-field-name: body + ANSIBLE_STRING: + required: + - file + type: object + properties: + file: + title: File + type: object + properties: + name: + type: string + x-nullable: true + content: + type: string + x-nullable: true + mediaType: + type: string + x-nullable: true + x-format: namedbinfile + x-validators: {} + x-properties-groups: + '': + - file + x-view-field-name: file x-properties-groups: '': - - id + - inventory_id - name - - playbook + - plugin + - data x-view-field-name: name ProjectVariable: required: @@ -14220,86 +16607,232 @@ definitions: type: string format: dynamic x-options: - choices: - repo_sync_on_run: - - true - - false - repo_type: - - MANUAL - - GIT - - TAR field: key + choices: {} types: - ci_template: - type: integer - format: fk + repo_branch: + type: string + minLength: 1 + repo_password: + type: string + format: password + repo_key: + type: string + format: secretfile x-options: - dependence: null - filters: null - makeLink: true - model: - $ref: '#/definitions/ExecutionTemplate' - usePrefetch: true - value_field: id - view_field: name - repo_key: secretfile - repo_password: password + media_types: + - '*/*' repo_sync_on_run_timeout: type: integer format: uptime default: 0 + repo_sync_on_run: + type: boolean + ci_template: + type: string + format: fk + x-options: + model: + $ref: '#/definitions/ProjectTemplateOption' + value_field: id + view_field: extended_name + usePrefetch: true + makeLink: true + dependence: null + filters: null + repo_type: + type: string + enum: + - MANUAL + - GIT + - TAR x-properties-groups: '': - id - key - value x-view-field-name: key - Team: + DayJob: required: - - name + - status + - sum + - all + - day type: object properties: - id: - title: ID + status: + title: Status + type: string + minLength: 1 + sum: + title: Sum type: integer - readOnly: true - name: - title: Name + all: + title: All + type: integer + day: + title: Day + type: string + format: date-time + x-properties-groups: + '': + - status + - sum + - all + - day + x-view-field-name: sum + MonthJob: + required: + - status + - sum + - all + - month + type: object + properties: + status: + title: Status + type: string + minLength: 1 + sum: + title: Sum + type: integer + all: + title: All + type: integer + month: + title: Month + type: string + format: date-time + x-properties-groups: + '': + - status + - sum + - all + - month + x-view-field-name: sum + YearJob: + required: + - status + - sum + - all + - year + type: object + properties: + status: + title: Status type: string - maxLength: 150 minLength: 1 + sum: + title: Sum + type: integer + all: + title: All + type: integer + year: + title: Year + type: string + format: date-time x-properties-groups: '': - - id - - name - x-view-field-name: name - OneTeam: + - status + - sum + - all + - year + x-view-field-name: sum + StatsJobs: required: - - name + - day + - month + - year + type: object + properties: + day: + type: array + items: + $ref: '#/definitions/DayJob' + month: + type: array + items: + $ref: '#/definitions/MonthJob' + year: + type: array + items: + $ref: '#/definitions/YearJob' + x-properties-groups: + '': + - day + - month + - year + x-view-field-name: month + Stats: + required: + - projects + - inventories + - users + - execution_plugins + - inventory_plugins + - jobs + type: object + properties: + projects: + title: Projects + type: integer + inventories: + title: Inventories + type: integer + users: + title: Users + type: integer + execution_plugins: + title: Execution plugins + type: integer + inventory_plugins: + title: Inventory plugins + type: integer + jobs: + $ref: '#/definitions/StatsJobs' + x-properties-groups: + '': + - projects + - inventories + - users + - execution_plugins + - inventory_plugins + - jobs + x-view-field-name: inventories + User: + required: + - username type: object properties: id: title: ID type: integer readOnly: true - name: - title: Name + username: + title: Username + description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ + only. type: string + pattern: ^[\w.@+-]+$ maxLength: 150 minLength: 1 - notes: - title: Notes + is_active: + title: Is active + type: boolean + default: true + email: + title: Email type: string - format: textarea - owner: - $ref: '#/definitions/User' + format: email + minLength: 1 x-properties-groups: '': - id - - name - - notes - - owner - x-view-field-name: name + - username + - is_active + - email + x-view-field-name: username CreateUser: required: - username @@ -14407,8 +16940,6 @@ definitions: enum: - en - ru - - cn - - vi dark_mode: title: Dark mode type: boolean diff --git a/doc/conf.py b/doc/conf.py index 8da7b214..6778c0ec 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -186,7 +186,7 @@ intersphinx_mapping = { 'environ': ('https://django-environ.readthedocs.io/en/stable', None), 'vstutils': ('https://vstutils.vstconsulting.net/en/stable', None), - 'python': ('https://docs.python.org/3.6', None), + 'python': ('https://docs.python.org/3.8', None), 'uwsgi': ('https://uwsgi-docs.readthedocs.io/en/latest', None), 'celery': ('https://docs.celeryq.dev/en/latest/', None), } @@ -194,7 +194,7 @@ extlinks = { 'wiki': ('https://en.wikipedia.org/wiki/%s', None), - 'django_docs': ('https://docs.djangoproject.com/en/3.2/ref/%s', None), + 'django_docs': ('https://docs.djangoproject.com/en/4.1/ref/%s', None), } set_type_checking_flag = True diff --git a/doc/config.rst b/doc/config.rst index 40bb1481..d6431345 100644 --- a/doc/config.rst +++ b/doc/config.rst @@ -387,6 +387,24 @@ Here you can specify settings used by archive (e.g. TAR) projects. * **max_content_length** - Maximum download file size. Format: ``30``, where unit is *b*, *kb*, *mb*, *gb*, *tb*. +.. _history: + +History output plugins +---------------------- + +Section ``[history]`` + +This section of the configuration provides to configure the output history plugin settings. + +* **output_plugins** - a comma-separated list of plugin names that are used to record history lines. Plugins must have the ``writeable`` attribute. Default: ``database`` +* **read_plugin** - the name of the plugin used to display the history lines in the api. Default is ``database``. + +Other parameters are set in the plugin options section: ``history.plugin.PLUGIN_NAME.options``. + +.. warning:: + Be careful. The reader plugin must be able to read the data. + Therefore, the storage from which the reading plugin takes data must be filled with one of the writer plugins. + Production web settings ----------------------- @@ -396,7 +414,7 @@ Here placed settings related to web-server used by Polemarch in production (for deb and rpm packages by default). Most of them related to system paths (logging, PID-file and so on). -.. note:: More settings in :doc:`uwsgi:Configuration`. +.. note:: More settings in :doc:`uwsgi:Configuration` (deprecated) and `uvicorn docs `_. .. warning:: In production, it is recommended to use Centrifugo in order to reduce the load on the backend from automatic page updates. @@ -406,41 +424,72 @@ Configuration options This section contains additional information for configure additional elements. -#. If you need set ``https`` for your web settings, you can do it using HAProxy, Nginx or configure it in ``settings.ini``. +#. If you need to set ``https`` for your web settings, you can do it using HAProxy, Nginx or configure it in +``settings.ini``. .. sourcecode:: ini - [uwsgi] - https = 0.0.0.0:8443,foobar.crt,foobar.key - addrport = 127.0.0.1:8080 + # [uvicorn] + # ssl_keyfile = /etc/polemarch/polemarch.key + # ssl_certfile = /etc/polemarch/polemarch.crt #. We strictly do not recommend running the web server from root. Use HTTP proxy to run on privileged ports. .. note:: If you need more options you can find it in :doc:`vstutils:config` in the official vstutils documentation. -.. _plugins_config: +.. _inventory_plugins_config: -Execution plugins ------------------ +Inventory plugins config +------------------------ + +To connect an inventory plugin to Polemarch, there should be a section + +.. sourcecode:: ini + + [inventory.plugin.] + backend = import.path.to.plugin.Class + +Where + +* **** - name that will be available in API to work with +* **backend** - is a python import path to plugin class + +Also you may add options which will be available in plugin: + +.. sourcecode:: ini + + [inventory.plugin..options] + some_option = some_option + +To read more about plugins, please see :doc:`plugins`. + + +.. _execution_plugins_config: + +Execution plugins config +------------------------ -To connect a plugin to Polemarch, there should be a section +To connect an execution plugin to Polemarch, there should be a section .. sourcecode:: ini - [plugin.] + [execution.plugin.] backend = import.path.to.plugin.Class + compatible_inventory_plugins = , Where -* **** - name that will available in API to work with +* **** - name that will be available in API to work with * **backend** - is a python import path to plugin class +* **compatible_inventory_plugins** - inventory plugins which are compatible with this execution plugin. If omitted, + it's supposed that execution plugin cannot work with any inventory. Also you may add options which will be available in plugin: .. sourcecode:: ini - [plugin..options] + [execution.plugin..options] some_option = some_option To read more about plugins, please see :doc:`plugins`. diff --git a/doc/contribute.rst b/doc/contribute.rst index a6b16149..5885e0d7 100644 --- a/doc/contribute.rst +++ b/doc/contribute.rst @@ -20,7 +20,7 @@ Here is how to proceed: sudo apt-get install python3-virtualenv python3.8 python3.8-dev gcc libffi-dev libkrb5-dev libffi7 libssl-dev libyaml-dev libsasl2-dev libldap2-dev default-libmysqlclient-dev sshpass git tox - .. note:: Your patch must work at Python 3.6 because older Python may not work correctly with Polemarch. + .. note:: Your patch must work at Python 3.8 because older Python may not work correctly with Polemarch. #. Make fork of our repository and clone it to your local development machine. diff --git a/doc/gui.rst b/doc/gui.rst index f8a6e68c..b6fcf547 100644 --- a/doc/gui.rst +++ b/doc/gui.rst @@ -93,7 +93,7 @@ and run playbooks from project: If you setup modules directory, we import all modules from this directory and set name ``polemarch.project.[module_name]``. - * Playbook - import all files with ``.yml`` extention from root directory of the **Project**. + * Playbook - import all files with ``.yml`` extension from root directory of the **Project**. * If you need to set variables globally, not only for run, you can use ``group_vars`` and ``host_vars`` in root directory of project. @@ -127,24 +127,23 @@ Also there are some new buttons: Sublinks buttons: -* :guilabel:`Execution template` - this button opens project's template list; +* :guilabel:`Ansible modules` - this button opens project's module list; +* :guilabel:`Ansible playbooks` - this button opens project's playbook list; +* :guilabel:`Execution templates` - this button opens project's template list; * :guilabel:`History` - this button opens project executions' history list; * :guilabel:`Inventory` - this button opens project's inventory list; -* :guilabel:`Module` - this button opens project's module list; -* :guilabel:`Periodic task` - this button opens project's periodic task list; -* :guilabel:`Playbook` - this button opens project's playbook list; * :guilabel:`Variables` - this button opens project's variables list. Action buttons: * :guilabel:`Copy` - |copy_button_def|; -* :guilabel:`Execute module` - this button opens "execute module" action page; -* :guilabel:`Execute playbook` - this button opens "execute playbook" action page; +* :guilabel:`Execute ansible module` - this button opens "execute module" action page; +* :guilabel:`Execute ansible playbook` - this button opens "execute playbook" action page; * :guilabel:`Set owner` - |set_owner_button_def|; -* :guilabel:`Sync` - this button syncs your Polemarch project with GIT repository. +* :guilabel:`Sync` - this button syncs your Polemarch project with repository. If you want to edit values of some fields on any page in Polemarch, you should click the -:guilabel:`Edit` button to activate edit mod. +:guilabel:`Edit` button to activate edit mode. .. image:: new_screenshots/test_project_1_edit.png @@ -153,7 +152,7 @@ In this mode, you can change the project's name, update the repository URL, and * :guilabel:`Save` - |save_button_def|. * :guilabel:`Reload` - |reload_button_def|. -Now, let's back to read only mod of our project page. +Now, let's back to read only mode of our project page. .. image:: new_screenshots/test_project_1.png @@ -169,7 +168,7 @@ Once your project status changes to "OK", you can start working with Polemarch. .. warning:: If you have trouble when cloning from *local* git repository, this may be caused by - ``protocol.file.allow`` setting is is set to ``user`` in your git config. + ``protocol.file.allow`` setting that is set to ``user`` in your git config. For more information please see `this topic `_. One of the solutions might be: @@ -220,7 +219,7 @@ Other available project variables, that you can add with clicking the :guilabel: You can add ``ANSIBLE_CONFIG`` environment variable by creating ``env_ANSIBLE_CONFIG`` variable in your project. This will make your project to use specified config at every execution. Make sure that path is relative to project directory. -Let's edit **repo_branch** variable. To do it you need click the **repo_branch** item in list. +Let's edit **repo_branch** variable. To do it you to need click the **repo_branch** item in list. Then you will see the following page: .. image:: new_screenshots/test_project_variables_2.png @@ -244,22 +243,22 @@ After successful project synchronization you will see selected branch name in 'b .. image:: new_screenshots/test_project_variables_4.png -Module execution ----------------- +Ansible Module execution +------------------------ -The simplest way to start using Polemarch is to execute module. -To make this action click the :guilabel:`Execute module` button on project page. +The simplest way to start using Polemarch is to execute ansible module. +To make this action click the :guilabel:`Execute ansible module` button on project page. .. image:: new_screenshots/execute_module_1.png As you can see, there are two fields on this page: * **Module** - autocomplete field with the list of project's modules. -* **Add field** - select field, that provides user with new variables fields for module execution. +* **Add field** - add additional argument. Also there is only one button on this page: -* :guilabel:`Execute module` - |exec_button_def|. +* :guilabel:`Execute ansible module` - |exec_button_def|. For example, let's execute module ``shell`` on ``localhost`` with argument ``uptime``. To do it we need to add next fields: @@ -288,7 +287,7 @@ To do it before every module/playbook execution is rather inconvenient. In this case Polemarch templates save our time and nerves. Polemarch template is an object, that saves all options that user used during task execution. -For example, let's create task template (template that uses playbooks). +For example, let's create template which executes ansible playbook. To do it click the :guilabel:`Execution templates` button on project page. As you can see, there are no templates in the project's template list now. @@ -304,19 +303,19 @@ To create template click the :guilabel:`Create` button on this page. As you can see, there are several fields on this page: -* **Name** - name of template. - -* **Type** - type of template (MODULE or TASK). +* **Name** - name of template at your choice. -* **Notes** - not required field for some user’s notes, for example, - for what purpose this template was created or something like this. +* **Plugin** - plugin which executes our task. There are two built in plugins: *ANSIBLE_PLAYBOOK* + and *ANSIBLE_MODULE* allows you work with Ansible. -* **Inventory** - it can be inventory from Polemarch system, list of hosts, that are separated by ``,``, or path to your inventory in project folder. + .. note:: + You can create your own execution plugin allows you to run any shell command. If you're + interested in, checkout `Execution plugins documentation `_. -* **Playbook** - name of playbook, which template will be used during execution. +* **Playbook** - name of playbook which will be used during execution. -* **Add fields** - here you can add variables for this template. In our case we need to create variable ``connection=local``, - because we use "localhost" as inventory. +* **Add fields** - here you can add additional arguments for this template. In our case we're + going to use ``inventory`` and ``connection`` arguments. After all fields have been filled, our page started look like: @@ -326,139 +325,91 @@ After template creation you will see the next page: .. image:: new_screenshots/create_template_4.png -As you can see there is only one new field on this page: +Thought all our arguments are gone? Don't worry. When you create a template, Polemarch also creates +a default *option* that holds all arguments. Let's check this out by going to +:guilabel:`Sublinks` > :guilabel:`Options`: -* **Id** - |id_field_def|. +.. image:: new_screenshots/template_option_list.png -There are also several buttons here: +Here is the list of all options which our template can use. You can always create a new option. +Let's click on *default*: -* :guilabel:`Edit` - |edit_button_def|. -* :guilabel:`Remove` - |remove_button_def| template. +.. image:: new_screenshots/template_option_detail_default.png -Sublinks buttons: +Now we are ready to execute our template. To do it you have two ways: -* :guilabel:`Option` - this button opens template's option list. +* Being on the option page, click :guilabel:`Actions` > :guilabel:`Execute` -Action buttons: +* Being on the template page, click :guilabel:`Actions` > :guilabel:`Execute`, + select an appropriate option and click :guilabel:`Execute` again. -* :guilabel:`Execute` - this button opens "execute template" action page. +These scenarios are identical. Use the one that suites you best. -Now we are ready to execute our template. To do it you need to click the :guilabel:`Execute` button. +As we are already on the option page, let's use the first approach. So, clicking the +:guilabel:`Execute` gives us the execution history page: .. image:: new_screenshots/execute_template_1.png - -As you can see, there is only one field on this page: - -* **Option** - autocomplete field with the list of template's options. - -Also there is only one button on this page: - -* :guilabel:`Execute` - |exec_button_def| - -We don't have any template's options in our system, so just click the :guilabel:`Execute` button. - -When status of your template execution changes to "OK" you will see the next page: - .. image:: new_screenshots/execute_template_2.png -.. image:: new_screenshots/execute_template_3.png Periodic tasks -------------- -Now let's imagine, that you need to execute some task (module/playbook/template) -with some interval or on the first day of month, for example, and you do not want -to execute it everytime by yourself. +Now let's imagine, that you need to execute task with some interval or +on the first day of month, for example, and you do not want +to execute it every time by yourself. -In this case, Polemarch has such useful object type, as periodic task. +For this case Polemarch has periodic tasks. -Periodic task - is a module/playbook/template execution -which Polemarch makes by himself with some interval. +Polemarch executes periodic tasks regularly after specified period of time +or by crontab schedule. -Let's create periodic task based on our "test-task-template". -To do it open project page: +Remember our *test-task-template* from previous example? Let's create a periodic task for it's +*default* option. -.. image:: new_screenshots/test_project_variables_4.png +.. image:: new_screenshots/template_option_detail_default.png -And choose :menuselection:`Sublinks --> Periodic task`: +Click on the :guilabel:`Sublinks` > :guilabel:`Periodic tasks`. .. image:: new_screenshots/periodic_task_empty_list.png -As you can see, there are no periodic tasks in the project's periodic task list now. +As you can see, there are no periodic tasks for now. There is only one button here: * :guilabel:`Create` - |create_button_def| periodic task. -To create periodic task click the :guilabel:`Create` button on this page. +To create a periodic task click the :guilabel:`Create` button on this page. .. image:: new_screenshots/create_periodic_task_1.png As you can see, the form of new periodic task creation consists of following fields: -* **Name** - name of your periodic task. - -* **Notes** - not required field for some user’s notes, for example, - for what purpose this periodic task was created or something like this. - -**Execute Parameters** - -* **Task type** - type of periodic task (PLAYBOOK, MODULE, TEMPLATE). - -* **Mode** - name of module or playbook (for periodic tasks with PLAYBOOK/MODULE type only). - -* **Inventory** - it can be inventory from Polemarch system, list of hosts, that are separated by ``,``, or path to your inventory in project folder - (for periodic tasks with PLAYBOOK/MODULE type only). - -* **Template** - name of template (for periodic tasks with TEMPLATE type only). +* **Name** - name of periodic task at your choice. -* **Template opt** - name of template's option (for periodic tasks with TEMPLATE type only). +* **Type** - type of schedule (INTERVAL or CRONTAB). -* **Save result** - boolean field, it means to save or not to save results of periodic tasks execution in history. - -**Schedule** +* **Schedule** - value of execution interval. -* **Enable** - boolean field, it means to activate or deactivate periodic task. + * If "type" is INTERVAL, task runs every time after specified interval has elapsed. + * If "type" is CRONTAB, task runs according specified schedule. -* **Interval type** - type of execution interval (CRONTAB, INTERVAL). +* **Enabled** - if active, the task will run, otherwise it won't. -* **Schedule** - value of execution interval. +* **Save result** - if active than each execution will generate a history page, + otherwise it won't. - * If "interval type" = INTERVAL, value of this field means amount of seconds. - * If "interval type" = CRONTAB, value of this field means CRONTAB interval. +* **Notes** - not required field for some user's notes, for example, + for what purpose this periodic task was created or something like this. After all fields have been filled, our page started look like: .. image:: new_screenshots/create_periodic_task_2.png -After periodic task creation you will see the next page: - -.. image:: new_screenshots/test_periodic_task.png - -As you can see there is only one new fields on this page: - -* **Id** - |id_field_def|. - -There are also several buttons here: - -* :guilabel:`Edit` - |edit_button_def|. -* :guilabel:`Remove` - |remove_button_def| periodic task. +Let's save the task. -Sublinks buttons: - -* :guilabel:`Variables` - this button opens project’s variables list (for periodic tasks with PLAYBOOK/MODULE type only). - -Action buttons: - -* :guilabel:`Execute` - this button opens "execute periodic task" action page. - -Let's start our periodic task execution. To do it click the :guilabel:`Execute` button. - -.. image:: new_screenshots/periodic_task_execution_1.png -.. image:: new_screenshots/periodic_task_execution_2.png - -As you can see on history page, our 'test-periodic-task' executes every 10 seconds, -as we set it during periodic task creation. +Now you can check history list page. Every 10 seconds an execution history will be generated +here. Periodic tasks differ from other tasks by "system" executor: .. image:: new_screenshots/periodic_task_execution_history.png @@ -474,11 +425,24 @@ you need to create it in Polemarch. Do not forget to add you inventory to project after it's creation. To do it click the :guilabel:`Inventory` button on project page. -By inventory’s creation in this case, we mean creation of inventory +Since v3.0.0 inventories can be state managed or not depending on plugin which is manages inventory. We will check +them both with an example of built-in `ANSIBLE_STRING` and `ANSIBLE_FILE` inventories which are uses state, and +`POLEMARCH_DB` inventory which is not. + +.. note:: + You can create your own inventory plugin which will manage its state as you define. If you're + interested in, checkout `Inventory plugins documentation `_. + +POLEMARCH_DB inventory +~~~~~~~~~~~~~~~~~~~~~~ + +POLEMARCH_DB inventory stores all data in separate entities - groups, hosts and variables and not uses state. + +By inventory's creation in this case, we mean creation of inventory that includes at least one group, which, in turn, includes at least one host. In other words, in addition to the inventory, the user must create a host and a group. -To better understand this, let’s look at next images, which will explain you how to create +To better understand this, let's look at next images, which will explain you how to create inventory. To create inventory you should choose 'Inventories' in left side menu and click the :guilabel:`Create` button. @@ -486,11 +450,11 @@ Here you can see the inventory creation form. .. image:: new_screenshots/create_inventory.png -As you can see, there are only 2 fields on this page: +As you can see, there are only 3 fields on this page: * **Name** - name of inventory. - -* **Notes** - not required field for some user’s notes, for example, +* **Plugin** - plugin which will manage our inventory. We will select `POLEMARCH_DB` plugin here. +* **Notes** - not required field for some user's notes, for example, for what purpose this inventory was created or something like this. And there is only one button here: @@ -527,12 +491,12 @@ Action buttons: * :guilabel:`Copy` - |copy_button_def|. * :guilabel:`Set owner` - |set_owner_button_def|. -Let’s look how you can create a group for this inventory. +Let's look how you can create a group for this inventory. To do it click the :guilabel:`Group` button. Group ------ +_____ .. image:: new_screenshots/test_inventory_group.png @@ -554,7 +518,7 @@ As you can see, the form of new group creation consists of following fields: * **Contains groups** - boolean field, it means ability of group to contain child groups. -* **Notes** - not required field for some user’s notes, for example, +* **Notes** - not required field for some user's notes, for example, for what purpose this group was created or something like this. .. warning:: @@ -588,9 +552,9 @@ Action buttons: * :guilabel:`Set owner` - |set_owner_button_def|. Hosts ------ +_____ -Let’s look how you can create a host for this group. +Let's look how you can create a host for this group. To do it click the :guilabel:`Create` button. .. image:: new_screenshots/test_inventory_group_host.png @@ -611,7 +575,7 @@ As you can see, the form of new host creation consists of following fields: * **Name** - name of your host. -* **Notes** - not required field for some user’s notes, for example, +* **Notes** - not required field for some user's notes, for example, for what purpose this host was created or something like this. * **Type** - type of host (RANGE, HOST). @@ -643,11 +607,11 @@ Action buttons: * :guilabel:`Copy` - |copy_button_def|. * :guilabel:`Set owner` - |set_owner_button_def|. -Let’s look how you can create a variables for host, group and inventory. +Let's look how you can create a variables for host, group and inventory. Variables for inventory, group, hosts -------------------------------------- +_____________________________________ The process of variable creation for inventory is the same as for group or host. So, let's look it at the example of variable creation for host. @@ -682,6 +646,56 @@ As you can see there is only 1 new field on this page: * **Id** - |id_field_def|. +ANSIBLE_STRING inventory +~~~~~~~~~~~~~~~~~~~~~~~~ + +Let's return to inventory list page and create a new inventory: + +.. image:: new_screenshots/create_inventory_ansible_string.png + +Our created inventory looks like this: + +.. image:: new_screenshots/inventory_detail_ansible_string.png + +As you can see, compared to `POLEMARCH_DB` inventory, this one is state managed. Its sublinks will have the only +`state` link. Let's click it and check the `state` page: + +.. image:: new_screenshots/inventory_state_ansible_string.png + +These types of inventory stores an extension of file, its body and specifies either file should be executable or not. +Let's edit the state. Click :guilabel:`Edit` button: + +.. image:: new_screenshots/inventory_state_edit_ansible_string.png + +After saving: + +.. image:: new_screenshots/inventory_state_ansible_string_2.png + +Now inventory is ready for using.. + + +ANSIBLE_FILE inventory +~~~~~~~~~~~~~~~~~~~~~~ + +Again, returning to inventory list page, let's create and inventory with `ANSIBLE_FILE` plugin: + +.. image:: new_screenshots/create_inventory_ansible_file.png + +These inventories are also stores data in state as `State managed` hints us: + +.. image:: new_screenshots/inventory_detail_ansible_file.png + +Let's edit the state (click :guilabel:`Sublinks`, then :guilabel:`State` and then :guilabel:`Edit`): + +.. image:: new_screenshots/inventory_state_edit_ansible_file.png + +Here we specify the relative path of inventory file which should be inside the directory with project that will be +executed. + +.. image:: new_screenshots/inventory_state_ansible_file_saved.png + +Done. Inventory is ready for use. + Import inventory ---------------- @@ -689,6 +703,13 @@ Import inventory If you have an inventory file and you want to add items from it to Polemarch, you can do it quickly using "Import Inventory". +.. note:: + Import action may be available or not depending on which plugin inventory uses. For example, built-in + `POLEMARCH_DB`, `ANSIBLE_STRING` supports import but `ANSIBLE_FILE` is not. + + Here we will look at import with an example of `POLEMARCH_DB` inventory. Import with `ANSIBLE_STRING` inventories + works similar except that imported data saves to inventory state. + For example, let's use next inventory file: .. sourcecode:: ini @@ -775,29 +796,23 @@ Example of ``.polemarch.yaml``: --- sync_on_run: true - templates: - test-module: - notes: Module test template - kind: Module - data: - group: all - vars: {} - args: '' + test-module: + plugin: ANSIBLE_MODULE + options: + default: module: ping + group: all inventory: localhost, - options: - uptime: - args: uptime - module: shell - test playbook: - notes: Playbook test template - kind: Task - data: - vars: {"become": true} + uptime: + module: ping + args: uptime + inventory: 127.0.0.1, + test-playbook: + plugin: ANSIBLE_PLAYBOOK + options: + update: playbook: main.yml - inventory: localhost, - options: - update: {"playbook": "other.yml"} + become: true templates_rewrite: true view: fields: @@ -838,6 +853,44 @@ Example of ``.polemarch.yaml``: help: Some help text +.. note:: + Since Polemarch v3.0.0 execution templates system has been changed a lot. Along with it, + the format for describing templates has also changed. We still support old format + like in the next example: + + .. sourcecode:: yaml + + ... + templates: + test-module: + notes: Module test template + kind: Module + data: + group: all + vars: {} + args: '' + module: ping + inventory: localhost, + options: + uptime: + args: uptime + module: shell + test playbook: + notes: Playbook test template + kind: Task + data: + vars: {"become": true} + playbook: main.yml + inventory: localhost, + options: + update: {"playbook": "other.yml"} + ... + + Here *kind* (Task, Module) is converted to *plugin* (ANSIBLE_PLAYBOOK, ANSIBLE_MODULE) + + But keep in mind that this format has been deprecated and it's + desirable to rewrite templates to match the new format. + In GUI process of working with ``.polemarch.yaml`` will be the following: Firstly, you need to create a project with ``.polemarch.yaml`` diff --git a/doc/installation.rst b/doc/installation.rst index e6c40763..ae2eb9a7 100644 --- a/doc/installation.rst +++ b/doc/installation.rst @@ -19,18 +19,25 @@ Install from PyPI sudo apt-get install python3-virtualenv python3.8 python3.8-dev gcc libffi-dev libkrb5-dev libffi7 libssl-dev libyaml-dev libsasl2-dev libldap2-dev default-libmysqlclient-dev sshpass git - Required packages on Debian 10 (as root user): + Required packages on Ubuntu 22.04: .. sourcecode:: bash - apt-get install python3-virtualenv python3.7 python3.7-dev gcc libffi-dev libkrb5-dev libffi6 libssl-dev libyaml-dev libsasl2-dev libldap2-dev default-libmysqlclient-dev sshpass git virtualenv + sudo apt-get install python3-virtualenv python3.10 python3.10-dev gcc libffi-dev libkrb5-dev libffi7 libssl-dev libyaml-dev libsasl2-dev libldap2-dev default-libmysqlclient-dev sshpass git - Required packages on Red Hat/CentOS 7: + Required packages on Debian 11 (as root user): .. sourcecode:: bash - sudo yum install epel-release - sudo yum install python36 python36-devel python36-virtualenv openssl-devel libyaml-devel krb5-devel krb5-libs openldap-devel mysql-devel git sshpass + apt-get install python3-virtualenv python3.9 python3.9-dev gcc libffi-dev libkrb5-dev libffi7 libssl-dev libyaml-dev libsasl2-dev libldap2-dev default-libmysqlclient-dev sshpass git + + Required packages on Red Hat/CentOS 7 (sqlite not supported): + + .. sourcecode:: bash + + sudo yum install epel-release centos-release-scl-rh centos-release-scl + sudo yum --enablerepo=centos-sclo-rh install rh-python38 rh-python38-python-devel gcc openssl-devel libyaml-devel krb5-devel krb5-libs openldap-devel mysql-devel git sshpass + sudo /opt/rh/rh-python38/root/usr/bin/python -m pip install virtualenv Required packages on Red Hat/Alma/Rocky 8: @@ -39,7 +46,9 @@ Install from PyPI sudo dnf install epel-release sudo dnf install python38-devel python3-virtualenv gcc openssl-devel libyaml krb5-devel krb5-libs openldap-devel mysql-devel git sshpass - .. note:: If your OS is not in the list of presented OS, but you understand the differences between these OS and yours, then you can adapt this list of packages to your platform. We dont tie environment to system package versions as much as possible. + .. note:: + If your OS is not in the list of presented OS, but you understand the differences between these OS and yours, + then you can adapt this list of packages to your platform. We dont tie environment to system package versions as much as possible. #. Install mysql-server: @@ -51,6 +60,9 @@ Install from PyPI sudo apt-get install default-mysql-server + .. warning:: + Do not use MySQL version less then 8.0. + #. Create database in mysql with this commands: @@ -89,16 +101,23 @@ Install from PyPI .. sourcecode:: bash - # For Debian 10 use python3.7 - # For rhel/centos7 use python3.6 # In some cases use sudo for first command. + # For rhel/centos7 use: + /opt/rh/rh-python38/root/usr/bin/python -m virtualenv /opt/polemarch + # For Debian with Python 3.9: + virtualenv --python=python3.9 /opt/polemarch + # For Ubuntu 22.04 and other debian distributions with Python 3.10: + virtualenv --python=python3.10 /opt/polemarch + # For other distributions: virtualenv --python=python3.8 /opt/polemarch + + # Make required directories sudo mkdir -p /etc/polemarch sudo chown -R polemarch:polemarch /opt/polemarch /etc/polemarch sudo -u polemarch -i source /opt/polemarch/bin/activate - .. note:: If you have more then one Python version, recommended use Python 3.6 or newer for virtualenv. + .. note:: If you have more then one Python version, recommended use Python 3.8 or newer for virtualenv. #. Install Polemarch: @@ -152,11 +171,11 @@ Install from PyPI .. code-block:: ini [cache] - backend = django_redis.cache.RedisCache + backend = django.core.cache.backends.redis.RedisCache location = redis://127.0.0.1:6379/1 [locks] - backend = django_redis.cache.RedisCache + backend = django.core.cache.backends.redis.RedisCache location = redis://127.0.0.1:6379/2 .. note:: Set host ip and port instead of 127.0.0.1:6379 if you connect to remote server. @@ -181,14 +200,13 @@ Install from PyPI .. code-block:: ini [uwsgi] - harakiri = 120 - vacuum = True - http-keepalive = true pidfile = /opt/polemarch/pid/polemarch.pid log_file = /opt/polemarch/logs/polemarch_web.log - # Uncomment it for HTTPS and install `uwsgi` pypi package to env: - # addrport = 127.0.0.1:8080 - # https = 0.0.0.0:443,/etc/polemarch/polemarch.crt,/etc/polemarch/polemarch.key + + # Uncomment it for HTTPS: + # [uvicorn] + # ssl_keyfile = /etc/polemarch/polemarch.key + # ssl_certfile = /etc/polemarch/polemarch.crt [worker] # output will be /opt/polemarch/logs/polemarch_worker.log @@ -200,7 +218,7 @@ Install from PyPI Also if you need to set your own path for logfile or pidfile, different from the path from example, you can do it, but make sure, that user, which starts Polemarch has write-permissions for these directory and file. - If you run it as root, we recommend to add in ```[uwsig]``` params ```uid``` and ```gid``` + If you run it as root, we recommend to add in ``[uwsig]`` params ``uid`` and ``gid`` (`read more `_). .. tip:: More configuration settings you can find in :doc:`Configuration manual `. diff --git a/doc/new_screenshots/create_inventory.png b/doc/new_screenshots/create_inventory.png index 3c358a76..b535dd3b 100644 Binary files a/doc/new_screenshots/create_inventory.png and b/doc/new_screenshots/create_inventory.png differ diff --git a/doc/new_screenshots/create_inventory_ansible_file.png b/doc/new_screenshots/create_inventory_ansible_file.png new file mode 100644 index 00000000..ea0138fc Binary files /dev/null and b/doc/new_screenshots/create_inventory_ansible_file.png differ diff --git a/doc/new_screenshots/create_inventory_ansible_string.png b/doc/new_screenshots/create_inventory_ansible_string.png new file mode 100644 index 00000000..ba0ede5b Binary files /dev/null and b/doc/new_screenshots/create_inventory_ansible_string.png differ diff --git a/doc/new_screenshots/create_periodic_task_1.png b/doc/new_screenshots/create_periodic_task_1.png index 72f03e5d..57054fea 100644 Binary files a/doc/new_screenshots/create_periodic_task_1.png and b/doc/new_screenshots/create_periodic_task_1.png differ diff --git a/doc/new_screenshots/create_periodic_task_2.png b/doc/new_screenshots/create_periodic_task_2.png index 19fbe14b..0c0d98d0 100644 Binary files a/doc/new_screenshots/create_periodic_task_2.png and b/doc/new_screenshots/create_periodic_task_2.png differ diff --git a/doc/new_screenshots/create_project.png b/doc/new_screenshots/create_project.png index b0d3e7a7..309c48cc 100644 Binary files a/doc/new_screenshots/create_project.png and b/doc/new_screenshots/create_project.png differ diff --git a/doc/new_screenshots/create_template.png b/doc/new_screenshots/create_template.png index 397dc68c..d0b83585 100644 Binary files a/doc/new_screenshots/create_template.png and b/doc/new_screenshots/create_template.png differ diff --git a/doc/new_screenshots/create_template_2.png b/doc/new_screenshots/create_template_2.png index 7fabf1aa..880e726f 100644 Binary files a/doc/new_screenshots/create_template_2.png and b/doc/new_screenshots/create_template_2.png differ diff --git a/doc/new_screenshots/create_template_3.png b/doc/new_screenshots/create_template_3.png index 05a7501d..b923e066 100644 Binary files a/doc/new_screenshots/create_template_3.png and b/doc/new_screenshots/create_template_3.png differ diff --git a/doc/new_screenshots/create_template_4.png b/doc/new_screenshots/create_template_4.png index a3acd54b..1802de1e 100644 Binary files a/doc/new_screenshots/create_template_4.png and b/doc/new_screenshots/create_template_4.png differ diff --git a/doc/new_screenshots/dashboard.png b/doc/new_screenshots/dashboard.png index 7e232148..47f54c03 100644 Binary files a/doc/new_screenshots/dashboard.png and b/doc/new_screenshots/dashboard.png differ diff --git a/doc/new_screenshots/execute_module_1.png b/doc/new_screenshots/execute_module_1.png index 40972264..56d902ab 100644 Binary files a/doc/new_screenshots/execute_module_1.png and b/doc/new_screenshots/execute_module_1.png differ diff --git a/doc/new_screenshots/execute_module_2.png b/doc/new_screenshots/execute_module_2.png index 0ce78744..89534873 100644 Binary files a/doc/new_screenshots/execute_module_2.png and b/doc/new_screenshots/execute_module_2.png differ diff --git a/doc/new_screenshots/execute_module_3.png b/doc/new_screenshots/execute_module_3.png index 1be3bed2..12869134 100644 Binary files a/doc/new_screenshots/execute_module_3.png and b/doc/new_screenshots/execute_module_3.png differ diff --git a/doc/new_screenshots/execute_module_4.png b/doc/new_screenshots/execute_module_4.png index 699ea181..c6fcfd6c 100644 Binary files a/doc/new_screenshots/execute_module_4.png and b/doc/new_screenshots/execute_module_4.png differ diff --git a/doc/new_screenshots/execute_template_1.png b/doc/new_screenshots/execute_template_1.png index 6e8f58bc..02ad6c1f 100644 Binary files a/doc/new_screenshots/execute_template_1.png and b/doc/new_screenshots/execute_template_1.png differ diff --git a/doc/new_screenshots/execute_template_2.png b/doc/new_screenshots/execute_template_2.png index 57d42489..06f0cf07 100644 Binary files a/doc/new_screenshots/execute_template_2.png and b/doc/new_screenshots/execute_template_2.png differ diff --git a/doc/new_screenshots/execute_template_3.png b/doc/new_screenshots/execute_template_3.png deleted file mode 100644 index 0d5ee595..00000000 Binary files a/doc/new_screenshots/execute_template_3.png and /dev/null differ diff --git a/doc/new_screenshots/import_inventory.png b/doc/new_screenshots/import_inventory.png index a2d39ce4..b487997f 100644 Binary files a/doc/new_screenshots/import_inventory.png and b/doc/new_screenshots/import_inventory.png differ diff --git a/doc/new_screenshots/import_inventory_2.png b/doc/new_screenshots/import_inventory_2.png index 21f545f4..724b8def 100644 Binary files a/doc/new_screenshots/import_inventory_2.png and b/doc/new_screenshots/import_inventory_2.png differ diff --git a/doc/new_screenshots/import_inventory_3.png b/doc/new_screenshots/import_inventory_3.png index 13e4a769..18cb79a9 100644 Binary files a/doc/new_screenshots/import_inventory_3.png and b/doc/new_screenshots/import_inventory_3.png differ diff --git a/doc/new_screenshots/import_inventory_4.png b/doc/new_screenshots/import_inventory_4.png index c66f8b2e..32f7b75e 100644 Binary files a/doc/new_screenshots/import_inventory_4.png and b/doc/new_screenshots/import_inventory_4.png differ diff --git a/doc/new_screenshots/import_inventory_5.png b/doc/new_screenshots/import_inventory_5.png index dfac1eae..5a65f2ff 100644 Binary files a/doc/new_screenshots/import_inventory_5.png and b/doc/new_screenshots/import_inventory_5.png differ diff --git a/doc/new_screenshots/inventory_detail_ansible_file.png b/doc/new_screenshots/inventory_detail_ansible_file.png new file mode 100644 index 00000000..6a2e08d2 Binary files /dev/null and b/doc/new_screenshots/inventory_detail_ansible_file.png differ diff --git a/doc/new_screenshots/inventory_detail_ansible_string.png b/doc/new_screenshots/inventory_detail_ansible_string.png new file mode 100644 index 00000000..e561e74b Binary files /dev/null and b/doc/new_screenshots/inventory_detail_ansible_string.png differ diff --git a/doc/new_screenshots/inventory_state_ansible_file_saved.png b/doc/new_screenshots/inventory_state_ansible_file_saved.png new file mode 100644 index 00000000..1c5edf39 Binary files /dev/null and b/doc/new_screenshots/inventory_state_ansible_file_saved.png differ diff --git a/doc/new_screenshots/inventory_state_ansible_string.png b/doc/new_screenshots/inventory_state_ansible_string.png new file mode 100644 index 00000000..9cedf236 Binary files /dev/null and b/doc/new_screenshots/inventory_state_ansible_string.png differ diff --git a/doc/new_screenshots/inventory_state_ansible_string_2.png b/doc/new_screenshots/inventory_state_ansible_string_2.png new file mode 100644 index 00000000..803cab71 Binary files /dev/null and b/doc/new_screenshots/inventory_state_ansible_string_2.png differ diff --git a/doc/new_screenshots/inventory_state_edit_ansible_file.png b/doc/new_screenshots/inventory_state_edit_ansible_file.png new file mode 100644 index 00000000..66831a5c Binary files /dev/null and b/doc/new_screenshots/inventory_state_edit_ansible_file.png differ diff --git a/doc/new_screenshots/inventory_state_edit_ansible_string.png b/doc/new_screenshots/inventory_state_edit_ansible_string.png new file mode 100644 index 00000000..919fc647 Binary files /dev/null and b/doc/new_screenshots/inventory_state_edit_ansible_string.png differ diff --git a/doc/new_screenshots/periodic_task_empty_list.png b/doc/new_screenshots/periodic_task_empty_list.png index f347c868..8baffb57 100644 Binary files a/doc/new_screenshots/periodic_task_empty_list.png and b/doc/new_screenshots/periodic_task_empty_list.png differ diff --git a/doc/new_screenshots/periodic_task_execution_history.png b/doc/new_screenshots/periodic_task_execution_history.png index c87c8f43..4ade8ab8 100644 Binary files a/doc/new_screenshots/periodic_task_execution_history.png and b/doc/new_screenshots/periodic_task_execution_history.png differ diff --git a/doc/new_screenshots/template_option_detail_default.png b/doc/new_screenshots/template_option_detail_default.png new file mode 100644 index 00000000..7d837258 Binary files /dev/null and b/doc/new_screenshots/template_option_detail_default.png differ diff --git a/doc/new_screenshots/template_option_list.png b/doc/new_screenshots/template_option_list.png new file mode 100644 index 00000000..8ccd53ae Binary files /dev/null and b/doc/new_screenshots/template_option_list.png differ diff --git a/doc/new_screenshots/test_inventory.png b/doc/new_screenshots/test_inventory.png index 95db0099..ded04516 100644 Binary files a/doc/new_screenshots/test_inventory.png and b/doc/new_screenshots/test_inventory.png differ diff --git a/doc/new_screenshots/test_project_1.png b/doc/new_screenshots/test_project_1.png index cb7c1bd8..fa7244ba 100644 Binary files a/doc/new_screenshots/test_project_1.png and b/doc/new_screenshots/test_project_1.png differ diff --git a/doc/new_screenshots/test_project_1_edit.png b/doc/new_screenshots/test_project_1_edit.png index cfa595f0..6fc78581 100644 Binary files a/doc/new_screenshots/test_project_1_edit.png and b/doc/new_screenshots/test_project_1_edit.png differ diff --git a/doc/new_screenshots/test_project_2.png b/doc/new_screenshots/test_project_2.png index e008588a..921c3ab8 100644 Binary files a/doc/new_screenshots/test_project_2.png and b/doc/new_screenshots/test_project_2.png differ diff --git a/doc/new_screenshots/test_project_variables_1.png b/doc/new_screenshots/test_project_variables_1.png index bfc23f13..2aec40f7 100644 Binary files a/doc/new_screenshots/test_project_variables_1.png and b/doc/new_screenshots/test_project_variables_1.png differ diff --git a/doc/new_screenshots/test_project_variables_2.png b/doc/new_screenshots/test_project_variables_2.png index 3c371ab3..c3828c68 100644 Binary files a/doc/new_screenshots/test_project_variables_2.png and b/doc/new_screenshots/test_project_variables_2.png differ diff --git a/doc/new_screenshots/test_project_variables_3_1.png b/doc/new_screenshots/test_project_variables_3_1.png index f1aa226c..caec4097 100644 Binary files a/doc/new_screenshots/test_project_variables_3_1.png and b/doc/new_screenshots/test_project_variables_3_1.png differ diff --git a/doc/new_screenshots/test_project_variables_4.png b/doc/new_screenshots/test_project_variables_4.png index aeaa4770..4b9da081 100644 Binary files a/doc/new_screenshots/test_project_variables_4.png and b/doc/new_screenshots/test_project_variables_4.png differ diff --git a/doc/plugins.rst b/doc/plugins.rst index 31be639c..cab8cd46 100644 --- a/doc/plugins.rst +++ b/doc/plugins.rst @@ -1,13 +1,24 @@ +Plugins +======= + +Polemarch can be extended with different type of plugins. This manual describes how to create, setup and start using +your first Execution or Inventory plugin and provides full API reference to learn more about them. + Execution plugins -================= +----------------- -Plugins system allows you to execute any external command from Polemarch. To create a plugin you need to +Execution plugins system allows you to execute any external command from Polemarch. To create an execution plugin you +need to * create a python class describing the argument processing and API talking logic; * configure this plugin in your ``settings.ini``. -Quick start ------------ +.. warning:: + Since v3.0.0 path to execution plugins has been changed from ``polemarch.plugins`` to + ``polemarch.plugins.execution``. + +Execution plugins: quick start +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ All built-in execution backends, such as ansible playbook or module execution, use plugins (starting from 2.2.0). @@ -15,9 +26,9 @@ To get started let's create a simple plugin allows you to run ``echo`` command. .. sourcecode:: python - from polemarch.plugins.base import BasePlugin from rest_framework.fields import BooleanField, empty from vstutils.api.fields import VSTCharField + from polemarch.plugins.execution.base import BasePlugin # Any plugin must be inherited from BasePlugin @@ -29,7 +40,7 @@ To get started let's create a simple plugin allows you to run ``echo`` command. 'n': BooleanField(default=empty, required=False, label='No trailing newlines'), 'e': BooleanField(default=empty, required=False, label='Interpret backslash escapes'), } - # Value of this field will be shown in history detail page as Mode + # Value of this field will be shown on history detail page as Mode arg_shown_on_history_as_mode = 'string' # This is our binary from which any command starts @@ -51,26 +62,27 @@ To get started let's create a simple plugin allows you to run ``echo`` command. # means that it won't be included to execution command. But of course, you may override this behavior # in get_args method. -Supposing that described plugin is located at ``polemarch.plugins.custom.Echo``, let's connect it to Polemarch. -In your ``/etc/polemarch/settings.ini`` add following section: +Supposing that described plugin is located at ``polemarch.plugins.execution.custom.Echo``, let's connect it to +Polemarch. In your ``/etc/polemarch/settings.ini`` add following section: .. sourcecode:: ini - [plugins.echo] - backend = polemarch.plugins.custom.Echo + [execution.plugin.echo] + backend = polemarch.plugins.execution.custom.Echo Also you may want to provide additional options directly to plugin: .. sourcecode:: ini - [plugins.echo.options] + [execution.plugin.echo.options] some_option = 'some_option' -In this example `some_option` will be available in any plugin's method as ``self.config['some_option']``, as all options are initialized in the constructor. +In this example `some_option` will be available in any plugin's instance method as ``self.config['some_option']``, as +all options are initialized in the ``__init__`` method. So it's all done! After restarting your polemarch server and resetting schema, you can check -``/project//execute_echo/``. Here you should be able to execute echo plugin as any built-in one. -Also you should be able to create a :ref:`template` with it at ``/project//execution_templates/new/``. +``#/project//execute_echo/``. Here you should be able to execute echo plugin as any built-in one. +Also you should be able to create a :ref:`template` with it at ``#/project//execution_templates/new/``. If you tried executing echo plugin with flags, you may see that this flags are being outputted too. This is because they goes after ``string`` argument. To fix this issue, we may do something like this: @@ -100,11 +112,111 @@ they goes after ``string`` argument. To fix this issue, we may do something like Now if you are passing flags to execution, they should work the same except not being outputted. +.. note:: + If your execution plugin may work with inventories, you should specify which inventory plugins are compatible + with your execution plugin. By default it's assumed that execution plugin can't work with inventories. For more + information about inventory plugins please see :ref:`Inventory plugins`. + To learn more about what plugins are provide, please check API reference. +Inventory plugins +----------------- + +Inventory plugins system allows you to define how inventory stores, manages and displays its state. To create an +inventory plugin you need to + +* create a python class which manages inventory state and API talking logic; +* configure this plugin in your ``settings.ini``. + +Inventory plugins: quick start +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To get started let's create a simple plugin which works like a simplified version of built-in ``AnsibleString`` with +some additional changes. + +.. sourcecode:: python + + from vstutils.api import fields as vstfields + from polemarch.plugins.inventory.base import BasePlugin + + class CustomAnsibleString(BasePlugin): + # Our plugin will support import and we will implement corresponding method + supports_import = True + + # These fields will be used for working with inventory state in API + serializer_fields = { + # You can use fields either from rest_framework or vstutils + 'body': vstfields.TextareaField(allow_blank=True, default=''), + } + # Default values for our fields which will be used to initialize inventory state + defaults = { + 'body': 'localhost ansible_connection=local', + } + # These fields will be used for import action in API + serializer_import_fields = { + 'body': vstfields.FileInStringField(), + } + + def render_inventory(self, execution_dir): + # Getting inventory state. This is possible because by default state_managed attribute of plugin class + # is True + state_data = self.instance.inventory_state.data + filename = str(uuid1()) + # Any created files must be in execution_dir + filepath = Path(execution_dir) / filename + filepath.write_text(state_data['body']) + # We doesn't need any additional files so the second argument is empty list + return filepath, [] + + def get_raw_inventory(self, inventory_string): + # This string will be shown on history page + return f'File contents:\n{inventory_string}' + + @classmethod + def import_inventory(cls, instance, data): + # Here we got data which structure corresponds to serializer_import_fields + # and created inventory instance. It's recommended to always use update_inventory_state method + # rather than accessing inventory state directly. + instance.update_inventory_state(data=data) + return instance + + +Supposing that described plugin is located at ``polemarch.plugins.inventory.custom.CustomInventoryString``, let's +connect it to Polemarch. In your ``/etc/polemarch/settings.ini`` add following section: + +.. sourcecode:: ini + + [inventory.plugin.custom_inventory_string] + backend = polemarch.plugins.inventory.custom.CustomInventoryString + +Also you may want to provide additional options directly to plugin: + +.. sourcecode:: ini + + [inventory.plugin.custom_inventory_string.options] + some_option = 'some_option' + +In this example `some_option` will be available in any plugin's instance method as ``self.options['some_option']``, as all options are initialized in the ``__init__`` method. + +To start working with the created plugin we also need to allow some execution plugin work with this one. Let's +say that `ANSIBLE_MODULE` plugin can play with our new `CUSTOM_ANSIBLE_STRING`: + +.. sourcecode:: ini + + [execution.plugin.ansible_module.options] + ; Make sure you not disabled other built-in inventory plugins + compatible_inventory_plugins = polemarch_db,ansible_file,ansible_string,custom_inventory_string + +Done! Now you can create inventory with your plugin at ``#/project//inventory/new/``, +execute `ANSIBLE_MODULE` plugin at ``#/project//execute_ansible_module/`` selecting created inventory. + API reference ------------- -.. autoclass:: polemarch.plugins.base::BasePlugin +.. autoclass:: polemarch.plugins.execution.base::BasePlugin + :members: + :private-members: + +.. autoclass:: polemarch.plugins.inventory.base::BasePlugin :members: :private-members: diff --git a/docker-compose.yml b/docker-compose.yml index bcdec15c..c9edc97b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: '3' services: traefik: - image: traefik:2.8 + image: traefik:2.9 restart: unless-stopped volumes: - ./traefik_dynamic.yml:/traefik_dynamic.yml:ro diff --git a/frontend_src/Home.vue b/frontend_src/Home.vue index 23845dec..4fbb6192 100644 --- a/frontend_src/Home.vue +++ b/frontend_src/Home.vue @@ -1,7 +1,7 @@ -
-                
+            

             
+ + +