o
    ɶdE                     @   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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ed+d, Zej
d-d, Zd.d/ Zd0d1 Zd2d3 Zd4S )5ApplicationSummaryz$
    Summary of an application.
    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S )a	  
        Initializes a new ApplicationSummary 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 ApplicationSummary.
        :type id: str

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

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

        :param lifecycle_state:
            The value to assign to the lifecycle_state property of this ApplicationSummary.
        :type lifecycle_state: str

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

        :param shape:
            The value to assign to the shape property of this ApplicationSummary.
            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 ApplicationSummary.
        :type network_security_group_ids: list[str]

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

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

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

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

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

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

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

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


        :return: The id of this ApplicationSummary.
        :rtype: str
        r   r&   r(   r(   r)   r         zApplicationSummary.idc                 C   
   || _ dS )a  
        Sets the id of this ApplicationSummary.
        The `OCID`__ of the application.

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


        :param id: The id of this ApplicationSummary.
        :type: str
        Nr,   )r&   r   r(   r(   r)   r         
c                 C   r+   )z
        Gets the compartment_id of this ApplicationSummary.
        The OCID of the compartment that contains the application.


        :return: The compartment_id of this ApplicationSummary.
        :rtype: str
        r   r-   r(   r(   r)   r         
z!ApplicationSummary.compartment_idc                 C   r/   )z
        Sets the compartment_id of this ApplicationSummary.
        The OCID of the compartment that contains the application.


        :param compartment_id: The compartment_id of this ApplicationSummary.
        :type: str
        Nr1   )r&   r   r(   r(   r)   r         

c                 C   r+   )a  
        Gets the display_name of this ApplicationSummary.
        The display name of the application. The display name is unique within the compartment containing the application.


        :return: The display_name of this ApplicationSummary.
        :rtype: str
        r   r-   r(   r(   r)   r      r2   zApplicationSummary.display_namec                 C   r/   )a  
        Sets the display_name of this ApplicationSummary.
        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 ApplicationSummary.
        :type: str
        Nr4   )r&   r   r(   r(   r)   r      r3   c                 C   r+   )z
        Gets the lifecycle_state of this ApplicationSummary.
        The current state of the application.


        :return: The lifecycle_state of this ApplicationSummary.
        :rtype: str
        r   r-   r(   r(   r)   r      r2   z"ApplicationSummary.lifecycle_statec                 C   r/   )z
        Sets the lifecycle_state of this ApplicationSummary.
        The current state of the application.


        :param lifecycle_state: The lifecycle_state of this ApplicationSummary.
        :type: str
        Nr5   )r&   r   r(   r(   r)   r      r3   c                 C   r+   )aD  
        Gets the subnet_ids of this ApplicationSummary.
        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 ApplicationSummary.
        :rtype: list[str]
        r   r-   r(   r(   r)   r      r.   zApplicationSummary.subnet_idsc                 C   r/   )aM  
        Sets the subnet_ids of this ApplicationSummary.
        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 ApplicationSummary.
        :type: list[str]
        Nr6   )r&   r   r(   r(   r)   r      r0   c                 C   r+   )aj  
        Gets the shape of this ApplicationSummary.
        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 ApplicationSummary.
        :rtype: str
        )r   r-   r(   r(   r)   r     s   zApplicationSummary.shapec                 C   s    g d}t ||sd}|| _dS )a  
        Sets the shape of this ApplicationSummary.
        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 ApplicationSummary.
        :type: str
        )r   r   r	   ZUNKNOWN_ENUM_VALUEN)r   r   )r&   r   Zallowed_valuesr(   r(   r)   r     s   

c                 C   r+   )aa  
        Gets the network_security_group_ids of this ApplicationSummary.
        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 ApplicationSummary.
        :rtype: list[str]
        r   r-   r(   r(   r)   r   .  r.   z-ApplicationSummary.network_security_group_idsc                 C   r/   )az  
        Sets the network_security_group_ids of this ApplicationSummary.
        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 ApplicationSummary.
        :type: list[str]
        Nr7   )r&   r   r(   r(   r)   r   <  r0   c                 C   r+   )z
        Gets the trace_config of this ApplicationSummary.

        :return: The trace_config of this ApplicationSummary.
        :rtype: oci.functions.models.ApplicationTraceConfig
        r    r-   r(   r(   r)   r   J     zApplicationSummary.trace_configc                 C   r/   )z
        Sets the trace_config of this ApplicationSummary.

        :param trace_config: The trace_config of this ApplicationSummary.
        :type: oci.functions.models.ApplicationTraceConfig
        Nr8   )r&   r   r(   r(   r)   r   T     
c                 C   r+   )a  
        Gets the freeform_tags of this ApplicationSummary.
        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 ApplicationSummary.
        :rtype: dict(str, str)
        r!   r-   r(   r(   r)   r   ^     z ApplicationSummary.freeform_tagsc                 C   r/   )a  
        Sets the freeform_tags of this ApplicationSummary.
        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 ApplicationSummary.
        :type: dict(str, str)
        Nr;   )r&   r   r(   r(   r)   r   o     
c                 C   r+   )a  
        Gets the defined_tags of this ApplicationSummary.
        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 ApplicationSummary.
        :rtype: dict(str, dict(str, object))
        r"   r-   r(   r(   r)   r        zApplicationSummary.defined_tagsc                 C   r/   )a  
        Sets the defined_tags of this ApplicationSummary.
        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 ApplicationSummary.
        :type: dict(str, dict(str, object))
        Nr>   )r&   r   r(   r(   r)   r        
c                 C   r+   )a[  
        Gets the time_created of this ApplicationSummary.
        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 ApplicationSummary.
        :rtype: datetime
        r#   r-   r(   r(   r)   r     r<   zApplicationSummary.time_createdc                 C   r/   )af  
        Sets the time_created of this ApplicationSummary.
        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 ApplicationSummary.
        :type: datetime
        NrA   )r&   r   r(   r(   r)   r     r=   c                 C   r+   )aZ  
        Gets the time_updated of this ApplicationSummary.
        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 ApplicationSummary.
        :rtype: datetime
        r$   r-   r(   r(   r)   r     r?   zApplicationSummary.time_updatedc                 C   r/   )ae  
        Sets the time_updated of this ApplicationSummary.
        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 ApplicationSummary.
        :type: datetime
        NrB   )r&   r   r(   r(   r)   r     r@   c                 C   r+   )z
        Gets the image_policy_config of this ApplicationSummary.

        :return: The image_policy_config of this ApplicationSummary.
        :rtype: oci.functions.models.ImagePolicyConfig
        r%   r-   r(   r(   r)   r     r9   z&ApplicationSummary.image_policy_configc                 C   r/   )z
        Sets the image_policy_config of this ApplicationSummary.

        :param image_policy_config: The image_policy_config of this ApplicationSummary.
        :type: oci.functions.models.ImagePolicyConfig
        NrC   )r&   r   r(   r(   r)   r     r:   c                 C   s   t | S N)r   r-   r(   r(   r)   __repr__  s   zApplicationSummary.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r&   otherr(   r(   r)   __eq__  s   zApplicationSummary.__eq__c                 C   s
   | |k S rD   r(   rG   r(   r(   r)   __ne__  s   
zApplicationSummary.__ne__N)__name__
__module____qualname____doc__ZSHAPE_GENERIC_X86ZSHAPE_GENERIC_ARMZSHAPE_GENERIC_X86_ARMr*   propertyr   setterr   r   r   r   r   r   r   r   r   r   r   r   rE   rI   rJ   r(   r(   r(   r)   r      sz    j














	
	








	
	r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r(   r(   r(   r)   <module>   s   