ruạṛ
a ���f � @ s8 d dl mZmZmZ d dlmZ eG dd� de��ZdS )� )�formatted_flat_dict� NONE_SENTINEL�#value_allowed_none_or_none_sentinel)�init_model_state_from_kwargsc @ sx e Zd ZdZdZdZdd� Zedd� �Ze dd � �Z e jd d � �Z e dd� �Zejd d� �Zdd� Z dd� Zdd� ZdS )�CreateApplicationDetailsz> Request for creating a application against a policy. �ICMP�ICMP_V6c K s( ddd�| _ ddd�| _d| _d| _dS )al Initializes a new CreateApplicationDetails object with values from keyword arguments. This class has the following subclasses and if you are using this class as input to a service operations then you should favor using a subclass over the base class: * :class:`~oci.network_firewall.models.CreateIcmpApplicationDetails` * :class:`~oci.network_firewall.models.CreateIcmp6ApplicationDetails` 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 CreateApplicationDetails. :type name: str :param type: The value to assign to the type property of this CreateApplicationDetails. Allowed values for this property are: "ICMP", "ICMP_V6" :type type: str �str)�name�typer r N)Z swagger_typesZ attribute_map�_name�_type)�self�kwargs� r �Z/usr/lib/python3.9/site-packages/oci/network_firewall/models/create_application_details.py�__init__ s ��z!CreateApplicationDetails.__init__c C s( | d }|dkrdS |dkr dS dS dS )z� Given the hash representation of a subtype of this class, use the info in the hash to return the class of the subtype. r r ZCreateIcmpApplicationDetailsr ZCreateIcmp6ApplicationDetailsr Nr )Zobject_dictionaryr r r r �get_subtype; s z$CreateApplicationDetails.get_subtypec C s | j S )z� **[Required]** Gets the name of this CreateApplicationDetails. Name of the application :return: The name of this CreateApplicationDetails. :rtype: str �r �r r r r r K s zCreateApplicationDetails.namec C s || _ dS )z� Sets the name of this CreateApplicationDetails. Name of the application :param name: The name of this CreateApplicationDetails. :type: str Nr )r r r r r r W s c C s | j S )z� Gets the type of this CreateApplicationDetails. Describes the type of Application. Allowed values for this property are: "ICMP", "ICMP_V6" :return: The type of this CreateApplicationDetails. :rtype: str )r r r r r r c s zCreateApplicationDetails.typec C s* ddg}t ||�s td|� ���|| _dS )z� Sets the type of this CreateApplicationDetails. Describes the type of Application. :param type: The type of this CreateApplicationDetails. :type: str r r z1Invalid value for `type`, must be None or one of N)r � ValueErrorr )r r Zallowed_valuesr r r r q s �c C s t | �S �N)r r r r r �__repr__� s z!CreateApplicationDetails.__repr__c C s |d u rdS | j |j kS )NF)�__dict__�r �otherr r r �__eq__� s zCreateApplicationDetails.__eq__c C s | |k S r r r r r r �__ne__� s zCreateApplicationDetails.__ne__N)�__name__� __module__�__qualname__�__doc__Z TYPE_ICMPZTYPE_ICMP_V6r �staticmethodr �propertyr �setterr r r r r r r r r s"