Commit 87dec7f6 authored by Spiros Koulouzis's avatar Spiros Koulouzis

added python rest clients for ansible services

parent 17dceead
import base64
import json
import logging
import os
import tempfile
from collections import namedtuple
from stat import S_IREAD
from subprocess import Popen, PIPE
import re
from service.polemarch_helper import PolemarchHelper
from service.semaphore_helper import SemaphoreHelper
logger = logging.getLogger(__name__)
if not getattr(logger, 'handler_set', None):
......@@ -19,7 +13,26 @@ if not getattr(logger, 'handler_set', None):
logger.handler_set = True
def execute(nodes_pair):
target = nodes_pair[0]
source = nodes_pair[1]
pass
\ No newline at end of file
class AnsibleService:
def __init__(self, polemarch_base_url=None,polemarch_username=None,polemarch_password=None,
semaphore_base_url=None,semaphore_username=None,semaphore_password=None):
self.polemarch_base_url = polemarch_base_url
self.polemarch_username = polemarch_username
self.polemarch_password = polemarch_password
self.semaphore_base_url = semaphore_base_url
self.semaphore_username = semaphore_username
self.semaphore_password = semaphore_password
def execute(self,nodes_pair):
vms = nodes_pair[0]
orchestartor = nodes_pair[1]
# polemarch_helper = PolemarchHelper(self.polemarch_base_url,self.polemarch_username,self.polemarch_password)
# project = polemarch_helper.create_project('test1','GIT','https://github.com/skoulouzis/playbooks.git')
# inventory = polemarch_helper.add_inventory(project.id,'test_inventory',vms)
semaphore_helper = SemaphoreHelper(self.semaphore_base_url,self.semaphore_username,self.semaphore_password)
semaphore_helper.create_project('test1')
pass
\ No newline at end of file
from service import tosca_helper
from service.ansible_service import execute
from service import tosca_helper, ansible_service
from service.ansible_service import AnsibleService
def deploy(nodes_pair):
target = nodes_pair[0]
source = nodes_pair[1]
class DeployService:
interface_types = tosca_helper.get_interface_types(source)
if 'Standard' in interface_types:
execute(nodes_pair)
print(source)
print(target)
def __init__(self, polemarch_base_url=None,polemarch_username=None,polemarch_password=None,
semaphore_base_url=None,semaphore_username=None,semaphore_password=None):
self.polemarch_base_url = polemarch_base_url
self.polemarch_username=polemarch_username
self.polemarch_password = polemarch_password
self.semaphore_base_url = semaphore_base_url
self.semaphore_username = semaphore_username
self.semaphore_password = semaphore_password
return None
def deploy(self,nodes_pair):
target = nodes_pair[0]
source = nodes_pair[1]
interface_types = tosca_helper.get_interface_types(source)
if interface_types and 'Standard' in interface_types:
ansible_service = AnsibleService(self.polemarch_base_url,self.polemarch_username,self.polemarch_password,
self.semaphore_base_url,self.semaphore_username,self.semaphore_password)
ansible_service.execute(nodes_pair)
# print(source)
# print(target)
return None
import polemarch_client
from polemarch_client import Configuration, ApiClient, api, ProjectCreateMaster, Empty, OneInventory, User, OneProject
from polemarch_client.api import project_api
class PolemarchHelper:
def __init__(self, polemarch_base_url,username,password):
self.init_polemarch_client(polemarch_base_url,username,password)
def init_polemarch_client(self,polemarch_base_url,username,password):
configuration = Configuration()
configuration.host = polemarch_base_url
configuration.username = username
configuration.password = password
api_client = ApiClient(configuration=configuration)
self.community_api = api.CommunityTemplateApi(api_client=api_client)
self.group_api = api.GroupApi(api_client=api_client)
self.history_api = api.HistoryApi(api_client=api_client)
self.hook_api = api.HookApi(api_client=api_client)
self.host_api = api.HostApi(api_client=api_client)
self.inventory_api = api.InventoryApi(api_client=api_client)
self.project_api = api.ProjectApi(api_client=api_client)
self.team_api = api.TeamApi(api_client=api_client)
self.user_api = api.UserApi(api_client=api_client)
users = self.user_api.user_list(username=username)
self.user = users.results[0]
def get_project(self,project_id):
project = self.project_api.project_get(project_id)
return project
def create_project(self,name,type,repository):
project_create_master = ProjectCreateMaster(name=name,type=type, repository=repository)
project_create_master = self.project_api.project_add(project_create_master)
empty = Empty()
self.project_api.project_sync(project_create_master.id,empty)
# pr = OneProject(name=name,type=type, repository=repository)
# pr.owner = self.user
# view_data = {}
# playbook = {}
# playbook['help'] = 'some help'
# playbook['title'] = 'title'
# playbooks = {}
# playbooks['main.yml'] = playbook
# view_data['fields'] = playbooks
# pr.execute_view_data = view_data
# return project_create_master
def add_inventory(self,project_id,name,vms):
one_inventory = OneInventory()
one_inventory.name = name
one_inventory.owner = self.user
one_inventory = self.project_api.project_inventory_add(project_id,one_inventory)
return one_inventory
import polemarch_client
from polemarch_client import Project
from semaphore_client import Configuration, ApiClient, api, ProjectRequest, Login
from polemarch_client.api import project_api
class SemaphoreHelper:
def __init__(self, polemarch_base_url,username,password):
self.init_semaphore_client(polemarch_base_url, username, password)
def init_semaphore_client(self, polemarch_base_url, username, password):
configuration = Configuration()
configuration.host = polemarch_base_url
configuration.username = username
configuration.password = password
api_client = ApiClient(configuration=configuration)
self.authentication_api = api.AuthenticationApi(api_client=api_client)
login_body = Login(auth=username, password=password)
self.authentication_api.auth_login_post(login_body)
self.authentication_api.user_tokens_get()
self.default_api = api.DefaultApi(api_client=api_client)
self.project_api = api.ProjectApi(api_client=api_client)
self.user_api = api.UserApi (api_client=api_client)
self.projects_api = api.ProjectsApi(api_client=api_client)
def create_project(self,name):
project_request = ProjectRequest(name=name)
res = self.projects_api.projects_post(project_request)
print(res)
import os
import sys
import urllib.request
from sure_tosca_client import Configuration, ApiClient
from sure_tosca_client.api import default_api
......@@ -40,14 +44,39 @@ class ToscaHelper:
for node in nodes_to_deploy:
related_nodes = self.tosca_client.get_related_nodes(self.doc_id,node.name)
for related_node in related_nodes:
# We need to deploy the docker orchestrator on the VMs not the topology.
# But the topology is directly connected to the orchestrator not the VMs.
# So we explicitly get the VMs
# I don't like this solution but I can't think of something better.
if related_node.node_template.type == 'tosca.nodes.ARTICONF.VM.topology':
vms = self.tosca_client.get_node_templates(self.doc_id,type_name='tosca.nodes.ARTICONF.VM.Compute')
related_node = vms
pair = (related_node, node)
nodes_pairs.append(pair)
return nodes_pairs
@classmethod
def service_is_up(cls, url):
code = None
try:
code = urllib.request.urlopen(url).getcode()
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
if not e.reason and not e.reason.errno and e.code:
return False
else:
return True
return True
def get_interface_types(node):
interface_type_names = []
for interface in node.node_template.interfaces:
interface_type_names.append(interface)
return interface_type_names
\ No newline at end of file
if node.node_template.interfaces:
for interface in node.node_template.interfaces:
interface_type_names.append(interface)
return interface_type_names
......@@ -2,4 +2,4 @@ coverage==5.0.4
nose==1.3.7
pluggy==0.13.1
py==1.8.1
randomize==0.14
randomize==0.14
\ No newline at end of file
......@@ -7,13 +7,14 @@ import tempfile
import time
import yaml
import re # noqa: F401
import unittest
import sure_tosca_client
from sure_tosca_client import Configuration, ApiClient
from sure_tosca_client.api import default_api
from service.deploy_service import deploy
from service.deploy_service import DeployService
from service.tosca_helper import ToscaHelper
......@@ -41,7 +42,6 @@ class TestDeployer(unittest.TestCase):
with open(input_tosca_file_path, 'r') as stream:
parsed_json_message = json.load(stream)
print(parsed_json_message)
# owner = parsed_json_message['owner']
tosca_file_name = 'tosca_template'
tosca_template_dict = parsed_json_message['toscaTemplate']
......@@ -51,19 +51,26 @@ class TestDeployer(unittest.TestCase):
with open(tosca_template_path, 'w') as outfile:
yaml.dump(tosca_template_dict, outfile, default_flow_style=False)
tosca_helper = ToscaHelper('http://localhost:8081/tosca-sure/1.0.0',tosca_template_path)
self.assertIsNotNone(tosca_helper.doc_id)
nodes_to_deploy = tosca_helper.get_application_nodes()
self.assertIsNotNone(nodes_to_deploy)
nodes_pairs = tosca_helper.get_deployment_node_pairs()
self.assertIsNotNone(nodes_pairs)
for node_pair in nodes_pairs:
deploy(node_pair)
sure_tosca_base_url = 'http://localhost:8081/tosca-sure/1.0.0'
polemarch_base_url='http://localhost:30001/api/v2'
semaphore_base_url = 'http://localhost:3000/api'
tosca_service_is_up = ToscaHelper.service_is_up(sure_tosca_base_url)
semaphore_is_up = ToscaHelper.service_is_up(semaphore_base_url)
if tosca_service_is_up and semaphore_is_up:
tosca_helper = ToscaHelper(sure_tosca_base_url,tosca_template_path)
self.assertIsNotNone(tosca_helper.doc_id)
nodes_to_deploy = tosca_helper.get_application_nodes()
self.assertIsNotNone(nodes_to_deploy)
nodes_pairs = tosca_helper.get_deployment_node_pairs()
self.assertIsNotNone(nodes_pairs)
username = 'admin'
deployService = DeployService(polemarch_base_url=polemarch_base_url,polemarch_username=username,polemarch_password='admin',
semaphore_base_url=semaphore_base_url,semaphore_username=username,semaphore_password='password')
for node_pair in nodes_pairs:
deployService.deploy(node_pair)
# tmp_path = tempfile.mkdtemp()
# vms = tosca.get_vms(tosca_template_dict)
......
......@@ -16,11 +16,8 @@ services:
MYSQL_DATABASE: semaphore
MYSQL_USER: semaphore
MYSQL_PASSWORD: semaphore
#volumes:
# - /tmp/mysql_data:/var/lib/mysql
ports:
- "3306:3306"
semaphore:
image: ansiblesemaphore/semaphore
......@@ -41,6 +38,36 @@ services:
depends_on:
- mysql
#polemarch:
#image: vstconsulting/polemarch
#environment:
#POLEMARCH_DB_TYPE: mysql
#POLEMARCH_DB_NAME: project-db
#POLEMARCH_DB_USER: project-user
#POLEMARCH_DB_PASSWORD: project-pas
#POLEMARCH_DB_PORT: 3306
#POLEMARCH_DB_HOST: mysql
#DB_INIT_CMD: "SET sql_mode='STRICT_TRANS_TABLES', default_storage_engine=INNODB, NAMES 'utf8', CHARACTER SET 'utf8', SESSION collation_connection = 'utf8_unicode_ci'"
#CACHE_LOCATION: 'redis://redis:6379/0'
#RPC_ENGINE: 'redis://redis:6379/1'
#RPC_CONCURRENCY: 15
#POLEMARCH_LOG_LEVEL: DEBUG
#POLEMARCH_DEBUG: 'true'
#TIMEZONE: 'Asia/Vladivostok'
#ports:
#- "30001:8080"
#redis:
#image: "redis:alpine"
#mysql:
#image: "mysql:5.7"
#environment:
#MYSQL_USER: project-user
#MYSQL_PASSWORD: project-pas
#MYSQL_DATABASE: project-db
#MYSQL_ROOT_PASSWORD: project-root
logspout:
ports:
......@@ -59,18 +86,18 @@ services:
- "27017:27017"
#manager:
#depends_on:
#- rabbit
#- mongo
#- sure-tosca
#image: manager:3.0.0
#environment:
#RABBITMQ_HOST: rabbit
#MONGO_HOST: mongo
#SURE_TOSCA_BASE_PATH: http://sure-tosca:8081/tosca-sure/1.0.0
#ports:
#- "30000:8080"
manager:
depends_on:
- rabbit
- mongo
- sure-tosca
image: manager:3.0.0
environment:
RABBITMQ_HOST: rabbit
MONGO_HOST: mongo
SURE_TOSCA_BASE_PATH: http://sure-tosca:8081/tosca-sure/1.0.0
ports:
- "30000:8080"
sure-tosca:
image: sure-tosca:3.0.0
......
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/
venv/
.python-version
# Translations
*.mo
*.pot
# Django stuff:
*.log
# Sphinx documentation
docs/_build/
# PyBuilder
target/
#Ipython Notebook
.ipynb_checkpoints
# Default ignored files
/workspace.xml
\ No newline at end of file
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8" project-jdk-type="Python SDK" />
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/polemarch-python-client-generated.iml" filepath="$PROJECT_DIR$/.idea/polemarch-python-client-generated.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="PyDocumentationSettings">
<option name="format" value="PLAIN" />
<option name="myDocStringFormat" value="Plain" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>
\ No newline at end of file
# Swagger Codegen Ignore
# Generated by swagger-codegen https://github.com/swagger-api/swagger-codegen
# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.
# As an example, the C# client generator defines ApiClient.cs.
# You can make changes and tell Swagger Codgen to ignore just this file by uncommenting the following line:
#ApiClient.cs
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
#foo/*/qux
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
#foo/**/qux
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
# You can also negate patterns with an exclamation (!).
# For example, you can ignore all files in a docs folder with the file extension .md:
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md
# ref: https://docs.travis-ci.com/user/languages/python
language: python
python:
- "2.7"
- "3.2"
- "3.3"
- "3.4"
- "3.5"
#- "3.5-dev" # 3.5 development branch
#- "nightly" # points to the latest development branch e.g. 3.6-dev
# command to install dependencies
install: "pip install -r requirements.txt"
# command to run tests
script: nosetests
This diff is collapsed.
# ActionResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**detail** | **str** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# AnsibleModule
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**module** | **str** | |
**args** | **str** | host pattern | [optional]
**background** | **int** | run asynchronously, failing after X seconds (default&#x3D;N/A) | [optional]
**become** | **bool** | run operations with become (does not imply password prompting) | [optional] [default to False]
**become_method** | **str** | privilege escalation method to use (default&#x3D;sudo), use &#x60;ansible-doc -t become -l&#x60; to list valid choices. | [optional]
**become_user** | **str** | run operations as this user (default&#x3D;root) | [optional]
**check** | **bool** | don&#39;t make any changes; instead, try to predict some of the changes that may occur | [optional] [default to False]
**connection** | **str** | connection type to use (default&#x3D;smart) | [optional]
**diff** | **bool** | when changing (small) files and templates, show the differences in those files; works great with --check | [optional] [default to False]
**extra_vars** | **str** | set additional variables as key&#x3D;value or YAML/JSON, if filename prepend with @ | [optional]
**forks** | **int** | specify number of parallel processes to use (default&#x3D;5) | [optional]
**inventory** | **str** | specify inventory host path or comma separated host list. --inventory-file is deprecated | [optional]
**limit** | **str** | further limit selected hosts to an additional pattern | [optional]
**list_hosts** | **bool** | outputs a list of matching hosts; does not execute anything else | [optional] [default to False]
**module_path** | **str** | prepend colon-separated path(s) to module library (default&#x3D;~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules) | [optional]
**one_line** | **bool** | condense output | [optional] [default to False]
**playbook_dir** | **str** | 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. | [optional]
**poll** | **int** | set the poll interval if using -B (default&#x3D;15) | [optional]
**private_key** | **str** | use this file to authenticate the connection | [optional]
**scp_extra_args** | **str** | specify extra arguments to pass to scp only (e.g. -l) | [optional]
**sftp_extra_args** | **str** | specify extra arguments to pass to sftp only (e.g. -f, -l) | [optional]
**ssh_common_args** | **str** | specify common arguments to pass to sftp/scp/ssh (e.g. ProxyCommand) | [optional]
**ssh_extra_args** | **str** | specify extra arguments to pass to ssh only (e.g. -R) | [optional]
**syntax_check** | **bool** | perform a syntax check on the playbook, but do not execute it | [optional] [default to False]
**timeout** | **int** | override the connection timeout in seconds (default&#x3D;10) | [optional]
**tree** | **str** | log output to this directory | [optional]
**user** | **str** | connect as this user (default&#x3D;None) | [optional]
**vault_id** | **str** | the vault identity to use | [optional]
**vault_password_file** | **str** | vault password file | [optional]
**verbose** | **int** | verbose mode (-vvv for more, -vvvv to enable connection debugging) | [optional]
**group** | **str** | | [optional] [default to 'all']
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# AnsiblePlaybook
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**playbook** | **str** | |
**args** | **str** | Playbook(s) | [optional]
**become** | **bool** | run operations with become (does not imply password prompting) | [optional] [default to False]
**become_method** | **str** | privilege escalation method to use (default&#x3D;sudo), use &#x60;ansible-doc -t become -l&#x60; to list valid choices. | [optional]
**become_user** | **str** | run operations as this user (default&#x3D;root) | [optional]
**check** | **bool** | don&#39;t make any changes; instead, try to predict some of the changes that may occur | [optional] [default to False]
**connection** | **str** | connection type to use (default&#x3D;smart) | [optional]
**diff** | **bool** | when changing (small) files and templates, show the differences in those files; works great with --check | [optional] [default to False]
**extra_vars** | **str** | set additional variables as key&#x3D;value or YAML/JSON, if filename prepend with @ | [optional]
**flush_cache** | **bool** | clear the fact cache for every host in inventory | [optional] [default to False]
**force_handlers** | **bool** | run handlers even if a task fails | [optional] [default to False]
**forks** | **int** | specify number of parallel processes to use (default&#x3D;5) | [optional]
**inventory** | **str** | specify inventory host path or comma separated host list. --inventory-file is deprecated | [optional]
**limit** | **str** | further limit selected hosts to an additional pattern | [optional]
**list_hosts** | **bool** | outputs a list of matching hosts; does not execute anything else | [optional] [default to False]
**list_tags** | **bool** | list all available tags | [optional] [default to False]
**list_tasks** | **bool** | list all tasks that would be executed | [optional] [default to False]
**module_path** | **str** | prepend colon-separated path(s) to module library (default&#x3D;~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules) | [optional]
**private_key** | **str** | use this file to authenticate the connection | [optional]
**scp_extra_args** | **str** | specify extra arguments to pass to scp only (e.g. -l) | [optional]
**sftp_extra_args** | **str** | specify extra arguments to pass to sftp only (e.g. -f, -l) | [optional]
**skip_tags** | **str** | only run plays and tasks whose tags do not match these values | [optional]
**ssh_common_args** | **str** | specify common arguments to pass to sftp/scp/ssh (e.g. ProxyCommand) | [optional]
**ssh_extra_args** | **str** | specify extra arguments to pass to ssh only (e.g. -R) | [optional]
**start_at_task** | **str** | start the playbook at the task matching this name | [optional]
**step** | **bool** | one-step-at-a-time: confirm each task before running | [optional] [default to False]
**syntax_check** | **bool** | perform a syntax check on the playbook, but do not execute it | [optional] [default to False]
**tags** | **str** | only run plays and tasks tagged with these values | [optional]
**timeout** | **int** | override the connection timeout in seconds (default&#x3D;10) | [optional]
**user** | **str** | connect as this user (default&#x3D;None) | [optional]
**vault_id** | **str** | the vault identity to use | [optional]
**vault_password_file** | **str** | vault password file | [optional]
**verbose** | **int** | verbose mode (-vvv for more, -vvvv to enable connection debugging) | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# ChangePassword
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**old_password** | **str** | |
**password** | **str** | |
**password2** | **str** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# ChartLineSetting
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**active** | **bool** | | [optional] [default to True]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# ChartLineSettings
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**all_tasks** | [**ChartLineSetting**](ChartLineSetting.md) | |
**delay** | [**ChartLineSetting**](ChartLineSetting.md) | |
**ok** | [**ChartLineSetting**](ChartLineSetting.md) | |
**error** | [**ChartLineSetting**](ChartLineSetting.md) | |
**interrupted** | [**ChartLineSetting**](ChartLineSetting.md) | |
**offline** | [**ChartLineSetting**](ChartLineSetting.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# polemarch_client.CommunityTemplateApi
All URIs are relative to *http://localhost:30001/api/v2*
Method | HTTP request | Description
------------- | ------------- | -------------
[**community_template_get**](CommunityTemplateApi.md#community_template_get) | **GET** /community_template/{id}/ |
[**community_template_list**](CommunityTemplateApi.md#community_template_list) | **GET** /community_template/ |
[**community_template_use_it**](CommunityTemplateApi.md#community_template_use_it) | **POST** /community_template/{id}/use_it/ |
# **community_template_get**
> OneProjectTemplate community_template_get(id)
Return a community project template instance.
### Example
```python
from __future__ import print_function
import time
import polemarch_client
from polemarch_client.rest import ApiException
from pprint import pprint
# Configure HTTP basic authorization: basic
configuration = polemarch_client.Configuration()
configuration.username = 'YOUR_USERNAME'
configuration.password = 'YOUR_PASSWORD'
# create an instance of the API class
api_instance = polemarch_client.CommunityTemplateApi(polemarch_client.ApiClient(configuration))
id = 56 # int | A unique value identifying this project template.
try:
api_response = api_instance.community_template_get(id)
pprint(api_response)
except ApiException as e:
print("Exception when calling CommunityTemplateApi->community_template_get: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **int**| A unique value identifying this project template. |
### Return type
[**OneProjectTemplate**](OneProjectTemplate.md)
### Authorization
[basic](../README.md#basic)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json, multipart/form-data; boundary=BoUnDaRyStRiNg
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **community_template_list**
> InlineResponse200 community_template_list(ordering=ordering, limit=limit, offset=offset)
List of community project templates.
### Example
```python
from __future__ import print_function
import time
import polemarch_client
from polemarch_client.rest import ApiException
from pprint import pprint
# Configure HTTP basic authorization: basic
configuration = polemarch_client.Configuration()
configuration.username = 'YOUR_USERNAME'
configuration.password = 'YOUR_PASSWORD'
# create an instance of the API class
api_instance = polemarch_client.CommunityTemplateApi(polemarch_client.ApiClient(configuration))
ordering = 'ordering_example' # str | Which field to use when ordering the results. (optional)
limit = 56 # int | Number of results to return per page. (optional)
offset = 56 # int | The initial index from which to return the results. (optional)
try:
api_response = api_instance.community_template_list(ordering=ordering, limit=limit, offset=offset)
pprint(api_response)
except ApiException as e:
print("Exception when calling CommunityTemplateApi->community_template_list: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**ordering** | **str**| Which field to use when ordering the results. | [optional]
**limit** | **int**| Number of results to return per page. | [optional]
**offset** | **int**| The initial index from which to return the results. | [optional]
### Return type
[**InlineResponse200**](InlineResponse200.md)
### Authorization
[basic](../README.md#basic)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json, multipart/form-data; boundary=BoUnDaRyStRiNg
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **community_template_use_it**
> ProjectTemplateCreate community_template_use_it(id, data)
Create project based on this template.
### Example
```python
from __future__ import print_function
import time
import polemarch_client
from polemarch_client.rest import ApiException
from pprint import pprint
# Configure HTTP basic authorization: basic
configuration = polemarch_client.Configuration()
configuration.username = 'YOUR_USERNAME'
configuration.password = 'YOUR_PASSWORD'
# create an instance of the API class
api_instance = polemarch_client.CommunityTemplateApi(polemarch_client.ApiClient(configuration))
id = 56 # int | A unique value identifying this project template.
data = polemarch_client.ProjectTemplateCreate() # ProjectTemplateCreate |
try:
api_response = api_instance.community_template_use_it(id, data)
pprint(api_response)
except ApiException as e:
print("Exception when calling CommunityTemplateApi->community_template_use_it: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **int**| A unique value identifying this project template. |
**data** | [**ProjectTemplateCreate**](ProjectTemplateCreate.md)| |
### Return type
[**ProjectTemplateCreate**](ProjectTemplateCreate.md)
### Authorization
[basic](../README.md#basic)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json, multipart/form-data; boundary=BoUnDaRyStRiNg
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# CounterWidgetSetting
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**active** | **bool** | | [optional] [default to True]
**collapse** | **bool** | | [optional] [default to False]
**sort** | **int** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# CreateUser
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**username** | **str** | Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. |
**is_active** | **bool** | | [optional] [default to True]
**is_staff** | **bool** | | [optional] [default to False]
**first_name** | **str** | | [optional]
**last_name** | **str** | | [optional]
**email** | **str** | | [optional]
**password** | **str** | |
**password2** | **str** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# Data
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# Empty
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# Error
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**detail** | **str** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# ExecuteResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**detail** | **str** | |
**history_id** | **int** | | [optional]
**executor** | **int** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# Group
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**name** | **str** | | [optional]
**children** | **bool** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
This diff is collapsed.
# GroupCreateMaster
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**name** | **str** | | [optional]
**notes** | **str** | | [optional]
**children** | **bool** | | [optional] [default to False]
**owner** | [**User**](User.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# History
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**start_time** | **datetime** | | [optional]
**executor** | **int** | | [optional]
**initiator** | **int** | | [optional]
**initiator_type** | **str** | | [optional]
**project** | **int** | | [optional]
**inventory** | **int** | | [optional]
**kind** | **str** | | [optional]
**mode** | **str** | |
**options** | **str** | | [optional]
**status** | **str** | | [optional]
**stop_time** | **datetime** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
This diff is collapsed.
# Hook
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**name** | **str** | | [optional]
**type** | **str** | |
**when** | **str** | | [optional]
**enable** | **bool** | | [optional]
**recipients** | **str** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
This diff is collapsed.
# Host
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**name** | **str** | | [optional]
**type** | **str** | | [optional] [default to 'HOST']
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
This diff is collapsed.
# InlineResponse200
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**count** | **int** | |
**next** | **str** | | [optional]
**previous** | **str** | | [optional]
**results** | [**list[ProjectTemplate]**](ProjectTemplate.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# InlineResponse2001
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**count** | **int** | |
**next** | **str** | | [optional]
**previous** | **str** | | [optional]
**results** | [**list[Group]**](Group.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# InlineResponse20010
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**count** | **int** | |
**next** | **str** | | [optional]
**previous** | **str** | | [optional]
**results** | [**list[Periodictask]**](Periodictask.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# InlineResponse20011
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**count** | **int** | |
**next** | **str** | | [optional]
**previous** | **str** | | [optional]
**results** | [**list[PeriodicTaskVariable]**](PeriodicTaskVariable.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# InlineResponse20012
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**count** | **int** | |
**next** | **str** | | [optional]
**previous** | **str** | | [optional]
**results** | [**list[Playbook]**](Playbook.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# InlineResponse20013
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**count** | **int** | |
**next** | **str** | | [optional]
**previous** | **str** | | [optional]
**results** | [**list[Template]**](Template.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# InlineResponse20014
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**count** | **int** | |
**next** | **str** | | [optional]
**previous** | **str** | | [optional]
**results** | [**list[ProjectVariable]**](ProjectVariable.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# InlineResponse20015
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**count** | **int** | |
**next** | **str** | | [optional]
**previous** | **str** | | [optional]
**results** | [**list[Team]**](Team.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# InlineResponse20016
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**count** | **int** | |
**next** | **str** | | [optional]
**previous** | **str** | | [optional]
**results** | [**list[User]**](User.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# InlineResponse2002
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**count** | **int** | |
**next** | **str** | | [optional]
**previous** | **str** | | [optional]
**results** | [**list[InventoryVariable]**](InventoryVariable.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# InlineResponse2003
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**count** | **int** | |
**next** | **str** | | [optional]
**previous** | **str** | | [optional]
**results** | [**list[Host]**](Host.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# InlineResponse2004
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**count** | **int** | |
**next** | **str** | | [optional]
**previous** | **str** | | [optional]
**results** | [**list[History]**](History.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# InlineResponse2005
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**count** | **int** | |
**next** | **str** | | [optional]
**previous** | **str** | | [optional]
**results** | [**list[Hook]**](Hook.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# InlineResponse2006
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**count** | **int** | |
**next** | **str** | | [optional]
**previous** | **str** | | [optional]
**results** | [**list[Inventory]**](Inventory.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# InlineResponse2007
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**count** | **int** | |
**next** | **str** | | [optional]
**previous** | **str** | | [optional]
**results** | [**list[Project]**](Project.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# InlineResponse2008
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**count** | **int** | |
**next** | **str** | | [optional]
**previous** | **str** | | [optional]
**results** | [**list[ProjectHistory]**](ProjectHistory.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# InlineResponse2009
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**count** | **int** | |
**next** | **str** | | [optional]
**previous** | **str** | | [optional]
**results** | [**list[Module]**](Module.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# Inventory
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**name** | **str** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
This diff is collapsed.
# InventoryImport
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**inventory_id** | **int** | | [optional]
**name** | **str** | |
**raw_data** | **str** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# InventoryVariable
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**key** | **str** | |
**value** | **str** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# Module
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**path** | **str** | |
**name** | **str** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# OneGroup
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**name** | **str** | | [optional]
**notes** | **str** | | [optional]
**children** | **bool** | | [optional]
**owner** | [**User**](User.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# OneHistory
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**status** | **str** | | [optional]
**executor** | **int** | | [optional]
**project** | **int** | | [optional]
**revision** | **str** | | [optional]
**inventory** | **int** | | [optional]
**kind** | **str** | | [optional]
**mode** | **str** | |
**execute_args** | **str** | | [optional]
**execution_time** | **int** | |
**start_time** | **datetime** | | [optional]
**stop_time** | **datetime** | | [optional]
**initiator** | **int** | | [optional]
**initiator_type** | **str** | | [optional]
**options** | **str** | | [optional]
**raw_args** | **str** | | [optional]
**raw_stdout** | **str** | | [optional]
**raw_inventory** | **str** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# OneHost
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**name** | **str** | | [optional]
**notes** | **str** | | [optional]
**type** | **str** | | [optional] [default to 'HOST']
**owner** | [**User**](User.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# OneInventory
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**name** | **str** | | [optional]
**notes** | **str** | | [optional]
**owner** | [**User**](User.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# OneModule
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**path** | **str** | |
**name** | **str** | | [optional]
**data** | [**Data**](Data.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# OnePeriodictask
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**name** | **str** | | [optional]
**kind** | **str** | | [optional] [default to 'PLAYBOOK']
**mode** | **str** | | [optional]
**inventory** | **str** | | [optional]
**save_result** | **bool** | | [optional]
**template** | **int** | | [optional]
**template_opt** | **str** | | [optional]
**enabled** | **bool** | | [optional]
**type** | **str** | | [optional] [default to 'CRONTAB']
**schedule** | **str** | |
**notes** | **str** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# OnePlaybook
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**name** | **str** | | [optional]
**playbook** | **str** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# OneProject
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**name** | **str** | | [optional]
**repository** | **str** | | [optional] [default to 'MANUAL']
**status** | **str** | | [optional]
**revision** | **str** | | [optional]
**branch** | **str** | | [optional]
**owner** | [**User**](User.md) | | [optional]
**notes** | **str** | | [optional]
**readme_content** | **str** | | [optional]
**execute_view_data** | [**Data**](Data.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# OneProjectTemplate
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | |
**name** | **str** | |
**description** | **str** | |
**type** | **str** | | [optional]
**repository** | **str** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# OneTeam
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**name** | **str** | |
**notes** | **str** | | [optional]
**owner** | [**User**](User.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# OneTemplate
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**name** | **str** | |
**notes** | **str** | | [optional]
**kind** | **str** | | [optional] [default to 'Task']
**data** | [**Data**](Data.md) | |
**options** | [**Data**](Data.md) | | [optional]
**options_list** | **list[str]** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# OneUser
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**username** | **str** | Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. |
**is_active** | **bool** | | [optional] [default to True]
**first_name** | **str** | | [optional]
**last_name** | **str** | | [optional]
**email** | **str** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# PeriodicTaskVariable
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**key** | **str** | |
**value** | **str** | | [optional] [default to '']
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# Periodictask
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**name** | **str** | | [optional]
**kind** | **str** | | [optional] [default to 'PLAYBOOK']
**mode** | **str** | | [optional]
**inventory** | **str** | | [optional]
**save_result** | **bool** | | [optional]
**template** | **int** | | [optional]
**template_opt** | **str** | | [optional]
**enabled** | **bool** | | [optional]
**type** | **str** | | [optional] [default to 'CRONTAB']
**schedule** | **str** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
# Playbook
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**name** | **str** | | [optional]
**playbook** | **str** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment