ruạṛ
a ���f�. � @ s8 d dl mZmZmZ d dlmZ eG dd� de��ZdS )� )�formatted_flat_dict� NONE_SENTINEL�#value_allowed_none_or_none_sentinel)�init_model_state_from_kwargsc @ s$ e Zd ZdZdZdZdZdZdZdZ dd � Z ed d� �Ze dd � �Zejdd � �Ze dd� �Zejdd� �Ze dd� �Zejdd� �Ze dd� �Zejdd� �Ze dd� �Zejdd� �Ze dd� �Zejdd� �Ze dd� �Zejd d� �Ze d!d"� �Zejd#d"� �Zd$d%� Zd&d'� Zd(d)� Zd*S )+�ProjectionRulez� Base type for how fields are projected. There are many different mechanisms for doing this such as by a name pattern, datatype and so on. See the `modelType` property for the types. �NAME_PATTERN_RULE�TYPE_LIST_RULE�NAME_LIST_RULE�TYPED_NAME_PATTERN_RULE�RENAME_RULE�GROUPED_NAME_PATTERN_RULEc K sd ddddddddd�| _ ddd d ddd dd�| _d| _d| _d| _d| _d| _d| _d| _d| _ dS )a Initializes a new ProjectionRule object with values from keyword arguments. This class has the following subclasses and if you are using this class as input to a service operations then you should favor using a subclass over the base class: * :class:`~oci.data_integration.models.RenameRule` * :class:`~oci.data_integration.models.TypeListRule` * :class:`~oci.data_integration.models.TypedNamePatternRule` * :class:`~oci.data_integration.models.NamePatternRule` * :class:`~oci.data_integration.models.GroupedNamePatternRule` * :class:`~oci.data_integration.models.NameListRule` The following keyword arguments are supported (corresponding to the getters/setters of this class): :param model_type: The value to assign to the model_type property of this ProjectionRule. Allowed values for this property are: "NAME_PATTERN_RULE", "TYPE_LIST_RULE", "NAME_LIST_RULE", "TYPED_NAME_PATTERN_RULE", "RENAME_RULE", "GROUPED_NAME_PATTERN_RULE", 'UNKNOWN_ENUM_VALUE'. Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'. :type model_type: str :param key: The value to assign to the key property of this ProjectionRule. :type key: str :param model_version: The value to assign to the model_version property of this ProjectionRule. :type model_version: str :param parent_ref: The value to assign to the parent_ref property of this ProjectionRule. :type parent_ref: oci.data_integration.models.ParentReference :param is_java_regex_syntax: The value to assign to the is_java_regex_syntax property of this ProjectionRule. :type is_java_regex_syntax: bool :param config_values: The value to assign to the config_values property of this ProjectionRule. :type config_values: oci.data_integration.models.ConfigValues :param object_status: The value to assign to the object_status property of this ProjectionRule. :type object_status: int :param description: The value to assign to the description property of this ProjectionRule. :type description: str �strZParentReference�boolZConfigValues�int)� model_type�key� model_version� parent_ref�is_java_regex_syntax� config_values� object_status�description� modelTyper ZmodelVersionZ parentRefZisJavaRegexSyntaxZconfigValuesZobjectStatusr N) Z swagger_typesZ attribute_map�_model_type�_key�_model_version�_parent_ref�_is_java_regex_syntax�_config_values�_object_status�_description)�self�kwargs� r# �O/usr/lib/python3.9/site-packages/oci/data_integration/models/projection_rule.py�__init__* s4 2��zProjectionRule.__init__c C sX | d }|dkrdS |dkr dS |dkr,dS |dkr8d S |d krDdS |dkrPd S dS dS )z� Given the hash representation of a subtype of this class, use the info in the hash to return the class of the subtype. r r Z RenameRuler ZTypeListRuler ZTypedNamePatternRuler ZNamePatternRuler ZGroupedNamePatternRuler ZNameListRuler Nr# )Zobject_dictionary�typer# r# r$ �get_subtypez s zProjectionRule.get_subtypec C s | j S )a� **[Required]** Gets the model_type of this ProjectionRule. The type of the project rule. Allowed values for this property are: "NAME_PATTERN_RULE", "TYPE_LIST_RULE", "NAME_LIST_RULE", "TYPED_NAME_PATTERN_RULE", "RENAME_RULE", "GROUPED_NAME_PATTERN_RULE", 'UNKNOWN_ENUM_VALUE'. Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'. :return: The model_type of this ProjectionRule. :rtype: str )r �r! r# r# r$ r � s zProjectionRule.model_typec C s g d�}t ||�sd}|| _dS )z� Sets the model_type of this ProjectionRule. The type of the project rule. :param model_type: The model_type of this ProjectionRule. :type: str )r r r r r r ZUNKNOWN_ENUM_VALUEN)r r )r! r Zallowed_valuesr# r# r$ r � s c C s | j S )z� Gets the key of this ProjectionRule. The key of the object. :return: The key of this ProjectionRule. :rtype: str �r r( r# r# r$ r � s zProjectionRule.keyc C s || _ dS )z� Sets the key of this ProjectionRule. The key of the object. :param key: The key of this ProjectionRule. :type: str Nr) )r! r r# r# r$ r � s c C s | j S )z� Gets the model_version of this ProjectionRule. The model version of an object. :return: The model_version of this ProjectionRule. :rtype: str �r r( r# r# r$ r � s zProjectionRule.model_versionc C s || _ dS )z� Sets the model_version of this ProjectionRule. The model version of an object. :param model_version: The model_version of this ProjectionRule. :type: str Nr* )r! r r# r# r$ r � s c C s | j S )z� Gets the parent_ref of this ProjectionRule. :return: The parent_ref of this ProjectionRule. :rtype: oci.data_integration.models.ParentReference �r r( r# r# r$ r � s zProjectionRule.parent_refc C s || _ dS )z� Sets the parent_ref of this ProjectionRule. :param parent_ref: The parent_ref of this ProjectionRule. :type: oci.data_integration.models.ParentReference Nr+ )r! r r# r# r$ r � s c C s | j S )z� Gets the is_java_regex_syntax of this ProjectionRule. Specifies whether the rule uses a java regex syntax. :return: The is_java_regex_syntax of this ProjectionRule. :rtype: bool �r r( r# r# r$ r � s z#ProjectionRule.is_java_regex_syntaxc C s || _ dS )z� Sets the is_java_regex_syntax of this ProjectionRule. Specifies whether the rule uses a java regex syntax. :param is_java_regex_syntax: The is_java_regex_syntax of this ProjectionRule. :type: bool Nr, )r! r r# r# r$ r s c C s | j S )z� Gets the config_values of this ProjectionRule. :return: The config_values of this ProjectionRule. :rtype: oci.data_integration.models.ConfigValues �r r( r# r# r$ r s zProjectionRule.config_valuesc C s || _ dS )z� Sets the config_values of this ProjectionRule. :param config_values: The config_values of this ProjectionRule. :type: oci.data_integration.models.ConfigValues Nr- )r! r r# r# r$ r s c C s | j S )a Gets the object_status of this ProjectionRule. The status of an object that can be set to value 1 for shallow references across objects, other values reserved. :return: The object_status of this ProjectionRule. :rtype: int �r r( r# r# r$ r $ s zProjectionRule.object_statusc C s || _ dS )a Sets the object_status of this ProjectionRule. The status of an object that can be set to value 1 for shallow references across objects, other values reserved. :param object_status: The object_status of this ProjectionRule. :type: int Nr. )r! r r# r# r$ r 0 s c C s | j S )z� Gets the description of this ProjectionRule. A user defined description for the object. :return: The description of this ProjectionRule. :rtype: str �r r( r# r# r$ r < s zProjectionRule.descriptionc C s || _ dS )z� Sets the description of this ProjectionRule. A user defined description for the object. :param description: The description of this ProjectionRule. :type: str Nr/ )r! r r# r# r$ r H s c C s t | �S �N)r r( r# r# r$ �__repr__T s zProjectionRule.__repr__c C s |d u rdS | j |j kS )NF)�__dict__�r! �otherr# r# r$ �__eq__W s zProjectionRule.__eq__c C s | |k S r0 r# r3 r# r# r$ �__ne__] s zProjectionRule.__ne__N)�__name__� __module__�__qualname__�__doc__ZMODEL_TYPE_NAME_PATTERN_RULEZMODEL_TYPE_TYPE_LIST_RULEZMODEL_TYPE_NAME_LIST_RULEZ"MODEL_TYPE_TYPED_NAME_PATTERN_RULEZMODEL_TYPE_RENAME_RULEZ$MODEL_TYPE_GROUPED_NAME_PATTERN_RULEr% �staticmethodr'