vectorize_client.models.github_config
Vectorize API
API for Vectorize services (Beta)
The version of the OpenAPI document: 0.1.2 Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
1# coding: utf-8 2 3""" 4 Vectorize API 5 6 API for Vectorize services (Beta) 7 8 The version of the OpenAPI document: 0.1.2 9 Generated by OpenAPI Generator (https://openapi-generator.tech) 10 11 Do not edit the class manually. 12""" # noqa: E501 13 14 15from __future__ import annotations 16import pprint 17import re # noqa: F401 18import json 19 20from datetime import date 21from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator 22from typing import Any, ClassVar, Dict, List, Optional, Union 23from typing import Optional, Set 24from typing_extensions import Self 25 26class GITHUBConfig(BaseModel): 27 """ 28 Configuration for GitHub connector 29 """ # noqa: E501 30 repositories: List[StrictStr] = Field(description="Repositories. Example: Example: owner1/repo1") 31 include_pull_requests: StrictBool = Field(description="Include Pull Requests", alias="include-pull-requests") 32 pull_request_status: StrictStr = Field(description="Pull Request Status", alias="pull-request-status") 33 pull_request_labels: Optional[List[StrictStr]] = Field(default=None, description="Pull Request Labels. Example: Optionally filter by label. E.g. fix", alias="pull-request-labels") 34 include_issues: StrictBool = Field(description="Include Issues", alias="include-issues") 35 issue_status: StrictStr = Field(description="Issue Status", alias="issue-status") 36 issue_labels: Optional[List[StrictStr]] = Field(default=None, description="Issue Labels. Example: Optionally filter by label. E.g. bug", alias="issue-labels") 37 max_items: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Max Items. Leave blank for no limit, or specify a maximum number. Example: Enter maximum number of items to fetch (leave blank for no limit)", alias="max-items") 38 created_after: Optional[date] = Field(default=None, description="Created After. Filter for items created after this date. Example: Enter a date: Example 2012-12-31", alias="created-after") 39 __properties: ClassVar[List[str]] = ["repositories", "include-pull-requests", "pull-request-status", "pull-request-labels", "include-issues", "issue-status", "issue-labels", "max-items", "created-after"] 40 41 @field_validator('pull_request_status') 42 def pull_request_status_validate_enum(cls, value): 43 """Validates the enum""" 44 if value not in set(['all', 'open', 'closed', 'merged']): 45 raise ValueError("must be one of enum values ('all', 'open', 'closed', 'merged')") 46 return value 47 48 @field_validator('issue_status') 49 def issue_status_validate_enum(cls, value): 50 """Validates the enum""" 51 if value not in set(['all', 'open', 'closed']): 52 raise ValueError("must be one of enum values ('all', 'open', 'closed')") 53 return value 54 55 model_config = ConfigDict( 56 populate_by_name=True, 57 validate_assignment=True, 58 protected_namespaces=(), 59 ) 60 61 62 def to_str(self) -> str: 63 """Returns the string representation of the model using alias""" 64 return pprint.pformat(self.model_dump(by_alias=True)) 65 66 def to_json(self) -> str: 67 """Returns the JSON representation of the model using alias""" 68 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 69 return json.dumps(self.to_dict()) 70 71 @classmethod 72 def from_json(cls, json_str: str) -> Optional[Self]: 73 """Create an instance of GITHUBConfig from a JSON string""" 74 return cls.from_dict(json.loads(json_str)) 75 76 def to_dict(self) -> Dict[str, Any]: 77 """Return the dictionary representation of the model using alias. 78 79 This has the following differences from calling pydantic's 80 `self.model_dump(by_alias=True)`: 81 82 * `None` is only added to the output dict for nullable fields that 83 were set at model initialization. Other fields with value `None` 84 are ignored. 85 """ 86 excluded_fields: Set[str] = set([ 87 ]) 88 89 _dict = self.model_dump( 90 by_alias=True, 91 exclude=excluded_fields, 92 exclude_none=True, 93 ) 94 return _dict 95 96 @classmethod 97 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 98 """Create an instance of GITHUBConfig from a dict""" 99 if obj is None: 100 return None 101 102 if not isinstance(obj, dict): 103 return cls.model_validate(obj) 104 105 _obj = cls.model_validate({ 106 "repositories": obj.get("repositories"), 107 "include-pull-requests": obj.get("include-pull-requests") if obj.get("include-pull-requests") is not None else True, 108 "pull-request-status": obj.get("pull-request-status") if obj.get("pull-request-status") is not None else 'all', 109 "pull-request-labels": obj.get("pull-request-labels"), 110 "include-issues": obj.get("include-issues") if obj.get("include-issues") is not None else True, 111 "issue-status": obj.get("issue-status") if obj.get("issue-status") is not None else 'all', 112 "issue-labels": obj.get("issue-labels"), 113 "max-items": obj.get("max-items"), 114 "created-after": obj.get("created-after") 115 }) 116 return _obj
class
GITHUBConfig(pydantic.main.BaseModel):
27class GITHUBConfig(BaseModel): 28 """ 29 Configuration for GitHub connector 30 """ # noqa: E501 31 repositories: List[StrictStr] = Field(description="Repositories. Example: Example: owner1/repo1") 32 include_pull_requests: StrictBool = Field(description="Include Pull Requests", alias="include-pull-requests") 33 pull_request_status: StrictStr = Field(description="Pull Request Status", alias="pull-request-status") 34 pull_request_labels: Optional[List[StrictStr]] = Field(default=None, description="Pull Request Labels. Example: Optionally filter by label. E.g. fix", alias="pull-request-labels") 35 include_issues: StrictBool = Field(description="Include Issues", alias="include-issues") 36 issue_status: StrictStr = Field(description="Issue Status", alias="issue-status") 37 issue_labels: Optional[List[StrictStr]] = Field(default=None, description="Issue Labels. Example: Optionally filter by label. E.g. bug", alias="issue-labels") 38 max_items: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Max Items. Leave blank for no limit, or specify a maximum number. Example: Enter maximum number of items to fetch (leave blank for no limit)", alias="max-items") 39 created_after: Optional[date] = Field(default=None, description="Created After. Filter for items created after this date. Example: Enter a date: Example 2012-12-31", alias="created-after") 40 __properties: ClassVar[List[str]] = ["repositories", "include-pull-requests", "pull-request-status", "pull-request-labels", "include-issues", "issue-status", "issue-labels", "max-items", "created-after"] 41 42 @field_validator('pull_request_status') 43 def pull_request_status_validate_enum(cls, value): 44 """Validates the enum""" 45 if value not in set(['all', 'open', 'closed', 'merged']): 46 raise ValueError("must be one of enum values ('all', 'open', 'closed', 'merged')") 47 return value 48 49 @field_validator('issue_status') 50 def issue_status_validate_enum(cls, value): 51 """Validates the enum""" 52 if value not in set(['all', 'open', 'closed']): 53 raise ValueError("must be one of enum values ('all', 'open', 'closed')") 54 return value 55 56 model_config = ConfigDict( 57 populate_by_name=True, 58 validate_assignment=True, 59 protected_namespaces=(), 60 ) 61 62 63 def to_str(self) -> str: 64 """Returns the string representation of the model using alias""" 65 return pprint.pformat(self.model_dump(by_alias=True)) 66 67 def to_json(self) -> str: 68 """Returns the JSON representation of the model using alias""" 69 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 70 return json.dumps(self.to_dict()) 71 72 @classmethod 73 def from_json(cls, json_str: str) -> Optional[Self]: 74 """Create an instance of GITHUBConfig from a JSON string""" 75 return cls.from_dict(json.loads(json_str)) 76 77 def to_dict(self) -> Dict[str, Any]: 78 """Return the dictionary representation of the model using alias. 79 80 This has the following differences from calling pydantic's 81 `self.model_dump(by_alias=True)`: 82 83 * `None` is only added to the output dict for nullable fields that 84 were set at model initialization. Other fields with value `None` 85 are ignored. 86 """ 87 excluded_fields: Set[str] = set([ 88 ]) 89 90 _dict = self.model_dump( 91 by_alias=True, 92 exclude=excluded_fields, 93 exclude_none=True, 94 ) 95 return _dict 96 97 @classmethod 98 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 99 """Create an instance of GITHUBConfig from a dict""" 100 if obj is None: 101 return None 102 103 if not isinstance(obj, dict): 104 return cls.model_validate(obj) 105 106 _obj = cls.model_validate({ 107 "repositories": obj.get("repositories"), 108 "include-pull-requests": obj.get("include-pull-requests") if obj.get("include-pull-requests") is not None else True, 109 "pull-request-status": obj.get("pull-request-status") if obj.get("pull-request-status") is not None else 'all', 110 "pull-request-labels": obj.get("pull-request-labels"), 111 "include-issues": obj.get("include-issues") if obj.get("include-issues") is not None else True, 112 "issue-status": obj.get("issue-status") if obj.get("issue-status") is not None else 'all', 113 "issue-labels": obj.get("issue-labels"), 114 "max-items": obj.get("max-items"), 115 "created-after": obj.get("created-after") 116 }) 117 return _obj
Configuration for GitHub connector
max_items: Union[Annotated[float, Strict(strict=True)], Annotated[int, Strict(strict=True)], NoneType]
@field_validator('pull_request_status')
def
pull_request_status_validate_enum(cls, value):
42 @field_validator('pull_request_status') 43 def pull_request_status_validate_enum(cls, value): 44 """Validates the enum""" 45 if value not in set(['all', 'open', 'closed', 'merged']): 46 raise ValueError("must be one of enum values ('all', 'open', 'closed', 'merged')") 47 return value
Validates the enum
@field_validator('issue_status')
def
issue_status_validate_enum(cls, value):
49 @field_validator('issue_status') 50 def issue_status_validate_enum(cls, value): 51 """Validates the enum""" 52 if value not in set(['all', 'open', 'closed']): 53 raise ValueError("must be one of enum values ('all', 'open', 'closed')") 54 return value
Validates the enum
model_config =
{'populate_by_name': True, 'validate_assignment': True, 'protected_namespaces': (), 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict
][pydantic.config.ConfigDict].
def
to_str(self) -> str:
63 def to_str(self) -> str: 64 """Returns the string representation of the model using alias""" 65 return pprint.pformat(self.model_dump(by_alias=True))
Returns the string representation of the model using alias
def
to_json(self) -> str:
67 def to_json(self) -> str: 68 """Returns the JSON representation of the model using alias""" 69 # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead 70 return json.dumps(self.to_dict())
Returns the JSON representation of the model using alias
@classmethod
def
from_json(cls, json_str: str) -> Optional[Self]:
72 @classmethod 73 def from_json(cls, json_str: str) -> Optional[Self]: 74 """Create an instance of GITHUBConfig from a JSON string""" 75 return cls.from_dict(json.loads(json_str))
Create an instance of GITHUBConfig from a JSON string
def
to_dict(self) -> Dict[str, Any]:
77 def to_dict(self) -> Dict[str, Any]: 78 """Return the dictionary representation of the model using alias. 79 80 This has the following differences from calling pydantic's 81 `self.model_dump(by_alias=True)`: 82 83 * `None` is only added to the output dict for nullable fields that 84 were set at model initialization. Other fields with value `None` 85 are ignored. 86 """ 87 excluded_fields: Set[str] = set([ 88 ]) 89 90 _dict = self.model_dump( 91 by_alias=True, 92 exclude=excluded_fields, 93 exclude_none=True, 94 ) 95 return _dict
Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
self.model_dump(by_alias=True)
:
None
is only added to the output dict for nullable fields that were set at model initialization. Other fields with valueNone
are ignored.
@classmethod
def
from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
97 @classmethod 98 def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: 99 """Create an instance of GITHUBConfig from a dict""" 100 if obj is None: 101 return None 102 103 if not isinstance(obj, dict): 104 return cls.model_validate(obj) 105 106 _obj = cls.model_validate({ 107 "repositories": obj.get("repositories"), 108 "include-pull-requests": obj.get("include-pull-requests") if obj.get("include-pull-requests") is not None else True, 109 "pull-request-status": obj.get("pull-request-status") if obj.get("pull-request-status") is not None else 'all', 110 "pull-request-labels": obj.get("pull-request-labels"), 111 "include-issues": obj.get("include-issues") if obj.get("include-issues") is not None else True, 112 "issue-status": obj.get("issue-status") if obj.get("issue-status") is not None else 'all', 113 "issue-labels": obj.get("issue-labels"), 114 "max-items": obj.get("max-items"), 115 "created-after": obj.get("created-after") 116 }) 117 return _obj
Create an instance of GITHUBConfig from a dict