Exemple #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')
Exemple #2
0
def _create_client(server, credential, debug, api_type="products"):
    cfg = None
    if api_type in ('projectv2', 'artifact', 'repository', 'scanner', 'scan',
                    'scanall', 'preheat', 'quota', '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)),
        "quota":
        v2_swagger_client.QuotaApi(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":
        v2_swagger_client.ScannerApi(v2_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')
Exemple #3
0
def GetRepositoryApi(username, password, harbor_server= os.environ["HARBOR_HOST"]):

    cfg = v2_swagger_client.Configuration()
    cfg.host = "https://"+harbor_server+"/api/v2.0"
    cfg.username = username
    cfg.password = password
    cfg.verify_ssl = False
    cfg.debug = True
    api_client = v2_swagger_client.ApiClient(cfg)
    api_instance = v2_swagger_client.RepositoryApi(api_client)
    return api_instance