o
    ëÉ¶d}l  ã                   @   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                   @   st  e Zd ZdZdZdZdZdZdZd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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ed1d2„ ƒZ e jd3d2„ ƒZ ed4d5„ ƒZ!e!jd6d5„ ƒZ!ed7d8„ ƒZ"e"jd9d8„ ƒZ"ed:d;„ ƒZ#e#jd<d;„ ƒZ#ed=d>„ ƒZ$e$jd?d>„ ƒZ$ed@dA„ ƒZ%e%jdBdA„ ƒZ%edCdD„ ƒZ&e&jdEdD„ ƒZ&edFdG„ ƒZ'e'jdHdG„ ƒZ'edIdJ„ ƒZ(e(jdKdJ„ ƒZ(edLdM„ ƒZ)e)jdNdM„ ƒZ)dOdP„ Z*dQdR„ Z+dSdT„ Z,dUS )VÚOpaInstancez%
    Description of OpaInstance.
    ÚUCMÚGOVÚSAASÚDEVELOPMENTÚ
PRODUCTIONÚEXECUTION_PACKÚUSERSÚEMPLOYEEÚ
NAMED_USERÚCREATINGÚUPDATINGÚACTIVEÚDELETINGÚDELETEDÚFAILEDc                 K   sl  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œ¥| _ 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+| _d+| _d+| _d+| _d+| _d+| _d+| _d+| _d+| _d+S ),ap  
        Initializes a new OpaInstance object with values from keyword arguments.
        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 OpaInstance.
        :type id: str

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

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

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

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

        :param consumption_model:
            The value to assign to the consumption_model property of this OpaInstance.
            Allowed values for this property are: "UCM", "GOV", "SAAS", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type consumption_model: str

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

        :param metering_type:
            The value to assign to the metering_type property of this OpaInstance.
            Allowed values for this property are: "EXECUTION_PACK", "USERS", "EMPLOYEE", "NAMED_USER", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type metering_type: str

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

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

        :param lifecycle_state:
            The value to assign to the lifecycle_state property of this OpaInstance.
            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 identity_app_guid:
            The value to assign to the identity_app_guid property of this OpaInstance.
        :type identity_app_guid: str

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

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

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

        :param is_breakglass_enabled:
            The value to assign to the is_breakglass_enabled property of this OpaInstance.
        :type is_breakglass_enabled: bool

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

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

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

        :param attachments:
            The value to assign to the attachments property of this OpaInstance.
        :type attachments: list[oci.opa.models.AttachmentDetails]

        ÚidÚstrÚdisplay_nameÚdescriptionÚcompartment_idÚinstance_urlÚconsumption_modelÚ
shape_nameÚmetering_typeÚtime_createdÚdatetimeÚtime_updatedÚlifecycle_stateÚidentity_app_guidÚidentity_app_display_nameÚidentity_domain_urlÚ&identity_app_opc_service_instance_guidÚis_breakglass_enabledÚboolÚfreeform_tagszdict(str, str)zdict(str, dict(str, object))zlist[AttachmentDetails])Údefined_tagsÚsystem_tagsÚattachmentsZdisplayNameZcompartmentIdZinstanceUrlZconsumptionModelZ	shapeNameZmeteringTypeZtimeCreatedZtimeUpdatedZlifecycleStateZidentityAppGuidZidentityAppDisplayNameZidentityDomainUrlZ!identityAppOpcServiceInstanceGuidZisBreakglassEnabledZfreeformTagsZdefinedTagsZ
systemTagsr,   N)Zswagger_typesZattribute_mapÚ_idÚ_display_nameÚ_descriptionÚ_compartment_idÚ_instance_urlÚ_consumption_modelÚ_shape_nameÚ_metering_typeÚ_time_createdÚ_time_updatedÚ_lifecycle_stateÚ_identity_app_guidÚ_identity_app_display_nameÚ_identity_domain_urlÚ'_identity_app_opc_service_instance_guidÚ_is_breakglass_enabledÚ_freeform_tagsÚ_defined_tagsÚ_system_tagsÚ_attachments)ÚselfÚkwargs© rC   ú?usr/lib/python3.10/site-packages/oci/opa/models/opa_instance.pyÚ__init__N   sÄ   ^ÿþýüûúùø	÷
öõôóòñðï
ìÿþýüûúùø	÷
öõôóòñðï
ì
zOpaInstance.__init__c                 C   ó   | j S )z¼
        **[Required]** Gets the id of this OpaInstance.
        Unique identifier that is immutable on creation


        :return: The id of this OpaInstance.
        :rtype: str
        ©r-   ©rA   rC   rC   rD   r   ï   ó   
zOpaInstance.idc                 C   ó
   || _ dS )z®
        Sets the id of this OpaInstance.
        Unique identifier that is immutable on creation


        :param id: The id of this OpaInstance.
        :type: str
        NrG   )rA   r   rC   rC   rD   r   û   ó   

c                 C   rF   )zÇ
        **[Required]** Gets the display_name of this OpaInstance.
        OpaInstance Identifier, can be renamed


        :return: The display_name of this OpaInstance.
        :rtype: str
        ©r.   rH   rC   rC   rD   r     rI   zOpaInstance.display_namec                 C   rJ   )zÃ
        Sets the display_name of this OpaInstance.
        OpaInstance Identifier, can be renamed


        :param display_name: The display_name of this OpaInstance.
        :type: str
        NrL   )rA   r   rC   rC   rD   r     rK   c                 C   rF   )z¿
        Gets the description of this OpaInstance.
        Description of the Process Automation instance.


        :return: The description of this OpaInstance.
        :rtype: str
        ©r/   rH   rC   rC   rD   r     rI   zOpaInstance.descriptionc                 C   rJ   )zÉ
        Sets the description of this OpaInstance.
        Description of the Process Automation instance.


        :param description: The description of this OpaInstance.
        :type: str
        NrM   )rA   r   rC   rC   rD   r   +  rK   c                 C   rF   )z»
        **[Required]** Gets the compartment_id of this OpaInstance.
        Compartment Identifier


        :return: The compartment_id of this OpaInstance.
        :rtype: str
        ©r0   rH   rC   rC   rD   r   7  rI   zOpaInstance.compartment_idc                 C   rJ   )z¹
        Sets the compartment_id of this OpaInstance.
        Compartment Identifier


        :param compartment_id: The compartment_id of this OpaInstance.
        :type: str
        NrN   )rA   r   rC   rC   rD   r   C  rK   c                 C   rF   )z¢
        Gets the instance_url of this OpaInstance.
        OPA Instance URL


        :return: The instance_url of this OpaInstance.
        :rtype: str
        ©r1   rH   rC   rC   rD   r   O  rI   zOpaInstance.instance_urlc                 C   rJ   )z­
        Sets the instance_url of this OpaInstance.
        OPA Instance URL


        :param instance_url: The instance_url of this OpaInstance.
        :type: str
        NrO   )rA   r   rC   rC   rD   r   [  rK   c                 C   rF   )a~  
        Gets the consumption_model of this OpaInstance.
        The entitlement used for billing purposes

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


        :return: The consumption_model of this OpaInstance.
        :rtype: str
        )r2   rH   rC   rC   rD   r   g  ó   zOpaInstance.consumption_modelc                 C   ó    g d¢}t ||ƒsd}|| _dS )zÕ
        Sets the consumption_model of this OpaInstance.
        The entitlement used for billing purposes


        :param consumption_model: The consumption_model of this OpaInstance.
        :type: str
        )r   r   r	   ÚUNKNOWN_ENUM_VALUEN)r   r2   )rA   r   Úallowed_valuesrC   rC   rD   r   v  ó   


c                 C   rF   )as  
        **[Required]** Gets the shape_name of this OpaInstance.
        Shape of the instance.

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


        :return: The shape_name of this OpaInstance.
        :rtype: str
        )r3   rH   rC   rC   rD   r   …  rP   zOpaInstance.shape_namec                 C   s    ddg}t ||ƒsd}|| _dS )z­
        Sets the shape_name of this OpaInstance.
        Shape of the instance.


        :param shape_name: The shape_name of this OpaInstance.
        :type: str
        r
   r   rR   N)r   r3   )rA   r   rS   rC   rC   rD   r   ”  rT   c                 C   rF   )aƒ  
        Gets the metering_type of this OpaInstance.
        MeteringType Identifier

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


        :return: The metering_type of this OpaInstance.
        :rtype: str
        )r4   rH   rC   rC   rD   r   £  rP   zOpaInstance.metering_typec                 C   rQ   )z·
        Sets the metering_type of this OpaInstance.
        MeteringType Identifier


        :param metering_type: The metering_type of this OpaInstance.
        :type: str
        )r   r   r   r   rR   N)r   r4   )rA   r   rS   rC   rC   rD   r   ²  rT   c                 C   rF   )zñ
        **[Required]** Gets the time_created of this OpaInstance.
        The time when OpaInstance was created. An RFC3339 formatted datetime string


        :return: The time_created of this OpaInstance.
        :rtype: datetime
        ©r5   rH   rC   rC   rD   r   Á  rI   zOpaInstance.time_createdc                 C   rJ   )zí
        Sets the time_created of this OpaInstance.
        The time when OpaInstance was created. An RFC3339 formatted datetime string


        :param time_created: The time_created of this OpaInstance.
        :type: datetime
        NrU   )rA   r   rC   rC   rD   r   Í  rK   c                 C   rF   )zá
        Gets the time_updated of this OpaInstance.
        The time the OpaInstance was updated. An RFC3339 formatted datetime string


        :return: The time_updated of this OpaInstance.
        :rtype: datetime
        ©r6   rH   rC   rC   rD   r!   Ù  rI   zOpaInstance.time_updatedc                 C   rJ   )zì
        Sets the time_updated of this OpaInstance.
        The time the OpaInstance was updated. An RFC3339 formatted datetime string


        :param time_updated: The time_updated of this OpaInstance.
        :type: datetime
        NrV   )rA   r!   rC   rC   rD   r!   å  rK   c                 C   rF   )a²  
        **[Required]** Gets the lifecycle_state of this OpaInstance.
        The current state of the OpaInstance.

        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 OpaInstance.
        :rtype: str
        )r7   rH   rC   rC   rD   r"   ñ  rP   zOpaInstance.lifecycle_statec                 C   rQ   )zË
        Sets the lifecycle_state of this OpaInstance.
        The current state of the OpaInstance.


        :param lifecycle_state: The lifecycle_state of this OpaInstance.
        :type: str
        )r   r   r   r   r   r   rR   N)r   r7   )rA   r"   rS   rC   rC   rD   r"      rT   c                 C   rF   )a±  
        Gets the identity_app_guid of this OpaInstance.
        This property specifies the GUID of the Identity Application instance OPA has created inside the user-specified identity domain. This identity application instance may be used to host user role mappings to grant access to this OPA instance for users within the identity domain.


        :return: The identity_app_guid of this OpaInstance.
        :rtype: str
        ©r8   rH   rC   rC   rD   r#     rI   zOpaInstance.identity_app_guidc                 C   rJ   )aÁ  
        Sets the identity_app_guid of this OpaInstance.
        This property specifies the GUID of the Identity Application instance OPA has created inside the user-specified identity domain. This identity application instance may be used to host user role mappings to grant access to this OPA instance for users within the identity domain.


        :param identity_app_guid: The identity_app_guid of this OpaInstance.
        :type: str
        NrW   )rA   r#   rC   rC   rD   r#     rK   c                 C   rF   )aÁ  
        Gets the identity_app_display_name of this OpaInstance.
        This property specifies the name of the Identity Application instance OPA has created inside the user-specified identity domain. This identity application instance may be used to host user roll mappings to grant access to this OPA instance for users within the identity domain.


        :return: The identity_app_display_name of this OpaInstance.
        :rtype: str
        ©r9   rH   rC   rC   rD   r$   '  rI   z%OpaInstance.identity_app_display_namec                 C   rJ   )aÙ  
        Sets the identity_app_display_name of this OpaInstance.
        This property specifies the name of the Identity Application instance OPA has created inside the user-specified identity domain. This identity application instance may be used to host user roll mappings to grant access to this OPA instance for users within the identity domain.


        :param identity_app_display_name: The identity_app_display_name of this OpaInstance.
        :type: str
        NrX   )rA   r$   rC   rC   rD   r$   3  rK   c                 C   rF   )a»  
        Gets the identity_domain_url of this OpaInstance.
        This property specifies the domain url of the Identity Application instance OPA has created inside the user-specified identity domain. This identity application instance may be used to host user roll mappings to grant access to this OPA instance for users within the identity domain.


        :return: The identity_domain_url of this OpaInstance.
        :rtype: str
        ©r:   rH   rC   rC   rD   r%   ?  rI   zOpaInstance.identity_domain_urlc                 C   rJ   )aÍ  
        Sets the identity_domain_url of this OpaInstance.
        This property specifies the domain url of the Identity Application instance OPA has created inside the user-specified identity domain. This identity application instance may be used to host user roll mappings to grant access to this OPA instance for users within the identity domain.


        :param identity_domain_url: The identity_domain_url of this OpaInstance.
        :type: str
        NrY   )rA   r%   rC   rC   rD   r%   K  rK   c                 C   rF   )að  
        Gets the identity_app_opc_service_instance_guid of this OpaInstance.
        This property specifies the OPC Service Instance GUID of the Identity Application instance OPA has created inside the user-specified identity domain. This identity application instance may be used to host user roll mappings to grant access to this OPA instance for users within the identity domain.


        :return: The identity_app_opc_service_instance_guid of this OpaInstance.
        :rtype: str
        ©r;   rH   rC   rC   rD   r&   W  rI   z2OpaInstance.identity_app_opc_service_instance_guidc                 C   rJ   )a  
        Sets the identity_app_opc_service_instance_guid of this OpaInstance.
        This property specifies the OPC Service Instance GUID of the Identity Application instance OPA has created inside the user-specified identity domain. This identity application instance may be used to host user roll mappings to grant access to this OPA instance for users within the identity domain.


        :param identity_app_opc_service_instance_guid: The identity_app_opc_service_instance_guid of this OpaInstance.
        :type: str
        NrZ   )rA   r&   rC   rC   rD   r&   c  rK   c                 C   rF   )zÝ
        Gets the is_breakglass_enabled of this OpaInstance.
        indicates if breakGlass is enabled for the opa instance.


        :return: The is_breakglass_enabled of this OpaInstance.
        :rtype: bool
        ©r<   rH   rC   rC   rD   r'   o  rI   z!OpaInstance.is_breakglass_enabledc                 C   rJ   )zñ
        Sets the is_breakglass_enabled of this OpaInstance.
        indicates if breakGlass is enabled for the opa instance.


        :param is_breakglass_enabled: The is_breakglass_enabled of this OpaInstance.
        :type: bool
        Nr[   )rA   r'   rC   rC   rD   r'   {  rK   c                 C   rF   )a=  
        Gets the freeform_tags of this OpaInstance.
        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 OpaInstance.
        :rtype: dict(str, str)
        ©r=   rH   rC   rC   rD   r)   ‡  ó   zOpaInstance.freeform_tagsc                 C   rJ   )aI  
        Sets the freeform_tags of this OpaInstance.
        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 OpaInstance.
        :type: dict(str, str)
        Nr\   )rA   r)   rC   rC   rD   r)   ”  ó   
c                 C   rF   )a7  
        Gets the defined_tags of this OpaInstance.
        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 OpaInstance.
        :rtype: dict(str, dict(str, object))
        ©r>   rH   rC   rC   rD   r*   ¡  r]   zOpaInstance.defined_tagsc                 C   rJ   )aB  
        Sets the defined_tags of this OpaInstance.
        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 OpaInstance.
        :type: dict(str, dict(str, object))
        Nr_   )rA   r*   rC   rC   rD   r*   ®  r^   c                 C   rF   )a4  
        Gets the system_tags of this OpaInstance.
        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 OpaInstance.
        :rtype: dict(str, dict(str, object))
        ©r?   rH   rC   rC   rD   r+   »  r]   zOpaInstance.system_tagsc                 C   rJ   )a>  
        Sets the system_tags of this OpaInstance.
        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 OpaInstance.
        :type: dict(str, dict(str, object))
        Nr`   )rA   r+   rC   rC   rD   r+   È  r^   c                 C   rF   )zå
        Gets the attachments of this OpaInstance.
        A list of associated attachments to other services


        :return: The attachments of this OpaInstance.
        :rtype: list[oci.opa.models.AttachmentDetails]
        ©r@   rH   rC   rC   rD   r,   Õ  rI   zOpaInstance.attachmentsc                 C   rJ   )zï
        Sets the attachments of this OpaInstance.
        A list of associated attachments to other services


        :param attachments: The attachments of this OpaInstance.
        :type: list[oci.opa.models.AttachmentDetails]
        Nra   )rA   r,   rC   rC   rD   r,   á  rK   c                 C   s   t | ƒS ©N)r   rH   rC   rC   rD   Ú__repr__í  s   zOpaInstance.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©rA   ÚotherrC   rC   rD   Ú__eq__ð  s   zOpaInstance.__eq__c                 C   s
   | |k S rb   rC   re   rC   rC   rD   Ú__ne__ö  s   
zOpaInstance.__ne__N)-Ú__name__Ú
__module__Ú__qualname__Ú__doc__ZCONSUMPTION_MODEL_UCMZCONSUMPTION_MODEL_GOVZCONSUMPTION_MODEL_SAASZSHAPE_NAME_DEVELOPMENTZSHAPE_NAME_PRODUCTIONZMETERING_TYPE_EXECUTION_PACKZMETERING_TYPE_USERSZMETERING_TYPE_EMPLOYEEZMETERING_TYPE_NAMED_USERZLIFECYCLE_STATE_CREATINGZLIFECYCLE_STATE_UPDATINGZLIFECYCLE_STATE_ACTIVEZLIFECYCLE_STATE_DELETINGZLIFECYCLE_STATE_DELETEDZLIFECYCLE_STATE_FAILEDrE   Úpropertyr   Úsetterr   r   r   r   r   r   r   r   r!   r"   r#   r$   r%   r&   r'   r)   r*   r+   r,   rc   rg   rh   rC   rC   rC   rD   r      sÌ     "







































r   N)Zoci.utilr   r   r   Zoci.decoratorsr   Úobjectr   rC   rC   rC   rD   Ú<module>   s   