hiddenlayer-sdk 2.0.9__py3-none-any.whl → 3.0.0__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.
- hiddenlayer/__init__.py +109 -105
- hiddenlayer/_base_client.py +1995 -0
- hiddenlayer/_client.py +761 -0
- hiddenlayer/_compat.py +219 -0
- hiddenlayer/_constants.py +14 -0
- hiddenlayer/_exceptions.py +108 -0
- hiddenlayer/_files.py +123 -0
- hiddenlayer/_models.py +835 -0
- hiddenlayer/_oauth2.py +118 -0
- hiddenlayer/_qs.py +150 -0
- hiddenlayer/_resource.py +43 -0
- hiddenlayer/_response.py +832 -0
- hiddenlayer/_streaming.py +333 -0
- hiddenlayer/_types.py +260 -0
- hiddenlayer/_utils/__init__.py +64 -0
- hiddenlayer/_utils/_compat.py +45 -0
- hiddenlayer/_utils/_datetime_parse.py +136 -0
- hiddenlayer/_utils/_logs.py +25 -0
- hiddenlayer/_utils/_proxy.py +65 -0
- hiddenlayer/_utils/_reflection.py +42 -0
- hiddenlayer/_utils/_resources_proxy.py +24 -0
- hiddenlayer/_utils/_streams.py +12 -0
- hiddenlayer/_utils/_sync.py +86 -0
- hiddenlayer/_utils/_transform.py +457 -0
- hiddenlayer/_utils/_typing.py +156 -0
- hiddenlayer/_utils/_utils.py +421 -0
- hiddenlayer/_version.py +4 -0
- hiddenlayer/lib/.keep +4 -0
- hiddenlayer/lib/__init__.py +6 -0
- hiddenlayer/lib/community_scan.py +174 -0
- hiddenlayer/lib/model_scan.py +752 -0
- hiddenlayer/lib/scan_utils.py +142 -0
- hiddenlayer/pagination.py +127 -0
- hiddenlayer/resources/__init__.py +75 -0
- hiddenlayer/resources/interactions.py +205 -0
- hiddenlayer/resources/models/__init__.py +33 -0
- hiddenlayer/resources/models/cards.py +259 -0
- hiddenlayer/resources/models/models.py +284 -0
- hiddenlayer/resources/prompt_analyzer.py +207 -0
- hiddenlayer/resources/scans/__init__.py +61 -0
- hiddenlayer/resources/scans/jobs.py +499 -0
- hiddenlayer/resources/scans/results.py +169 -0
- hiddenlayer/resources/scans/scans.py +166 -0
- hiddenlayer/resources/scans/upload/__init__.py +33 -0
- hiddenlayer/resources/scans/upload/file.py +279 -0
- hiddenlayer/resources/scans/upload/upload.py +340 -0
- hiddenlayer/resources/sensors.py +575 -0
- hiddenlayer/types/__init__.py +16 -0
- hiddenlayer/types/interaction_analyze_params.py +62 -0
- hiddenlayer/types/interaction_analyze_response.py +199 -0
- hiddenlayer/types/model_retrieve_response.py +50 -0
- hiddenlayer/types/models/__init__.py +6 -0
- hiddenlayer/types/models/card_list_params.py +65 -0
- hiddenlayer/types/models/card_list_response.py +50 -0
- hiddenlayer/types/prompt_analyzer_create_params.py +23 -0
- hiddenlayer/types/prompt_analyzer_create_response.py +381 -0
- hiddenlayer/types/scans/__init__.py +14 -0
- hiddenlayer/types/scans/job_list_params.py +75 -0
- hiddenlayer/types/scans/job_list_response.py +22 -0
- hiddenlayer/types/scans/job_request_params.py +49 -0
- hiddenlayer/types/scans/job_retrieve_params.py +16 -0
- hiddenlayer/types/scans/result_sarif_response.py +7 -0
- hiddenlayer/types/scans/scan_job.py +46 -0
- hiddenlayer/types/scans/scan_report.py +367 -0
- hiddenlayer/types/scans/upload/__init__.py +6 -0
- hiddenlayer/types/scans/upload/file_add_response.py +24 -0
- hiddenlayer/types/scans/upload/file_complete_response.py +12 -0
- hiddenlayer/types/scans/upload_complete_all_response.py +12 -0
- hiddenlayer/types/scans/upload_start_params.py +34 -0
- hiddenlayer/types/scans/upload_start_response.py +12 -0
- hiddenlayer/types/sensor_create_params.py +24 -0
- hiddenlayer/types/sensor_create_response.py +33 -0
- hiddenlayer/types/sensor_query_params.py +39 -0
- hiddenlayer/types/sensor_query_response.py +43 -0
- hiddenlayer/types/sensor_retrieve_response.py +33 -0
- hiddenlayer/types/sensor_update_params.py +20 -0
- hiddenlayer/types/sensor_update_response.py +9 -0
- hiddenlayer_sdk-3.0.0.dist-info/METADATA +431 -0
- hiddenlayer_sdk-3.0.0.dist-info/RECORD +82 -0
- {hiddenlayer_sdk-2.0.9.dist-info → hiddenlayer_sdk-3.0.0.dist-info}/WHEEL +1 -2
- {hiddenlayer_sdk-2.0.9.dist-info → hiddenlayer_sdk-3.0.0.dist-info}/licenses/LICENSE +1 -1
- hiddenlayer/sdk/constants.py +0 -26
- hiddenlayer/sdk/exceptions.py +0 -12
- hiddenlayer/sdk/models.py +0 -58
- hiddenlayer/sdk/rest/__init__.py +0 -135
- hiddenlayer/sdk/rest/api/__init__.py +0 -10
- hiddenlayer/sdk/rest/api/aidr_predictive_api.py +0 -308
- hiddenlayer/sdk/rest/api/health_api.py +0 -272
- hiddenlayer/sdk/rest/api/model_api.py +0 -559
- hiddenlayer/sdk/rest/api/model_supply_chain_api.py +0 -4063
- hiddenlayer/sdk/rest/api/readiness_api.py +0 -272
- hiddenlayer/sdk/rest/api/sensor_api.py +0 -1432
- hiddenlayer/sdk/rest/api_client.py +0 -770
- hiddenlayer/sdk/rest/api_response.py +0 -21
- hiddenlayer/sdk/rest/configuration.py +0 -445
- hiddenlayer/sdk/rest/exceptions.py +0 -199
- hiddenlayer/sdk/rest/models/__init__.py +0 -113
- hiddenlayer/sdk/rest/models/address.py +0 -110
- hiddenlayer/sdk/rest/models/artifact.py +0 -155
- hiddenlayer/sdk/rest/models/artifact_change.py +0 -108
- hiddenlayer/sdk/rest/models/artifact_content.py +0 -101
- hiddenlayer/sdk/rest/models/artifact_location.py +0 -109
- hiddenlayer/sdk/rest/models/attachment.py +0 -129
- hiddenlayer/sdk/rest/models/begin_multi_file_upload200_response.py +0 -87
- hiddenlayer/sdk/rest/models/begin_multipart_file_upload200_response.py +0 -97
- hiddenlayer/sdk/rest/models/begin_multipart_file_upload200_response_parts_inner.py +0 -94
- hiddenlayer/sdk/rest/models/code_flow.py +0 -113
- hiddenlayer/sdk/rest/models/configuration_override.py +0 -108
- hiddenlayer/sdk/rest/models/conversion.py +0 -114
- hiddenlayer/sdk/rest/models/create_sensor_request.py +0 -95
- hiddenlayer/sdk/rest/models/edge.py +0 -108
- hiddenlayer/sdk/rest/models/edge_traversal.py +0 -122
- hiddenlayer/sdk/rest/models/errors_inner.py +0 -91
- hiddenlayer/sdk/rest/models/exception.py +0 -113
- hiddenlayer/sdk/rest/models/external_properties.py +0 -273
- hiddenlayer/sdk/rest/models/external_property_file_reference.py +0 -102
- hiddenlayer/sdk/rest/models/external_property_file_references.py +0 -240
- hiddenlayer/sdk/rest/models/file_details_v3.py +0 -139
- hiddenlayer/sdk/rest/models/file_result_v3.py +0 -117
- hiddenlayer/sdk/rest/models/file_scan_report_v3.py +0 -132
- hiddenlayer/sdk/rest/models/file_scan_reports_v3.py +0 -95
- hiddenlayer/sdk/rest/models/fix.py +0 -113
- hiddenlayer/sdk/rest/models/get_condensed_model_scan_reports200_response.py +0 -102
- hiddenlayer/sdk/rest/models/graph.py +0 -123
- hiddenlayer/sdk/rest/models/graph_traversal.py +0 -97
- hiddenlayer/sdk/rest/models/inventory_v3.py +0 -101
- hiddenlayer/sdk/rest/models/invocation.py +0 -199
- hiddenlayer/sdk/rest/models/location.py +0 -146
- hiddenlayer/sdk/rest/models/location_inner.py +0 -138
- hiddenlayer/sdk/rest/models/location_relationship.py +0 -107
- hiddenlayer/sdk/rest/models/logical_location.py +0 -104
- hiddenlayer/sdk/rest/models/message.py +0 -92
- hiddenlayer/sdk/rest/models/mitre_atlas_inner.py +0 -110
- hiddenlayer/sdk/rest/models/model.py +0 -103
- hiddenlayer/sdk/rest/models/model_inventory_info.py +0 -103
- hiddenlayer/sdk/rest/models/model_version.py +0 -97
- hiddenlayer/sdk/rest/models/multi_file_upload_request_v3.py +0 -97
- hiddenlayer/sdk/rest/models/multiformat_message_string.py +0 -95
- hiddenlayer/sdk/rest/models/node.py +0 -122
- hiddenlayer/sdk/rest/models/notification.py +0 -157
- hiddenlayer/sdk/rest/models/notify_model_scan_completed200_response.py +0 -87
- hiddenlayer/sdk/rest/models/paged_response_with_total.py +0 -94
- hiddenlayer/sdk/rest/models/pagination_v3.py +0 -95
- hiddenlayer/sdk/rest/models/physical_location.py +0 -94
- hiddenlayer/sdk/rest/models/problem_details.py +0 -103
- hiddenlayer/sdk/rest/models/property_bag.py +0 -101
- hiddenlayer/sdk/rest/models/rectangle.py +0 -110
- hiddenlayer/sdk/rest/models/region.py +0 -127
- hiddenlayer/sdk/rest/models/replacement.py +0 -103
- hiddenlayer/sdk/rest/models/reporting_configuration.py +0 -113
- hiddenlayer/sdk/rest/models/reporting_descriptor.py +0 -162
- hiddenlayer/sdk/rest/models/reporting_descriptor_reference.py +0 -103
- hiddenlayer/sdk/rest/models/reporting_descriptor_relationship.py +0 -115
- hiddenlayer/sdk/rest/models/result.py +0 -312
- hiddenlayer/sdk/rest/models/result_provenance.py +0 -133
- hiddenlayer/sdk/rest/models/rule_details_inner.py +0 -102
- hiddenlayer/sdk/rest/models/run.py +0 -318
- hiddenlayer/sdk/rest/models/run_automation_details.py +0 -129
- hiddenlayer/sdk/rest/models/sarif210.py +0 -123
- hiddenlayer/sdk/rest/models/scan_create_request.py +0 -87
- hiddenlayer/sdk/rest/models/scan_detection_v3.py +0 -159
- hiddenlayer/sdk/rest/models/scan_detection_v31.py +0 -158
- hiddenlayer/sdk/rest/models/scan_header_v3.py +0 -129
- hiddenlayer/sdk/rest/models/scan_job.py +0 -115
- hiddenlayer/sdk/rest/models/scan_job_access.py +0 -97
- hiddenlayer/sdk/rest/models/scan_model_details_v3.py +0 -99
- hiddenlayer/sdk/rest/models/scan_model_details_v31.py +0 -97
- hiddenlayer/sdk/rest/models/scan_model_ids_v3.py +0 -89
- hiddenlayer/sdk/rest/models/scan_report_v3.py +0 -139
- hiddenlayer/sdk/rest/models/scan_results_map_v3.py +0 -105
- hiddenlayer/sdk/rest/models/scan_results_v3.py +0 -120
- hiddenlayer/sdk/rest/models/security_posture.py +0 -89
- hiddenlayer/sdk/rest/models/sensor.py +0 -100
- hiddenlayer/sdk/rest/models/sensor_query_response.py +0 -101
- hiddenlayer/sdk/rest/models/sensor_sor_model_card_query_response.py +0 -101
- hiddenlayer/sdk/rest/models/sensor_sor_model_card_response.py +0 -127
- hiddenlayer/sdk/rest/models/sensor_sor_query_filter.py +0 -108
- hiddenlayer/sdk/rest/models/sensor_sor_query_request.py +0 -109
- hiddenlayer/sdk/rest/models/special_locations.py +0 -97
- hiddenlayer/sdk/rest/models/stack.py +0 -113
- hiddenlayer/sdk/rest/models/stack_frame.py +0 -104
- hiddenlayer/sdk/rest/models/submission_response.py +0 -95
- hiddenlayer/sdk/rest/models/submission_v2.py +0 -109
- hiddenlayer/sdk/rest/models/suppression.py +0 -133
- hiddenlayer/sdk/rest/models/thread_flow.py +0 -144
- hiddenlayer/sdk/rest/models/thread_flow_location.py +0 -166
- hiddenlayer/sdk/rest/models/tool.py +0 -107
- hiddenlayer/sdk/rest/models/tool_component.py +0 -251
- hiddenlayer/sdk/rest/models/tool_component_reference.py +0 -108
- hiddenlayer/sdk/rest/models/translation_metadata.py +0 -110
- hiddenlayer/sdk/rest/models/validation_error_model.py +0 -99
- hiddenlayer/sdk/rest/models/version_control_details.py +0 -108
- hiddenlayer/sdk/rest/models/web_request.py +0 -112
- hiddenlayer/sdk/rest/models/web_response.py +0 -112
- hiddenlayer/sdk/rest/rest.py +0 -257
- hiddenlayer/sdk/services/__init__.py +0 -0
- hiddenlayer/sdk/services/aidr_predictive.py +0 -130
- hiddenlayer/sdk/services/model_scan.py +0 -505
- hiddenlayer/sdk/utils.py +0 -92
- hiddenlayer/sdk/version.py +0 -1
- hiddenlayer_sdk-2.0.9.dist-info/METADATA +0 -368
- hiddenlayer_sdk-2.0.9.dist-info/RECORD +0 -126
- hiddenlayer_sdk-2.0.9.dist-info/top_level.txt +0 -1
- /hiddenlayer/{sdk/__init__.py → py.typed} +0 -0
@@ -1,103 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
|
-
"""
|
4
|
-
HiddenLayer-API
|
5
|
-
|
6
|
-
HiddenLayer-API
|
7
|
-
|
8
|
-
The version of the OpenAPI document: 1
|
9
|
-
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
-
|
11
|
-
Do not edit the class manually.
|
12
|
-
""" # noqa: E501
|
13
|
-
|
14
|
-
|
15
|
-
from __future__ import annotations
|
16
|
-
import pprint
|
17
|
-
import re # noqa: F401
|
18
|
-
import json
|
19
|
-
|
20
|
-
from pydantic import BaseModel, ConfigDict, Field
|
21
|
-
from typing import Any, ClassVar, Dict, List, Optional
|
22
|
-
from hiddenlayer.sdk.rest.models.artifact_content import ArtifactContent
|
23
|
-
from hiddenlayer.sdk.rest.models.property_bag import PropertyBag
|
24
|
-
from hiddenlayer.sdk.rest.models.region import Region
|
25
|
-
from typing import Optional, Set
|
26
|
-
from typing_extensions import Self
|
27
|
-
|
28
|
-
class Replacement(BaseModel):
|
29
|
-
"""
|
30
|
-
The replacement of a single region of an artifact.
|
31
|
-
""" # noqa: E501
|
32
|
-
deleted_region: Region = Field(alias="deletedRegion")
|
33
|
-
inserted_content: Optional[ArtifactContent] = Field(default=None, alias="insertedContent")
|
34
|
-
properties: Optional[PropertyBag] = None
|
35
|
-
__properties: ClassVar[List[str]] = ["deletedRegion", "insertedContent", "properties"]
|
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 Replacement 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 deleted_region
|
77
|
-
if self.deleted_region:
|
78
|
-
_dict['deletedRegion'] = self.deleted_region.to_dict()
|
79
|
-
# override the default output from pydantic by calling `to_dict()` of inserted_content
|
80
|
-
if self.inserted_content:
|
81
|
-
_dict['insertedContent'] = self.inserted_content.to_dict()
|
82
|
-
# override the default output from pydantic by calling `to_dict()` of properties
|
83
|
-
if self.properties:
|
84
|
-
_dict['properties'] = self.properties.to_dict()
|
85
|
-
return _dict
|
86
|
-
|
87
|
-
@classmethod
|
88
|
-
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
89
|
-
"""Create an instance of Replacement from a dict"""
|
90
|
-
if obj is None:
|
91
|
-
return None
|
92
|
-
|
93
|
-
if not isinstance(obj, dict):
|
94
|
-
return cls.model_validate(obj)
|
95
|
-
|
96
|
-
_obj = cls.model_validate({
|
97
|
-
"deletedRegion": Region.from_dict(obj["deletedRegion"]) if obj.get("deletedRegion") is not None else None,
|
98
|
-
"insertedContent": ArtifactContent.from_dict(obj["insertedContent"]) if obj.get("insertedContent") is not None else None,
|
99
|
-
"properties": PropertyBag.from_dict(obj["properties"]) if obj.get("properties") is not None else None
|
100
|
-
})
|
101
|
-
return _obj
|
102
|
-
|
103
|
-
|
@@ -1,113 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
|
-
"""
|
4
|
-
HiddenLayer-API
|
5
|
-
|
6
|
-
HiddenLayer-API
|
7
|
-
|
8
|
-
The version of the OpenAPI document: 1
|
9
|
-
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
-
|
11
|
-
Do not edit the class manually.
|
12
|
-
""" # noqa: E501
|
13
|
-
|
14
|
-
|
15
|
-
from __future__ import annotations
|
16
|
-
import pprint
|
17
|
-
import re # noqa: F401
|
18
|
-
import json
|
19
|
-
|
20
|
-
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
|
21
|
-
from typing import Any, ClassVar, Dict, List, Optional, Union
|
22
|
-
from typing_extensions import Annotated
|
23
|
-
from hiddenlayer.sdk.rest.models.property_bag import PropertyBag
|
24
|
-
from typing import Optional, Set
|
25
|
-
from typing_extensions import Self
|
26
|
-
|
27
|
-
class ReportingConfiguration(BaseModel):
|
28
|
-
"""
|
29
|
-
Information about a rule or notification that can be configured at runtime.
|
30
|
-
""" # noqa: E501
|
31
|
-
enabled: Optional[StrictBool] = Field(default=True, description="Specifies whether the report may be produced during the scan.")
|
32
|
-
level: Optional[StrictStr] = Field(default='warning', description="Specifies the failure level for the report.")
|
33
|
-
rank: Optional[Union[Annotated[float, Field(le=100, strict=True, ge=-1)], Annotated[int, Field(le=100, strict=True, ge=-1)]]] = Field(default=-1, description="Specifies the relative priority of the report. Used for analysis output only.")
|
34
|
-
parameters: Optional[PropertyBag] = None
|
35
|
-
properties: Optional[PropertyBag] = None
|
36
|
-
__properties: ClassVar[List[str]] = ["enabled", "level", "rank", "parameters", "properties"]
|
37
|
-
|
38
|
-
@field_validator('level')
|
39
|
-
def level_validate_enum(cls, value):
|
40
|
-
"""Validates the enum"""
|
41
|
-
if value is None:
|
42
|
-
return value
|
43
|
-
|
44
|
-
if value not in set(['none', 'note', 'warning', 'error']):
|
45
|
-
raise ValueError("must be one of enum values ('none', 'note', 'warning', 'error')")
|
46
|
-
return value
|
47
|
-
|
48
|
-
model_config = ConfigDict(
|
49
|
-
populate_by_name=True,
|
50
|
-
validate_assignment=True,
|
51
|
-
protected_namespaces=(),
|
52
|
-
)
|
53
|
-
|
54
|
-
|
55
|
-
def to_str(self) -> str:
|
56
|
-
"""Returns the string representation of the model using alias"""
|
57
|
-
return pprint.pformat(self.model_dump(by_alias=True))
|
58
|
-
|
59
|
-
def to_json(self) -> str:
|
60
|
-
"""Returns the JSON representation of the model using alias"""
|
61
|
-
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
62
|
-
return json.dumps(self.to_dict())
|
63
|
-
|
64
|
-
@classmethod
|
65
|
-
def from_json(cls, json_str: str) -> Optional[Self]:
|
66
|
-
"""Create an instance of ReportingConfiguration from a JSON string"""
|
67
|
-
return cls.from_dict(json.loads(json_str))
|
68
|
-
|
69
|
-
def to_dict(self) -> Dict[str, Any]:
|
70
|
-
"""Return the dictionary representation of the model using alias.
|
71
|
-
|
72
|
-
This has the following differences from calling pydantic's
|
73
|
-
`self.model_dump(by_alias=True)`:
|
74
|
-
|
75
|
-
* `None` is only added to the output dict for nullable fields that
|
76
|
-
were set at model initialization. Other fields with value `None`
|
77
|
-
are ignored.
|
78
|
-
"""
|
79
|
-
excluded_fields: Set[str] = set([
|
80
|
-
])
|
81
|
-
|
82
|
-
_dict = self.model_dump(
|
83
|
-
by_alias=True,
|
84
|
-
exclude=excluded_fields,
|
85
|
-
exclude_none=True,
|
86
|
-
)
|
87
|
-
# override the default output from pydantic by calling `to_dict()` of parameters
|
88
|
-
if self.parameters:
|
89
|
-
_dict['parameters'] = self.parameters.to_dict()
|
90
|
-
# override the default output from pydantic by calling `to_dict()` of properties
|
91
|
-
if self.properties:
|
92
|
-
_dict['properties'] = self.properties.to_dict()
|
93
|
-
return _dict
|
94
|
-
|
95
|
-
@classmethod
|
96
|
-
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
97
|
-
"""Create an instance of ReportingConfiguration 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
|
-
"enabled": obj.get("enabled") if obj.get("enabled") is not None else True,
|
106
|
-
"level": obj.get("level") if obj.get("level") is not None else 'warning',
|
107
|
-
"rank": obj.get("rank") if obj.get("rank") is not None else -1,
|
108
|
-
"parameters": PropertyBag.from_dict(obj["parameters"]) if obj.get("parameters") is not None else None,
|
109
|
-
"properties": PropertyBag.from_dict(obj["properties"]) if obj.get("properties") is not None else None
|
110
|
-
})
|
111
|
-
return _obj
|
112
|
-
|
113
|
-
|
@@ -1,162 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
|
-
"""
|
4
|
-
HiddenLayer-API
|
5
|
-
|
6
|
-
HiddenLayer-API
|
7
|
-
|
8
|
-
The version of the OpenAPI document: 1
|
9
|
-
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
-
|
11
|
-
Do not edit the class manually.
|
12
|
-
""" # noqa: E501
|
13
|
-
|
14
|
-
|
15
|
-
from __future__ import annotations
|
16
|
-
import pprint
|
17
|
-
import re # noqa: F401
|
18
|
-
import json
|
19
|
-
|
20
|
-
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
21
|
-
from typing import Any, ClassVar, Dict, List, Optional
|
22
|
-
from typing_extensions import Annotated
|
23
|
-
from hiddenlayer.sdk.rest.models.multiformat_message_string import MultiformatMessageString
|
24
|
-
from hiddenlayer.sdk.rest.models.property_bag import PropertyBag
|
25
|
-
from hiddenlayer.sdk.rest.models.reporting_configuration import ReportingConfiguration
|
26
|
-
from hiddenlayer.sdk.rest.models.reporting_descriptor_relationship import ReportingDescriptorRelationship
|
27
|
-
from typing import Optional, Set
|
28
|
-
from typing_extensions import Self
|
29
|
-
|
30
|
-
class ReportingDescriptor(BaseModel):
|
31
|
-
"""
|
32
|
-
Metadata that describes a specific report produced by the tool, as part of the analysis it provides or its runtime reporting.
|
33
|
-
""" # noqa: E501
|
34
|
-
id: StrictStr = Field(description="A stable, opaque identifier for the report.")
|
35
|
-
deprecated_ids: Optional[Annotated[List[StrictStr], Field(min_length=0)]] = Field(default=None, description="An array of stable, opaque identifiers by which this report was known in some previous version of the analysis tool.", alias="deprecatedIds")
|
36
|
-
guid: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="A unique identifier for the reporting descriptor in the form of a GUID.")
|
37
|
-
deprecated_guids: Optional[Annotated[List[Annotated[str, Field(strict=True)]], Field(min_length=0)]] = Field(default=None, description="An array of unique identifies in the form of a GUID by which this report was known in some previous version of the analysis tool.", alias="deprecatedGuids")
|
38
|
-
name: Optional[StrictStr] = Field(default=None, description="A report identifier that is understandable to an end user.")
|
39
|
-
deprecated_names: Optional[Annotated[List[StrictStr], Field(min_length=0)]] = Field(default=None, description="An array of readable identifiers by which this report was known in some previous version of the analysis tool.", alias="deprecatedNames")
|
40
|
-
short_description: Optional[MultiformatMessageString] = Field(default=None, alias="shortDescription")
|
41
|
-
full_description: Optional[MultiformatMessageString] = Field(default=None, alias="fullDescription")
|
42
|
-
message_strings: Optional[Dict[str, MultiformatMessageString]] = Field(default=None, description="A set of name/value pairs with arbitrary names. Each value is a multiformatMessageString object, which holds message strings in plain text and (optionally) Markdown format. The strings can include placeholders, which can be used to construct a message in combination with an arbitrary number of additional string arguments.", alias="messageStrings")
|
43
|
-
default_configuration: Optional[ReportingConfiguration] = Field(default=None, alias="defaultConfiguration")
|
44
|
-
help_uri: Optional[StrictStr] = Field(default=None, description="A URI where the primary documentation for the report can be found.", alias="helpUri")
|
45
|
-
help: Optional[MultiformatMessageString] = None
|
46
|
-
relationships: Optional[Annotated[List[ReportingDescriptorRelationship], Field(min_length=0)]] = Field(default=None, description="An array of objects that describe relationships between this reporting descriptor and others.")
|
47
|
-
properties: Optional[PropertyBag] = None
|
48
|
-
__properties: ClassVar[List[str]] = ["id", "deprecatedIds", "guid", "deprecatedGuids", "name", "deprecatedNames", "shortDescription", "fullDescription", "messageStrings", "defaultConfiguration", "helpUri", "help", "relationships", "properties"]
|
49
|
-
|
50
|
-
@field_validator('guid')
|
51
|
-
def guid_validate_regular_expression(cls, value):
|
52
|
-
"""Validates the regular expression"""
|
53
|
-
if value is None:
|
54
|
-
return value
|
55
|
-
|
56
|
-
if not re.match(r"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", value):
|
57
|
-
raise ValueError(r"must validate the regular expression /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/")
|
58
|
-
return value
|
59
|
-
|
60
|
-
model_config = ConfigDict(
|
61
|
-
populate_by_name=True,
|
62
|
-
validate_assignment=True,
|
63
|
-
protected_namespaces=(),
|
64
|
-
)
|
65
|
-
|
66
|
-
|
67
|
-
def to_str(self) -> str:
|
68
|
-
"""Returns the string representation of the model using alias"""
|
69
|
-
return pprint.pformat(self.model_dump(by_alias=True))
|
70
|
-
|
71
|
-
def to_json(self) -> str:
|
72
|
-
"""Returns the JSON representation of the model using alias"""
|
73
|
-
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
74
|
-
return json.dumps(self.to_dict())
|
75
|
-
|
76
|
-
@classmethod
|
77
|
-
def from_json(cls, json_str: str) -> Optional[Self]:
|
78
|
-
"""Create an instance of ReportingDescriptor from a JSON string"""
|
79
|
-
return cls.from_dict(json.loads(json_str))
|
80
|
-
|
81
|
-
def to_dict(self) -> Dict[str, Any]:
|
82
|
-
"""Return the dictionary representation of the model using alias.
|
83
|
-
|
84
|
-
This has the following differences from calling pydantic's
|
85
|
-
`self.model_dump(by_alias=True)`:
|
86
|
-
|
87
|
-
* `None` is only added to the output dict for nullable fields that
|
88
|
-
were set at model initialization. Other fields with value `None`
|
89
|
-
are ignored.
|
90
|
-
"""
|
91
|
-
excluded_fields: Set[str] = set([
|
92
|
-
])
|
93
|
-
|
94
|
-
_dict = self.model_dump(
|
95
|
-
by_alias=True,
|
96
|
-
exclude=excluded_fields,
|
97
|
-
exclude_none=True,
|
98
|
-
)
|
99
|
-
# override the default output from pydantic by calling `to_dict()` of short_description
|
100
|
-
if self.short_description:
|
101
|
-
_dict['shortDescription'] = self.short_description.to_dict()
|
102
|
-
# override the default output from pydantic by calling `to_dict()` of full_description
|
103
|
-
if self.full_description:
|
104
|
-
_dict['fullDescription'] = self.full_description.to_dict()
|
105
|
-
# override the default output from pydantic by calling `to_dict()` of each value in message_strings (dict)
|
106
|
-
_field_dict = {}
|
107
|
-
if self.message_strings:
|
108
|
-
for _key in self.message_strings:
|
109
|
-
if self.message_strings[_key]:
|
110
|
-
_field_dict[_key] = self.message_strings[_key].to_dict()
|
111
|
-
_dict['messageStrings'] = _field_dict
|
112
|
-
# override the default output from pydantic by calling `to_dict()` of default_configuration
|
113
|
-
if self.default_configuration:
|
114
|
-
_dict['defaultConfiguration'] = self.default_configuration.to_dict()
|
115
|
-
# override the default output from pydantic by calling `to_dict()` of help
|
116
|
-
if self.help:
|
117
|
-
_dict['help'] = self.help.to_dict()
|
118
|
-
# override the default output from pydantic by calling `to_dict()` of each item in relationships (list)
|
119
|
-
_items = []
|
120
|
-
if self.relationships:
|
121
|
-
for _item in self.relationships:
|
122
|
-
if _item:
|
123
|
-
_items.append(_item.to_dict())
|
124
|
-
_dict['relationships'] = _items
|
125
|
-
# override the default output from pydantic by calling `to_dict()` of properties
|
126
|
-
if self.properties:
|
127
|
-
_dict['properties'] = self.properties.to_dict()
|
128
|
-
return _dict
|
129
|
-
|
130
|
-
@classmethod
|
131
|
-
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
132
|
-
"""Create an instance of ReportingDescriptor from a dict"""
|
133
|
-
if obj is None:
|
134
|
-
return None
|
135
|
-
|
136
|
-
if not isinstance(obj, dict):
|
137
|
-
return cls.model_validate(obj)
|
138
|
-
|
139
|
-
_obj = cls.model_validate({
|
140
|
-
"id": obj.get("id"),
|
141
|
-
"deprecatedIds": obj.get("deprecatedIds"),
|
142
|
-
"guid": obj.get("guid"),
|
143
|
-
"deprecatedGuids": obj.get("deprecatedGuids"),
|
144
|
-
"name": obj.get("name"),
|
145
|
-
"deprecatedNames": obj.get("deprecatedNames"),
|
146
|
-
"shortDescription": MultiformatMessageString.from_dict(obj["shortDescription"]) if obj.get("shortDescription") is not None else None,
|
147
|
-
"fullDescription": MultiformatMessageString.from_dict(obj["fullDescription"]) if obj.get("fullDescription") is not None else None,
|
148
|
-
"messageStrings": dict(
|
149
|
-
(_k, MultiformatMessageString.from_dict(_v))
|
150
|
-
for _k, _v in obj["messageStrings"].items()
|
151
|
-
)
|
152
|
-
if obj.get("messageStrings") is not None
|
153
|
-
else None,
|
154
|
-
"defaultConfiguration": ReportingConfiguration.from_dict(obj["defaultConfiguration"]) if obj.get("defaultConfiguration") is not None else None,
|
155
|
-
"helpUri": obj.get("helpUri"),
|
156
|
-
"help": MultiformatMessageString.from_dict(obj["help"]) if obj.get("help") is not None else None,
|
157
|
-
"relationships": [ReportingDescriptorRelationship.from_dict(_item) for _item in obj["relationships"]] if obj.get("relationships") is not None else None,
|
158
|
-
"properties": PropertyBag.from_dict(obj["properties"]) if obj.get("properties") is not None else None
|
159
|
-
})
|
160
|
-
return _obj
|
161
|
-
|
162
|
-
|
@@ -1,103 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
|
-
"""
|
4
|
-
HiddenLayer-API
|
5
|
-
|
6
|
-
HiddenLayer-API
|
7
|
-
|
8
|
-
The version of the OpenAPI document: 1
|
9
|
-
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
-
|
11
|
-
Do not edit the class manually.
|
12
|
-
""" # noqa: E501
|
13
|
-
|
14
|
-
|
15
|
-
from __future__ import annotations
|
16
|
-
import pprint
|
17
|
-
import re # noqa: F401
|
18
|
-
import json
|
19
|
-
|
20
|
-
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
21
|
-
from typing import Any, ClassVar, Dict, List, Optional
|
22
|
-
from typing_extensions import Annotated
|
23
|
-
from hiddenlayer.sdk.rest.models.property_bag import PropertyBag
|
24
|
-
from hiddenlayer.sdk.rest.models.tool_component_reference import ToolComponentReference
|
25
|
-
from typing import Optional, Set
|
26
|
-
from typing_extensions import Self
|
27
|
-
|
28
|
-
class ReportingDescriptorReference(BaseModel):
|
29
|
-
"""
|
30
|
-
Information about how to locate a relevant reporting descriptor.
|
31
|
-
""" # noqa: E501
|
32
|
-
id: Optional[StrictStr] = Field(default=None, description="The id of the descriptor.")
|
33
|
-
index: Optional[Annotated[int, Field(strict=True, ge=-1)]] = Field(default=-1, description="The index into an array of descriptors in toolComponent.ruleDescriptors, toolComponent.notificationDescriptors, or toolComponent.taxonomyDescriptors, depending on context.")
|
34
|
-
guid: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="A guid that uniquely identifies the descriptor.")
|
35
|
-
tool_component: Optional[ToolComponentReference] = Field(default=None, alias="toolComponent")
|
36
|
-
properties: Optional[PropertyBag] = None
|
37
|
-
__properties: ClassVar[List[str]] = []
|
38
|
-
|
39
|
-
@field_validator('guid')
|
40
|
-
def guid_validate_regular_expression(cls, value):
|
41
|
-
"""Validates the regular expression"""
|
42
|
-
if value is None:
|
43
|
-
return value
|
44
|
-
|
45
|
-
if not re.match(r"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$", value):
|
46
|
-
raise ValueError(r"must validate the regular expression /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/")
|
47
|
-
return value
|
48
|
-
|
49
|
-
model_config = ConfigDict(
|
50
|
-
populate_by_name=True,
|
51
|
-
validate_assignment=True,
|
52
|
-
protected_namespaces=(),
|
53
|
-
)
|
54
|
-
|
55
|
-
|
56
|
-
def to_str(self) -> str:
|
57
|
-
"""Returns the string representation of the model using alias"""
|
58
|
-
return pprint.pformat(self.model_dump(by_alias=True))
|
59
|
-
|
60
|
-
def to_json(self) -> str:
|
61
|
-
"""Returns the JSON representation of the model using alias"""
|
62
|
-
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
63
|
-
return json.dumps(self.to_dict())
|
64
|
-
|
65
|
-
@classmethod
|
66
|
-
def from_json(cls, json_str: str) -> Optional[Self]:
|
67
|
-
"""Create an instance of ReportingDescriptorReference from a JSON string"""
|
68
|
-
return cls.from_dict(json.loads(json_str))
|
69
|
-
|
70
|
-
def to_dict(self) -> Dict[str, Any]:
|
71
|
-
"""Return the dictionary representation of the model using alias.
|
72
|
-
|
73
|
-
This has the following differences from calling pydantic's
|
74
|
-
`self.model_dump(by_alias=True)`:
|
75
|
-
|
76
|
-
* `None` is only added to the output dict for nullable fields that
|
77
|
-
were set at model initialization. Other fields with value `None`
|
78
|
-
are ignored.
|
79
|
-
"""
|
80
|
-
excluded_fields: Set[str] = set([
|
81
|
-
])
|
82
|
-
|
83
|
-
_dict = self.model_dump(
|
84
|
-
by_alias=True,
|
85
|
-
exclude=excluded_fields,
|
86
|
-
exclude_none=True,
|
87
|
-
)
|
88
|
-
return _dict
|
89
|
-
|
90
|
-
@classmethod
|
91
|
-
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
92
|
-
"""Create an instance of ReportingDescriptorReference from a dict"""
|
93
|
-
if obj is None:
|
94
|
-
return None
|
95
|
-
|
96
|
-
if not isinstance(obj, dict):
|
97
|
-
return cls.model_validate(obj)
|
98
|
-
|
99
|
-
_obj = cls.model_validate({
|
100
|
-
})
|
101
|
-
return _obj
|
102
|
-
|
103
|
-
|
@@ -1,115 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
|
-
"""
|
4
|
-
HiddenLayer-API
|
5
|
-
|
6
|
-
HiddenLayer-API
|
7
|
-
|
8
|
-
The version of the OpenAPI document: 1
|
9
|
-
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
10
|
-
|
11
|
-
Do not edit the class manually.
|
12
|
-
""" # noqa: E501
|
13
|
-
|
14
|
-
|
15
|
-
from __future__ import annotations
|
16
|
-
import pprint
|
17
|
-
import re # noqa: F401
|
18
|
-
import json
|
19
|
-
|
20
|
-
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
21
|
-
from typing import Any, ClassVar, Dict, List, Optional
|
22
|
-
from hiddenlayer.sdk.rest.models.message import Message
|
23
|
-
from hiddenlayer.sdk.rest.models.property_bag import PropertyBag
|
24
|
-
from hiddenlayer.sdk.rest.models.reporting_descriptor_reference import ReportingDescriptorReference
|
25
|
-
from typing import Optional, Set
|
26
|
-
from typing_extensions import Self
|
27
|
-
|
28
|
-
class ReportingDescriptorRelationship(BaseModel):
|
29
|
-
"""
|
30
|
-
Information about the relation of one reporting descriptor to another.
|
31
|
-
""" # noqa: E501
|
32
|
-
target: Optional[ReportingDescriptorReference]
|
33
|
-
kinds: Optional[List[StrictStr]] = Field(default=None, description="A set of distinct strings that categorize the relationship. Well-known kinds include 'canPrecede', 'canFollow', 'willPrecede', 'willFollow', 'superset', 'subset', 'equal', 'disjoint', 'relevant', and 'incomparable'.")
|
34
|
-
description: Optional[Message] = None
|
35
|
-
properties: Optional[PropertyBag] = None
|
36
|
-
__properties: ClassVar[List[str]] = ["target", "kinds", "description", "properties"]
|
37
|
-
|
38
|
-
model_config = ConfigDict(
|
39
|
-
populate_by_name=True,
|
40
|
-
validate_assignment=True,
|
41
|
-
protected_namespaces=(),
|
42
|
-
)
|
43
|
-
|
44
|
-
|
45
|
-
def to_str(self) -> str:
|
46
|
-
"""Returns the string representation of the model using alias"""
|
47
|
-
return pprint.pformat(self.model_dump(by_alias=True))
|
48
|
-
|
49
|
-
def to_json(self) -> str:
|
50
|
-
"""Returns the JSON representation of the model using alias"""
|
51
|
-
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
52
|
-
return json.dumps(self.to_dict())
|
53
|
-
|
54
|
-
@classmethod
|
55
|
-
def from_json(cls, json_str: str) -> Optional[Self]:
|
56
|
-
"""Create an instance of ReportingDescriptorRelationship from a JSON string"""
|
57
|
-
return cls.from_dict(json.loads(json_str))
|
58
|
-
|
59
|
-
def to_dict(self) -> Dict[str, Any]:
|
60
|
-
"""Return the dictionary representation of the model using alias.
|
61
|
-
|
62
|
-
This has the following differences from calling pydantic's
|
63
|
-
`self.model_dump(by_alias=True)`:
|
64
|
-
|
65
|
-
* `None` is only added to the output dict for nullable fields that
|
66
|
-
were set at model initialization. Other fields with value `None`
|
67
|
-
are ignored.
|
68
|
-
"""
|
69
|
-
excluded_fields: Set[str] = set([
|
70
|
-
])
|
71
|
-
|
72
|
-
_dict = self.model_dump(
|
73
|
-
by_alias=True,
|
74
|
-
exclude=excluded_fields,
|
75
|
-
exclude_none=True,
|
76
|
-
)
|
77
|
-
# override the default output from pydantic by calling `to_dict()` of target
|
78
|
-
if self.target:
|
79
|
-
_dict['target'] = self.target.to_dict()
|
80
|
-
# override the default output from pydantic by calling `to_dict()` of description
|
81
|
-
if self.description:
|
82
|
-
_dict['description'] = self.description.to_dict()
|
83
|
-
# override the default output from pydantic by calling `to_dict()` of properties
|
84
|
-
if self.properties:
|
85
|
-
_dict['properties'] = self.properties.to_dict()
|
86
|
-
# set to None if target (nullable) is None
|
87
|
-
# and model_fields_set contains the field
|
88
|
-
if self.target is None and "target" in self.model_fields_set:
|
89
|
-
_dict['target'] = None
|
90
|
-
|
91
|
-
# set to None if description (nullable) is None
|
92
|
-
# and model_fields_set contains the field
|
93
|
-
if self.description is None and "description" in self.model_fields_set:
|
94
|
-
_dict['description'] = None
|
95
|
-
|
96
|
-
return _dict
|
97
|
-
|
98
|
-
@classmethod
|
99
|
-
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
100
|
-
"""Create an instance of ReportingDescriptorRelationship from a dict"""
|
101
|
-
if obj is None:
|
102
|
-
return None
|
103
|
-
|
104
|
-
if not isinstance(obj, dict):
|
105
|
-
return cls.model_validate(obj)
|
106
|
-
|
107
|
-
_obj = cls.model_validate({
|
108
|
-
"target": ReportingDescriptorReference.from_dict(obj["target"]) if obj.get("target") is not None else None,
|
109
|
-
"kinds": obj.get("kinds"),
|
110
|
-
"description": Message.from_dict(obj["description"]) if obj.get("description") is not None else None,
|
111
|
-
"properties": PropertyBag.from_dict(obj["properties"]) if obj.get("properties") is not None else None
|
112
|
-
})
|
113
|
-
return _obj
|
114
|
-
|
115
|
-
|