o
    ëÉ¶dÈI  ã                   @   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	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"d:d;„ Z#d<d=„ Z$d>d?„ Z%d@S )AÚAccessRequestz{
    An access request to a customer's resource.
    An access request is a subsidiary resource of the Lockbox entity.
    ÚIN_PROGRESSÚWAITINGÚ	SUCCEEDEDÚ	CANCELINGÚCANCELEDÚFAILEDÚ
PROCESSINGÚWAITING_FOR_APPROVALSÚAPPROVEDÚAUTO_APPROVEDÚCANCELLING_ACCESSÚEXPIREDÚREVOKEDÚDENIEDÚERRORc                 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| _d| _d| _dS )aŽ
  
        Initializes a new AccessRequest 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 AccessRequest.
        :type id: str

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

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

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

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

        :param lifecycle_state:
            The value to assign to the lifecycle_state property of this AccessRequest.
            Allowed values for this property are: "IN_PROGRESS", "WAITING", "SUCCEEDED", "CANCELING", "CANCELED", "FAILED", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type lifecycle_state: str

        :param lifecycle_state_details:
            The value to assign to the lifecycle_state_details property of this AccessRequest.
            Allowed values for this property are: "PROCESSING", "WAITING_FOR_APPROVALS", "APPROVED", "AUTO_APPROVED", "CANCELLING_ACCESS", "EXPIRED", "REVOKED", "DENIED", "ERROR", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type lifecycle_state_details: str

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

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

        :param activity_logs:
            The value to assign to the activity_logs property of this AccessRequest.
        :type activity_logs: list[oci.lockbox.models.ActivityLog]

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

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

        :param time_expired:
            The value to assign to the time_expired property of this AccessRequest.
        :type time_expired: datetime

        Ústrzdict(str, str)zlist[ActivityLog]Údatetime)ÚidÚ
lockbox_idÚdisplay_nameÚdescriptionÚrequestor_idÚlifecycle_stateÚlifecycle_state_detailsÚaccess_durationÚcontextÚactivity_logsÚtime_createdÚtime_updatedÚtime_expiredr   Z	lockboxIdZdisplayNamer   ZrequestorIdZlifecycleStateZlifecycleStateDetailsZaccessDurationr    ZactivityLogsZtimeCreatedZtimeUpdatedZtimeExpiredN)Zswagger_typesZattribute_mapÚ_idÚ_lockbox_idÚ_display_nameÚ_descriptionÚ_requestor_idÚ_lifecycle_stateÚ_lifecycle_state_detailsÚ_access_durationÚ_contextÚ_activity_logsÚ_time_createdÚ_time_updatedÚ_time_expired)ÚselfÚkwargs© r4   úEusr/lib/python3.10/site-packages/oci/lockbox/models/access_request.pyÚ__init__O   sR   ?óó
zAccessRequest.__init__c                 C   ó   | j S )zë
        **[Required]** Gets the id of this AccessRequest.
        The unique identifier (OCID) of the access request, which can't be changed after creation.


        :return: The id of this AccessRequest.
        :rtype: str
        ©r%   ©r2   r4   r4   r5   r   »   ó   
zAccessRequest.idc                 C   ó
   || _ dS )zÝ
        Sets the id of this AccessRequest.
        The unique identifier (OCID) of the access request, which can't be changed after creation.


        :param id: The id of this AccessRequest.
        :type: str
        Nr8   )r2   r   r4   r4   r5   r   Ç   ó   

c                 C   r7   )a#  
        **[Required]** Gets the lockbox_id of this AccessRequest.
        The unique identifier (OCID) of the lockbox box that the access request is associated with, which can't be changed after creation.


        :return: The lockbox_id of this AccessRequest.
        :rtype: str
        ©r&   r9   r4   r4   r5   r   Ó   r:   zAccessRequest.lockbox_idc                 C   r;   )a  
        Sets the lockbox_id of this AccessRequest.
        The unique identifier (OCID) of the lockbox box that the access request is associated with, which can't be changed after creation.


        :param lockbox_id: The lockbox_id of this AccessRequest.
        :type: str
        Nr=   )r2   r   r4   r4   r5   r   ß   r<   c                 C   r7   )zÄ
        **[Required]** Gets the display_name of this AccessRequest.
        The name of the access request.


        :return: The display_name of this AccessRequest.
        :rtype: str
        ©r'   r9   r4   r4   r5   r   ë   r:   zAccessRequest.display_namec                 C   r;   )zÀ
        Sets the display_name of this AccessRequest.
        The name of the access request.


        :param display_name: The display_name of this AccessRequest.
        :type: str
        Nr>   )r2   r   r4   r4   r5   r   ÷   r<   c                 C   r7   )zò
        **[Required]** Gets the description of this AccessRequest.
        The rationale for requesting the access request and any other related details..


        :return: The description of this AccessRequest.
        :rtype: str
        ©r(   r9   r4   r4   r5   r     r:   zAccessRequest.descriptionc                 C   r;   )zí
        Sets the description of this AccessRequest.
        The rationale for requesting the access request and any other related details..


        :param description: The description of this AccessRequest.
        :type: str
        Nr?   )r2   r   r4   r4   r5   r     r<   c                 C   r7   )zÌ
        **[Required]** Gets the requestor_id of this AccessRequest.
        The unique identifier of the requestor.


        :return: The requestor_id of this AccessRequest.
        :rtype: str
        ©r)   r9   r4   r4   r5   r     r:   zAccessRequest.requestor_idc                 C   r;   )zÈ
        Sets the requestor_id of this AccessRequest.
        The unique identifier of the requestor.


        :param requestor_id: The requestor_id of this AccessRequest.
        :type: str
        Nr@   )r2   r   r4   r4   r5   r   '  r<   c                 C   r7   )aÁ  
        **[Required]** Gets the lifecycle_state of this AccessRequest.
        Possible access request lifecycle states.

        Allowed values for this property are: "IN_PROGRESS", "WAITING", "SUCCEEDED", "CANCELING", "CANCELED", "FAILED", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The lifecycle_state of this AccessRequest.
        :rtype: str
        )r*   r9   r4   r4   r5   r   3  ó   zAccessRequest.lifecycle_statec                 C   ó    g d¢}t ||ƒsd}|| _dS )zÓ
        Sets the lifecycle_state of this AccessRequest.
        Possible access request lifecycle states.


        :param lifecycle_state: The lifecycle_state of this AccessRequest.
        :type: str
        )r   r   r	   r
   r   r   ÚUNKNOWN_ENUM_VALUEN)r   r*   )r2   r   Úallowed_valuesr4   r4   r5   r   B  ó   


c                 C   r7   )a
  
        **[Required]** Gets the lifecycle_state_details of this AccessRequest.
        Details of access request lifecycle state.

        Allowed values for this property are: "PROCESSING", "WAITING_FOR_APPROVALS", "APPROVED", "AUTO_APPROVED", "CANCELLING_ACCESS", "EXPIRED", "REVOKED", "DENIED", "ERROR", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The lifecycle_state_details of this AccessRequest.
        :rtype: str
        )r+   r9   r4   r4   r5   r   Q  rA   z%AccessRequest.lifecycle_state_detailsc                 C   rB   )zì
        Sets the lifecycle_state_details of this AccessRequest.
        Details of access request lifecycle state.


        :param lifecycle_state_details: The lifecycle_state_details of this AccessRequest.
        :type: str
        )	r   r   r   r   r   r   r   r   r   rC   N)r   r+   )r2   r   rD   r4   r4   r5   r   `  rE   c                 C   r7   )zò
        **[Required]** Gets the access_duration of this AccessRequest.
        The maximum amount of time operator has access to associated resources.


        :return: The access_duration of this AccessRequest.
        :rtype: str
        ©r,   r9   r4   r4   r5   r   o  r:   zAccessRequest.access_durationc                 C   r;   )zñ
        Sets the access_duration of this AccessRequest.
        The maximum amount of time operator has access to associated resources.


        :param access_duration: The access_duration of this AccessRequest.
        :type: str
        NrF   )r2   r   r4   r4   r5   r   {  r<   c                 C   r7   )zÙ
        Gets the context of this AccessRequest.
        The context object containing the access request specific details.


        :return: The context of this AccessRequest.
        :rtype: dict(str, str)
        ©r-   r9   r4   r4   r5   r    ‡  r:   zAccessRequest.contextc                 C   r;   )zß
        Sets the context of this AccessRequest.
        The context object containing the access request specific details.


        :param context: The context of this AccessRequest.
        :type: dict(str, str)
        NrG   )r2   r    r4   r4   r5   r    “  r<   c                 C   r7   )a  
        **[Required]** Gets the activity_logs of this AccessRequest.
        The actions taken by different persona on the access request, e.g. approve/deny/revoke


        :return: The activity_logs of this AccessRequest.
        :rtype: list[oci.lockbox.models.ActivityLog]
        ©r.   r9   r4   r4   r5   r!   Ÿ  r:   zAccessRequest.activity_logsc                 C   r;   )a  
        Sets the activity_logs of this AccessRequest.
        The actions taken by different persona on the access request, e.g. approve/deny/revoke


        :param activity_logs: The activity_logs of this AccessRequest.
        :type: list[oci.lockbox.models.ActivityLog]
        NrH   )r2   r!   r4   r4   r5   r!   «  r<   c                 C   r7   )aP  
        **[Required]** Gets the time_created of this AccessRequest.
        The time the access request was created. Format is defined by `RFC3339`__.
        Example: `2020-01-25T21:10:29.600Z`

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


        :return: The time_created of this AccessRequest.
        :rtype: datetime
        ©r/   r9   r4   r4   r5   r"   ·  rA   zAccessRequest.time_createdc                 C   r;   )aL  
        Sets the time_created of this AccessRequest.
        The time the access request was created. Format is defined by `RFC3339`__.
        Example: `2020-01-25T21:10:29.600Z`

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


        :param time_created: The time_created of this AccessRequest.
        :type: datetime
        NrI   )r2   r"   r4   r4   r5   r"   Æ  ó   
c                 C   r7   )aU  
        **[Required]** Gets the time_updated of this AccessRequest.
        The time the access request was last updated. Format is defined by `RFC3339`__.
        Example: `2020-01-25T21:10:29.600Z`

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


        :return: The time_updated of this AccessRequest.
        :rtype: datetime
        ©r0   r9   r4   r4   r5   r#   Õ  rA   zAccessRequest.time_updatedc                 C   r;   )aQ  
        Sets the time_updated of this AccessRequest.
        The time the access request was last updated. Format is defined by `RFC3339`__.
        Example: `2020-01-25T21:10:29.600Z`

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


        :param time_updated: The time_updated of this AccessRequest.
        :type: datetime
        NrK   )r2   r#   r4   r4   r5   r#   ä  rJ   c                 C   r7   )aL  
        **[Required]** Gets the time_expired of this AccessRequest.
        The time the access request expired. Format is defined by `RFC3339`__.
        Example: `2020-01-25T21:10:29.600Z`

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


        :return: The time_expired of this AccessRequest.
        :rtype: datetime
        ©r1   r9   r4   r4   r5   r$   ó  rA   zAccessRequest.time_expiredc                 C   r;   )aH  
        Sets the time_expired of this AccessRequest.
        The time the access request expired. Format is defined by `RFC3339`__.
        Example: `2020-01-25T21:10:29.600Z`

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


        :param time_expired: The time_expired of this AccessRequest.
        :type: datetime
        NrL   )r2   r$   r4   r4   r5   r$     rJ   c                 C   s   t | ƒS ©N)r   r9   r4   r4   r5   Ú__repr__  s   zAccessRequest.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©r2   Úotherr4   r4   r5   Ú__eq__  s   zAccessRequest.__eq__c                 C   s
   | |k S rM   r4   rP   r4   r4   r5   Ú__ne__  s   
zAccessRequest.__ne__N)&Ú__name__Ú
__module__Ú__qualname__Ú__doc__ZLIFECYCLE_STATE_IN_PROGRESSZLIFECYCLE_STATE_WAITINGZLIFECYCLE_STATE_SUCCEEDEDZLIFECYCLE_STATE_CANCELINGZLIFECYCLE_STATE_CANCELEDZLIFECYCLE_STATE_FAILEDZ"LIFECYCLE_STATE_DETAILS_PROCESSINGZ-LIFECYCLE_STATE_DETAILS_WAITING_FOR_APPROVALSZ LIFECYCLE_STATE_DETAILS_APPROVEDZ%LIFECYCLE_STATE_DETAILS_AUTO_APPROVEDZ)LIFECYCLE_STATE_DETAILS_CANCELLING_ACCESSZLIFECYCLE_STATE_DETAILS_EXPIREDZLIFECYCLE_STATE_DETAILS_REVOKEDZLIFECYCLE_STATE_DETAILS_DENIEDZLIFECYCLE_STATE_DETAILS_ERRORr6   Úpropertyr   Úsetterr   r   r   r   r   r   r   r    r!   r"   r#   r$   rN   rR   rS   r4   r4   r4   r5   r      s’    l

























r   N)Zoci.utilr   r   r   Zoci.decoratorsr   Úobjectr   r4   r4   r4   r5   Ú<module>   s   