o
    ɶdX                     @   s8   d dl mZmZmZ d dlmZ eG dd deZdS )    )formatted_flat_dictNONE_SENTINEL#value_allowed_none_or_none_sentinel)init_model_state_from_kwargsc                   @   s  e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,d- Z.e/d.d/ Z0e0j1d0d/ Z0e/d1d2 Z2e2j1d3d2 Z2e/d4d5 Z3e3j1d6d5 Z3e/d7d8 Z4e4j1d9d8 Z4e/d:d; Z5e5j1d<d; Z5e/d=d> Z6e6j1d?d> Z6e/d@dA Z7e7j1dBdA Z7e/dCdD Z8e8j1dEdD Z8e/dFdG Z9e9j1dHdG Z9e/dIdJ Z:e:j1dKdJ Z:e/dLdM Z;e;j1dNdM Z;dOdP Z<dQdR Z=dSdT Z>dUS )V	Attributez
    Attribute
    LENGTH_FIVELENGTH_SIXTEENLENGTH_THIRTYTWOLENGTH_SIXTYFOURLENGTH_ONETWOEIGHTLENGTH_TWOFIFTYSIXLENGTH_FIVETWELVELENGTH_SEVENFIFTYLENGTH_ONE_THOUSANDLENGTH_TWO_THOUSANDLENGTH_FOUR_THOUSANDBACKEND_GEN
CALLER_GEN	MANDATORYOPTIONALCREATEUPDATECREATE_AND_UPDATEDELETE	RE_CREATEDETAILLISTFUNCTION_WITH_LOOKUP
DB_PATTERNCREATE_FIRSTTIME_T1UPDATE_OOB_METRICINTEGERLONGFLOATSTRING	TIMESTAMPDATECLOBTAG_REF
PARSER_REFSTT_REF
LOOKUP_REFMETA_FUNCTION_REFCOMMON_FIELD_REFNONELOWHIGHc                 K   s   dddddddddddd| _ ddddd	d
dddddd| _d| _d| _d| _d| _d| _d| _d| _d| _	d| _
d| _d| _dS )a  
        Initializes a new Attribute object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param default_value:
            The value to assign to the default_value property of this Attribute.
        :type default_value: object

        :param dynamic_value_range_ref_attr:
            The value to assign to the dynamic_value_range_ref_attr property of this Attribute.
        :type dynamic_value_range_ref_attr: str

        :param maximum_len:
            The value to assign to the maximum_len property of this Attribute.
            Allowed values for this property are: "LENGTH_FIVE", "LENGTH_SIXTEEN", "LENGTH_THIRTYTWO", "LENGTH_SIXTYFOUR", "LENGTH_ONETWOEIGHT", "LENGTH_TWOFIFTYSIX", "LENGTH_FIVETWELVE", "LENGTH_SEVENFIFTY", "LENGTH_ONE_THOUSAND", "LENGTH_TWO_THOUSAND", "LENGTH_FOUR_THOUSAND"
        :type maximum_len: str

        :param name:
            The value to assign to the name property of this Attribute.
        :type name: str

        :param populated_by:
            The value to assign to the populated_by property of this Attribute.
            Allowed values for this property are: "BACKEND_GEN", "CALLER_GEN"
        :type populated_by: str

        :param required_in_json:
            The value to assign to the required_in_json property of this Attribute.
            Allowed values for this property are: "MANDATORY", "OPTIONAL"
        :type required_in_json: str

        :param schema_column:
            The value to assign to the schema_column property of this Attribute.
        :type schema_column: str

        :param is_string_exceed_maximum_length:
            The value to assign to the is_string_exceed_maximum_length property of this Attribute.
        :type is_string_exceed_maximum_length: bool

        :param usage_senario:
            The value to assign to the usage_senario property of this Attribute.
            Allowed values for this property are: "CREATE", "UPDATE", "CREATE_AND_UPDATE", "DELETE", "RE_CREATE", "DETAIL", "LIST", "FUNCTION_WITH_LOOKUP", "DB_PATTERN", "CREATE_FIRSTTIME_T1", "UPDATE_OOB_METRIC"
        :type usage_senario: str

        :param value_data_type:
            The value to assign to the value_data_type property of this Attribute.
            Allowed values for this property are: "INTEGER", "LONG", "FLOAT", "STRING", "TIMESTAMP", "DATE", "CLOB", "TAG_REF", "PARSER_REF", "STT_REF", "LOOKUP_REF", "META_FUNCTION_REF", "COMMON_FIELD_REF"
        :type value_data_type: str

        :param value_population_priority:
            The value to assign to the value_population_priority property of this Attribute.
            Allowed values for this property are: "NONE", "LOW", "HIGH"
        :type value_population_priority: str

        objectstrbool)default_valuedynamic_value_range_ref_attrmaximum_lennamepopulated_byrequired_in_jsonschema_columnis_string_exceed_maximum_lengthusage_senariovalue_data_typevalue_population_prioritydefaultValueZdynamicValueRangeRefAttrZ
maximumLenr7   ZpopulatedByZrequiredInJSONZschemaColumnZisStringExceedMaximumLengthZusageSenarioZvalueDataTypeZvaluePopulationPriorityN)Zswagger_typesZattribute_map_default_value_dynamic_value_range_ref_attr_maximum_len_name_populated_by_required_in_json_schema_column _is_string_exceed_maximum_length_usage_senario_value_data_type_value_population_priority)selfkwargs rM   Fusr/lib/python3.10/site-packages/oci/log_analytics/models/attribute.py__init__   sF   9
zAttribute.__init__c                 C      | j S )z
        Gets the default_value of this Attribute.
        default value


        :return: The default_value of this Attribute.
        :rtype: object
        r@   rK   rM   rM   rN   r4        
zAttribute.default_valuec                 C   
   || _ dS )z
        Sets the default_value of this Attribute.
        default value


        :param default_value: The default_value of this Attribute.
        :type: object
        NrQ   )rK   r4   rM   rM   rN   r4   $     

c                 C   rP   )z
        Gets the dynamic_value_range_ref_attr of this Attribute.
        dynamic value range reference attribute


        :return: The dynamic_value_range_ref_attr of this Attribute.
        :rtype: str
        rA   rR   rM   rM   rN   r5   0  rS   z&Attribute.dynamic_value_range_ref_attrc                 C   rT   )z
        Sets the dynamic_value_range_ref_attr of this Attribute.
        dynamic value range reference attribute


        :param dynamic_value_range_ref_attr: The dynamic_value_range_ref_attr of this Attribute.
        :type: str
        NrV   )rK   r5   rM   rM   rN   r5   <  rU   c                 C   rP   )a  
        Gets the maximum_len of this Attribute.
        maximum length

        Allowed values for this property are: "LENGTH_FIVE", "LENGTH_SIXTEEN", "LENGTH_THIRTYTWO", "LENGTH_SIXTYFOUR", "LENGTH_ONETWOEIGHT", "LENGTH_TWOFIFTYSIX", "LENGTH_FIVETWELVE", "LENGTH_SEVENFIFTY", "LENGTH_ONE_THOUSAND", "LENGTH_TWO_THOUSAND", "LENGTH_FOUR_THOUSAND"


        :return: The maximum_len of this Attribute.
        :rtype: str
        )rB   rR   rM   rM   rN   r6   H     zAttribute.maximum_lenc                 C   *   g d}t ||std||| _dS )z
        Sets the maximum_len of this Attribute.
        maximum length


        :param maximum_len: The maximum_len of this Attribute.
        :type: str
        )r   r   r	   r
   r   r   r   r   r   r   r   z;Invalid value for `maximum_len`, must be None or one of {0}N)r   
ValueErrorformatrB   )rK   r6   allowed_valuesrM   rM   rN   r6   V     


c                 C   rP   )z
        Gets the name of this Attribute.
        name


        :return: The name of this Attribute.
        :rtype: str
        rC   rR   rM   rM   rN   r7   h  rS   zAttribute.namec                 C   rT   )z
        Sets the name of this Attribute.
        name


        :param name: The name of this Attribute.
        :type: str
        Nr]   )rK   r7   rM   rM   rN   r7   t  rU   c                 C   rP   )z
        Gets the populated_by of this Attribute.
        populated by

        Allowed values for this property are: "BACKEND_GEN", "CALLER_GEN"


        :return: The populated_by of this Attribute.
        :rtype: str
        )rD   rR   rM   rM   rN   r8     rW   zAttribute.populated_byc                 C   *   ddg}t ||std||| _dS )z
        Sets the populated_by of this Attribute.
        populated by


        :param populated_by: The populated_by of this Attribute.
        :type: str
        r   r   z<Invalid value for `populated_by`, must be None or one of {0}N)r   rY   rZ   rD   )rK   r8   r[   rM   rM   rN   r8     r\   c                 C   rP   )z
        Gets the required_in_json of this Attribute.
        required in JSON

        Allowed values for this property are: "MANDATORY", "OPTIONAL"


        :return: The required_in_json of this Attribute.
        :rtype: str
        )rE   rR   rM   rM   rN   r9     rW   zAttribute.required_in_jsonc                 C   r^   )z
        Sets the required_in_json of this Attribute.
        required in JSON


        :param required_in_json: The required_in_json of this Attribute.
        :type: str
        r   r   z@Invalid value for `required_in_json`, must be None or one of {0}N)r   rY   rZ   rE   )rK   r9   r[   rM   rM   rN   r9     r\   c                 C   rP   )z
        Gets the schema_column of this Attribute.
        schema column


        :return: The schema_column of this Attribute.
        :rtype: str
        rF   rR   rM   rM   rN   r:     rS   zAttribute.schema_columnc                 C   rT   )z
        Sets the schema_column of this Attribute.
        schema column


        :param schema_column: The schema_column of this Attribute.
        :type: str
        Nr_   )rK   r:   rM   rM   rN   r:     rU   c                 C   rP   )z
        Gets the is_string_exceed_maximum_length of this Attribute.
        is string exceed maximum length


        :return: The is_string_exceed_maximum_length of this Attribute.
        :rtype: bool
        rG   rR   rM   rM   rN   r;     rS   z)Attribute.is_string_exceed_maximum_lengthc                 C   rT   )z
        Sets the is_string_exceed_maximum_length of this Attribute.
        is string exceed maximum length


        :param is_string_exceed_maximum_length: The is_string_exceed_maximum_length of this Attribute.
        :type: bool
        Nr`   )rK   r;   rM   rM   rN   r;     rU   c                 C   rP   )ao  
        Gets the usage_senario of this Attribute.
        usage senario

        Allowed values for this property are: "CREATE", "UPDATE", "CREATE_AND_UPDATE", "DELETE", "RE_CREATE", "DETAIL", "LIST", "FUNCTION_WITH_LOOKUP", "DB_PATTERN", "CREATE_FIRSTTIME_T1", "UPDATE_OOB_METRIC"


        :return: The usage_senario of this Attribute.
        :rtype: str
        )rH   rR   rM   rM   rN   r<     rW   zAttribute.usage_senarioc                 C   rX   )z
        Sets the usage_senario of this Attribute.
        usage senario


        :param usage_senario: The usage_senario of this Attribute.
        :type: str
        )r   r   r   r   r   r   r   r   r   r   r    z=Invalid value for `usage_senario`, must be None or one of {0}N)r   rY   rZ   rH   )rK   r<   r[   rM   rM   rN   r<     r\   c                 C   rP   )ao  
        Gets the value_data_type of this Attribute.
        value data type

        Allowed values for this property are: "INTEGER", "LONG", "FLOAT", "STRING", "TIMESTAMP", "DATE", "CLOB", "TAG_REF", "PARSER_REF", "STT_REF", "LOOKUP_REF", "META_FUNCTION_REF", "COMMON_FIELD_REF"


        :return: The value_data_type of this Attribute.
        :rtype: str
        )rI   rR   rM   rM   rN   r=     rW   zAttribute.value_data_typec                 C   rX   )z
        Sets the value_data_type of this Attribute.
        value data type


        :param value_data_type: The value_data_type of this Attribute.
        :type: str
        )r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   z?Invalid value for `value_data_type`, must be None or one of {0}N)r   rY   rZ   rI   )rK   r=   r[   rM   rM   rN   r=     r\   c                 C   rP   )a  
        Gets the value_population_priority of this Attribute.
        value population priority

        Allowed values for this property are: "NONE", "LOW", "HIGH"


        :return: The value_population_priority of this Attribute.
        :rtype: str
        )rJ   rR   rM   rM   rN   r>   0  rW   z#Attribute.value_population_priorityc                 C   rX   )z
        Sets the value_population_priority of this Attribute.
        value population priority


        :param value_population_priority: The value_population_priority of this Attribute.
        :type: str
        )r.   r/   r0   zIInvalid value for `value_population_priority`, must be None or one of {0}N)r   rY   rZ   rJ   )rK   r>   r[   rM   rM   rN   r>   >  r\   c                 C   s   t | S N)r   rR   rM   rM   rN   __repr__P  s   zAttribute.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__rK   otherrM   rM   rN   __eq__S  s   zAttribute.__eq__c                 C   s
   | |k S ra   rM   rd   rM   rM   rN   __ne__Y  s   
zAttribute.__ne__N)?__name__
__module____qualname____doc__ZMAXIMUM_LEN_LENGTH_FIVEZMAXIMUM_LEN_LENGTH_SIXTEENZMAXIMUM_LEN_LENGTH_THIRTYTWOZMAXIMUM_LEN_LENGTH_SIXTYFOURZMAXIMUM_LEN_LENGTH_ONETWOEIGHTZMAXIMUM_LEN_LENGTH_TWOFIFTYSIXZMAXIMUM_LEN_LENGTH_FIVETWELVEZMAXIMUM_LEN_LENGTH_SEVENFIFTYZMAXIMUM_LEN_LENGTH_ONE_THOUSANDZMAXIMUM_LEN_LENGTH_TWO_THOUSANDZ MAXIMUM_LEN_LENGTH_FOUR_THOUSANDZPOPULATED_BY_BACKEND_GENZPOPULATED_BY_CALLER_GENZREQUIRED_IN_JSON_MANDATORYZREQUIRED_IN_JSON_OPTIONALZUSAGE_SENARIO_CREATEZUSAGE_SENARIO_UPDATEZUSAGE_SENARIO_CREATE_AND_UPDATEZUSAGE_SENARIO_DELETEZUSAGE_SENARIO_RE_CREATEZUSAGE_SENARIO_DETAILZUSAGE_SENARIO_LISTZ"USAGE_SENARIO_FUNCTION_WITH_LOOKUPZUSAGE_SENARIO_DB_PATTERNZ!USAGE_SENARIO_CREATE_FIRSTTIME_T1ZUSAGE_SENARIO_UPDATE_OOB_METRICZVALUE_DATA_TYPE_INTEGERZVALUE_DATA_TYPE_LONGZVALUE_DATA_TYPE_FLOATZVALUE_DATA_TYPE_STRINGZVALUE_DATA_TYPE_TIMESTAMPZVALUE_DATA_TYPE_DATEZVALUE_DATA_TYPE_CLOBZVALUE_DATA_TYPE_TAG_REFZVALUE_DATA_TYPE_PARSER_REFZVALUE_DATA_TYPE_STT_REFZVALUE_DATA_TYPE_LOOKUP_REFZ!VALUE_DATA_TYPE_META_FUNCTION_REFZ VALUE_DATA_TYPE_COMMON_FIELD_REFZVALUE_POPULATION_PRIORITY_NONEZVALUE_POPULATION_PRIORITY_LOWZVALUE_POPULATION_PRIORITY_HIGHrO   propertyr4   setterr5   r6   r7   r8   r9   r:   r;   r<   r=   r>   rb   rf   rg   rM   rM   rM   rN   r   
   s    `





















r   N)Zoci.utilr   r   r   Zoci.decoratorsr   r1   r   rM   rM   rM   rN   <module>   s   