Example #1
0
def printDeployments(dep, check_revision=None):
    if check_revision:
        revisions = [d['revision'] for d in dep]
        if check_revision not in revisions:
            sys.exit('Error: proxy version %i not found' % check_revision)
        console.echo('Proxy version %i found' % check_revision)
    for d in dep:
        console.echo('Environment: %s' % d['environment'])
        console.echo('  Revision: %i BasePath = %s' %
                     (d['revision'], d['basePath']))
        console.echo('  State: %s' % d['state'])
        if d['state'] == 'missing':
            console.echo('Missing deployment. Attempting deletion...')
            try:
                Apis(Auth, Organization).undeploy_api_proxy_revision(
                    Name, d['environment'], d['revision'])
                console.echo(
                    Apis(Auth, Organization).delete_api_proxy_revision(
                        Name, d['revision']).text)
            except HTTPError as e:
                if e.response.status_code != 400:
                    raise e
        elif d['state'] != 'deployed':
            sys.exit(1)
        if 'error' in d:
            console.echo('  Error: %s' % d['error'])
Example #2
0
 def download_apis_snapshot(self):
     for api in Apis(self.auth, self.org_name, None).list_api_proxies(
         prefix=self.prefix, format='dict'
     ):
         self.snapshot_data.apis[api] = (
             Apis(self.auth, self.org_name, None).get_api_proxy(api).json()
         )
         write_file(
             self.snapshot_data.apis[api],
             self._gen_download_path(is_snapshot=True, subpaths=['apis', f'{api}.json']),
             fs_write=self.fs_write,
             indent=2,
         )
     return self.snapshot_data.apis
Example #3
0
def _pull(
    username,
    password,
    mfa_secret,
    token,
    zonename,
    org,
    profile,
    name,
    revision_number,
    environment,
    work_tree,
    dependencies=[],
    force=False,
    prefix=None,
    basepath=None,
    **kwargs,
):
    return Apis(
        gen_auth(username, password, mfa_secret, token, zonename),
        org,
        revision_number,
        environment,
        work_tree=work_tree,
    ).pull(name, force=force, prefix=prefix, basepath=basepath)
Example #4
0
def _list_api_proxy_revisions(
    username, password, mfa_secret, token, zonename, org, profile, name, **kwargs
):
    return (
        Apis(gen_auth(username, password, mfa_secret, token, zonename), org)
        .list_api_proxy_revisions(name)
        .text
    )
Example #5
0
def _delete_api_proxy_revision(
    username, password, mfa_secret, token, zonename, org, profile, name, revision_number, **kwargs
):
    return (
        Apis(gen_auth(username, password, mfa_secret, token, zonename), org)
        .delete_api_proxy_revision(name, revision_number)
        .text
    )
Example #6
0
 def download_apis_snapshot(self):
     for api in Apis(self.auth, self.org_name, None).list_api_proxies(
         prefix=self.prefix, format='dict'
     ):
         self.snapshot_data.apis[api] = (
             Apis(self.auth, self.org_name, None).get_api_proxy(api).json()
         )
         data = {
             'snapshot': self.snapshot_data.apis[api],
             'target_path': self._gen_snapshot_path(subpaths=['apis', f'{api}.json']),
             'fs_write': self.fs_write,
             'indent': 2,
         }
         write_file(
             data['snapshot'],
             data['target_path'],
             fs_write=data['fs_write'],
             indent=data['indent'],
         )
     return self.snapshot_data.apis
Example #7
0
def _list_api_proxies(
    username,
    password,
    mfa_secret,
    token,
    zonename,
    org,
    profile,
    prefix=None,
    format='json',
    **kwargs,
):
    return Apis(gen_auth(username, password, mfa_secret, token, zonename),
                org).list_api_proxies(prefix=prefix)
Example #8
0
 def download_apis(self):
     for api, metadata in self.snapshot_data.apis.items():
         for revision in metadata['revision']:
             output_file = Backups.generate_download_path(
                 self.org_path, subpaths=['apis', api, revision, f'{api}.zip']
             )
             target_directory = os.path.dirname(output_file)
             try:
                 Apis(self.auth, self.org_name, None).export_api_proxy(
                     api, revision, fs_write=True, output_file=output_file
                 )
                 extract_zip(output_file, target_directory)
                 os.remove(output_file)
             except HTTPError as e:
                 Backups.log_error(e, append_msg=' for API Proxy ({api}, revision {revision})')
         self._Backups__progress_callback(desc='APIs')
Example #9
0
def _delete_undeployed_revisions(
    username,
    password,
    mfa_secret,
    token,
    zonename,
    org,
    profile,
    name,
    save_last=0,
    dry_run=False,
    **kwargs,
):
    return Apis(
        gen_auth(username, password, mfa_secret, token, zonename), org
    ).delete_undeployed_revisions(name, save_last=save_last, dry_run=dry_run)
Example #10
0
def _force_undeploy_api_proxy_revision(
    username,
    password,
    mfa_secret,
    token,
    zonename,
    org,
    profile,
    name,
    environment,
    revision_number,
    **kwargs,
):
    return (Apis(gen_auth(username, password, mfa_secret, token, zonename),
                 org).force_undeploy_api_proxy_revision(
                     name, environment, revision_number).text)
Example #11
0
 def download_apis(self):
     for api, metadata in self.snapshot_data.apis.items():
         for revision in metadata['revision']:
             output_file = self._gen_download_path(
                 subpaths=['apis', api, revision, f'{api}.zip']
             )
             target_directory = os.path.dirname(output_file)
             try:
                 Apis(self.auth, self.org_name, None).export_api_proxy(
                     api, revision, fs_write=True, output_file=output_file
                 )
                 extract_zip(output_file, target_directory)
                 os.remove(output_file)
             except HTTPError as e:
                 console.echo(
                     f'Ignoring {type(e).__name__} {e.response.status_code} error for API Proxy ({api}, revision {revision})'
                 )
         self._progress_callback(desc='APIs')
     return self.snapshot_data.apis
Example #12
0
def _export_api_proxy(
    username,
    password,
    mfa_secret,
    token,
    zonename,
    org,
    profile,
    name,
    revision_number,
    fs_write=True,
    output_file=None,
    **kwargs,
):
    return Apis(gen_auth(username, password, mfa_secret, token, zonename), org).export_api_proxy(
        name,
        revision_number,
        fs_write=True,
        output_file=output_file if output_file else f'{name}.zip',
    )
Example #13
0
def _deploy_api_proxy_revision(
    username,
    password,
    mfa_secret,
    token,
    zonename,
    org,
    profile,
    name,
    environment,
    revision_number,
    delay=0,
    override=False,
    **kwargs,
):
    return (Apis(gen_auth(username, password, mfa_secret, token, zonename),
                 org).deploy_api_proxy_revision(name,
                                                environment,
                                                revision_number,
                                                delay=delay,
                                                override=override).text)
Example #14
0
def _get_api_proxy(username, password, mfa_secret, token, zonename, org, profile, name, **kwargs):
    return (
        Apis(gen_auth(username, password, mfa_secret, token, zonename), org)
        .get_api_proxy(name)
        .text
    )