o
    ɶd                     @   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d Ze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dd Zdd Zdd ZdS )Itemz(
    Details about the item object.
    c                 K   sP   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 Item 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.cims.models.LimitItem`
        * :class:`~oci.cims.models.TechSupportItem`
        * :class:`~oci.cims.models.ActivityItem`

        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param item_key:
            The value to assign to the item_key property of this Item.
        :type item_key: str

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

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

        :param category:
            The value to assign to the category property of this Item.
        :type category: oci.cims.models.Category

        :param sub_category:
            The value to assign to the sub_category property of this Item.
        :type sub_category: oci.cims.models.SubCategory

        :param issue_type:
            The value to assign to the issue_type property of this Item.
        :type issue_type: oci.cims.models.IssueType

        strZCategoryZSubCategoryZ	IssueType)item_keynametypecategorysub_category
issue_typeZitemKeyr	   r
   r   ZsubCategoryZ	issueTypeN)Zswagger_typesZattribute_map	_item_key_name_type	_category_sub_category_issue_type)selfkwargs r   8usr/lib/python3.10/site-packages/oci/cims/models/item.py__init__   s(   %
	
zItem.__init__c                 C   s0   | d }|dkr
dS |dkrdS |dkrdS dS )	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
   limitZ	LimitItemZtechZTechSupportItemZactivityZActivityItemr   r   )Zobject_dictionaryr
   r   r   r   get_subtypeO   s   zItem.get_subtypec                 C      | j S )z
        **[Required]** Gets the item_key of this Item.
        Unique identifier for the item.


        :return: The item_key of this Item.
        :rtype: str
        r   r   r   r   r   r   b      
zItem.item_keyc                 C   
   || _ dS )z
        Sets the item_key of this Item.
        Unique identifier for the item.


        :param item_key: The item_key of this Item.
        :type: str
        Nr   )r   r   r   r   r   r   n      

c                 C   r   )z
        Gets the name of this Item.
        The display name of the item.


        :return: The name of this Item.
        :rtype: str
        r   r   r   r   r   r	   z   r   z	Item.namec                 C   r   )z
        Sets the name of this Item.
        The display name of the item.


        :param name: The name of this Item.
        :type: str
        Nr!   )r   r	   r   r   r   r	      r    c                 C   r   )z
        Gets the type of this Item.
        The type of the support request.


        :return: The type of this Item.
        :rtype: str
        r   r   r   r   r   r
      r   z	Item.typec                 C   r   )z
        Sets the type of this Item.
        The type of the support request.


        :param type: The type of this Item.
        :type: str
        Nr"   )r   r
   r   r   r   r
      r    c                 C   r   )z
        Gets the category of this Item.

        :return: The category of this Item.
        :rtype: oci.cims.models.Category
        r   r   r   r   r   r         zItem.categoryc                 C   r   )z
        Sets the category of this Item.

        :param category: The category of this Item.
        :type: oci.cims.models.Category
        Nr#   )r   r   r   r   r   r         
c                 C   r   )z
        Gets the sub_category of this Item.

        :return: The sub_category of this Item.
        :rtype: oci.cims.models.SubCategory
        r   r   r   r   r   r      r$   zItem.sub_categoryc                 C   r   )z
        Sets the sub_category of this Item.

        :param sub_category: The sub_category of this Item.
        :type: oci.cims.models.SubCategory
        Nr&   )r   r   r   r   r   r      r%   c                 C   r   )z
        Gets the issue_type of this Item.

        :return: The issue_type of this Item.
        :rtype: oci.cims.models.IssueType
        r   r   r   r   r   r      r$   zItem.issue_typec                 C   r   )z
        Sets the issue_type of this Item.

        :param issue_type: The issue_type of this Item.
        :type: oci.cims.models.IssueType
        Nr'   )r   r   r   r   r   r      r%   c                 C   s   t | S N)r   r   r   r   r   __repr__   s   zItem.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r   otherr   r   r   __eq__   s   zItem.__eq__c                 C   s
   | |k S r(   r   r+   r   r   r   __ne__   s   
zItem.__ne__N)__name__
__module____qualname____doc__r   staticmethodr   propertyr   setterr	   r
   r   r   r   r)   r-   r.   r   r   r   r   r      s@    =







	
	
	
	
	
	r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r   r   r   r   <module>   s   