示例#1
0
    def get_project_member(self, project_id, member_id, expect_status_code = 200, expect_response_body = None, **kwargs):
        client = self._get_client(**kwargs)
        data = []
        try:
            data, status_code, _ = client.projects_project_id_members_mid_get_with_http_info(project_id, member_id,)
        except ApiException as e:
            base._assert_status_code(expect_status_code, e.status)
            if expect_response_body is not None:
                base._assert_status_body(expect_response_body, e.body)
            return

        base._assert_status_code(expect_status_code, status_code)
        base._assert_status_code(200, status_code)
        return data
示例#2
0
    def copy_artifact(self, project_name, repo_name, _from, expect_status_code = 201, expect_response_body = None, **kwargs):
        client = self._get_client(**kwargs)

        try:
            data, status_code, _ = client.copy_artifact_with_http_info(project_name, repo_name, _from)
        except ApiException as e:
            base._assert_status_code(expect_status_code, e.status)
            if expect_response_body is not None:
                base._assert_status_body(expect_response_body, e.body)
            return

        base._assert_status_code(expect_status_code, status_code)
        base._assert_status_code(201, status_code)
        return data
示例#3
0
    def get_project_member(self, project_id, member_id, expect_status_code = 200, expect_response_body = None, **kwargs):
        from swagger_client.rest import ApiException
        kwargs['api_type'] = 'member'
        data = []
        try:
            data, status_code, _ = self._get_client(**kwargs).get_project_member_with_http_info(project_id, member_id,)
        except ApiException as e:
            base._assert_status_code(expect_status_code, e.status)
            if expect_response_body is not None:
                base._assert_status_body(expect_response_body, e.body)
            return

        base._assert_status_code(expect_status_code, status_code)
        base._assert_status_code(200, status_code)
        return data
示例#4
0
 def upload_chart(self,
                  repository,
                  chart,
                  prov=None,
                  expect_status_code=201,
                  **kwargs):
     client = self._get_client(**kwargs)
     try:
         _, status_code, _ = client.chartrepo_repo_charts_post_with_http_info(
             repository, chart)
     except ApiException as e:
         base._assert_status_code(expect_status_code, e.status)
     else:
         base._assert_status_code(expect_status_code, status_code)
         base._assert_status_code(201, status_code)
示例#5
0
    def retag_image(self, repo_name, tag, src_image, override=True, expect_status_code = 200, expect_response_body = None, **kwargs):
        client = self._get_client(**kwargs)
        request = swagger_client.RetagReq(tag=tag, src_image=src_image, override=override)

        try:
            data, status_code, _ = client.repositories_repo_name_tags_post_with_http_info(repo_name, request)
        except ApiException as e:
            base._assert_status_code(expect_status_code, e.status)
            if expect_response_body is not None:
                base._assert_status_body(expect_response_body, e.body)
            return

        base._assert_status_code(expect_status_code, status_code)
        base._assert_status_code(200, status_code)
        return data
示例#6
0
 def delete_repoitory(self,
                      project_name,
                      repo_name,
                      expect_status_code=200,
                      expect_response_body=None,
                      **kwargs):
     client = self._get_client(**kwargs)
     try:
         _, status_code, _ = client.delete_repository_with_http_info(
             project_name, repo_name)
     except Exception as e:
         base._assert_status_code(expect_status_code, e.status)
         return e.body
     base._assert_status_code(expect_status_code, status_code)
     base._assert_status_code(200, status_code)
示例#7
0
 def delete_chart_with_version(self,
                               repository,
                               chart_name,
                               version,
                               expect_status_code=200,
                               **kwargs):
     client = self._get_client(**kwargs)
     try:
         _, status_code, _ = client.chartrepo_repo_charts_name_version_delete_with_http_info(
             repository, chart_name, version)
     except ApiException as e:
         base._assert_status_code(expect_status_code, e.status)
     else:
         base._assert_status_code(expect_status_code, status_code)
         base._assert_status_code(200, status_code)
示例#8
0
 def delete_instance(self,
                     preheat_instance_name,
                     expect_status_code=200,
                     expect_response_body=None,
                     **kwargs):
     client = self._get_client(**kwargs)
     try:
         _, status_code, header = _, status_code, _ = client.delete_instance_with_http_info(
             preheat_instance_name)
     except ApiException as e:
         base._assert_status_code(expect_status_code, e.status)
         if expect_response_body is not None:
             base._assert_status_body(expect_response_body, e.body)
     else:
         base._assert_status_code(expect_status_code, status_code)
         base._assert_status_code(200, status_code)
示例#9
0
 def delete_tag(self,
                project_name,
                repo_name,
                reference,
                tag_name,
                expect_status_code=200,
                **kwargs):
     try:
         _, status_code, _ = self._get_client(
             **kwargs).delete_tag_with_http_info(project_name, repo_name,
                                                 reference, tag_name)
     except ApiException as e:
         base._assert_status_code(expect_status_code, e.status)
     else:
         base._assert_status_code(expect_status_code, status_code)
         base._assert_status_code(200, status_code)
示例#10
0
    def create_project(self, name=None, metadata=None, expect_status_code = 201, expect_response_body = None, **kwargs):
        if name is None:
            name = base._random_name("project")
        if metadata is None:
            metadata = {}
        client = self._get_client(**kwargs)

        try:
            _, status_code, header = client.create_project_with_http_info(v2_swagger_client.ProjectReq(project_name=name, metadata=metadata))
        except ApiException as e:
            base._assert_status_code(expect_status_code, e.status)
            if expect_response_body is not None:
                base._assert_status_body(expect_response_body, e.body)
            return
        base._assert_status_code(expect_status_code, status_code)
        base._assert_status_code(201, status_code)
        return base._get_id_from_header(header), name
示例#11
0
文件: label.py 项目: zgfh/harbor
    def create_label(self, name=None, desc="", color="", scope="g",
            project_id=0, expect_status_code = 201, **kwargs):
        if name is None:
            name = base._random_name("label")
        label = v2_swagger_client.Label(name=name,
            description=desc, color=color,
            scope=scope, project_id=project_id)
        client = self._get_client(**kwargs)

        try:
            _, status_code, header = client.create_label_with_http_info(label)
        except ApiException as e:
            base._assert_status_code(expect_status_code, e.status)
        else:
            base._assert_status_code(expect_status_code, status_code)
            base._assert_status_code(201, status_code)
            return base._get_id_from_header(header), name
示例#12
0
    def create_project_robot(self, project_name, duration, robot_name = None, robot_desc = None,
            has_pull_right = True,  has_push_right = True, has_chart_read_right = True,
            has_chart_create_right = True, expect_status_code = 201, expect_response_body = None,
            **kwargs):
        if robot_name is None:
            robot_name = base._random_name("robot")
        if robot_desc is None:
            robot_desc = base._random_name("robot_desc")
        if has_pull_right is False and has_push_right is False:
            has_pull_right = True
        access_list = []
        action_pull = "pull"
        action_push = "push"
        action_read = "read"
        action_create = "create"
        if has_pull_right is True:
            robotAccountAccess = v2_swagger_client.Access(resource = "repository", action = action_pull)
            access_list.append(robotAccountAccess)
        if has_push_right is True:
            robotAccountAccess = v2_swagger_client.Access(resource = "repository", action = action_push)
            access_list.append(robotAccountAccess)
        if has_chart_read_right is True:
            robotAccountAccess = v2_swagger_client.Access(resource = "helm-chart", action = action_read)
            access_list.append(robotAccountAccess)
        if has_chart_create_right is True:
            robotAccountAccess = v2_swagger_client.Access(resource = "helm-chart-version", action = action_create)
            access_list.append(robotAccountAccess)

        robotaccountPermissions = v2_swagger_client.RobotPermission(kind = "project", namespace = project_name, access = access_list)
        permission_list = []
        permission_list.append(robotaccountPermissions)
        robotAccountCreate = v2_swagger_client.RobotCreate(name=robot_name, description=robot_desc, duration=duration, level="project", permissions = permission_list)

        client = self._get_client(**kwargs)
        data = []
        try:
            data, status_code, header = client.create_robot_with_http_info(robotAccountCreate)
        except ApiException as e:
            base._assert_status_code(expect_status_code, e.status)
            if expect_response_body is not None:
                base._assert_status_body(expect_response_body, e.body)
        else:
            base._assert_status_code(expect_status_code, status_code)
            base._assert_status_code(201, status_code)
            return base._get_id_from_header(header), data
示例#13
0
    def delete_webhook(self,
                       project_id,
                       webhook_policy_id,
                       expect_status_code=200,
                       expect_response_body=None,
                       **kwargs):

        try:
            _, status_code, _ = self._get_client(
                **kwargs).delete_webhook_policy_of_project_with_http_info(
                    project_id, webhook_policy_id)
        except ApiException as e:
            base._assert_status_code(expect_status_code, e.status)
            if expect_response_body is not None:
                base._assert_status_body(expect_response_body, e.body)
            return
        base._assert_status_code(expect_status_code, status_code)
        base._assert_status_code(200, status_code)
示例#14
0
 def add_label_to_reference(self,
                            project_name,
                            repo_name,
                            reference,
                            label_id,
                            expect_status_code=200,
                            **kwargs):
     label = v2_swagger_client.Label(id=label_id)
     try:
         body, status_code, _ = self._get_client(
             **kwargs).add_label_with_http_info(project_name, repo_name,
                                                reference, label)
     except ApiException as e:
         base._assert_status_code(expect_status_code, e.status)
     else:
         base._assert_status_code(expect_status_code, status_code)
         base._assert_status_code(200, status_code)
         return body
示例#15
0
    def get_project(self,
                    project_id,
                    expect_status_code=200,
                    expect_response_body=None,
                    **kwargs):
        try:
            data, status_code, _ = self._get_client(
                **kwargs).get_project_with_http_info(project_id)
        except ApiException as e:
            base._assert_status_code(expect_status_code, e.status)
            if expect_response_body is not None:
                base._assert_status_body(expect_response_body, e.body)
            return

        base._assert_status_code(expect_status_code, status_code)
        base._assert_status_code(200, status_code)
        print("Project {} info: {}".format(project_id, data))
        return data
示例#16
0
 def create_instance(self, name = None, description="It's a dragonfly instance", vendor="dragonfly",
                     endpoint_url="http://20.32.244.16", auth_mode="NONE", enabled=True, insecure=True,
                     expect_status_code = 201, expect_response_body = None, **kwargs):
     if name is None:
         name = base._random_name("instance")
     instance = v2_swagger_client.Instance(name=name, description=description,vendor=vendor,
         endpoint=endpoint_url, auth_mode=auth_mode, enabled=enabled)
     print("instance:",instance)
     try:
         _, status_code, header = self._get_client(**kwargs).create_instance_with_http_info(instance)
     except ApiException as e:
         base._assert_status_code(expect_status_code, e.status)
         if expect_response_body is not None:
             base._assert_status_body(expect_response_body, e.body)
         return
     base._assert_status_code(expect_status_code, status_code)
     base._assert_status_code(201, status_code)
     return base._get_id_from_header(header), name
示例#17
0
 def delete_artifact(self,
                     project_name,
                     repo_name,
                     reference,
                     expect_status_code=200,
                     expect_response_body=None,
                     **kwargs):
     try:
         _, status_code, _ = self._get_client(
             **kwargs).delete_artifact_with_http_info(
                 project_name, repo_name, reference)
     except ApiException as e:
         base._assert_status_code(expect_status_code, e.status)
         if expect_response_body is not None:
             base._assert_status_body(expect_response_body, e.body)
         return
     else:
         base._assert_status_code(expect_status_code, status_code)
         base._assert_status_code(200, status_code)
示例#18
0
 def create_policy(self, project_name, project_id, provider_id, name = None, description="It's a dragonfly policy",
                     filters=r'[{"type":"repository","value":"re*"},{"type":"tag","value":"v1.0*"}]', trigger=r'{"type":"manual","trigger_setting":{"cron":""}}', enabled=True,
                     expect_status_code = 201, expect_response_body = None, **kwargs):
     if name is None:
         name = base._random_name("policy")
     policy = v2_swagger_client.PreheatPolicy(name=name, project_id=project_id, provider_id=provider_id,
                                                description=description,filters=filters,
                                                trigger=trigger, enabled=enabled)
     print("policy:",policy)
     try:
         data, status_code, header = self._get_client(**kwargs).create_policy_with_http_info(project_name, policy)
     except ApiException as e:
         base._assert_status_code(expect_status_code, e.status)
         if expect_response_body is not None:
             base._assert_status_body(expect_response_body, e.body)
         return
     base._assert_status_code(expect_status_code, status_code)
     base._assert_status_code(201, status_code)
     return base._get_id_from_header(header), name
示例#19
0
    def get_webhook(self,
                    project_id,
                    webhook_policy_id,
                    expect_status_code=200,
                    expect_response_body=None,
                    **kwargs):

        try:
            data, status_code, header = self._get_client(
                **kwargs).get_webhook_policy_of_project_with_http_info(
                    project_id, webhook_policy_id)
        except ApiException as e:
            base._assert_status_code(expect_status_code, e.status)
            if expect_response_body is not None:
                base._assert_status_body(expect_response_body, e.body)
            return
        base._assert_status_code(expect_status_code, status_code)
        base._assert_status_code(200, status_code)
        print("Webhooks:", data)
        return data
示例#20
0
    def get_configurations(self, item_name = None, expect_status_code = 200, expect_response_body = None, **kwargs):
        client = self._get_client(**kwargs)

        try:
            data, status_code, _ = client.get_configurations_with_http_info()
        except ApiException as e:
            base._assert_status_code(expect_status_code, e.status)
            if expect_response_body is not None:
                base._assert_status_body(expect_response_body, e.body)
            return

        base._assert_status_code(expect_status_code, status_code)
        base._assert_status_code(200, status_code)

        if item_name is not None:
            return {
            'project_creation_restriction': data.project_creation_restriction.value,
            'token_expiration': data.token_expiration.value,
            }.get(item_name,'Get Configutation Error: Item name {} is not exist'.format(item_name))

        return data
示例#21
0
    def create_tag(self,
                   project_name,
                   repo_name,
                   reference,
                   tag_name,
                   expect_status_code=201,
                   ignore_conflict=False,
                   **kwargs):
        tag = v2_swagger_client.Tag(name=tag_name)
        try:
            _, status_code, _ = self._get_client(
                **kwargs).create_tag_with_http_info(project_name, repo_name,
                                                    reference, tag)
        except ApiException as e:
            if e.status == 409 and ignore_conflict == True:
                return
            base._assert_status_code(expect_status_code, e.status)

        else:
            base._assert_status_code(expect_status_code, status_code)
            base._assert_status_code(201, status_code)
示例#22
0
    def create_webhook(self,
                       project_id,
                       targets,
                       event_types=[
                           "DELETE_ARTIFACT", "PULL_ARTIFACT", "PUSH_ARTIFACT",
                           "DELETE_CHART", "DOWNLOAD_CHART", "UPLOAD_CHART",
                           "QUOTA_EXCEED", "QUOTA_WARNING", "SCANNING_FAILED",
                           "TAG_RETENTION"
                       ],
                       name=None,
                       desc=None,
                       enabled=True,
                       expect_status_code=201,
                       expect_response_body=None,
                       **kwargs):

        if name is None:
            name = base._random_name("webhook") + (str(project_id))
        if desc is None:
            desc = base._random_name("webhook desc") + (str(project_id))
        policy = v2_swagger_client.WebhookPolicy(name=name,
                                                 description=desc,
                                                 project_id=project_id,
                                                 targets=targets,
                                                 event_types=event_types,
                                                 enabled=enabled)

        try:
            _, status_code, header = self._get_client(
                **kwargs).create_webhook_policy_of_project_with_http_info(
                    project_id, policy)
        except ApiException as e:
            base._assert_status_code(expect_status_code, e.status)
            if expect_response_body is not None:
                base._assert_status_body(expect_response_body, e.body)
            return
        base._assert_status_code(expect_status_code, status_code)
        base._assert_status_code(201, status_code)
        return base._get_id_from_header(header), name
示例#23
0
 def create_tag_immutability_policy_rule(
         self,
         project_id,
         selector_repository_decoration="repoMatches",
         selector_repository="**",
         selector_tag_decoration="matches",
         selector_tag="**",
         expect_status_code=201,
         **kwargs):
     #repoExcludes,excludes
     client = self._get_client(**kwargs)
     immutable_rule = v2_swagger_client.ImmutableRule(
         action="immutable",
         template="immutable_template",
         priority=0,
         scope_selectors={
             "repository": [{
                 "kind": "doublestar",
                 "decoration": selector_repository_decoration,
                 "pattern": selector_repository
             }]
         },
         tag_selectors=[{
             "kind": "doublestar",
             "decoration": selector_tag_decoration,
             "pattern": selector_tag
         }])
     try:
         _, status_code, header = client.create_immu_rule_with_http_info(
             project_id, immutable_rule)
     except ApiException as e:
         base._assert_status_code(expect_status_code, e.status)
     else:
         base._assert_status_code(expect_status_code, status_code)
         base._assert_status_code(201, status_code)
         return base._get_id_from_header(header)
示例#24
0
 def update_tag_immutability_policy_rule(self, project_id, rule_id, selector_repository_decoration = None,
                                         selector_repository=None, selector_tag_decoration = None,
                                         selector_tag=None, disabled = None, expect_status_code = 200, **kwargs):
     rule = self.get_rule( project_id, rule_id,**kwargs)
     if selector_repository_decoration:
         rule.scope_selectors["repository"][0].decoration = selector_repository_decoration
     if selector_repository:
         rule.scope_selectors["repository"][0].pattern = selector_repository
     if selector_tag_decoration:
         rule.tag_selectors[0].decoration = selector_tag_decoration
     if selector_tag:
         rule.tag_selectors[0].pattern = selector_tag
     if disabled is not None:
         rule.disabled = disabled
     try:
         _, status_code, header = self._get_client(**kwargs).update_immu_rule_with_http_info(project_id, rule_id, rule)
     except ApiException as e:
         base._assert_status_code(expect_status_code, e.status)
         if expect_response_body is not None:
             base._assert_status_body(expect_response_body, e.body)
     else:
         base._assert_status_code(expect_status_code, status_code)
         base._assert_status_code(200, status_code)
         return base._get_id_from_header(header)
示例#25
0
 def scan_image(self, repo_name, tag, expect_status_code=202, **kwargs):
     client = self._get_client(**kwargs)
     data, status_code, _ = client.repositories_repo_name_tags_tag_scan_post_with_http_info(
         repo_name, tag)
     base._assert_status_code(expect_status_code, status_code)
     return data
示例#26
0
 def get_repo_signatures(self, repo_name, expect_status_code=200, **kwargs):
     client = self._get_client(**kwargs)
     data, status_code, _ = client.repositories_repo_name_signatures_get_with_http_info(
         repo_name)
     base._assert_status_code(expect_status_code, status_code)
     return data
示例#27
0
 def get_repository(self, project_id, **kwargs):
     client = self._get_client(**kwargs)
     data, status_code, _ = client.repositories_get_with_http_info(
         project_id)
     base._assert_status_code(200, status_code)
     return data
示例#28
0
 def delete_repoitory(self, repo_name, **kwargs):
     client = self._get_client(**kwargs)
     _, status_code, _ = client.repositories_repo_name_delete_with_http_info(
         repo_name)
     base._assert_status_code(200, status_code)
示例#29
0
 def get_projects(self, params, **kwargs):
     client = self._get_client(**kwargs)
     data = []
     data, status_code, _ = client.projects_get_with_http_info(**params)
     base._assert_status_code(200, status_code)
     return data
示例#30
0
 def get_project_log(self, project_id, expect_status_code=200, **kwargs):
     client = self._get_client(**kwargs)
     body, status_code, _ = client.projects_project_id_logs_get_with_http_info(
         project_id)
     base._assert_status_code(expect_status_code, status_code)
     return body