crc-pulp-python-client 20251023.2__py3-none-any.whl → 20260113.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of crc-pulp-python-client might be problematic. Click here for more details.

Files changed (23) hide show
  1. {crc_pulp_python_client-20251023.2.dist-info → crc_pulp_python_client-20260113.5.dist-info}/METADATA +1173 -236
  2. {crc_pulp_python_client-20251023.2.dist-info → crc_pulp_python_client-20260113.5.dist-info}/RECORD +23 -16
  3. pulpcore/client/pulp_python/__init__.py +8 -1
  4. pulpcore/client/pulp_python/api/__init__.py +2 -0
  5. pulpcore/client/pulp_python/api/api_integrity_provenance_api.py +407 -0
  6. pulpcore/client/pulp_python/api/api_legacy_api.py +61 -1
  7. pulpcore/client/pulp_python/api/api_simple_api.py +108 -5
  8. pulpcore/client/pulp_python/api/content_packages_api.py +66 -6
  9. pulpcore/client/pulp_python/api/content_provenance_api.py +1900 -0
  10. pulpcore/client/pulp_python/api/repositories_python_versions_api.py +279 -0
  11. pulpcore/client/pulp_python/configuration.py +3 -3
  12. pulpcore/client/pulp_python/models/__init__.py +5 -0
  13. pulpcore/client/pulp_python/models/filetype_enum.py +38 -0
  14. pulpcore/client/pulp_python/models/metadata_version_enum.py +44 -0
  15. pulpcore/client/pulp_python/models/paginatedpython_package_provenance_response_list.py +112 -0
  16. pulpcore/client/pulp_python/models/patchedpython_python_remote.py +4 -2
  17. pulpcore/client/pulp_python/models/protocol_version_enum.py +37 -0
  18. pulpcore/client/pulp_python/models/python_package_provenance_response.py +124 -0
  19. pulpcore/client/pulp_python/models/python_python_package_content_response.py +18 -3
  20. pulpcore/client/pulp_python/models/python_python_remote.py +4 -2
  21. pulpcore/client/pulp_python/models/python_python_remote_response.py +4 -2
  22. {crc_pulp_python_client-20251023.2.dist-info → crc_pulp_python_client-20260113.5.dist-info}/WHEEL +0 -0
  23. {crc_pulp_python_client-20251023.2.dist-info → crc_pulp_python_client-20260113.5.dist-info}/top_level.txt +0 -0
@@ -1668,3 +1668,282 @@ class RepositoriesPythonVersionsApi:
1668
1668
  )
1669
1669
 
1670
1670
 
1671
+
1672
+
1673
+ @validate_call
1674
+ def scan(
1675
+ self,
1676
+ python_python_repository_version_href: StrictStr,
1677
+ x_task_diagnostics: Annotated[Optional[List[StrictStr]], Field(description="List of profilers to use on tasks.")] = None,
1678
+ _request_timeout: Union[
1679
+ None,
1680
+ Annotated[StrictFloat, Field(gt=0)],
1681
+ Tuple[
1682
+ Annotated[StrictFloat, Field(gt=0)],
1683
+ Annotated[StrictFloat, Field(gt=0)]
1684
+ ]
1685
+ ] = None,
1686
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1687
+ _content_type: Optional[StrictStr] = None,
1688
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1689
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1690
+ ) -> AsyncOperationResponse:
1691
+ """Generate vulnerability report
1692
+
1693
+ Scan a repository version for vulnerabilities.
1694
+
1695
+ :param python_python_repository_version_href: (required)
1696
+ :type python_python_repository_version_href: str
1697
+ :param x_task_diagnostics: List of profilers to use on tasks.
1698
+ :type x_task_diagnostics: List[str]
1699
+ :param _request_timeout: timeout setting for this request. If one
1700
+ number provided, it will be total request
1701
+ timeout. It can also be a pair (tuple) of
1702
+ (connection, read) timeouts.
1703
+ :type _request_timeout: int, tuple(int, int), optional
1704
+ :param _request_auth: set to override the auth_settings for an a single
1705
+ request; this effectively ignores the
1706
+ authentication in the spec for a single request.
1707
+ :type _request_auth: dict, optional
1708
+ :param _content_type: force content-type for the request.
1709
+ :type _content_type: str, Optional
1710
+ :param _headers: set to override the headers for a single
1711
+ request; this effectively ignores the headers
1712
+ in the spec for a single request.
1713
+ :type _headers: dict, optional
1714
+ :param _host_index: set to override the host_index for a single
1715
+ request; this effectively ignores the host_index
1716
+ in the spec for a single request.
1717
+ :type _host_index: int, optional
1718
+ :return: Returns the result object.
1719
+ """ # noqa: E501
1720
+
1721
+ _param = self._scan_serialize(
1722
+ python_python_repository_version_href=python_python_repository_version_href,
1723
+ x_task_diagnostics=x_task_diagnostics,
1724
+ _request_auth=_request_auth,
1725
+ _content_type=_content_type,
1726
+ _headers=_headers,
1727
+ _host_index=_host_index
1728
+ )
1729
+
1730
+ _response_types_map: Dict[str, Optional[str]] = {
1731
+ '202': "AsyncOperationResponse",
1732
+ }
1733
+ response_data = self.api_client.call_api(
1734
+ *_param,
1735
+ _request_timeout=_request_timeout
1736
+ )
1737
+ response_data.read()
1738
+ return self.api_client.response_deserialize(
1739
+ response_data=response_data,
1740
+ response_types_map=_response_types_map,
1741
+ ).data
1742
+
1743
+
1744
+ @validate_call
1745
+ def scan_with_http_info(
1746
+ self,
1747
+ python_python_repository_version_href: StrictStr,
1748
+ x_task_diagnostics: Annotated[Optional[List[StrictStr]], Field(description="List of profilers to use on tasks.")] = None,
1749
+ _request_timeout: Union[
1750
+ None,
1751
+ Annotated[StrictFloat, Field(gt=0)],
1752
+ Tuple[
1753
+ Annotated[StrictFloat, Field(gt=0)],
1754
+ Annotated[StrictFloat, Field(gt=0)]
1755
+ ]
1756
+ ] = None,
1757
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1758
+ _content_type: Optional[StrictStr] = None,
1759
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1760
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1761
+ ) -> ApiResponse[AsyncOperationResponse]:
1762
+ """Generate vulnerability report
1763
+
1764
+ Scan a repository version for vulnerabilities.
1765
+
1766
+ :param python_python_repository_version_href: (required)
1767
+ :type python_python_repository_version_href: str
1768
+ :param x_task_diagnostics: List of profilers to use on tasks.
1769
+ :type x_task_diagnostics: List[str]
1770
+ :param _request_timeout: timeout setting for this request. If one
1771
+ number provided, it will be total request
1772
+ timeout. It can also be a pair (tuple) of
1773
+ (connection, read) timeouts.
1774
+ :type _request_timeout: int, tuple(int, int), optional
1775
+ :param _request_auth: set to override the auth_settings for an a single
1776
+ request; this effectively ignores the
1777
+ authentication in the spec for a single request.
1778
+ :type _request_auth: dict, optional
1779
+ :param _content_type: force content-type for the request.
1780
+ :type _content_type: str, Optional
1781
+ :param _headers: set to override the headers for a single
1782
+ request; this effectively ignores the headers
1783
+ in the spec for a single request.
1784
+ :type _headers: dict, optional
1785
+ :param _host_index: set to override the host_index for a single
1786
+ request; this effectively ignores the host_index
1787
+ in the spec for a single request.
1788
+ :type _host_index: int, optional
1789
+ :return: Returns the result object.
1790
+ """ # noqa: E501
1791
+
1792
+ _param = self._scan_serialize(
1793
+ python_python_repository_version_href=python_python_repository_version_href,
1794
+ x_task_diagnostics=x_task_diagnostics,
1795
+ _request_auth=_request_auth,
1796
+ _content_type=_content_type,
1797
+ _headers=_headers,
1798
+ _host_index=_host_index
1799
+ )
1800
+
1801
+ _response_types_map: Dict[str, Optional[str]] = {
1802
+ '202': "AsyncOperationResponse",
1803
+ }
1804
+ response_data = self.api_client.call_api(
1805
+ *_param,
1806
+ _request_timeout=_request_timeout
1807
+ )
1808
+ response_data.read()
1809
+ return self.api_client.response_deserialize(
1810
+ response_data=response_data,
1811
+ response_types_map=_response_types_map,
1812
+ )
1813
+
1814
+
1815
+ @validate_call
1816
+ def scan_without_preload_content(
1817
+ self,
1818
+ python_python_repository_version_href: StrictStr,
1819
+ x_task_diagnostics: Annotated[Optional[List[StrictStr]], Field(description="List of profilers to use on tasks.")] = None,
1820
+ _request_timeout: Union[
1821
+ None,
1822
+ Annotated[StrictFloat, Field(gt=0)],
1823
+ Tuple[
1824
+ Annotated[StrictFloat, Field(gt=0)],
1825
+ Annotated[StrictFloat, Field(gt=0)]
1826
+ ]
1827
+ ] = None,
1828
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1829
+ _content_type: Optional[StrictStr] = None,
1830
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1831
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1832
+ ) -> RESTResponseType:
1833
+ """Generate vulnerability report
1834
+
1835
+ Scan a repository version for vulnerabilities.
1836
+
1837
+ :param python_python_repository_version_href: (required)
1838
+ :type python_python_repository_version_href: str
1839
+ :param x_task_diagnostics: List of profilers to use on tasks.
1840
+ :type x_task_diagnostics: List[str]
1841
+ :param _request_timeout: timeout setting for this request. If one
1842
+ number provided, it will be total request
1843
+ timeout. It can also be a pair (tuple) of
1844
+ (connection, read) timeouts.
1845
+ :type _request_timeout: int, tuple(int, int), optional
1846
+ :param _request_auth: set to override the auth_settings for an a single
1847
+ request; this effectively ignores the
1848
+ authentication in the spec for a single request.
1849
+ :type _request_auth: dict, optional
1850
+ :param _content_type: force content-type for the request.
1851
+ :type _content_type: str, Optional
1852
+ :param _headers: set to override the headers for a single
1853
+ request; this effectively ignores the headers
1854
+ in the spec for a single request.
1855
+ :type _headers: dict, optional
1856
+ :param _host_index: set to override the host_index for a single
1857
+ request; this effectively ignores the host_index
1858
+ in the spec for a single request.
1859
+ :type _host_index: int, optional
1860
+ :return: Returns the result object.
1861
+ """ # noqa: E501
1862
+
1863
+ _param = self._scan_serialize(
1864
+ python_python_repository_version_href=python_python_repository_version_href,
1865
+ x_task_diagnostics=x_task_diagnostics,
1866
+ _request_auth=_request_auth,
1867
+ _content_type=_content_type,
1868
+ _headers=_headers,
1869
+ _host_index=_host_index
1870
+ )
1871
+
1872
+ _response_types_map: Dict[str, Optional[str]] = {
1873
+ '202': "AsyncOperationResponse",
1874
+ }
1875
+ response_data = self.api_client.call_api(
1876
+ *_param,
1877
+ _request_timeout=_request_timeout
1878
+ )
1879
+ return response_data.response
1880
+
1881
+
1882
+ def _scan_serialize(
1883
+ self,
1884
+ python_python_repository_version_href,
1885
+ x_task_diagnostics,
1886
+ _request_auth,
1887
+ _content_type,
1888
+ _headers,
1889
+ _host_index,
1890
+ ) -> RequestSerialized:
1891
+
1892
+ _host = None
1893
+
1894
+ _collection_formats: Dict[str, str] = {
1895
+ 'X-Task-Diagnostics': 'csv',
1896
+ }
1897
+
1898
+ _path_params: Dict[str, str] = {}
1899
+ _query_params: List[Tuple[str, str]] = []
1900
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1901
+ _form_params: List[Tuple[str, str]] = []
1902
+ _files: Dict[
1903
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1904
+ ] = {}
1905
+ _body_params: Optional[bytes] = None
1906
+
1907
+ # process the path parameters
1908
+ if python_python_repository_version_href is not None:
1909
+ _path_params['python_python_repository_version_href'] = python_python_repository_version_href
1910
+ # process the query parameters
1911
+ # process the header parameters
1912
+ if x_task_diagnostics is not None:
1913
+ _header_params['X-Task-Diagnostics'] = x_task_diagnostics
1914
+ # process the form parameters
1915
+ # process the body parameter
1916
+
1917
+
1918
+ # set the HTTP header `Accept`
1919
+ if 'Accept' not in _header_params:
1920
+ _header_params['Accept'] = self.api_client.select_header_accept(
1921
+ [
1922
+ 'application/json'
1923
+ ]
1924
+ )
1925
+
1926
+
1927
+ # authentication setting
1928
+ _auth_settings: List[str] = [
1929
+ 'json_header_remote_authentication',
1930
+ 'basicAuth',
1931
+ 'cookieAuth'
1932
+ ]
1933
+
1934
+ return self.api_client.param_serialize(
1935
+ method='POST',
1936
+ resource_path='{python_python_repository_version_href}scan/',
1937
+ path_params=_path_params,
1938
+ query_params=_query_params,
1939
+ header_params=_header_params,
1940
+ body=_body_params,
1941
+ post_params=_form_params,
1942
+ files=_files,
1943
+ auth_settings=_auth_settings,
1944
+ collection_formats=_collection_formats,
1945
+ _host=_host,
1946
+ _request_auth=_request_auth
1947
+ )
1948
+
1949
+
@@ -225,7 +225,7 @@ conf = pulpcore.client.pulp_python.Configuration(
225
225
  ) -> None:
226
226
  """Constructor
227
227
  """
228
- self._base_path = "https://env-ephemeral-yvk3tx.apps.crc-eph.r9lp.p1.openshiftapps.com" if host is None else host
228
+ self._base_path = "https://env-ephemeral-5joh0b.apps.crc-eph.r9lp.p1.openshiftapps.com" if host is None else host
229
229
  """Default Base url
230
230
  """
231
231
  self.server_index = 0 if server_index is None and host is None else server_index
@@ -557,7 +557,7 @@ conf = pulpcore.client.pulp_python.Configuration(
557
557
  "OS: {env}\n"\
558
558
  "Python Version: {pyversion}\n"\
559
559
  "Version of the API: v3\n"\
560
- "SDK Package Version: 20251023.2".\
560
+ "SDK Package Version: 20260113.5".\
561
561
  format(env=sys.platform, pyversion=sys.version)
562
562
 
563
563
  def get_host_settings(self) -> List[HostSetting]:
@@ -567,7 +567,7 @@ conf = pulpcore.client.pulp_python.Configuration(
567
567
  """
568
568
  return [
569
569
  {
570
- 'url': "https://env-ephemeral-yvk3tx.apps.crc-eph.r9lp.p1.openshiftapps.com",
570
+ 'url': "https://env-ephemeral-5joh0b.apps.crc-eph.r9lp.p1.openshiftapps.com",
571
571
  'description': "No description provided",
572
572
  }
573
573
  ]
@@ -18,6 +18,8 @@
18
18
  from pulpcore.client.pulp_python.models.async_operation_response import AsyncOperationResponse
19
19
  from pulpcore.client.pulp_python.models.content_summary_response import ContentSummaryResponse
20
20
  from pulpcore.client.pulp_python.models.exclude_platforms_enum import ExcludePlatformsEnum
21
+ from pulpcore.client.pulp_python.models.filetype_enum import FiletypeEnum
22
+ from pulpcore.client.pulp_python.models.metadata_version_enum import MetadataVersionEnum
21
23
  from pulpcore.client.pulp_python.models.my_permissions_response import MyPermissionsResponse
22
24
  from pulpcore.client.pulp_python.models.nested_role import NestedRole
23
25
  from pulpcore.client.pulp_python.models.nested_role_response import NestedRoleResponse
@@ -26,6 +28,7 @@ from pulpcore.client.pulp_python.models.package_metadata_response import Package
26
28
  from pulpcore.client.pulp_python.models.package_types_enum import PackageTypesEnum
27
29
  from pulpcore.client.pulp_python.models.package_upload_task_response import PackageUploadTaskResponse
28
30
  from pulpcore.client.pulp_python.models.paginated_repository_version_response_list import PaginatedRepositoryVersionResponseList
31
+ from pulpcore.client.pulp_python.models.paginatedpython_package_provenance_response_list import PaginatedpythonPackageProvenanceResponseList
29
32
  from pulpcore.client.pulp_python.models.paginatedpython_python_distribution_response_list import PaginatedpythonPythonDistributionResponseList
30
33
  from pulpcore.client.pulp_python.models.paginatedpython_python_package_content_response_list import PaginatedpythonPythonPackageContentResponseList
31
34
  from pulpcore.client.pulp_python.models.paginatedpython_python_publication_response_list import PaginatedpythonPythonPublicationResponseList
@@ -35,6 +38,8 @@ from pulpcore.client.pulp_python.models.patchedpython_python_distribution import
35
38
  from pulpcore.client.pulp_python.models.patchedpython_python_remote import PatchedpythonPythonRemote
36
39
  from pulpcore.client.pulp_python.models.patchedpython_python_repository import PatchedpythonPythonRepository
37
40
  from pulpcore.client.pulp_python.models.policy_enum import PolicyEnum
41
+ from pulpcore.client.pulp_python.models.protocol_version_enum import ProtocolVersionEnum
42
+ from pulpcore.client.pulp_python.models.python_package_provenance_response import PythonPackageProvenanceResponse
38
43
  from pulpcore.client.pulp_python.models.python_python_distribution import PythonPythonDistribution
39
44
  from pulpcore.client.pulp_python.models.python_python_distribution_response import PythonPythonDistributionResponse
40
45
  from pulpcore.client.pulp_python.models.python_python_package_content_response import PythonPythonPackageContentResponse
@@ -0,0 +1,38 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Pulp 3 API
5
+
6
+ Fetch, Upload, Organize, and Distribute Software Packages
7
+
8
+ The version of the OpenAPI document: v3
9
+ Contact: pulp-list@redhat.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import json
18
+ from enum import Enum
19
+ from typing_extensions import Self
20
+
21
+
22
+ class FiletypeEnum(str, Enum):
23
+ """
24
+ * `bdist_wheel` - bdist_wheel * `sdist` - sdist
25
+ """
26
+
27
+ """
28
+ allowed enum values
29
+ """
30
+ BDIST_WHEEL = 'bdist_wheel'
31
+ SDIST = 'sdist'
32
+
33
+ @classmethod
34
+ def from_json(cls, json_str: str) -> Self:
35
+ """Create an instance of FiletypeEnum from a JSON string"""
36
+ return cls(json.loads(json_str))
37
+
38
+
@@ -0,0 +1,44 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Pulp 3 API
5
+
6
+ Fetch, Upload, Organize, and Distribute Software Packages
7
+
8
+ The version of the OpenAPI document: v3
9
+ Contact: pulp-list@redhat.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import json
18
+ from enum import Enum
19
+ from typing_extensions import Self
20
+
21
+
22
+ class MetadataVersionEnum(str, Enum):
23
+ """
24
+ * `1.0` - 1.0 * `1.1` - 1.1 * `1.2` - 1.2 * `2.0` - 2.0 * `2.1` - 2.1 * `2.2` - 2.2 * `2.3` - 2.3 * `2.4` - 2.4
25
+ """
26
+
27
+ """
28
+ allowed enum values
29
+ """
30
+ ENUM_1_DOT_0 = '1.0'
31
+ ENUM_1_DOT_1 = '1.1'
32
+ ENUM_1_DOT_2 = '1.2'
33
+ ENUM_2_DOT_0 = '2.0'
34
+ ENUM_2_DOT_1 = '2.1'
35
+ ENUM_2_DOT_2 = '2.2'
36
+ ENUM_2_DOT_3 = '2.3'
37
+ ENUM_2_DOT_4 = '2.4'
38
+
39
+ @classmethod
40
+ def from_json(cls, json_str: str) -> Self:
41
+ """Create an instance of MetadataVersionEnum from a JSON string"""
42
+ return cls(json.loads(json_str))
43
+
44
+
@@ -0,0 +1,112 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Pulp 3 API
5
+
6
+ Fetch, Upload, Organize, and Distribute Software Packages
7
+
8
+ The version of the OpenAPI document: v3
9
+ Contact: pulp-list@redhat.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from pulpcore.client.pulp_python.models.python_package_provenance_response import PythonPackageProvenanceResponse
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class PaginatedpythonPackageProvenanceResponseList(BaseModel):
28
+ """
29
+ PaginatedpythonPackageProvenanceResponseList
30
+ """ # noqa: E501
31
+ count: StrictInt
32
+ next: Optional[StrictStr] = None
33
+ previous: Optional[StrictStr] = None
34
+ results: List[PythonPackageProvenanceResponse]
35
+ __properties: ClassVar[List[str]] = ["count", "next", "previous", "results"]
36
+
37
+ model_config = ConfigDict(
38
+ populate_by_name=True,
39
+ validate_assignment=True,
40
+ protected_namespaces=(),
41
+ )
42
+
43
+
44
+ def to_str(self) -> str:
45
+ """Returns the string representation of the model using alias"""
46
+ return pprint.pformat(self.model_dump(by_alias=True))
47
+
48
+ def to_json(self) -> str:
49
+ """Returns the JSON representation of the model using alias"""
50
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
51
+ return json.dumps(self.to_dict())
52
+
53
+ @classmethod
54
+ def from_json(cls, json_str: str) -> Optional[Self]:
55
+ """Create an instance of PaginatedpythonPackageProvenanceResponseList from a JSON string"""
56
+ return cls.from_dict(json.loads(json_str))
57
+
58
+ def to_dict(self) -> Dict[str, Any]:
59
+ """Return the dictionary representation of the model using alias.
60
+
61
+ This has the following differences from calling pydantic's
62
+ `self.model_dump(by_alias=True)`:
63
+
64
+ * `None` is only added to the output dict for nullable fields that
65
+ were set at model initialization. Other fields with value `None`
66
+ are ignored.
67
+ """
68
+ excluded_fields: Set[str] = set([
69
+ ])
70
+
71
+ _dict = self.model_dump(
72
+ by_alias=True,
73
+ exclude=excluded_fields,
74
+ exclude_none=True,
75
+ )
76
+ # override the default output from pydantic by calling `to_dict()` of each item in results (list)
77
+ _items = []
78
+ if self.results:
79
+ for _item_results in self.results:
80
+ if _item_results:
81
+ _items.append(_item_results.to_dict())
82
+ _dict['results'] = _items
83
+ # set to None if next (nullable) is None
84
+ # and model_fields_set contains the field
85
+ if self.next is None and "next" in self.model_fields_set:
86
+ _dict['next'] = None
87
+
88
+ # set to None if previous (nullable) is None
89
+ # and model_fields_set contains the field
90
+ if self.previous is None and "previous" in self.model_fields_set:
91
+ _dict['previous'] = None
92
+
93
+ return _dict
94
+
95
+ @classmethod
96
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
97
+ """Create an instance of PaginatedpythonPackageProvenanceResponseList from a dict"""
98
+ if obj is None:
99
+ return None
100
+
101
+ if not isinstance(obj, dict):
102
+ return cls.model_validate(obj)
103
+
104
+ _obj = cls.model_validate({
105
+ "count": obj.get("count"),
106
+ "next": obj.get("next"),
107
+ "previous": obj.get("previous"),
108
+ "results": [PythonPackageProvenanceResponse.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None
109
+ })
110
+ return _obj
111
+
112
+
@@ -58,7 +58,8 @@ class PatchedpythonPythonRemote(BaseModel):
58
58
  package_types: Optional[List[PackageTypesEnum]] = Field(default=None, description="The package types to sync for Python content. Leave blank to get everypackage type.")
59
59
  keep_latest_packages: Optional[StrictInt] = Field(default=0, description="The amount of latest versions of a package to keep on sync, includespre-releases if synced. Default 0 keeps all versions.")
60
60
  exclude_platforms: Optional[List[ExcludePlatformsEnum]] = Field(default=None, description="List of platforms to exclude syncing Python packages for. Possible valuesinclude: windows, macos, freebsd, and linux.")
61
- __properties: ClassVar[List[str]] = ["name", "url", "ca_cert", "client_cert", "client_key", "tls_validation", "proxy_url", "proxy_username", "proxy_password", "username", "password", "pulp_labels", "download_concurrency", "max_retries", "policy", "total_timeout", "connect_timeout", "sock_connect_timeout", "sock_read_timeout", "headers", "rate_limit", "includes", "excludes", "prereleases", "package_types", "keep_latest_packages", "exclude_platforms"]
61
+ provenance: Optional[StrictBool] = Field(default=False, description="Whether to sync available provenances for Python packages.")
62
+ __properties: ClassVar[List[str]] = ["name", "url", "ca_cert", "client_cert", "client_key", "tls_validation", "proxy_url", "proxy_username", "proxy_password", "username", "password", "pulp_labels", "download_concurrency", "max_retries", "policy", "total_timeout", "connect_timeout", "sock_connect_timeout", "sock_read_timeout", "headers", "rate_limit", "includes", "excludes", "prereleases", "package_types", "keep_latest_packages", "exclude_platforms", "provenance"]
62
63
 
63
64
  model_config = ConfigDict(
64
65
  populate_by_name=True,
@@ -212,7 +213,8 @@ class PatchedpythonPythonRemote(BaseModel):
212
213
  "prereleases": obj.get("prereleases"),
213
214
  "package_types": obj.get("package_types"),
214
215
  "keep_latest_packages": obj.get("keep_latest_packages") if obj.get("keep_latest_packages") is not None else 0,
215
- "exclude_platforms": obj.get("exclude_platforms")
216
+ "exclude_platforms": obj.get("exclude_platforms"),
217
+ "provenance": obj.get("provenance") if obj.get("provenance") is not None else False
216
218
  })
217
219
  return _obj
218
220
 
@@ -0,0 +1,37 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Pulp 3 API
5
+
6
+ Fetch, Upload, Organize, and Distribute Software Packages
7
+
8
+ The version of the OpenAPI document: v3
9
+ Contact: pulp-list@redhat.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import json
18
+ from enum import Enum
19
+ from typing_extensions import Self
20
+
21
+
22
+ class ProtocolVersionEnum(int, Enum):
23
+ """
24
+ * `1` - 1
25
+ """
26
+
27
+ """
28
+ allowed enum values
29
+ """
30
+ NUMBER_1 = 1
31
+
32
+ @classmethod
33
+ def from_json(cls, json_str: str) -> Self:
34
+ """Create an instance of ProtocolVersionEnum from a JSON string"""
35
+ return cls(json.loads(json_str))
36
+
37
+