Exemplo n.º 1
0
def _create_client(server, credential, debug, api_type="products"):
    cfg = None
    if api_type in ('projectv2', 'artifact', 'repository', 'scan'):
        cfg = v2_swagger_client.Configuration()
    else:
        cfg = swagger_client.Configuration()

    cfg.host = server.endpoint
    cfg.verify_ssl = server.verify_ssl
    # support basic auth only for now
    cfg.username = credential.username
    cfg.password = credential.password
    cfg.debug = debug

    proxies = getproxies()
    proxy = proxies.get('http', proxies.get('all', None))
    if proxy:
        cfg.proxy = proxy
    return {
        "chart":
        client.ChartRepositoryApi(client.ApiClient(cfg)),
        "products":
        swagger_client.ProductsApi(swagger_client.ApiClient(cfg)),
        "projectv2":
        v2_swagger_client.ProjectApi(v2_swagger_client.ApiClient(cfg)),
        "artifact":
        v2_swagger_client.ArtifactApi(v2_swagger_client.ApiClient(cfg)),
        "repository":
        v2_swagger_client.RepositoryApi(v2_swagger_client.ApiClient(cfg)),
        "scan":
        v2_swagger_client.ScanApi(v2_swagger_client.ApiClient(cfg)),
        "scanner":
        swagger_client.ScannersApi(swagger_client.ApiClient(cfg)),
    }.get(api_type, 'Error: Wrong API type')
Exemplo n.º 2
0
Arquivo: base.py Projeto: xynm/harbor
def _create_client(server, credential, debug, api_type="products"):
    cfg = None
    if api_type in ('projectv2', 'artifact', 'repository', 'scan', 'scanall',
                    'preheat', 'replication', 'robot', 'gc', 'retention'):
        cfg = v2_swagger_client.Configuration()
    else:
        cfg = swagger_client.Configuration()

    cfg.host = server.endpoint
    cfg.verify_ssl = server.verify_ssl
    # support basic auth only for now
    cfg.username = credential.username
    cfg.password = credential.password
    cfg.debug = debug

    proxies = getproxies()
    proxy = proxies.get('http', proxies.get('all', None))
    if proxy:
        cfg.proxy = proxy

    if cfg.username is None and cfg.password is None:
        # returns {} for auth_settings for anonymous access
        import types
        cfg.auth_settings = types.MethodType(lambda self: {}, cfg)

    return {
        "chart":
        client.ChartRepositoryApi(client.ApiClient(cfg)),
        "products":
        swagger_client.ProductsApi(swagger_client.ApiClient(cfg)),
        "projectv2":
        v2_swagger_client.ProjectApi(v2_swagger_client.ApiClient(cfg)),
        "artifact":
        v2_swagger_client.ArtifactApi(v2_swagger_client.ApiClient(cfg)),
        "preheat":
        v2_swagger_client.PreheatApi(v2_swagger_client.ApiClient(cfg)),
        "repository":
        v2_swagger_client.RepositoryApi(v2_swagger_client.ApiClient(cfg)),
        "scan":
        v2_swagger_client.ScanApi(v2_swagger_client.ApiClient(cfg)),
        "scanall":
        v2_swagger_client.ScanAllApi(v2_swagger_client.ApiClient(cfg)),
        "scanner":
        swagger_client.ScannersApi(swagger_client.ApiClient(cfg)),
        "replication":
        v2_swagger_client.ReplicationApi(v2_swagger_client.ApiClient(cfg)),
        "robot":
        v2_swagger_client.RobotApi(v2_swagger_client.ApiClient(cfg)),
        "gc":
        v2_swagger_client.GcApi(v2_swagger_client.ApiClient(cfg)),
        "retention":
        v2_swagger_client.RetentionApi(v2_swagger_client.ApiClient(cfg)),
    }.get(api_type, 'Error: Wrong API type')