o
    ɶd7                     @   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                   @   sp  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d Zedd Zejdd Zedd Zejdd Zedd Zejdd Zedd Zejdd Zedd  Zejd!d  Zed"d# Zejd$d# Zed%d& Zejd'd& Zed(d) Zejd*d) Zed+d, Zejd-d, Zed.d/ Zejd0d/ Zd1d2 Z d3d4 Z!d5d6 Z"d7S )8	ReferencezC
    Reference contains application configuration information.
    ORACLE_DATA_ASSET ORACLE_OBJECT_STORAGE_DATA_ASSETORACLE_ATP_DATA_ASSETORACLE_ADWC_DATA_ASSETMYSQL_DATA_ASSETGENERIC_JDBC_DATA_ASSETFUSION_APP_DATA_ASSETAMAZON_S3_DATA_ASSETSCHEMAINTEGRATION_TASKDATA_LOADER_TASKSQL_TASKOCI_DATAFLOW_TASKPIPELINE_TASK	REST_TASKc                 K   sx   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 )aT  
        Initializes a new Reference object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param key:
            The value to assign to the key property of this Reference.
        :type key: str

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

        :param identifier:
            The value to assign to the identifier property of this Reference.
        :type identifier: str

        :param identifier_path:
            The value to assign to the identifier_path property of this Reference.
        :type identifier_path: str

        :param description:
            The value to assign to the description property of this Reference.
        :type description: str

        :param type:
            The value to assign to the type property of this Reference.
            Allowed values for this property are: "ORACLE_DATA_ASSET", "ORACLE_OBJECT_STORAGE_DATA_ASSET", "ORACLE_ATP_DATA_ASSET", "ORACLE_ADWC_DATA_ASSET", "MYSQL_DATA_ASSET", "GENERIC_JDBC_DATA_ASSET", "FUSION_APP_DATA_ASSET", "AMAZON_S3_DATA_ASSET", "SCHEMA", "INTEGRATION_TASK", "DATA_LOADER_TASK", "SQL_TASK", "OCI_DATAFLOW_TASK", "PIPELINE_TASK", "REST_TASK", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type type: str

        :param target_object:
            The value to assign to the target_object property of this Reference.
        :type target_object: object

        :param application_key:
            The value to assign to the application_key property of this Reference.
        :type application_key: str

        :param used_by:
            The value to assign to the used_by property of this Reference.
        :type used_by: list[oci.data_integration.models.ReferenceUsedBy]

        :param child_references:
            The value to assign to the child_references property of this Reference.
        :type child_references: list[oci.data_integration.models.ChildReference]

        strobjectzlist[ReferenceUsedBy]zlist[ChildReference])
keyname
identifieridentifier_pathdescriptiontypetarget_objectapplication_keyused_bychild_referencesr   r   r   ZidentifierPathr   r   ZtargetObjectZapplicationKeyZusedByZchildReferencesN)Zswagger_typesZattribute_map_key_name_identifier_identifier_path_description_type_target_object_application_key_used_by_child_references)selfkwargs r.   Iusr/lib/python3.10/site-packages/oci/data_integration/models/reference.py__init__N   s@   1
zReference.__init__c                 C      | j S )z
        Gets the key of this Reference.
        The reference's key, key of the object that is being used by a published object or its dependents.


        :return: The key of this Reference.
        :rtype: str
        r"   r,   r.   r.   r/   r         
zReference.keyc                 C   
   || _ dS )z
        Sets the key of this Reference.
        The reference's key, key of the object that is being used by a published object or its dependents.


        :param key: The key of this Reference.
        :type: str
        Nr2   )r,   r   r.   r.   r/   r         

c                 C   r1   )z
        Gets the name of this Reference.
        The name of reference object.


        :return: The name of this Reference.
        :rtype: str
        r#   r3   r.   r.   r/   r      r4   zReference.namec                 C   r5   )z
        Sets the name of this Reference.
        The name of reference object.


        :param name: The name of this Reference.
        :type: str
        Nr7   )r,   r   r.   r.   r/   r      r6   c                 C   r1   )z
        Gets the identifier of this Reference.
        The identifier of reference object.


        :return: The identifier of this Reference.
        :rtype: str
        r$   r3   r.   r.   r/   r      r4   zReference.identifierc                 C   r5   )z
        Sets the identifier of this Reference.
        The identifier of reference object.


        :param identifier: The identifier of this Reference.
        :type: str
        Nr8   )r,   r   r.   r.   r/   r      r6   c                 C   r1   )z
        Gets the identifier_path of this Reference.
        The identifier path of reference object.


        :return: The identifier_path of this Reference.
        :rtype: str
        r%   r3   r.   r.   r/   r      r4   zReference.identifier_pathc                 C   r5   )z
        Sets the identifier_path of this Reference.
        The identifier path of reference object.


        :param identifier_path: The identifier_path of this Reference.
        :type: str
        Nr9   )r,   r   r.   r.   r/   r      r6   c                 C   r1   )z
        Gets the description of this Reference.
        The description of reference object.


        :return: The description of this Reference.
        :rtype: str
        r&   r3   r.   r.   r/   r     r4   zReference.descriptionc                 C   r5   )z
        Sets the description of this Reference.
        The description of reference object.


        :param description: The description of this Reference.
        :type: str
        Nr:   )r,   r   r.   r.   r/   r     r6   c                 C   r1   )a{  
        Gets the type of this Reference.
        The type of reference object.

        Allowed values for this property are: "ORACLE_DATA_ASSET", "ORACLE_OBJECT_STORAGE_DATA_ASSET", "ORACLE_ATP_DATA_ASSET", "ORACLE_ADWC_DATA_ASSET", "MYSQL_DATA_ASSET", "GENERIC_JDBC_DATA_ASSET", "FUSION_APP_DATA_ASSET", "AMAZON_S3_DATA_ASSET", "SCHEMA", "INTEGRATION_TASK", "DATA_LOADER_TASK", "SQL_TASK", "OCI_DATAFLOW_TASK", "PIPELINE_TASK", "REST_TASK", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The type of this Reference.
        :rtype: str
        )r'   r3   r.   r.   r/   r     s   zReference.typec                 C   s    g d}t ||sd}|| _dS )z
        Sets the type of this Reference.
        The type of reference object.


        :param type: The type of this Reference.
        :type: str
        )r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   ZUNKNOWN_ENUM_VALUEN)r   r'   )r,   r   Zallowed_valuesr.   r.   r/   r   *  s   


c                 C   r1   )a  
        Gets the target_object of this Reference.
        The new reference object to use instead of the original reference. For example, this can be a data asset reference.


        :return: The target_object of this Reference.
        :rtype: object
        r(   r3   r.   r.   r/   r   9  r4   zReference.target_objectc                 C   r5   )a  
        Sets the target_object of this Reference.
        The new reference object to use instead of the original reference. For example, this can be a data asset reference.


        :param target_object: The target_object of this Reference.
        :type: object
        Nr;   )r,   r   r.   r.   r/   r   E  r6   c                 C   r1   )z
        Gets the application_key of this Reference.
        The application key of the reference object.


        :return: The application_key of this Reference.
        :rtype: str
        r)   r3   r.   r.   r/   r   Q  r4   zReference.application_keyc                 C   r5   )z
        Sets the application_key of this Reference.
        The application key of the reference object.


        :param application_key: The application_key of this Reference.
        :type: str
        Nr<   )r,   r   r.   r.   r/   r   ]  r6   c                 C   r1   )z
        Gets the used_by of this Reference.
        List of published objects where this is used.


        :return: The used_by of this Reference.
        :rtype: list[oci.data_integration.models.ReferenceUsedBy]
        r*   r3   r.   r.   r/   r    i  r4   zReference.used_byc                 C   r5   )z
        Sets the used_by of this Reference.
        List of published objects where this is used.


        :param used_by: The used_by of this Reference.
        :type: list[oci.data_integration.models.ReferenceUsedBy]
        Nr=   )r,   r    r.   r.   r/   r    u  r6   c                 C   r1   )z
        Gets the child_references of this Reference.
        List of references that are dependent on this reference.


        :return: The child_references of this Reference.
        :rtype: list[oci.data_integration.models.ChildReference]
        r+   r3   r.   r.   r/   r!     r4   zReference.child_referencesc                 C   r5   )a
  
        Sets the child_references of this Reference.
        List of references that are dependent on this reference.


        :param child_references: The child_references of this Reference.
        :type: list[oci.data_integration.models.ChildReference]
        Nr>   )r,   r!   r.   r.   r/   r!     r6   c                 C   s   t | S N)r   r3   r.   r.   r/   __repr__  s   zReference.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r,   otherr.   r.   r/   __eq__  s   zReference.__eq__c                 C   s
   | |k S r?   r.   rB   r.   r.   r/   __ne__  s   
zReference.__ne__N)#__name__
__module____qualname____doc__ZTYPE_ORACLE_DATA_ASSETZ%TYPE_ORACLE_OBJECT_STORAGE_DATA_ASSETZTYPE_ORACLE_ATP_DATA_ASSETZTYPE_ORACLE_ADWC_DATA_ASSETZTYPE_MYSQL_DATA_ASSETZTYPE_GENERIC_JDBC_DATA_ASSETZTYPE_FUSION_APP_DATA_ASSETZTYPE_AMAZON_S3_DATA_ASSETZTYPE_SCHEMAZTYPE_INTEGRATION_TASKZTYPE_DATA_LOADER_TASKZTYPE_SQL_TASKZTYPE_OCI_DATAFLOW_TASKZTYPE_PIPELINE_TASKZTYPE_REST_TASKr0   propertyr   setterr   r   r   r   r   r   r   r    r!   r@   rD   rE   r.   r.   r.   r/   r      sz    U



















r   N)Zoci.utilr   r   r   Zoci.decoratorsr   r   r   r.   r.   r.   r/   <module>   s   