o
    ëÉ¶dl  ã                   @   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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 )ÚMetriczÙ
    The properties that define a metric.
    For information about metrics, see `Metrics Overview`__.

    __ https://docs.cloud.oracle.com/iaas/Content/Monitoring/Concepts/monitoringoverview.htm#MetricsOverview
    c                 K   sF   ddddddœ| _ ddddddœ| _d	| _d	| _d	| _d	| _d	| _d	S )
ai  
        Initializes a new Metric object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

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

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

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

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

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

        Ústrzdict(str, str))ÚnameÚ	namespaceÚresource_groupÚcompartment_idÚ
dimensionsr   r	   ZresourceGroupZcompartmentIdr   N)Zswagger_typesZattribute_mapÚ_nameÚ
_namespaceÚ_resource_groupÚ_compartment_idÚ_dimensions)ÚselfÚkwargs© r   ú@usr/lib/python3.10/site-packages/oci/monitoring/models/metric.pyÚ__init__   s"   û	û
zMetric.__init__c                 C   ó   | j S )z²
        Gets the name of this Metric.
        The name of the metric.

        Example: `CpuUtilization`


        :return: The name of this Metric.
        :rtype: str
        ©r   ©r   r   r   r   r   E   ó   zMetric.namec                 C   ó
   || _ dS )zµ
        Sets the name of this Metric.
        The name of the metric.

        Example: `CpuUtilization`


        :param name: The name of this Metric.
        :type: str
        Nr   )r   r   r   r   r   r   S   ó   
c                 C   r   )zÝ
        Gets the namespace of this Metric.
        The source service or application emitting the metric.

        Example: `oci_computeagent`


        :return: The namespace of this Metric.
        :rtype: str
        ©r   r   r   r   r   r	   a   r   zMetric.namespacec                 C   r   )zå
        Sets the namespace of this Metric.
        The source service or application emitting the metric.

        Example: `oci_computeagent`


        :param namespace: The namespace of this Metric.
        :type: str
        Nr   )r   r	   r   r   r   r	   o   r   c                 C   r   )a  
        Gets the resource_group of this Metric.
        Resource group provided with the posted metric. A resource group is a custom string that you can match when retrieving custom metrics. Only one resource group can be applied per metric.
        A valid resourceGroup value starts with an alphabetical character and includes only alphanumeric characters, periods (.), underscores (_), hyphens (-), and dollar signs ($).

        Example: `frontend-fleet`


        :return: The resource_group of this Metric.
        :rtype: str
        ©r   r   r   r   r   r
   }   ó   zMetric.resource_groupc                 C   r   )a+  
        Sets the resource_group of this Metric.
        Resource group provided with the posted metric. A resource group is a custom string that you can match when retrieving custom metrics. Only one resource group can be applied per metric.
        A valid resourceGroup value starts with an alphabetical character and includes only alphanumeric characters, periods (.), underscores (_), hyphens (-), and dollar signs ($).

        Example: `frontend-fleet`


        :param resource_group: The resource_group of this Metric.
        :type: str
        Nr   )r   r
   r   r   r   r
   Œ   ó   
c                 C   r   )a=  
        Gets the compartment_id of this Metric.
        The `OCID`__ of the compartment containing
        the resources monitored by the metric.

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


        :return: The compartment_id of this Metric.
        :rtype: str
        ©r   r   r   r   r   r   ›   r   zMetric.compartment_idc                 C   r   )aJ  
        Sets the compartment_id of this Metric.
        The `OCID`__ of the compartment containing
        the resources monitored by the metric.

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


        :param compartment_id: The compartment_id of this Metric.
        :type: str
        Nr!   )r   r   r   r   r   r   ª   r    c                 C   r   )as  
        Gets the dimensions of this Metric.
        Qualifiers provided in a metric definition. Available dimensions vary by metric namespace.
        Each dimension takes the form of a key-value pair.

        Example: `"resourceId": "ocid1.instance.region1.phx.exampleuniqueID"`


        :return: The dimensions of this Metric.
        :rtype: dict(str, str)
        ©r   r   r   r   r   r   ¹   r   zMetric.dimensionsc                 C   r   )a|  
        Sets the dimensions of this Metric.
        Qualifiers provided in a metric definition. Available dimensions vary by metric namespace.
        Each dimension takes the form of a key-value pair.

        Example: `"resourceId": "ocid1.instance.region1.phx.exampleuniqueID"`


        :param dimensions: The dimensions of this Metric.
        :type: dict(str, str)
        Nr"   )r   r   r   r   r   r   È   r    c                 C   s   t | ƒS ©N)r   r   r   r   r   Ú__repr__×   s   zMetric.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©r   Úotherr   r   r   Ú__eq__Ú   s   zMetric.__eq__c                 C   s
   | |k S r#   r   r&   r   r   r   Ú__ne__à   s   
zMetric.__ne__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr   Úsetterr	   r
   r   r   r$   r(   r)   r   r   r   r   r      s4    0









r   N)Zoci.utilr   r   r   Zoci.decoratorsr   Úobjectr   r   r   r   r   Ú<module>   s   