Exemple #1
0
 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
Exemple #2
0
 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
Exemple #3
0
    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
Exemple #4
0
 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
Exemple #5
0
 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
Exemple #6
0
 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
Exemple #7
0
 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
Exemple #8
0
    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
Exemple #9
0
 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
Exemple #10
0
 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
Exemple #11
0
 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
Exemple #12
0
 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
Exemple #13
0
    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
Exemple #14
0
    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
Exemple #15
0
 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
Exemple #16
0
 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
Exemple #17
0
 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
Exemple #18
0
 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
Exemple #19
0
 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
Exemple #20
0
 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
Exemple #21
0
    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
Exemple #22
0
 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
Exemple #23
0
 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
Exemple #24
0
 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
Exemple #25
0
 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
Exemple #26
0
 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
Exemple #27
0
 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
Exemple #28
0
 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
Exemple #29
0
 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
Exemple #30
0
    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