o
    ɶdeY                     @   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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/d0 Zejd1d0 Zed2d3 Zejd4d3 Zed5d6 Zejd7d6 Zed8d9 Zejd:d9 Zd;d< Z d=d> Z!d?d@ Z"dAS )BApplicationz
    An application contains functions and defined attributes shared between those functions, such as network configuration and configuration. Avoid entering confidential information.
    CREATINGACTIVEINACTIVEUPDATINGDELETINGDELETEDFAILEDGENERIC_X86GENERIC_ARMGENERIC_X86_ARMc                 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| _d| _d| _d| _d| _d| _dS )a  
        Initializes a new Application 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 Application.
        :type id: str

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

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

        :param lifecycle_state:
            The value to assign to the lifecycle_state property of this Application.
            Allowed values for this property are: "CREATING", "ACTIVE", "INACTIVE", "UPDATING", "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 config:
            The value to assign to the config property of this Application.
        :type config: dict(str, str)

        :param subnet_ids:
            The value to assign to the subnet_ids property of this Application.
        :type subnet_ids: list[str]

        :param shape:
            The value to assign to the shape property of this Application.
            Allowed values for this property are: "GENERIC_X86", "GENERIC_ARM", "GENERIC_X86_ARM", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type shape: str

        :param network_security_group_ids:
            The value to assign to the network_security_group_ids property of this Application.
        :type network_security_group_ids: list[str]

        :param syslog_url:
            The value to assign to the syslog_url property of this Application.
        :type syslog_url: str

        :param trace_config:
            The value to assign to the trace_config property of this Application.
        :type trace_config: oci.functions.models.ApplicationTraceConfig

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

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

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

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

        :param image_policy_config:
            The value to assign to the image_policy_config property of this Application.
        :type image_policy_config: oci.functions.models.ImagePolicyConfig

        strzdict(str, str)z	list[str]ZApplicationTraceConfigzdict(str, dict(str, object))datetimeZImagePolicyConfig)idcompartment_iddisplay_namelifecycle_stateconfig
subnet_idsshapenetwork_security_group_ids
syslog_urltrace_configfreeform_tagsdefined_tagstime_createdtime_updatedimage_policy_configr   ZcompartmentIdZdisplayNameZlifecycleStater   Z	subnetIdsr   ZnetworkSecurityGroupIdsZ	syslogUrlZtraceConfigZfreeformTagsZdefinedTagsZtimeCreatedZtimeUpdatedZimagePolicyConfigN)Zswagger_typesZattribute_map_id_compartment_id_display_name_lifecycle_state_config_subnet_ids_shape_network_security_group_ids_syslog_url_trace_config_freeform_tags_defined_tags_time_created_time_updated_image_policy_config)selfkwargs r3   Dusr/lib/python3.10/site-packages/oci/functions/models/application.py__init__:   s^   G
zApplication.__init__c                 C      | j S )a  
        **[Required]** Gets the id of this Application.
        The `OCID`__ of the application.

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm


        :return: The id of this Application.
        :rtype: str
        r"   r1   r3   r3   r4   r         zApplication.idc                 C   
   || _ dS )z
        Sets the id of this Application.
        The `OCID`__ of the application.

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm


        :param id: The id of this Application.
        :type: str
        Nr7   )r1   r   r3   r3   r4   r         
c                 C   r6   )z
        Gets the compartment_id of this Application.
        The OCID of the compartment that contains the application.


        :return: The compartment_id of this Application.
        :rtype: str
        r#   r8   r3   r3   r4   r         
zApplication.compartment_idc                 C   r:   )z
        Sets the compartment_id of this Application.
        The OCID of the compartment that contains the application.


        :param compartment_id: The compartment_id of this Application.
        :type: str
        Nr<   )r1   r   r3   r3   r4   r         

c                 C   r6   )a  
        Gets the display_name of this Application.
        The display name of the application. The display name is unique within the compartment containing the application.


        :return: The display_name of this Application.
        :rtype: str
        r$   r8   r3   r3   r4   r      r=   zApplication.display_namec                 C   r:   )a  
        Sets the display_name of this Application.
        The display name of the application. The display name is unique within the compartment containing the application.


        :param display_name: The display_name of this Application.
        :type: str
        Nr?   )r1   r   r3   r3   r4   r      r>   c                 C   r6   )a  
        Gets the lifecycle_state of this Application.
        The current state of the application.

        Allowed values for this property are: "CREATING", "ACTIVE", "INACTIVE", "UPDATING", "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 Application.
        :rtype: str
        )r%   r8   r3   r3   r4   r      s   zApplication.lifecycle_statec                 C       g d}t ||sd}|| _dS )z
        Sets the lifecycle_state of this Application.
        The current state of the application.


        :param lifecycle_state: The lifecycle_state of this Application.
        :type: str
        )r   r   r	   r
   r   r   r   UNKNOWN_ENUM_VALUEN)r   r%   )r1   r   allowed_valuesr3   r3   r4   r     s   


c                 C   r6   )a  
        Gets the config of this Application.
        Application configuration for functions in this application (passed as environment variables). Can be overridden by function configuration.
        Keys must be ASCII strings consisting solely of letters, digits, and the '_' (underscore) character, and must not begin with a digit. Values should be limited to printable unicode characters.

        Example: `{"MY_FUNCTION_CONFIG": "ConfVal"}`

        The maximum size for all configuration keys and values is limited to 4KB. This is measured as the sum of octets necessary to represent each key and value in UTF-8.


        :return: The config of this Application.
        :rtype: dict(str, str)
        r&   r8   r3   r3   r4   r        zApplication.configc                 C   r:   )a  
        Sets the config of this Application.
        Application configuration for functions in this application (passed as environment variables). Can be overridden by function configuration.
        Keys must be ASCII strings consisting solely of letters, digits, and the '_' (underscore) character, and must not begin with a digit. Values should be limited to printable unicode characters.

        Example: `{"MY_FUNCTION_CONFIG": "ConfVal"}`

        The maximum size for all configuration keys and values is limited to 4KB. This is measured as the sum of octets necessary to represent each key and value in UTF-8.


        :param config: The config of this Application.
        :type: dict(str, str)
        NrC   )r1   r   r3   r3   r4   r   /     
c                 C   r6   )a6  
        Gets the subnet_ids of this Application.
        The `OCID`__s of the subnets in which to run functions in the application.

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm


        :return: The subnet_ids of this Application.
        :rtype: list[str]
        r'   r8   r3   r3   r4   r   @  r9   zApplication.subnet_idsc                 C   r:   )a?  
        Sets the subnet_ids of this Application.
        The `OCID`__s of the subnets in which to run functions in the application.

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm


        :param subnet_ids: The subnet_ids of this Application.
        :type: list[str]
        NrF   )r1   r   r3   r3   r4   r   N  r;   c                 C   r6   )a\  
        Gets the shape of this Application.
        Valid values are `GENERIC_X86`, `GENERIC_ARM` and `GENERIC_X86_ARM`. Default is `GENERIC_X86`. Setting this to `GENERIC_X86`, will run the functions in the application on X86 processor architecture.
        Setting this to `GENERIC_ARM`, will run the functions in the application on ARM processor architecture.
        When set to `GENERIC_X86_ARM`, functions in the application are run on either X86 or ARM processor architecture.
        Accepted values are:
        `GENERIC_X86`, `GENERIC_ARM`, `GENERIC_X86_ARM`

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


        :return: The shape of this Application.
        :rtype: str
        )r(   r8   r3   r3   r4   r   \  s   zApplication.shapec                 C   r@   )a  
        Sets the shape of this Application.
        Valid values are `GENERIC_X86`, `GENERIC_ARM` and `GENERIC_X86_ARM`. Default is `GENERIC_X86`. Setting this to `GENERIC_X86`, will run the functions in the application on X86 processor architecture.
        Setting this to `GENERIC_ARM`, will run the functions in the application on ARM processor architecture.
        When set to `GENERIC_X86_ARM`, functions in the application are run on either X86 or ARM processor architecture.
        Accepted values are:
        `GENERIC_X86`, `GENERIC_ARM`, `GENERIC_X86_ARM`


        :param shape: The shape of this Application.
        :type: str
        )r   r   r   rA   N)r   r(   )r1   r   rB   r3   r3   r4   r   o  s   

c                 C   r6   )aS  
        Gets the network_security_group_ids of this Application.
        The `OCID`__s of the Network Security Groups to add the application to.

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm


        :return: The network_security_group_ids of this Application.
        :rtype: list[str]
        r)   r8   r3   r3   r4   r     r9   z&Application.network_security_group_idsc                 C   r:   )al  
        Sets the network_security_group_ids of this Application.
        The `OCID`__s of the Network Security Groups to add the application to.

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm


        :param network_security_group_ids: The network_security_group_ids of this Application.
        :type: list[str]
        NrG   )r1   r   r3   r3   r4   r     r;   c                 C   r6   )a)  
        Gets the syslog_url of this Application.
        A syslog URL to which to send all function logs. Supports tcp, udp, and tcp+tls.
        The syslog URL must be reachable from all of the subnets configured for the application.
        Note: If you enable the OCI Logging service for this application, the syslogUrl value is ignored. Function logs are sent to the OCI Logging service, and not to the syslog URL.

        Example: `tcp://logserver.myserver:1234`


        :return: The syslog_url of this Application.
        :rtype: str
        r*   r8   r3   r3   r4   r        zApplication.syslog_urlc                 C   r:   )a2  
        Sets the syslog_url of this Application.
        A syslog URL to which to send all function logs. Supports tcp, udp, and tcp+tls.
        The syslog URL must be reachable from all of the subnets configured for the application.
        Note: If you enable the OCI Logging service for this application, the syslogUrl value is ignored. Function logs are sent to the OCI Logging service, and not to the syslog URL.

        Example: `tcp://logserver.myserver:1234`


        :param syslog_url: The syslog_url of this Application.
        :type: str
        NrH   )r1   r   r3   r3   r4   r        
c                 C   r6   )z
        Gets the trace_config of this Application.

        :return: The trace_config of this Application.
        :rtype: oci.functions.models.ApplicationTraceConfig
        r+   r8   r3   r3   r4   r        zApplication.trace_configc                 C   r:   )z
        Sets the trace_config of this Application.

        :param trace_config: The trace_config of this Application.
        :type: oci.functions.models.ApplicationTraceConfig
        NrK   )r1   r   r3   r3   r4   r        
c                 C   r6   )a  
        Gets the freeform_tags of this Application.
        Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
        For more information, see `Resource Tags`__.

        Example: `{"Department": "Finance"}`

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm


        :return: The freeform_tags of this Application.
        :rtype: dict(str, str)
        r,   r8   r3   r3   r4   r     rD   zApplication.freeform_tagsc                 C   r:   )a  
        Sets the freeform_tags of this Application.
        Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
        For more information, see `Resource Tags`__.

        Example: `{"Department": "Finance"}`

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm


        :param freeform_tags: The freeform_tags of this Application.
        :type: dict(str, str)
        NrN   )r1   r   r3   r3   r4   r     rE   c                 C   r6   )a  
        Gets the defined_tags of this Application.
        Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see `Resource Tags`__.

        Example: `{"Operations": {"CostCenter": "42"}}`

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm


        :return: The defined_tags of this Application.
        :rtype: dict(str, dict(str, object))
        r-   r8   r3   r3   r4   r     rI   zApplication.defined_tagsc                 C   r:   )a  
        Sets the defined_tags of this Application.
        Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see `Resource Tags`__.

        Example: `{"Operations": {"CostCenter": "42"}}`

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm


        :param defined_tags: The defined_tags of this Application.
        :type: dict(str, dict(str, object))
        NrO   )r1   r   r3   r3   r4   r     rJ   c                 C   r6   )aM  
        Gets the time_created of this Application.
        The time the application was created, expressed in `RFC 3339`__
        timestamp format.

        Example: `2018-09-12T22:47:12.613Z`

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


        :return: The time_created of this Application.
        :rtype: datetime
        r.   r8   r3   r3   r4   r     rD   zApplication.time_createdc                 C   r:   )aX  
        Sets the time_created of this Application.
        The time the application was created, expressed in `RFC 3339`__
        timestamp format.

        Example: `2018-09-12T22:47:12.613Z`

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


        :param time_created: The time_created of this Application.
        :type: datetime
        NrP   )r1   r   r3   r3   r4   r   %  rE   c                 C   r6   )aL  
        Gets the time_updated of this Application.
        The time the application was updated, expressed in `RFC 3339`__
        timestamp format.
        Example: `2018-09-12T22:47:12.613Z`

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


        :return: The time_updated of this Application.
        :rtype: datetime
        r/   r8   r3   r3   r4   r    6  rI   zApplication.time_updatedc                 C   r:   )aW  
        Sets the time_updated of this Application.
        The time the application was updated, expressed in `RFC 3339`__
        timestamp format.
        Example: `2018-09-12T22:47:12.613Z`

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


        :param time_updated: The time_updated of this Application.
        :type: datetime
        NrQ   )r1   r    r3   r3   r4   r    F  rJ   c                 C   r6   )z
        Gets the image_policy_config of this Application.

        :return: The image_policy_config of this Application.
        :rtype: oci.functions.models.ImagePolicyConfig
        r0   r8   r3   r3   r4   r!   V  rL   zApplication.image_policy_configc                 C   r:   )z
        Sets the image_policy_config of this Application.

        :param image_policy_config: The image_policy_config of this Application.
        :type: oci.functions.models.ImagePolicyConfig
        NrR   )r1   r!   r3   r3   r4   r!   `  rM   c                 C   s   t | S N)r   r8   r3   r3   r4   __repr__j  s   zApplication.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r1   otherr3   r3   r4   __eq__m  s   zApplication.__eq__c                 C   s
   | |k S rS   r3   rV   r3   r3   r4   __ne__s  s   
zApplication.__ne__N)#__name__
__module____qualname____doc__ZLIFECYCLE_STATE_CREATINGZLIFECYCLE_STATE_ACTIVEZLIFECYCLE_STATE_INACTIVEZLIFECYCLE_STATE_UPDATINGZLIFECYCLE_STATE_DELETINGZLIFECYCLE_STATE_DELETEDZLIFECYCLE_STATE_FAILEDZSHAPE_GENERIC_X86ZSHAPE_GENERIC_ARMZSHAPE_GENERIC_X86_ARMr5   propertyr   setterr   r   r   r   r   r   r   r   r   r   r   r   r    r!   rT   rX   rY   r3   r3   r3   r4   r      s    z


















	
	








	
	r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r3   r3   r3   r4   <module>   s   