o
    ëÉ¶d6  ã                   @   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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dd „ Zd!d"„ Zd#d$„ Zd%S )&Ú	AddresseszÏ
    A physical mailing address for this User, as described in (address Element). Canonical Type Values of work, home, and other. The value attribute is a complex type with the following sub-attributes.
    ÚworkÚhomeÚotherc              	   K   sd   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 Addresses object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

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

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

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

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

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

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

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

        :param primary:
            The value to assign to the primary property of this Addresses.
        :type primary: bool

        ÚstrÚbool)Ú	formattedÚstreet_addressÚlocalityÚregionÚpostal_codeÚcountryÚtypeÚprimaryr   ZstreetAddressr   r   Z
postalCoder   r   r   N)
Zswagger_typesZattribute_mapÚ
_formattedÚ_street_addressÚ	_localityÚ_regionÚ_postal_codeÚ_countryÚ_typeÚ_primary)ÚselfÚkwargs© r   úIusr/lib/python3.10/site-packages/oci/identity_domains/models/addresses.pyÚ__init__   s4   )øø
zAddresses.__init__c                 C   ó   | j S )a   
        Gets the formatted of this Addresses.
        The full mailing address, formatted for display or use with a mailing label. This attribute MAY contain newlines.

        **SCIM++ Properties:**
         - caseExact: false
         - idcsSearchable: true
         - multiValued: false
         - mutability: readWrite
         - required: false
         - returned: default
         - type: string
         - uniqueness: none


        :return: The formatted of this Addresses.
        :rtype: str
        ©r   ©r   r   r   r   r   e   ó   zAddresses.formattedc                 C   ó
   || _ dS )a  
        Sets the formatted of this Addresses.
        The full mailing address, formatted for display or use with a mailing label. This attribute MAY contain newlines.

        **SCIM++ Properties:**
         - caseExact: false
         - idcsSearchable: true
         - multiValued: false
         - mutability: readWrite
         - required: false
         - returned: default
         - type: string
         - uniqueness: none


        :param formatted: The formatted of this Addresses.
        :type: str
        Nr"   )r   r   r   r   r   r   {   ó   
c                 C   r!   )aI  
        Gets the street_address of this Addresses.
        The full street address component, which may include house number, street name, PO BOX, and multi-line extended street address information. This attribute MAY contain newlines.

        **SCIM++ Properties:**
         - caseExact: false
         - idcsSearchable: true
         - multiValued: false
         - mutability: readWrite
         - required: false
         - returned: default
         - type: string
         - uniqueness: none


        :return: The street_address of this Addresses.
        :rtype: str
        ©r   r#   r   r   r   r   ‘   r$   zAddresses.street_addressc                 C   r%   )aV  
        Sets the street_address of this Addresses.
        The full street address component, which may include house number, street name, PO BOX, and multi-line extended street address information. This attribute MAY contain newlines.

        **SCIM++ Properties:**
         - caseExact: false
         - idcsSearchable: true
         - multiValued: false
         - mutability: readWrite
         - required: false
         - returned: default
         - type: string
         - uniqueness: none


        :param street_address: The street_address of this Addresses.
        :type: str
        Nr'   )r   r   r   r   r   r   §   r&   c                 C   r!   )a¬  
        Gets the locality of this Addresses.
        The city or locality component.

        **SCIM++ Properties:**
         - caseExact: false
         - idcsSearchable: true
         - multiValued: false
         - mutability: readWrite
         - required: false
         - returned: default
         - type: string
         - uniqueness: none


        :return: The locality of this Addresses.
        :rtype: str
        ©r   r#   r   r   r   r   ½   r$   zAddresses.localityc                 C   r%   )a³  
        Sets the locality of this Addresses.
        The city or locality component.

        **SCIM++ Properties:**
         - caseExact: false
         - idcsSearchable: true
         - multiValued: false
         - mutability: readWrite
         - required: false
         - returned: default
         - type: string
         - uniqueness: none


        :param locality: The locality of this Addresses.
        :type: str
        Nr(   )r   r   r   r   r   r   Ó   r&   c                 C   r!   )a§  
        Gets the region of this Addresses.
        The state or region component.

        **SCIM++ Properties:**
         - caseExact: false
         - idcsSearchable: true
         - multiValued: false
         - mutability: readWrite
         - required: false
         - returned: default
         - type: string
         - uniqueness: none


        :return: The region of this Addresses.
        :rtype: str
        ©r   r#   r   r   r   r   é   r$   zAddresses.regionc                 C   r%   )a¬  
        Sets the region of this Addresses.
        The state or region component.

        **SCIM++ Properties:**
         - caseExact: false
         - idcsSearchable: true
         - multiValued: false
         - mutability: readWrite
         - required: false
         - returned: default
         - type: string
         - uniqueness: none


        :param region: The region of this Addresses.
        :type: str
        Nr)   )r   r   r   r   r   r   ÿ   r&   c                 C   r!   )a¸  
        Gets the postal_code of this Addresses.
        The zipcode or postal code component.

        **SCIM++ Properties:**
         - caseExact: false
         - idcsSearchable: true
         - multiValued: false
         - mutability: readWrite
         - required: false
         - returned: default
         - type: string
         - uniqueness: none


        :return: The postal_code of this Addresses.
        :rtype: str
        ©r   r#   r   r   r   r     r$   zAddresses.postal_codec                 C   r%   )aÂ  
        Sets the postal_code of this Addresses.
        The zipcode or postal code component.

        **SCIM++ Properties:**
         - caseExact: false
         - idcsSearchable: true
         - multiValued: false
         - mutability: readWrite
         - required: false
         - returned: default
         - type: string
         - uniqueness: none


        :param postal_code: The postal_code of this Addresses.
        :type: str
        Nr*   )r   r   r   r   r   r   +  r&   c                 C   r!   )aS  
        Gets the country of this Addresses.
        The country name component.

        **SCIM++ Properties:**
         - caseExact: false
         - idcsCanonicalValueSourceFilter: attrName eq "countries" and attrValues.value eq "upper($(country))"
         - idcsCanonicalValueSourceResourceType: AllowedValue
         - idcsSearchable: true
         - multiValued: false
         - mutability: readWrite
         - required: false
         - returned: default
         - type: string
         - uniqueness: none


        :return: The country of this Addresses.
        :rtype: str
        ©r   r#   r   r   r   r   A  s   zAddresses.countryc                 C   r%   )aY  
        Sets the country of this Addresses.
        The country name component.

        **SCIM++ Properties:**
         - caseExact: false
         - idcsCanonicalValueSourceFilter: attrName eq "countries" and attrValues.value eq "upper($(country))"
         - idcsCanonicalValueSourceResourceType: AllowedValue
         - idcsSearchable: true
         - multiValued: false
         - mutability: readWrite
         - required: false
         - returned: default
         - type: string
         - uniqueness: none


        :param country: The country of this Addresses.
        :type: str
        Nr+   )r   r   r   r   r   r   Y  s   
c                 C   r!   )a“  
        **[Required]** Gets the type of this Addresses.
        A label indicating the attribute's function; e.g., 'work' or 'home'.

        **SCIM++ Properties:**
         - caseExact: false
         - idcsSearchable: true
         - multiValued: false
         - mutability: readWrite
         - required: true
         - returned: default
         - type: string
         - uniqueness: none

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


        :return: The type of this Addresses.
        :rtype: str
        )r   r#   r   r   r   r   q  s   zAddresses.typec                 C   s    g d¢}t ||ƒsd}|| _dS )aË  
        Sets the type of this Addresses.
        A label indicating the attribute's function; e.g., 'work' or 'home'.

        **SCIM++ Properties:**
         - caseExact: false
         - idcsSearchable: true
         - multiValued: false
         - mutability: readWrite
         - required: true
         - returned: default
         - type: string
         - uniqueness: none


        :param type: The type of this Addresses.
        :type: str
        )r   r   r	   ZUNKNOWN_ENUM_VALUEN)r   r   )r   r   Zallowed_valuesr   r   r   r   Š  s   

c                 C   r!   )a(  
        Gets the primary of this Addresses.
        A Boolean value indicating the 'primary' or preferred attribute value for this attribute. The primary attribute value 'true' MUST appear no more than once.

        **SCIM++ Properties:**
         - caseExact: false
         - idcsSearchable: true
         - multiValued: false
         - mutability: readWrite
         - required: false
         - returned: default
         - type: boolean
         - uniqueness: none


        :return: The primary of this Addresses.
        :rtype: bool
        ©r   r#   r   r   r   r   £  r$   zAddresses.primaryc                 C   r%   )a.  
        Sets the primary of this Addresses.
        A Boolean value indicating the 'primary' or preferred attribute value for this attribute. The primary attribute value 'true' MUST appear no more than once.

        **SCIM++ Properties:**
         - caseExact: false
         - idcsSearchable: true
         - multiValued: false
         - mutability: readWrite
         - required: false
         - returned: default
         - type: boolean
         - uniqueness: none


        :param primary: The primary of this Addresses.
        :type: bool
        Nr,   )r   r   r   r   r   r   ¹  r&   c                 C   s   t | ƒS ©N)r   r#   r   r   r   Ú__repr__Ï  s   zAddresses.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©r   r	   r   r   r   Ú__eq__Ò  s   zAddresses.__eq__c                 C   s
   | |k S r-   r   r0   r   r   r   Ú__ne__Ø  s   
zAddresses.__ne__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Z	TYPE_WORKZ	TYPE_HOMEZ
TYPE_OTHERr    Úpropertyr   Úsetterr   r   r   r   r   r   r   r.   r1   r2   r   r   r   r   r      sR    G















r   N)Zoci.utilr   r   r   Zoci.decoratorsr   Úobjectr   r   r   r   r   Ú<module>   s   