o
    ɶd9                     @   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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d.d- Zd/d0 Zd1d2 Zd3d4 Zd5S )6ParameterDefinitionz$
    A parameter to a resource.
    STRINGURIURLNUMBERBOOLEANINPUTOUTPUTc                 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 )a^	  
        Initializes a new ParameterDefinition 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 ParameterDefinition.
        :type name: str

        :param type:
            The value to assign to the type property of this ParameterDefinition.
            Allowed values for this property are: "STRING", "URI", "URL", "NUMBER", "BOOLEAN", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type type: str

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

        :param is_required:
            The value to assign to the is_required property of this ParameterDefinition.
        :type is_required: bool

        :param is_sensitive:
            The value to assign to the is_sensitive property of this ParameterDefinition.
        :type is_sensitive: bool

        :param default_value:
            The value to assign to the default_value property of this ParameterDefinition.
        :type default_value: str

        :param min_length:
            The value to assign to the min_length property of this ParameterDefinition.
        :type min_length: int

        :param max_length:
            The value to assign to the max_length property of this ParameterDefinition.
        :type max_length: int

        :param pattern:
            The value to assign to the pattern property of this ParameterDefinition.
        :type pattern: str

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

        :param ui_placement_hint:
            The value to assign to the ui_placement_hint property of this ParameterDefinition.
        :type ui_placement_hint: str

        :param resource_type_metadata:
            The value to assign to the resource_type_metadata property of this ParameterDefinition.
        :type resource_type_metadata: object

        strboolintobject)nametypedescriptionis_requiredis_sensitivedefault_value
min_length
max_lengthpattern	directionui_placement_hintresource_type_metadatar   r   r   Z
isRequiredZisSensitivedefaultValueZ	minLengthZ	maxLengthr   r   ZuiPlacementHintZresourceTypeMetadataN)Zswagger_typesZattribute_map_name_type_description_is_required_is_sensitive_default_value_min_length_max_length_pattern
_direction_ui_placement_hint_resource_type_metadata)selfkwargs r-   Gusr/lib/python3.10/site-packages/oci/oda/models/parameter_definition.py__init__.   sL   ;
zParameterDefinition.__init__c                 C      | j S )z
        **[Required]** Gets the name of this ParameterDefinition.
        The name of the parameter


        :return: The name of this ParameterDefinition.
        :rtype: str
        r   r+   r-   r-   r.   r         
zParameterDefinition.namec                 C   
   || _ dS )z
        Sets the name of this ParameterDefinition.
        The name of the parameter


        :param name: The name of this ParameterDefinition.
        :type: str
        Nr1   )r+   r   r-   r-   r.   r         

c                 C   r0   )a  
        **[Required]** Gets the type of this ParameterDefinition.
        Enumerated parameter type.

        Allowed values for this property are: "STRING", "URI", "URL", "NUMBER", "BOOLEAN", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The type of this ParameterDefinition.
        :rtype: str
        )r    r2   r-   r-   r.   r         zParameterDefinition.typec                 C   s    g d}t ||sd}|| _dS )z
        Sets the type of this ParameterDefinition.
        Enumerated parameter type.


        :param type: The type of this ParameterDefinition.
        :type: str
        )r   r   r	   r
   r   UNKNOWN_ENUM_VALUEN)r   r    )r+   r   allowed_valuesr-   r-   r.   r         


c                 C   r0   )z
        Gets the description of this ParameterDefinition.
        Description of the parameter.


        :return: The description of this ParameterDefinition.
        :rtype: str
        r!   r2   r-   r-   r.   r      r3   zParameterDefinition.descriptionc                 C   r4   )z
        Sets the description of this ParameterDefinition.
        Description of the parameter.


        :param description: The description of this ParameterDefinition.
        :type: str
        Nr:   )r+   r   r-   r-   r.   r      r5   c                 C   r0   )z
        Gets the is_required of this ParameterDefinition.
        Is this parameter required. Ignored for parameters with direction = OUTPUT.


        :return: The is_required of this ParameterDefinition.
        :rtype: bool
        r"   r2   r-   r-   r.   r      r3   zParameterDefinition.is_requiredc                 C   r4   )z
        Sets the is_required of this ParameterDefinition.
        Is this parameter required. Ignored for parameters with direction = OUTPUT.


        :param is_required: The is_required of this ParameterDefinition.
        :type: bool
        Nr;   )r+   r   r-   r-   r.   r      r5   c                 C   r0   )a  
        Gets the is_sensitive of this ParameterDefinition.
        Is the data for this parameter sensitive (e.g. should the data be hidden in UI, encrypted if stored, etc.)


        :return: The is_sensitive of this ParameterDefinition.
        :rtype: bool
        r#   r2   r-   r-   r.   r      r3   z ParameterDefinition.is_sensitivec                 C   r4   )a  
        Sets the is_sensitive of this ParameterDefinition.
        Is the data for this parameter sensitive (e.g. should the data be hidden in UI, encrypted if stored, etc.)


        :param is_sensitive: The is_sensitive of this ParameterDefinition.
        :type: bool
        Nr<   )r+   r   r-   r-   r.   r     r5   c                 C   r0   )z
        Gets the default_value of this ParameterDefinition.
        Default value for the parameter.


        :return: The default_value of this ParameterDefinition.
        :rtype: str
        r$   r2   r-   r-   r.   r     r3   z!ParameterDefinition.default_valuec                 C   r4   )z
        Sets the default_value of this ParameterDefinition.
        Default value for the parameter.


        :param default_value: The default_value of this ParameterDefinition.
        :type: str
        Nr=   )r+   r   r-   r-   r.   r     r5   c                 C   r0   )z
        Gets the min_length of this ParameterDefinition.
        Used for character string types such as STRING to constrain the length of the value


        :return: The min_length of this ParameterDefinition.
        :rtype: int
        r%   r2   r-   r-   r.   r   )  r3   zParameterDefinition.min_lengthc                 C   r4   )z
        Sets the min_length of this ParameterDefinition.
        Used for character string types such as STRING to constrain the length of the value


        :param min_length: The min_length of this ParameterDefinition.
        :type: int
        Nr>   )r+   r   r-   r-   r.   r   5  r5   c                 C   r0   )z
        Gets the max_length of this ParameterDefinition.
        Used for character string types such as STRING to constrain the length of the value


        :return: The max_length of this ParameterDefinition.
        :rtype: int
        r&   r2   r-   r-   r.   r   A  r3   zParameterDefinition.max_lengthc                 C   r4   )z
        Sets the max_length of this ParameterDefinition.
        Used for character string types such as STRING to constrain the length of the value


        :param max_length: The max_length of this ParameterDefinition.
        :type: int
        Nr?   )r+   r   r-   r-   r.   r   M  r5   c                 C   r0   )z
        Gets the pattern of this ParameterDefinition.
        Regular expression used to validate the value of a string type such as STRING


        :return: The pattern of this ParameterDefinition.
        :rtype: str
        r'   r2   r-   r-   r.   r   Y  r3   zParameterDefinition.patternc                 C   r4   )z
        Sets the pattern of this ParameterDefinition.
        Regular expression used to validate the value of a string type such as STRING


        :param pattern: The pattern of this ParameterDefinition.
        :type: str
        Nr@   )r+   r   r-   r-   r.   r   e  r5   c                 C   r0   )a  
        Gets the direction of this ParameterDefinition.
        Is this parameter an input parameter, output parameter, or both?

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


        :return: The direction of this ParameterDefinition.
        :rtype: str
        )r(   r2   r-   r-   r.   r   q  r6   zParameterDefinition.directionc                 C   s    ddg}t ||sd}|| _dS )z
        Sets the direction of this ParameterDefinition.
        Is this parameter an input parameter, output parameter, or both?


        :param direction: The direction of this ParameterDefinition.
        :type: str
        r   r   r7   N)r   r(   )r+   r   r8   r-   r-   r.   r     r9   c                 C   r0   )a  
        Gets the ui_placement_hint of this ParameterDefinition.
        A forward-slash-delimited 'path' in an imaginary hierarchy, at which this parameter's UI widgets should be placed


        :return: The ui_placement_hint of this ParameterDefinition.
        :rtype: str
        r)   r2   r-   r-   r.   r     r3   z%ParameterDefinition.ui_placement_hintc                 C   r4   )a-  
        Sets the ui_placement_hint of this ParameterDefinition.
        A forward-slash-delimited 'path' in an imaginary hierarchy, at which this parameter's UI widgets should be placed


        :param ui_placement_hint: The ui_placement_hint of this ParameterDefinition.
        :type: str
        NrA   )r+   r   r-   r-   r.   r     r5   c                 C   r0   )a!  
        Gets the resource_type_metadata of this ParameterDefinition.
        Any configuration needed to help the resource type process this parameter (e.g. link to manifest, etc.).


        :return: The resource_type_metadata of this ParameterDefinition.
        :rtype: object
        r*   r2   r-   r-   r.   r     r3   z*ParameterDefinition.resource_type_metadatac                 C   r4   )a6  
        Sets the resource_type_metadata of this ParameterDefinition.
        Any configuration needed to help the resource type process this parameter (e.g. link to manifest, etc.).


        :param resource_type_metadata: The resource_type_metadata of this ParameterDefinition.
        :type: object
        NrB   )r+   r   r-   r-   r.   r     r5   c                 C   s   t | S N)r   r2   r-   r-   r.   __repr__  s   zParameterDefinition.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r+   otherr-   r-   r.   __eq__  s   zParameterDefinition.__eq__c                 C   s
   | |k S rC   r-   rF   r-   r-   r.   __ne__  s   
zParameterDefinition.__ne__N)__name__
__module____qualname____doc__ZTYPE_STRINGZTYPE_URIZTYPE_URLZTYPE_NUMBERZTYPE_BOOLEANZDIRECTION_INPUTZDIRECTION_OUTPUTr/   propertyr   setterr   r   r   r   r   r   r   r   r   r   r   rD   rH   rI   r-   r-   r-   r.   r      sz    e























r   N)Zoci.utilr   r   r   Zoci.decoratorsr   r   r   r-   r-   r-   r.   <module>   s   