コード例 #1
0
 def download_targetservers_snapshot(self):
     for environment in self.environments:
         try:
             self.snapshot_data.targetservers[environment] = Targetservers(
                 self.auth, self.org_name, None
             ).list_targetservers_in_an_environment(
                 environment, prefix=self.prefix, format='dict'
             )
         except HTTPError:
             self.snapshot_data.targetservers[environment] = []
         data = {
             'snapshot': self.snapshot_data.targetservers[environment],
             'target_path': self._gen_snapshot_path(
                 subpaths=['targetservers', environment, 'targetservers.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.targetservers
コード例 #2
0
 def download_developers_snapshot(self):
     self.snapshot_data.developers = Developers(self.auth, self.org_name, None).list_developers(
         prefix=self.prefix, format='dict'
     )
     write_file(
         self.snapshot_data.developers,
         self._gen_download_path(is_snapshot=True, subpaths=['developers', 'developers.json']),
         fs_write=self.fs_write,
         indent=2,
     )
     return self.snapshot_data.developers
コード例 #3
0
 def download_apiproducts_snapshot(self):
     self.snapshot_data.apiproducts = Apiproducts(
         self.auth, self.org_name, None
     ).list_api_products(prefix=self.prefix, format='dict')
     write_file(
         self.snapshot_data.apiproducts,
         self._gen_download_path(is_snapshot=True, subpaths=['apiproducts', 'apiproducts.json']),
         fs_write=self.fs_write,
         indent=2,
     )
     return self.snapshot_data.apiproducts
コード例 #4
0
ファイル: backups.py プロジェクト: darumatic/apigee-cli
 def download_users_for_a_role(self, role_name):
     try:
         write_file(
             Userroles(self.auth, self.org_name, role_name).get_users_for_a_role().json(),
             Backups.generate_download_path(
                 self.org_path, subpaths=['userroles', role_name, 'users.json']
             ),
             fs_write=self.fs_write,
             indent=2,
         )
     except HTTPError as e:
         Backups.log_error(e, append_msg=' for User Role ({role_name}) users')
コード例 #5
0
def decrypt_file(symmetric_key, file, verbose, silent):
    contents = read_file(file, type='json')
    decrypted_count = 0
    console.echo('Decrypting... ', end='', flush=True)
    contents, decrypted_count = Keyvaluemaps.encrypt_decrypt_keyvaluemap(
        contents, symmetric_key, encrypt=False)
    if decrypted_count:
        write_file(contents, file, indent=2)
        console.echo('Done')
        return contents
    console.echo('None')
    return ''
コード例 #6
0
 def _download_users_for_a_role(self, role_name):
     try:
         write_file(
             Userroles(self.auth, self.org_name, role_name).get_users_for_a_role().json(),
             self._gen_download_path(subpaths=['userroles', role_name, 'users.json']),
             fs_write=self.fs_write,
             indent=2,
         )
     except HTTPError as e:
         console.echo(
             f'Ignoring {type(e).__name__} {e.response.status_code} error for User Role ({role_name}) users'
         )
コード例 #7
0
ファイル: backups.py プロジェクト: darumatic/apigee-cli
 def download_apiproducts(self):
     for apiproduct in self.snapshot_data.apiproducts:
         try:
             write_file(
                 Apiproducts(self.auth, self.org_name, apiproduct).get_api_product().text,
                 Backups.generate_download_path(
                     self.org_path, subpaths=['apiproducts', f'{apiproduct}.json']
                 ),
                 fs_write=self.fs_write,
             )
         except HTTPError as e:
             Backups.log_error(e, append_msg=' for API Product ({apiproduct})')
         self._Backups__progress_callback(desc='API Products')
コード例 #8
0
ファイル: backups.py プロジェクト: darumatic/apigee-cli
 def download_caches_snapshot(self):
     for environment in self.environments:
         self.snapshot_data.caches[environment] = Caches(
             self.auth, self.org_name, None
         ).list_caches_in_an_environment(environment, prefix=self.prefix, format='dict')
         write_file(
             self.snapshot_data.caches[environment],
             Backups.generate_download_path(
                 self.org_path, is_snapshot=True, subpaths=['caches', environment, 'caches.json']
             ),
             fs_write=self.fs_write,
             indent=2,
         )
コード例 #9
0
ファイル: backups.py プロジェクト: darumatic/apigee-cli
 def download_developers(self):
     for developer in self.snapshot_data.developers:
         try:
             write_file(
                 Developers(self.auth, self.org_name, developer).get_developer().text,
                 Backups.generate_download_path(
                     self.org_path, subpaths=['developers', f'{developer}.json']
                 ),
                 fs_write=self.fs_write,
             )
         except HTTPError as e:
             Backups.log_error(e, append_msg=' for Developer ({developer})')
         self._Backups__progress_callback(desc='Developers')
コード例 #10
0
 def _download_resource_permissions(self, role_name):
     try:
         data = {
             'snapshot': self._get_permissions(role_name),
             'target_path': self._gen_download_path(
                 subpaths=['userroles', role_name, 'resource_permissions.json']
             ),
             'fs_write': self.fs_write,
         }
         write_file(data['snapshot'], data['target_path'], fs_write=data['fs_write'])
     except HTTPError as e:
         console.echo(
             f'Ignoring {type(e).__name__} {e.response.status_code} error for User Role ({role_name}) resource permissions'
         )
コード例 #11
0
 def download_apiproducts_snapshot(self):
     self.snapshot_data.apiproducts = Apiproducts(
         self.auth, self.org_name, None
     ).list_api_products(prefix=self.prefix, format='dict')
     data = {
         'snapshot': self.snapshot_data.apiproducts,
         'target_path': self._gen_snapshot_path(subpaths=['apiproducts', 'apiproducts.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.apiproducts
コード例 #12
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
コード例 #13
0
 def download_developers_snapshot(self):
     self.snapshot_data.developers = Developers(self.auth, self.org_name, None).list_developers(
         prefix=self.prefix, format='dict'
     )
     data = {
         'snapshot': self.snapshot_data.developers,
         'target_path': self._gen_snapshot_path(subpaths=['developers', 'developers.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.developers
コード例 #14
0
 def download_apiproducts(self):
     for apiproduct in self.snapshot_data.apiproducts:
         try:
             write_file(
                 Apiproducts(self.auth, self.org_name, apiproduct).get_api_product().text,
                 self._gen_download_path(subpaths=['apiproducts', f'{apiproduct}.json']),
                 fs_write=self.fs_write,
             )
         except HTTPError as e:
             console.echo(
                 f'Ignoring {type(e).__name__} {e.response.status_code} error for API Product ({apiproduct})'
             )
         self._progress_callback(desc='API Products')
     return self.snapshot_data.apiproducts
コード例 #15
0
 def download_developers(self):
     for developer in self.snapshot_data.developers:
         try:
             write_file(
                 Developers(self.auth, self.org_name, developer).get_developer().text,
                 self._gen_download_path(subpaths=['developers', f'{developer}.json']),
                 fs_write=self.fs_write,
             )
         except HTTPError as e:
             console.echo(
                 f'Ignoring {type(e).__name__} {e.response.status_code} error for Developer ({developer})'
             )
         self._progress_callback(desc='Developers')
     return self.snapshot_data.developers
コード例 #16
0
 def download_userroles_snapshot(self):
     self.snapshot_data.userroles = (
         Userroles(self.auth, self.org_name, None).list_user_roles().json()
     )
     if self.prefix:
         self.snapshot_data.userroles = [
             role for role in self.snapshot_data.userroles if role.startswith(self.prefix)
         ]
     write_file(
         self.snapshot_data.userroles,
         self._gen_download_path(is_snapshot=True, subpaths=['userroles', 'userroles.json']),
         fs_write=self.fs_write,
         indent=2,
     )
     return self.snapshot_data.userroles
コード例 #17
0
ファイル: backups.py プロジェクト: darumatic/apigee-cli
 def download_caches(self):
     for environment in self.environments:
         for cache in self.snapshot_data.caches[environment]:
             try:
                 write_file(
                     Caches(self.auth, self.org_name, cache)
                     .get_information_about_a_cache(environment)
                     .text,
                     Backups.generate_download_path(
                         self.org_path, subpaths=['caches', environment, f'{cache}.json']
                     ),
                     fs_write=self.fs_write,
                 )
             except HTTPError as e:
                 Backups.log_error(e, append_msg=' for Cache ({cache})')
             self._Backups__progress_callback(desc='Caches')
コード例 #18
0
ファイル: backups.py プロジェクト: darumatic/apigee-cli
 def download_apps(self):
     for developer, apps in self.snapshot_data.apps.items():
         for app in apps:
             try:
                 write_file(
                     Apps(self.auth, self.org_name, app)
                     .get_developer_app_details(developer)
                     .text,
                     Backups.generate_download_path(
                         self.org_path, subpaths=['apps', developer, f'{app}.json']
                     ),
                     fs_write=self.fs_write,
                 )
             except HTTPError as e:
                 Backups.log_error(e, append_msg=' for Developer App ({app})')
             self._Backups__progress_callback(desc='Developer Apps')
コード例 #19
0
ファイル: backups.py プロジェクト: darumatic/apigee-cli
 def download_keyvaluemaps(self):
     for environment in self.environments:
         for kvm in self.snapshot_data.keyvaluemaps[environment]:
             try:
                 write_file(
                     Keyvaluemaps(self.auth, self.org_name, kvm)
                     .get_keyvaluemap_in_an_environment(environment)
                     .text,
                     Backups.generate_download_path(
                         self.org_path, subpaths=['keyvaluemaps', environment, f'{kvm}.json']
                     ),
                     fs_write=self.fs_write,
                 )
             except HTTPError as e:
                 Backups.log_error(e, append_msg=' for KVM ({kvm})')
             self._Backups__progress_callback(desc='KeyValueMaps')
コード例 #20
0
ファイル: backups.py プロジェクト: darumatic/apigee-cli
 def download_targetservers(self):
     for environment in self.environments:
         for targetserver in self.snapshot_data.targetservers[environment]:
             try:
                 write_file(
                     Targetservers(self.auth, self.org_name, targetserver)
                     .get_targetserver(environment)
                     .text,
                     Backups.generate_download_path(
                         self.org_path,
                         subpaths=['targetservers', environment, f'{targetserver}.json'],
                     ),
                     fs_write=self.fs_write,
                 )
             except HTTPError as e:
                 Backups.log_error(e, append_msg=' for TargetServer ({targetserver})')
             self._Backups__progress_callback(desc='TargetServers')
コード例 #21
0
 def download_apps(self):
     for developer, apps in self.snapshot_data.apps.items():
         for app in apps:
             try:
                 write_file(
                     Apps(self.auth, self.org_name, app)
                     .get_developer_app_details(developer)
                     .text,
                     self._gen_download_path(subpaths=['apps', developer, f'{app}.json']),
                     fs_write=self.fs_write,
                 )
             except HTTPError as e:
                 console.echo(
                     f'Ignoring {type(e).__name__} {e.response.status_code} error for Developer App ({app})'
                 )
             self._progress_callback(desc='Developer Apps')
     return self.snapshot_data.apps
コード例 #22
0
 def download_apps_snapshot(self, expand=False, count=1000, startkey=""):
     self.snapshot_data.apps = Apps(self.auth, self.org_name, None).list_apps_for_all_developers(
         Developers(self.auth, self.org_name, None).list_developers(
             prefix=None, expand=expand, count=count, startkey=startkey, format='dict'
         ),
         prefix=self.prefix,
         format='dict',
     )
     self.snapshot_data.apps = {k: v for k, v in self.snapshot_data.apps.items() if v}
     for app, details in self.snapshot_data.apps.items():
         write_file(
             details,
             self._gen_download_path(is_snapshot=True, subpaths=['apps', f'{app}.json']),
             fs_write=self.fs_write,
             indent=2,
         )
     return self.snapshot_data.apps
コード例 #23
0
 def download_caches(self):
     for environment in self.environments:
         for cache in self.snapshot_data.caches[environment]:
             try:
                 write_file(
                     Caches(self.auth, self.org_name, cache)
                     .get_information_about_a_cache(environment)
                     .text,
                     self._gen_download_path(subpaths=['caches', environment, f'{cache}.json']),
                     fs_write=self.fs_write,
                 )
             except HTTPError as e:
                 console.echo(
                     f'Ignoring {type(e).__name__} {e.response.status_code} error for Cache ({cache})'
                 )
             self._progress_callback(desc='Caches')
     return self.snapshot_data.caches
コード例 #24
0
 def download_caches_snapshot(self):
     for environment in self.environments:
         try:
             self.snapshot_data.caches[environment] = Caches(
                 self.auth, self.org_name, None
             ).list_caches_in_an_environment(environment, prefix=self.prefix, format='dict')
         except HTTPError:
             self.snapshot_data.caches[environment] = []
         write_file(
             self.snapshot_data.caches[environment],
             self._gen_download_path(
                 is_snapshot=True, subpaths=['caches', environment, 'caches.json']
             ),
             fs_write=self.fs_write,
             indent=2,
         )
     return self.snapshot_data.caches
コード例 #25
0
ファイル: backups.py プロジェクト: darumatic/apigee-cli
 def download_resource_permissions(self, role_name):
     try:
         write_file(
             json.dumps(
                 Userroles.sort_permissions(
                     Permissions(self.auth, self.org_name, role_name).get_permissions(
                         formatted=True, format='json'
                     )
                 ),
                 indent=2,
             ),
             Backups.generate_download_path(
                 self.org_path, subpaths=['userroles', role_name, 'resource_permissions.json']
             ),
             fs_write=self.fs_write,
         )
     except HTTPError as e:
         Backups.log_error(e, append_msg=' for User Role ({role_name}) resource permissions')
コード例 #26
0
 def download_userroles_snapshot(self):
     self.snapshot_data.userroles = (
         Userroles(self.auth, self.org_name, None).list_user_roles().json()
     )
     if self.prefix:
         self.snapshot_data.userroles = [
             role for role in self.snapshot_data.userroles if role.startswith(self.prefix)
         ]
     data = {
         'snapshot': self.snapshot_data.userroles,
         'target_path': self._gen_snapshot_path(subpaths=['userroles', 'userroles.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.userroles
コード例 #27
0
 def download_keyvaluemaps(self):
     for environment in self.environments:
         for kvm in self.snapshot_data.keyvaluemaps[environment]:
             try:
                 write_file(
                     Keyvaluemaps(self.auth, self.org_name, kvm)
                     .get_keyvaluemap_in_an_environment(environment)
                     .text,
                     self._gen_download_path(
                         subpaths=['keyvaluemaps', environment, f'{kvm}.json']
                     ),
                     fs_write=self.fs_write,
                 )
             except HTTPError as e:
                 console.echo(
                     f'Ignoring {type(e).__name__} {e.response.status_code} error for KVM ({kvm})'
                 )
             self._progress_callback(desc='KeyValueMaps')
     return self.snapshot_data.keyvaluemaps
コード例 #28
0
 def download_targetservers(self):
     for environment in self.environments:
         for targetserver in self.snapshot_data.targetservers[environment]:
             try:
                 write_file(
                     Targetservers(self.auth, self.org_name, targetserver)
                     .get_targetserver(environment)
                     .text,
                     self._gen_download_path(
                         subpaths=['targetservers', environment, f'{targetserver}.json']
                     ),
                     fs_write=self.fs_write,
                 )
             except HTTPError as e:
                 console.echo(
                     f'Ignoring {type(e).__name__} {e.response.status_code} error for TargetServer ({targetserver})'
                 )
             self._progress_callback(desc='TargetServers')
     return self.snapshot_data.targetservers
コード例 #29
0
 def _download_resource_permissions(self, role_name):
     try:
         write_file(
             json.dumps(
                 Userroles.sort_permissions(
                     Permissions(self.auth, self.org_name, role_name).get_permissions(
                         formatted=True, format='json'
                     )
                 ),
                 indent=2,
             ),
             self._gen_download_path(
                 subpaths=['userroles', role_name, 'resource_permissions.json']
             ),
             fs_write=self.fs_write,
         )
     except HTTPError as e:
         console.echo(
             f'Ignoring {type(e).__name__} {e.response.status_code} error for User Role ({role_name}) resource permissions'
         )
コード例 #30
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