File: //usr/lib/mysqlsh/lib/python3.8/site-packages/oci/adm/models/vulnerability_audit_configuration.py
# coding: utf-8
# Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
# NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20220421
from oci.util import formatted_flat_dict, NONE_SENTINEL, value_allowed_none_or_none_sentinel # noqa: F401
from oci.decorators import init_model_state_from_kwargs
@init_model_state_from_kwargs
class VulnerabilityAuditConfiguration(object):
"""
Configuration for a vulnerability audit.
A vulnerable application dependency is ignored if its name does match any of the items in `exclusions`, or all of the associated Vulnerabilies have a CVSS v2 score below `maxPermissibleCvssV2Score` and a CVSS v3 score below `maxPermissibleCvssV3Score`.
type: object
"""
#: A constant which can be used with the max_permissible_severity property of a VulnerabilityAuditConfiguration.
#: This constant has a value of "UNSET"
MAX_PERMISSIBLE_SEVERITY_UNSET = "UNSET"
#: A constant which can be used with the max_permissible_severity property of a VulnerabilityAuditConfiguration.
#: This constant has a value of "NONE"
MAX_PERMISSIBLE_SEVERITY_NONE = "NONE"
#: A constant which can be used with the max_permissible_severity property of a VulnerabilityAuditConfiguration.
#: This constant has a value of "LOW"
MAX_PERMISSIBLE_SEVERITY_LOW = "LOW"
#: A constant which can be used with the max_permissible_severity property of a VulnerabilityAuditConfiguration.
#: This constant has a value of "MEDIUM"
MAX_PERMISSIBLE_SEVERITY_MEDIUM = "MEDIUM"
#: A constant which can be used with the max_permissible_severity property of a VulnerabilityAuditConfiguration.
#: This constant has a value of "HIGH"
MAX_PERMISSIBLE_SEVERITY_HIGH = "HIGH"
#: A constant which can be used with the max_permissible_severity property of a VulnerabilityAuditConfiguration.
#: This constant has a value of "CRITICAL"
MAX_PERMISSIBLE_SEVERITY_CRITICAL = "CRITICAL"
def __init__(self, **kwargs):
"""
Initializes a new VulnerabilityAuditConfiguration object with values from keyword arguments.
The following keyword arguments are supported (corresponding to the getters/setters of this class):
:param max_permissible_cvss_v2_score:
The value to assign to the max_permissible_cvss_v2_score property of this VulnerabilityAuditConfiguration.
:type max_permissible_cvss_v2_score: float
:param max_permissible_cvss_v3_score:
The value to assign to the max_permissible_cvss_v3_score property of this VulnerabilityAuditConfiguration.
:type max_permissible_cvss_v3_score: float
:param max_permissible_severity:
The value to assign to the max_permissible_severity property of this VulnerabilityAuditConfiguration.
Allowed values for this property are: "UNSET", "NONE", "LOW", "MEDIUM", "HIGH", "CRITICAL", 'UNKNOWN_ENUM_VALUE'.
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
:type max_permissible_severity: str
:param exclusions:
The value to assign to the exclusions property of this VulnerabilityAuditConfiguration.
:type exclusions: list[str]
"""
self.swagger_types = {
'max_permissible_cvss_v2_score': 'float',
'max_permissible_cvss_v3_score': 'float',
'max_permissible_severity': 'str',
'exclusions': 'list[str]'
}
self.attribute_map = {
'max_permissible_cvss_v2_score': 'maxPermissibleCvssV2Score',
'max_permissible_cvss_v3_score': 'maxPermissibleCvssV3Score',
'max_permissible_severity': 'maxPermissibleSeverity',
'exclusions': 'exclusions'
}
self._max_permissible_cvss_v2_score = None
self._max_permissible_cvss_v3_score = None
self._max_permissible_severity = None
self._exclusions = None
@property
def max_permissible_cvss_v2_score(self):
"""
Gets the max_permissible_cvss_v2_score of this VulnerabilityAuditConfiguration.
A vulnerable application dependency is ignored if the score of its associated Vulnerability is below maxPermissibleCvssV2Score and below maxPermissibleCvssV3Score.
:return: The max_permissible_cvss_v2_score of this VulnerabilityAuditConfiguration.
:rtype: float
"""
return self._max_permissible_cvss_v2_score
@max_permissible_cvss_v2_score.setter
def max_permissible_cvss_v2_score(self, max_permissible_cvss_v2_score):
"""
Sets the max_permissible_cvss_v2_score of this VulnerabilityAuditConfiguration.
A vulnerable application dependency is ignored if the score of its associated Vulnerability is below maxPermissibleCvssV2Score and below maxPermissibleCvssV3Score.
:param max_permissible_cvss_v2_score: The max_permissible_cvss_v2_score of this VulnerabilityAuditConfiguration.
:type: float
"""
self._max_permissible_cvss_v2_score = max_permissible_cvss_v2_score
@property
def max_permissible_cvss_v3_score(self):
"""
Gets the max_permissible_cvss_v3_score of this VulnerabilityAuditConfiguration.
A vulnerable application dependency is ignored if the score of its associated Vulnerability is below maxPermissibleCvssV2Score and below maxPermissibleCvssV3Score.
:return: The max_permissible_cvss_v3_score of this VulnerabilityAuditConfiguration.
:rtype: float
"""
return self._max_permissible_cvss_v3_score
@max_permissible_cvss_v3_score.setter
def max_permissible_cvss_v3_score(self, max_permissible_cvss_v3_score):
"""
Sets the max_permissible_cvss_v3_score of this VulnerabilityAuditConfiguration.
A vulnerable application dependency is ignored if the score of its associated Vulnerability is below maxPermissibleCvssV2Score and below maxPermissibleCvssV3Score.
:param max_permissible_cvss_v3_score: The max_permissible_cvss_v3_score of this VulnerabilityAuditConfiguration.
:type: float
"""
self._max_permissible_cvss_v3_score = max_permissible_cvss_v3_score
@property
def max_permissible_severity(self):
"""
Gets the max_permissible_severity of this VulnerabilityAuditConfiguration.
A vulnerable application dependency is ignored if the score of its associated Vulnerability is below maxPermissibleSeverity.
Allowed values for this property are: "UNSET", "NONE", "LOW", "MEDIUM", "HIGH", "CRITICAL", 'UNKNOWN_ENUM_VALUE'.
Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
:return: The max_permissible_severity of this VulnerabilityAuditConfiguration.
:rtype: str
"""
return self._max_permissible_severity
@max_permissible_severity.setter
def max_permissible_severity(self, max_permissible_severity):
"""
Sets the max_permissible_severity of this VulnerabilityAuditConfiguration.
A vulnerable application dependency is ignored if the score of its associated Vulnerability is below maxPermissibleSeverity.
:param max_permissible_severity: The max_permissible_severity of this VulnerabilityAuditConfiguration.
:type: str
"""
allowed_values = ["UNSET", "NONE", "LOW", "MEDIUM", "HIGH", "CRITICAL"]
if not value_allowed_none_or_none_sentinel(max_permissible_severity, allowed_values):
max_permissible_severity = 'UNKNOWN_ENUM_VALUE'
self._max_permissible_severity = max_permissible_severity
@property
def exclusions(self):
"""
Gets the exclusions of this VulnerabilityAuditConfiguration.
A vulnerable application dependency is ignored if its name matches any of the items in `exclusions`.
An asterisk (*) in the dependency pattern acts as a wildcard and matches zero or more characters.
:return: The exclusions of this VulnerabilityAuditConfiguration.
:rtype: list[str]
"""
return self._exclusions
@exclusions.setter
def exclusions(self, exclusions):
"""
Sets the exclusions of this VulnerabilityAuditConfiguration.
A vulnerable application dependency is ignored if its name matches any of the items in `exclusions`.
An asterisk (*) in the dependency pattern acts as a wildcard and matches zero or more characters.
:param exclusions: The exclusions of this VulnerabilityAuditConfiguration.
:type: list[str]
"""
self._exclusions = exclusions
def __repr__(self):
return formatted_flat_dict(self)
def __eq__(self, other):
if other is None:
return False
return self.__dict__ == other.__dict__
def __ne__(self, other):
return not self == other