class CVEDetail(jsl.Document): class Options(object): definition_id = "cvecheck_details" description = "Detail of one CVE" with removed_in(ROLE_v3_0_0) as removed_in_v3_0_0: # access/impact are now part of vector string in cvss dict removed_in_v3_0_0.access = jsl.DocumentField(CVEAccess, as_ref=True, required=True) removed_in_v3_0_0.impact = jsl.DocumentField(CVEImpact, as_ref=True, required=True) removed_in_v3_0_0.cvss = jsl.NumberField( required=True) # cvss is now dict removed_in_v3_0_0.summary = jsl.StringField( required=True) # renamed to description with added_in(ROLE_v3_0_0) as added_in_v3_0_0: added_in_v3_0_0.cvss = jsl.DocumentField(CVSS, as_ref=True, required=True) added_in_v3_0_0.description = jsl.StringField(required=True) added_in_v3_0_0.severity = jsl.StringField(required=True) with added_in(ROLE_v3_0_1) as added_in_v3_0_1: added_in_v3_0_1.attribution = jsl.StringField(required=False) id = jsl.StringField(required=True) references = jsl.ArrayField(jsl.UriField(), required=True) # Present if defined for the particular CVE cwe = jsl.StringField(required=False)
class ParameterHelpLink(jsl.Document): link_text = jsl.StringField(required=True, default="Learn More") link_url_type = jsl.StringField(enum=["internal", "external"], required=True, default="external") link_url = jsl.OneOfField([jsl.UriField(required=True)], required=True) link_tip = jsl.StringField(required=False)
class Links(jsl.Document): self = jsl.UriField() related = jsl.DocumentField(Link, as_ref=True) class Options(object): definition_id = "links" additional_properties = True
class JSLWithSchemaAttribute(jsl.Document): name = jsl.StringField(required=True, description='Name of the schema', pattern=r'^[a-zA-Z0-9_]+$') version = jsl.StringField(required=True, description='Version of the schema', pattern=r'^[0-9]+-[0-9]+-[0-9]+$') url = jsl.UriField(required=False, description='Full URL of the schema')
class UpstreamToDownstream(Common): """ https://github.com/sclorg/betka """ master_checker = jsl.BooleanField() upstream_branch_name = jsl.StringField() upstream_git_path = jsl.StringField() pr_checker = jsl.BooleanField() pr_comment_message = jsl.StringField() jira_ticket = jsl.StringField() image_url = jsl.UriField()
class UpstreamToDownstream(Common): """ https://github.com/user-cont/betka """ master_checker = jsl.BooleanField() upstream_branch_name = jsl.StringField() upstream_git_path = jsl.StringField() pr_checker = jsl.BooleanField() # TODO: required if pr_checker is 'True' otherwise optional pr_comment_message = jsl.StringField() commit_message_template = jsl.StringField() image_url = jsl.UriField()
class ChuteSource(jsl.Document): type = jsl.StringField(required=True, description="Type of source.") url = jsl.UriField(description="URL for accessing source.")
class Link(jsl.Document): href = jsl.UriField(required=True) meta = jsl.DocumentField(Meta, as_ref=True) class Options(object): definition_id = "link"