o
    ɶd.E                     @   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	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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	Dashboardz
    The base schema for a dashboard.
    Derived schemas have configurations and widgets specific to the  `schemaVersion`.
    V1CREATINGUPDATINGACTIVEDELETINGDELETEDFAILEDc                 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| _d| _d| _dS )aC
  
        Initializes a new Dashboard 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.dashboard_service.models.V1Dashboard`

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

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

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

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

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

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

        :param schema_version:
            The value to assign to the schema_version property of this Dashboard.
            Allowed values for this property are: "V1", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type schema_version: str

        :param time_created:
            The value to assign to the time_created property of this Dashboard.
        :type time_created: datetime

        :param time_updated:
            The value to assign to the time_updated property of this Dashboard.
        :type time_updated: datetime

        :param lifecycle_state:
            The value to assign to the lifecycle_state property of this Dashboard.
            Allowed values for this property are: "CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type lifecycle_state: str

        :param freeform_tags:
            The value to assign to the freeform_tags property of this Dashboard.
        :type freeform_tags: dict(str, str)

        :param defined_tags:
            The value to assign to the defined_tags property of this Dashboard.
        :type defined_tags: dict(str, dict(str, object))

        :param system_tags:
            The value to assign to the system_tags property of this Dashboard.
        :type system_tags: dict(str, dict(str, object))

        strdatetimezdict(str, str)zdict(str, dict(str, object)))iddashboard_group_iddisplay_namedescriptioncompartment_idschema_versiontime_createdtime_updatedlifecycle_statefreeform_tagsdefined_tagssystem_tagsr   ZdashboardGroupIdZdisplayNamer   ZcompartmentIdschemaVersionZtimeCreatedZtimeUpdatedZlifecycleStateZfreeformTagsZdefinedTagsZ
systemTagsN)Zswagger_typesZattribute_map_id_dashboard_group_id_display_name_description_compartment_id_schema_version_time_created_time_updated_lifecycle_state_freeform_tags_defined_tags_system_tags)selfkwargs r+   Jusr/lib/python3.10/site-packages/oci/dashboard_service/models/dashboard.py__init__/   sL   ?
zDashboard.__init__c                 C   s   | d }|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   r   ZV1Dashboardr   r+   )Zobject_dictionarytyper+   r+   r,   get_subtype   s   zDashboard.get_subtypec                 C      | j S )a  
        **[Required]** Gets the id of this Dashboard.
        The `OCID`__ of the dashboard resource.

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm


        :return: The id of this Dashboard.
        :rtype: str
        r   r)   r+   r+   r,   r         zDashboard.idc                 C   
   || _ dS )z
        Sets the id of this Dashboard.
        The `OCID`__ of the dashboard resource.

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm


        :param id: The id of this Dashboard.
        :type: str
        Nr1   )r)   r   r+   r+   r,   r         
c                 C   r0   )aC  
        **[Required]** Gets the dashboard_group_id of this Dashboard.
        The `OCID`__ of the dashboard group that the dashboard belongs to.

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm


        :return: The dashboard_group_id of this Dashboard.
        :rtype: str
        r   r2   r+   r+   r,   r      r3   zDashboard.dashboard_group_idc                 C   r4   )aE  
        Sets the dashboard_group_id of this Dashboard.
        The `OCID`__ of the dashboard group that the dashboard belongs to.

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm


        :param dashboard_group_id: The dashboard_group_id of this Dashboard.
        :type: str
        Nr6   )r)   r   r+   r+   r,   r      r5   c                 C   r0   )a  
        **[Required]** Gets the display_name of this Dashboard.
        A user-friendly name for the dashboard. Does not have to be unique, and it can be changed. Avoid entering confidential information.
        Leading and trailing spaces and the following special characters are not allowed: <>()=/'"&\


        :return: The display_name of this Dashboard.
        :rtype: str
        r   r2   r+   r+   r,   r         zDashboard.display_namec                 C   r4   )a  
        Sets the display_name of this Dashboard.
        A user-friendly name for the dashboard. Does not have to be unique, and it can be changed. Avoid entering confidential information.
        Leading and trailing spaces and the following special characters are not allowed: <>()=/'"&\


        :param display_name: The display_name of this Dashboard.
        :type: str
        Nr7   )r)   r   r+   r+   r,   r         
c                 C   r0   )aA  
        **[Required]** Gets the description of this Dashboard.
        A short description of the dashboard. It can be changed. Avoid entering confidential information.
        The following special characters are not allowed: <>()=/'"&\


        :return: The description of this Dashboard.
        :rtype: str
        r    r2   r+   r+   r,   r      r8   zDashboard.descriptionc                 C   r4   )a<  
        Sets the description of this Dashboard.
        A short description of the dashboard. It can be changed. Avoid entering confidential information.
        The following special characters are not allowed: <>()=/'"&\


        :param description: The description of this Dashboard.
        :type: str
        Nr:   )r)   r   r+   r+   r,   r     r9   c                 C   r0   )ax  
        **[Required]** Gets the compartment_id of this Dashboard.
        The `OCID`__ of the compartment containing the dashboard. A dashboard is always in the same compartment as its dashboard group.

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm


        :return: The compartment_id of this Dashboard.
        :rtype: str
        r!   r2   r+   r+   r,   r     r3   zDashboard.compartment_idc                 C   r4   )av  
        Sets the compartment_id of this Dashboard.
        The `OCID`__ of the compartment containing the dashboard. A dashboard is always in the same compartment as its dashboard group.

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm


        :param compartment_id: The compartment_id of this Dashboard.
        :type: str
        Nr;   )r)   r   r+   r+   r,   r     r5   c                 C   r0   )a  
        **[Required]** Gets the schema_version of this Dashboard.
        The schema describing how to interpret the dashboard configuration and widgets.

        Allowed values for this property are: "V1", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The schema_version of this Dashboard.
        :rtype: str
        )r"   r2   r+   r+   r,   r   -     zDashboard.schema_versionc                 C   s   dg}t ||s
d}|| _dS )z
        Sets the schema_version of this Dashboard.
        The schema describing how to interpret the dashboard configuration and widgets.


        :param schema_version: The schema_version of this Dashboard.
        :type: str
        r   UNKNOWN_ENUM_VALUEN)r   r"   )r)   r   allowed_valuesr+   r+   r,   r   <  s   


c                 C   r0   )aR  
        **[Required]** Gets the time_created of this Dashboard.
        The date and time the dashboard was created, in the format defined by `RFC3339`__.

         Example: `2016-08-25T21:10:29.600Z`

        __ https://tools.ietf.org/html/rfc3339


        :return: The time_created of this Dashboard.
        :rtype: datetime
        r#   r2   r+   r+   r,   r   K     zDashboard.time_createdc                 C   r4   )aN  
        Sets the time_created of this Dashboard.
        The date and time the dashboard was created, in the format defined by `RFC3339`__.

         Example: `2016-08-25T21:10:29.600Z`

        __ https://tools.ietf.org/html/rfc3339


        :param time_created: The time_created of this Dashboard.
        :type: datetime
        Nr?   )r)   r   r+   r+   r,   r   [     
c                 C   r0   )aQ  
        **[Required]** Gets the time_updated of this Dashboard.
        The date and time the dashboard was updated, in the format defined by `RFC3339`__.

        Example: `2016-08-25T21:10:29.600Z`

        __ https://tools.ietf.org/html/rfc3339


        :return: The time_updated of this Dashboard.
        :rtype: datetime
        r$   r2   r+   r+   r,   r   k  r@   zDashboard.time_updatedc                 C   r4   )aM  
        Sets the time_updated of this Dashboard.
        The date and time the dashboard was updated, in the format defined by `RFC3339`__.

        Example: `2016-08-25T21:10:29.600Z`

        __ https://tools.ietf.org/html/rfc3339


        :param time_updated: The time_updated of this Dashboard.
        :type: datetime
        NrB   )r)   r   r+   r+   r,   r   {  rA   c                 C   r0   )a  
        **[Required]** Gets the lifecycle_state of this Dashboard.
        The current state of the dashboard.

        Allowed values for this property are: "CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The lifecycle_state of this Dashboard.
        :rtype: str
        )r%   r2   r+   r+   r,   r     r<   zDashboard.lifecycle_statec                 C   s    g d}t ||sd}|| _dS )z
        Sets the lifecycle_state of this Dashboard.
        The current state of the dashboard.


        :param lifecycle_state: The lifecycle_state of this Dashboard.
        :type: str
        )r   r	   r
   r   r   r   r=   N)r   r%   )r)   r   r>   r+   r+   r,   r     s   


c                 C   r0   )aH  
        **[Required]** Gets the freeform_tags of this Dashboard.
        Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
        Example: `{"bar-key": "value"}`


        :return: The freeform_tags of this Dashboard.
        :rtype: dict(str, str)
        r&   r2   r+   r+   r,   r     r8   zDashboard.freeform_tagsc                 C   r4   )aE  
        Sets the freeform_tags of this Dashboard.
        Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
        Example: `{"bar-key": "value"}`


        :param freeform_tags: The freeform_tags of this Dashboard.
        :type: dict(str, str)
        NrC   )r)   r   r+   r+   r,   r     r9   c                 C   r0   )aB  
        **[Required]** Gets the defined_tags of this Dashboard.
        Defined tags for this resource. Each key is predefined and scoped to a namespace.
        Example: `{"foo-namespace": {"bar-key": "value"}}`


        :return: The defined_tags of this Dashboard.
        :rtype: dict(str, dict(str, object))
        r'   r2   r+   r+   r,   r     r8   zDashboard.defined_tagsc                 C   r4   )a>  
        Sets the defined_tags of this Dashboard.
        Defined tags for this resource. Each key is predefined and scoped to a namespace.
        Example: `{"foo-namespace": {"bar-key": "value"}}`


        :param defined_tags: The defined_tags of this Dashboard.
        :type: dict(str, dict(str, object))
        NrD   )r)   r   r+   r+   r,   r     r9   c                 C   r0   )a0  
        Gets the system_tags of this Dashboard.
        Usage of system tag keys. These predefined keys are scoped to namespaces.
        Example: `{"orcl-cloud": {"free-tier-retained": "true"}}`


        :return: The system_tags of this Dashboard.
        :rtype: dict(str, dict(str, object))
        r(   r2   r+   r+   r,   r     r8   zDashboard.system_tagsc                 C   r4   )a:  
        Sets the system_tags of this Dashboard.
        Usage of system tag keys. These predefined keys are scoped to namespaces.
        Example: `{"orcl-cloud": {"free-tier-retained": "true"}}`


        :param system_tags: The system_tags of this Dashboard.
        :type: dict(str, dict(str, object))
        NrE   )r)   r   r+   r+   r,   r     r9   c                 C   s   t | S N)r   r2   r+   r+   r,   __repr__  s   zDashboard.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r)   otherr+   r+   r,   __eq__  s   zDashboard.__eq__c                 C   s
   | |k S rF   r+   rI   r+   r+   r,   __ne__   s   
zDashboard.__ne__N)__name__
__module____qualname____doc__ZSCHEMA_VERSION_V1ZLIFECYCLE_STATE_CREATINGZLIFECYCLE_STATE_UPDATINGZLIFECYCLE_STATE_ACTIVEZLIFECYCLE_STATE_DELETINGZLIFECYCLE_STATE_DELETEDZLIFECYCLE_STATE_FAILEDr-   staticmethodr/   propertyr   setterr   r   r   r   r   r   r   r   r   r   r   rG   rK   rL   r+   r+   r+   r,   r      s~    i
























r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r+   r+   r+   r,   <module>   s   