WIP
Rancher API
Python wrapper for Rancher API
Usage
Connecting to Environment
import pyranch
rancher = pyranch.Environment(<RANCHER_URL>, <RANCHER_ACCESS_KEY>, <RANCHER_SECRET_KEY>, project_id=<ENVIRONMENT_ID>)
Additional parameters:
- port - Rancher API port, default
80
- api_version - Rancher API version, default
v2-beta
Working on Environment
- activate
- deactivate
- upgrade
- set_members #TODO More information can be found here
Working on Stack
Stack fields
Field | Type | Required | Can update | Default |
---|---|---|---|---|
binding | dict | No | Yes | {} |
description | str | No | Yes | None |
dockerCompose | str | No | No | |
environment | dict | No | No | {} |
externalId | str | No | Yes | None |
group | str | No | Yes | None |
name | str | Yes | Yes | |
outputs | dict | No | Yes | {} |
previousEnvironment | dict | No | Yes | {} |
previousExternalId | str | No | Yes | None |
rancherCompose | str | No | No | |
startOnCreate | bool | No | No | False |
Read only values | ||||
Field | Type | |||
id | str | |||
healthState | str | |||
serviceIds | list | |||
system | bool |
Initialize stack object
cows = rancher.stack(stack_name='cows')
Note: Existing stacks can be initialized using stack_id
Create Stack in rancher
cows.description = 'Stack of cows'
cows.create()
Print Stack data
cows()
Update Stack
cows.name = "bulls"
cows.description = "Stack of bulls"
cows.save()
Stack actions
More actions can be found here
Working on Service
Service fields
Field | Type | Required | Can update | Default |
---|---|---|---|---|
assignServiceIpAddress | bool | No | No | False |
description | str | No | Yes | None |
externalId | str | No | No | None |
launchConfig | dict | No | No | {} |
lbConfig | dict | No | Yes | {} |
metadata | dict | No | Yes | {} |
name | str | Yes | Yes | |
retainIp | bool | No | Yes | False |
scale | int | No | Yes | 1 |
scalePolicy | dict | No | Yes | {} |
secondaryLaunchConfigs | list | No | No | [] |
selectorContainer | str | No | Yes | None |
selectorLink | str | No | Yes | None |
stackId | dict | No | No | {} |
startOnCreate | bool | No | No | False |
vip | str | No | No | None |
Read only values | ||||
Field | Type | |||
id | str | |||
healthState | str | |||
system | bool | |||
instanceIds | list | |||
createIndex | int | |||
currentScale | int | |||
fqdn | str | |||
linkedServices | dict | |||
publicEndpoints | list | |||
upgrade | dict |
Initialize Service object
cow = rancher.service(stack_name='cows')
Note: Existing service can be initialized using service_id
Create Service in rancher
cow.description = 'Our Cow'
cow.create()
Print service data
cow()
Update service
cow.name = 'bull'
cow.description = "Our bull"
cow.save()
Scale service
cow.scale_out(1)
cow.scale_in(1)
Service Log
cow.logs()['data']
Service actions
More actions can be found here