o
    ëÉ¶d$!  ã                   @   sD   d dl mZ ddlmZmZmZ ddlmZ eG dd„ deƒƒZdS )é   )ÚOperatoré    )Úformatted_flat_dictÚNONE_SENTINELÚ#value_allowed_none_or_none_sentinel)Úinit_model_state_from_kwargsc                   @   s~   e 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	dd„ Z
dd„ Zdd„ ZdS )ÚPivotz¤
    Pivot operator has one input and one output. Pivot operator takes group by columns, a pivot key with values and aggregations. Output is the pivoted table.
    c                 K   s6  i 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“| _ i 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&| _d&| _d&| _d&| _d&| _	d&| _
d&| _d&| _d&| _d&| _d&| _d&| _d&| _d'| _d&S )(a<  
        Initializes a new Pivot object with values from keyword arguments. The default value of the :py:attr:`~oci.data_integration.models.Pivot.model_type` attribute
        of this class is ``PIVOT_OPERATOR`` and it should not be changed.
        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 Pivot.
            Allowed values for this property are: "SOURCE_OPERATOR", "FILTER_OPERATOR", "JOINER_OPERATOR", "AGGREGATOR_OPERATOR", "PROJECTION_OPERATOR", "TARGET_OPERATOR", "FLATTEN_OPERATOR", "DISTINCT_OPERATOR", "SORT_OPERATOR", "UNION_OPERATOR", "INTERSECT_OPERATOR", "MINUS_OPERATOR", "MERGE_OPERATOR", "FUNCTION_OPERATOR", "SPLIT_OPERATOR", "START_OPERATOR", "END_OPERATOR", "PIPELINE_OPERATOR", "DECISION_OPERATOR", "TASK_OPERATOR", "EXPRESSION_OPERATOR", "LOOKUP_OPERATOR", "PIVOT_OPERATOR"
        :type model_type: str

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

        :param model_version:
            The value to assign to the model_version property of this Pivot.
        :type model_version: str

        :param parent_ref:
            The value to assign to the parent_ref property of this Pivot.
        :type parent_ref: oci.data_integration.models.ParentReference

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

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

        :param object_version:
            The value to assign to the object_version property of this Pivot.
        :type object_version: int

        :param input_ports:
            The value to assign to the input_ports property of this Pivot.
        :type input_ports: list[oci.data_integration.models.InputPort]

        :param output_ports:
            The value to assign to the output_ports property of this Pivot.
        :type output_ports: list[oci.data_integration.models.TypedObject]

        :param object_status:
            The value to assign to the object_status property of this Pivot.
        :type object_status: int

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

        :param parameters:
            The value to assign to the parameters property of this Pivot.
        :type parameters: list[oci.data_integration.models.Parameter]

        :param op_config_values:
            The value to assign to the op_config_values property of this Pivot.
        :type op_config_values: oci.data_integration.models.ConfigValues

        :param group_by_columns:
            The value to assign to the group_by_columns property of this Pivot.
        :type group_by_columns: oci.data_integration.models.DynamicProxyField

        :param materialized_group_by_columns:
            The value to assign to the materialized_group_by_columns property of this Pivot.
        :type materialized_group_by_columns: oci.data_integration.models.MaterializedDynamicField

        :param pivot_keys:
            The value to assign to the pivot_keys property of this Pivot.
        :type pivot_keys: oci.data_integration.models.PivotKeys

        Z
model_typeÚstrÚkeyZmodel_versionZ
parent_refZParentReferenceÚnameÚdescriptionZobject_versionÚintZinput_portszlist[InputPort]Zoutput_portszlist[TypedObject]Zobject_statusÚ
identifierÚ
parameterszlist[Parameter]Zop_config_valuesZConfigValuesÚgroup_by_columnsZDynamicProxyFieldÚmaterialized_group_by_columnsZMaterializedDynamicFieldÚ
pivot_keysZ	PivotKeysZ	modelTypeZmodelVersionZ	parentRefZobjectVersionZ
inputPortsZoutputPortsZobjectStatusZopConfigValuesZgroupByColumnsZmaterializedGroupByColumnsZ	pivotKeysNZPIVOT_OPERATOR)Zswagger_typesZattribute_mapZ_model_typeÚ_keyZ_model_versionZ_parent_refÚ_nameZ_descriptionZ_object_versionZ_input_portsZ_output_portsZ_object_statusZ_identifierÚ_parametersZ_op_config_valuesÚ_group_by_columnsÚ_materialized_group_by_columnsÚ_pivot_keys)ÚselfÚkwargs© r   úEusr/lib/python3.10/site-packages/oci/data_integration/models/pivot.pyÚ__init__   s¦   Hÿþýüûúùø	÷
öõôóòñðÿþýüûúùø	÷
öõôóòñð
zPivot.__init__c                 C   ó   | j S )z®
        Gets the group_by_columns of this Pivot.

        :return: The group_by_columns of this Pivot.
        :rtype: oci.data_integration.models.DynamicProxyField
        ©r   ©r   r   r   r   r   ’   ó   zPivot.group_by_columnsc                 C   ó
   || _ dS )z½
        Sets the group_by_columns of this Pivot.

        :param group_by_columns: The group_by_columns of this Pivot.
        :type: oci.data_integration.models.DynamicProxyField
        Nr   )r   r   r   r   r   r   œ   ó   
c                 C   r   )zÏ
        Gets the materialized_group_by_columns of this Pivot.

        :return: The materialized_group_by_columns of this Pivot.
        :rtype: oci.data_integration.models.MaterializedDynamicField
        ©r   r    r   r   r   r   ¦   r!   z#Pivot.materialized_group_by_columnsc                 C   r"   )zë
        Sets the materialized_group_by_columns of this Pivot.

        :param materialized_group_by_columns: The materialized_group_by_columns of this Pivot.
        :type: oci.data_integration.models.MaterializedDynamicField
        Nr$   )r   r   r   r   r   r   °   r#   c                 C   r   )zš
        Gets the pivot_keys of this Pivot.

        :return: The pivot_keys of this Pivot.
        :rtype: oci.data_integration.models.PivotKeys
        ©r   r    r   r   r   r   º   r!   zPivot.pivot_keysc                 C   r"   )z£
        Sets the pivot_keys of this Pivot.

        :param pivot_keys: The pivot_keys of this Pivot.
        :type: oci.data_integration.models.PivotKeys
        Nr%   )r   r   r   r   r   r   Ä   r#   c                 C   s   t | ƒS ©N)r   r    r   r   r   Ú__repr__Î   s   zPivot.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©r   Úotherr   r   r   Ú__eq__Ñ   s   zPivot.__eq__c                 C   s
   | |k S r&   r   r)   r   r   r   Ú__ne__×   s   
zPivot.__ne__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr   Úsetterr   r   r'   r+   r,   r   r   r   r   r      s&     
	
	
	
	
	
	r   N)	Úoperatorr   Zoci.utilr   r   r   Zoci.decoratorsr   r   r   r   r   r   Ú<module>   s
   