def list_tokens(self, api_token): req = MistRequests(uri=self.uri + '/api/v1/tokens', api_token=api_token) req.post = req.unavailable_api_call req.delete = req.unavailable_api_call req.put = req.unavailable_api_call return req
def url_script(self, api_token, script_id): req = MistRequests(uri=self.uri + '/api/v1/scripts/%s/url' % script_id, api_token=api_token) req.delete = req.unavailable_api_call req.post = req.unavailable_api_call req.put = req.unavailable_api_call return req
def edit_team( self, api_token, org_id, team_id, name, visibility=None, description=None, ): data = { 'new_name': name, } if description is not None: data.update({'new_description': description}) if visibility is not None: data.update({'new_visible': visibility}) req = MistRequests(uri=self.uri + '/api/v1/org/%s/teams/%s' % (org_id, team_id), data=data, api_token=api_token) req.post = req.unavailable_api_call req.delete = req.unavailable_api_call req.get = req.unavailable_api_call return req
def create_stack(self, api_token, name, template_id, cloud_id='', machine_name=''): payload = { 'name': name, 'template_id': template_id, 'workflow': 'install', 'deploy': True, 'inputs': { 'mist_uri': 'https://mist.io', 'mist_cloud': cloud_id, 'webserver_port': 8000, 'machine_name': machine_name, 'mist_image': 'mist/ubuntu-14.04', 'mist_size': 'default' } } req = MistRequests(uri=self.uri + '/api/v1/stacks', data=json.dumps(payload), api_token=api_token) req.delete = req.unavailable_api_call req.put = req.unavailable_api_call req.get = req.unavailable_api_call return req
def add_schedule(self, api_token, name, schedule_type, conditions, schedule_entry='', description='', task_enabled=True, expires='', script_id='', action='', max_run_count='', run_immediately=False): data = { 'conditions': conditions, 'name': name, 'description': description, 'schedule_type': schedule_type, 'schedule_entry': schedule_entry, 'task_enabled': task_enabled, 'action': action, 'script_id': script_id, 'expires': expires, 'max_run_count': max_run_count, 'run_immediately': run_immediately } req = MistRequests(uri=self.uri + '/api/v1/schedules', api_token=api_token, data=json.dumps(data)) req.delete = req.unavailable_api_call req.get = req.unavailable_api_call req.put = req.unavailable_api_call return req
def show_schedule(self, api_token, schedule_id): req = MistRequests(uri=self.uri + '/api/v1/schedules/' + schedule_id, api_token=api_token) req.post = req.unavailable_api_call req.put = req.unavailable_api_call req.delete = req.unavailable_api_call return req
def show_template(self, api_token, template_id): req = MistRequests(uri=self.uri + '/api/v1/templates/' + template_id, api_token=api_token) req.put = req.unavailable_api_call req.post = req.unavailable_api_call req.delete = req.unavailable_api_call return req
def show_user_org(self, api_token): req = MistRequests(uri=self.uri + '/api/v1/org', api_token=api_token) req.post = req.unavailable_api_call req.delete = req.unavailable_api_call req.put = req.unavailable_api_call return req
def supported_providers(self, api_token=None): req = MistRequests(uri=self.uri + '/api/v1/providers', api_token=api_token) req.post = req.unavailable_api_call req.put = req.unavailable_api_call req.delete = req.unavailable_api_call return req
def star_image(self, cloud_id, image_id, api_token=None): req = MistRequests(uri=self.uri + '/api/v1/clouds/' + cloud_id + '/images/' + image_id, api_token=api_token) req.get = req.unavailable_api_call req.delete = req.unavailable_api_call req.put = req.unavailable_api_call return req
def toggle_cloud(self, cloud_id, api_token=None, new_state=None): req = MistRequests(uri=self.uri + '/api/v1/clouds/' + cloud_id, data={'new_state': new_state}, api_token=api_token) req.get = req.unavailable_api_call req.delete = req.unavailable_api_call req.put = req.unavailable_api_call return req
def create_org(self, api_token, name=''): req = MistRequests(uri=self.uri + '/api/v1/org', json={'name': name}, api_token=api_token) req.get = req.unavailable_api_call req.delete = req.unavailable_api_call req.put = req.unavailable_api_call return req
def list_teams(self, api_token, org_id): req = MistRequests(uri=self.uri + '/api/v1/org/%s/teams' % org_id, api_token=api_token) req.post = req.unavailable_api_call req.delete = req.unavailable_api_call req.put = req.unavailable_api_call return req
def show_user_invitations(self, api_token): req = MistRequests(uri=self.uri + '/user_invitations', api_token=api_token) req.post = req.unavailable_api_call req.delete = req.unavailable_api_call req.put = req.unavailable_api_call return req
def confirm_invitation(self, api_token, invitoken): req = MistRequests(uri=self.uri + '/confirm-invitation?invitoken=%s' % invitoken, api_token=api_token) req.post = req.unavailable_api_call req.delete = req.unavailable_api_call req.put = req.unavailable_api_call return req
def list_subnets(self, cloud_id, network_id, api_token): req = MistRequests(uri=self.uri + '/api/v1/clouds/' + cloud_id + '/networks/' + network_id + '/subnets', api_token=api_token) req.post = req.unavailable_api_call req.put = req.unavailable_api_call req.delete = req.unavailable_api_call return req
def list_records(self, api_token, cloud_id, zone_id): req = MistRequests(uri=self.uri + '/api/v1/clouds/' + cloud_id + '/dns/zones/' + zone_id + '/records', api_token=api_token) req.post = req.unavailable_api_call req.put = req.unavailable_api_call req.delete = req.unavailable_api_call return req
def generate_keypair(self, cookie=None, csrf_token=None, api_token=None): req = MistRequests(uri=self.uri + '/api/v1/keys', cookie=cookie, csrf_token=csrf_token, api_token=api_token) req.get = req.unavailable_api_call req.put = req.unavailable_api_call req.delete = req.unavailable_api_call return req
def run_workflow(self, api_token, stack_id, workflow=''): payload = {'workflow': workflow} req = MistRequests(uri=self.uri + '/api/v1/stacks/' + stack_id, data=json.dumps(payload), api_token=api_token) req.get = req.unavailable_api_call req.put = req.unavailable_api_call req.delete = req.unavailable_api_call return req
def edit_schedule(self, api_token, schedule_id, data=''): req = MistRequests(uri=self.uri + '/api/v1/schedules/' + schedule_id, api_token=api_token, data=data) req.post = req.unavailable_api_call req.get = req.unavailable_api_call req.put = req.unavailable_api_call req.delete = req.unavailable_api_call return req
def show_team(self, api_token, org_id, team_id): req = MistRequests(uri=self.uri + '/api/v1/org/%s/teams/%s' % (org_id, team_id), api_token=api_token) req.post = req.unavailable_api_call req.delete = req.unavailable_api_call req.put = req.unavailable_api_call return req
def confirm_whitelist_ip(self, api_token, key=''): data = {'key': key} req = MistRequests(uri=self.uri + '/confirm-whitelist', api_token=api_token, data=data) req.delete = req.unavailable_api_call req.put = req.unavailable_api_call req.post = req.unavailable_api_call return req
def request_whitelist_ip(self, owner_email, api_token): data = {'email': owner_email} req = MistRequests(uri=self.uri + '/request-whitelist-ip', api_token=api_token, data=data) req.delete = req.unavailable_api_call req.get = req.unavailable_api_call req.put = req.unavailable_api_call return req
def whitelist_ips(self, api_token, ips=None): data = {'ips': ips} req = MistRequests(uri=self.uri + '/api/v1/whitelist', api_token=api_token, data=json.dumps(data)) req.get = req.unavailable_api_call req.delete = req.unavailable_api_call req.put = req.unavailable_api_call return req
def add_cloud(self, title, provider, api_token=None, **kwargs): payload = {'title': title, 'provider': provider} payload.update(kwargs) req = MistRequests(uri=self.uri + '/api/v1/clouds', data=json.dumps(payload), api_token=api_token) req.get = req.unavailable_api_call req.put = req.unavailable_api_call req.delete = req.unavailable_api_call return req
def create_zone(self, api_token, cloud_id, domain, type, ttl): data = {'domain': domain, 'type': type, 'ttl': ttl} req = MistRequests(uri=self.uri + '/api/v1/clouds/' + cloud_id + '/dns/zones', api_token=api_token, data=data) req.get = req.unavailable_api_call req.put = req.unavailable_api_call req.delete = req.unavailable_api_call return req
def login(self, email, password, cookie=None): req = MistRequests(uri=self.uri + '/login', cookie=cookie, data={ 'email': email, 'password': password }) req.delete = req.unavailable_api_call req.put = req.unavailable_api_call return req
def create_record(self, api_token, cloud_id, zone_id, name, type, data, ttl): data = {'name': name, 'type': type, 'data': data, 'ttl': ttl} req = MistRequests(uri=self.uri + '/api/v1/clouds/' + cloud_id + '/dns/zones/' + zone_id + '/records', api_token=api_token, data=data) req.get = req.unavailable_api_call req.put = req.unavailable_api_call req.delete = req.unavailable_api_call return req
def edit_script(self, api_token, script_id, new_name, new_description=''): data = {'new_name': new_name} if new_description: data.update({'new_description': new_description}) req = MistRequests(uri=self.uri + '/api/v1/scripts/%s' % script_id, api_token=api_token, data=data) req.get = req.unavailable_api_call req.post = req.unavailable_api_call req.delete = req.unavailable_api_call return req
def invite_member_to_team(self, api_token, org_id, team_id, email): data = {'emails': email} req = MistRequests(uri=self.uri + '/api/v1/org/%s/teams/%s/members' % (org_id, team_id), api_token=api_token, data=data) req.get = req.unavailable_api_call req.delete = req.unavailable_api_call req.put = req.unavailable_api_call return req