o
    ɶdA                     @   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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d0d/ Zed1d2 Zejd3d2 Zed4d5 Zejd6d5 Zed7d8 Zejd9d8 Zed:d; Zejd<d; Zed=d> Z e jd?d> Z ed@dA Z!e!jdBdA Z!edCdD Z"e"jdEdD Z"edFdG Z#e#jdHdG Z#edIdJ Z$e$jdKdJ Z$edLdM Z%e%jdNdM Z%edOdP Z&e&jdQdP Z&edRdS Z'e'jdTdS Z'edUdV Z(e(jdWdV Z(edXdY Z)e)jdZdY Z)ed[d\ Z*e*jd]d\ Z*ed^d_ Z+e+jd`d_ Z+edadb Z,e,jdcdb Z,eddde Z-e-jdfde Z-edgdh Z.e.jdidh Z.edjdk Z/e/jdldk Z/edmdn Z0e0jdodn Z0edpdq Z1e1jdrdq Z1edsdt Z2e2jdudt Z2dvdw Z3dxdy Z4dzd{ Z5d|S )}DbSystemzI
    A DB System is the core logical unit of MySQL Database Service.
    CREATINGACTIVEINACTIVEUPDATINGDELETINGDELETEDFAILEDENABLEDDISABLEDc                 K   s  i 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i 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/d0d1dd2d3i| _ i dddd4dddd5dd6dd7d	d8dd9dd:dd;dd<dd=dd>dd?dd@ddAddi ddBddCddDddEddddFd d d"d"d$dGd%dHd&d&d(dId*dJd,dKd-dLd/dMd1dNd2dOi| _dP| _dP| _dP| _dP| _dP| _dP| _dP| _dP| _	dP| _
dP| _dP| _dP| _dP| _dP| _dP| _dP| _dP| _dP| _dP| _dP| _dP| _dP| _dP| _dP| _dP| _dP| _dP| _dP| _dP| _dP| _dP| _ dP| _!dP| _"dP| _#dP| _$dPS )Qa  
        Initializes a new DbSystem 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 DbSystem.
        :type id: str

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

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

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

        :param subnet_id:
            The value to assign to the subnet_id property of this DbSystem.
        :type subnet_id: str

        :param is_highly_available:
            The value to assign to the is_highly_available property of this DbSystem.
        :type is_highly_available: bool

        :param current_placement:
            The value to assign to the current_placement property of this DbSystem.
        :type current_placement: oci.mysql.models.DbSystemPlacement

        :param is_analytics_cluster_attached:
            The value to assign to the is_analytics_cluster_attached property of this DbSystem.
        :type is_analytics_cluster_attached: bool

        :param analytics_cluster:
            The value to assign to the analytics_cluster property of this DbSystem.
        :type analytics_cluster: oci.mysql.models.AnalyticsClusterSummary

        :param is_heat_wave_cluster_attached:
            The value to assign to the is_heat_wave_cluster_attached property of this DbSystem.
        :type is_heat_wave_cluster_attached: bool

        :param heat_wave_cluster:
            The value to assign to the heat_wave_cluster property of this DbSystem.
        :type heat_wave_cluster: oci.mysql.models.HeatWaveClusterSummary

        :param availability_domain:
            The value to assign to the availability_domain property of this DbSystem.
        :type availability_domain: str

        :param fault_domain:
            The value to assign to the fault_domain property of this DbSystem.
        :type fault_domain: str

        :param shape_name:
            The value to assign to the shape_name property of this DbSystem.
        :type shape_name: str

        :param mysql_version:
            The value to assign to the mysql_version property of this DbSystem.
        :type mysql_version: str

        :param backup_policy:
            The value to assign to the backup_policy property of this DbSystem.
        :type backup_policy: oci.mysql.models.BackupPolicy

        :param source:
            The value to assign to the source property of this DbSystem.
        :type source: oci.mysql.models.DbSystemSource

        :param configuration_id:
            The value to assign to the configuration_id property of this DbSystem.
        :type configuration_id: str

        :param data_storage_size_in_gbs:
            The value to assign to the data_storage_size_in_gbs property of this DbSystem.
        :type data_storage_size_in_gbs: int

        :param hostname_label:
            The value to assign to the hostname_label property of this DbSystem.
        :type hostname_label: str

        :param ip_address:
            The value to assign to the ip_address property of this DbSystem.
        :type ip_address: str

        :param port:
            The value to assign to the port property of this DbSystem.
        :type port: int

        :param port_x:
            The value to assign to the port_x property of this DbSystem.
        :type port_x: int

        :param endpoints:
            The value to assign to the endpoints property of this DbSystem.
        :type endpoints: list[oci.mysql.models.DbSystemEndpoint]

        :param channels:
            The value to assign to the channels property of this DbSystem.
        :type channels: list[oci.mysql.models.ChannelSummary]

        :param lifecycle_state:
            The value to assign to the lifecycle_state property of this DbSystem.
            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 lifecycle_details:
            The value to assign to the lifecycle_details property of this DbSystem.
        :type lifecycle_details: str

        :param maintenance:
            The value to assign to the maintenance property of this DbSystem.
        :type maintenance: oci.mysql.models.MaintenanceDetails

        :param deletion_policy:
            The value to assign to the deletion_policy property of this DbSystem.
        :type deletion_policy: oci.mysql.models.DeletionPolicyDetails

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

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

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

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

        :param crash_recovery:
            The value to assign to the crash_recovery property of this DbSystem.
            Allowed values for this property are: "ENABLED", "DISABLED", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type crash_recovery: str

        :param point_in_time_recovery_details:
            The value to assign to the point_in_time_recovery_details property of this DbSystem.
        :type point_in_time_recovery_details: oci.mysql.models.PointInTimeRecoveryDetails

        idstrdisplay_namedescriptioncompartment_id	subnet_idis_highly_availableboolcurrent_placementZDbSystemPlacementis_analytics_cluster_attachedanalytics_clusterZAnalyticsClusterSummaryis_heat_wave_cluster_attachedheat_wave_clusterZHeatWaveClusterSummaryavailability_domainfault_domain
shape_namemysql_versionbackup_policyZBackupPolicysourceZDbSystemSourceconfiguration_iddata_storage_size_in_gbsinthostname_label
ip_addressportport_x	endpointszlist[DbSystemEndpoint]channelszlist[ChannelSummary]lifecycle_statelifecycle_detailsmaintenanceZMaintenanceDetailsdeletion_policyZDeletionPolicyDetailstime_createddatetimetime_updatedfreeform_tagszdict(str, str)defined_tagszdict(str, dict(str, object))crash_recoverypoint_in_time_recovery_detailsZPointInTimeRecoveryDetailsZdisplayNameZcompartmentIdZsubnetIdZisHighlyAvailableZcurrentPlacementZisAnalyticsClusterAttachedZanalyticsClusterZisHeatWaveClusterAttachedZheatWaveClusterZavailabilityDomainZfaultDomainZ	shapeNameZmysqlVersionZbackupPolicyZconfigurationIdZdataStorageSizeInGBsZhostnameLabelZ	ipAddressZportXZlifecycleStateZlifecycleDetailsZdeletionPolicyZtimeCreatedZtimeUpdatedZfreeformTagsZdefinedTagsZcrashRecoveryZpointInTimeRecoveryDetailsN)%Zswagger_typesZattribute_map_id_display_name_description_compartment_id
_subnet_id_is_highly_available_current_placement_is_analytics_cluster_attached_analytics_cluster_is_heat_wave_cluster_attached_heat_wave_cluster_availability_domain_fault_domain_shape_name_mysql_version_backup_policy_source_configuration_id_data_storage_size_in_gbs_hostname_label_ip_address_port_port_x
_endpoints	_channels_lifecycle_state_lifecycle_details_maintenance_deletion_policy_time_created_time_updated_freeform_tags_defined_tags_crash_recovery_point_in_time_recovery_details)selfkwargs r\   >usr/lib/python3.10/site-packages/oci/mysql/models/db_system.py__init__6   sd   	
 !"#&	
 !"#&
zDbSystem.__init__c                 C      | j S )z
        **[Required]** Gets the id of this DbSystem.
        The OCID of the DB System.


        :return: The id of this DbSystem.
        :rtype: str
        r7   rZ   r\   r\   r]   r   <     
zDbSystem.idc                 C   
   || _ dS )z
        Sets the id of this DbSystem.
        The OCID of the DB System.


        :param id: The id of this DbSystem.
        :type: str
        Nr`   )rZ   r   r\   r\   r]   r   H     

c                 C   r_   )z
        **[Required]** Gets the display_name of this DbSystem.
        The user-friendly name for the DB System. It does not have to be unique.


        :return: The display_name of this DbSystem.
        :rtype: str
        r8   ra   r\   r\   r]   r   T  rb   zDbSystem.display_namec                 C   rc   )z
        Sets the display_name of this DbSystem.
        The user-friendly name for the DB System. It does not have to be unique.


        :param display_name: The display_name of this DbSystem.
        :type: str
        Nre   )rZ   r   r\   r\   r]   r   `  rd   c                 C   r_   )z
        Gets the description of this DbSystem.
        User-provided data about the DB System.


        :return: The description of this DbSystem.
        :rtype: str
        r9   ra   r\   r\   r]   r   l  rb   zDbSystem.descriptionc                 C   rc   )z
        Sets the description of this DbSystem.
        User-provided data about the DB System.


        :param description: The description of this DbSystem.
        :type: str
        Nrf   )rZ   r   r\   r\   r]   r   x  rd   c                 C   r_   )z
        **[Required]** Gets the compartment_id of this DbSystem.
        The OCID of the compartment the DB System belongs in.


        :return: The compartment_id of this DbSystem.
        :rtype: str
        r:   ra   r\   r\   r]   r     rb   zDbSystem.compartment_idc                 C   rc   )z
        Sets the compartment_id of this DbSystem.
        The OCID of the compartment the DB System belongs in.


        :param compartment_id: The compartment_id of this DbSystem.
        :type: str
        Nrg   )rZ   r   r\   r\   r]   r     rd   c                 C   r_   )z
        **[Required]** Gets the subnet_id of this DbSystem.
        The OCID of the subnet the DB System is associated with.


        :return: The subnet_id of this DbSystem.
        :rtype: str
        r;   ra   r\   r\   r]   r     rb   zDbSystem.subnet_idc                 C   rc   )z
        Sets the subnet_id of this DbSystem.
        The OCID of the subnet the DB System is associated with.


        :param subnet_id: The subnet_id of this DbSystem.
        :type: str
        Nrh   )rZ   r   r\   r\   r]   r     rd   c                 C   r_   )z
        Gets the is_highly_available of this DbSystem.
        Specifies if the DB System is highly available.


        :return: The is_highly_available of this DbSystem.
        :rtype: bool
        r<   ra   r\   r\   r]   r     rb   zDbSystem.is_highly_availablec                 C   rc   )z
        Sets the is_highly_available of this DbSystem.
        Specifies if the DB System is highly available.


        :param is_highly_available: The is_highly_available of this DbSystem.
        :type: bool
        Nri   )rZ   r   r\   r\   r]   r     rd   c                 C   r_   )z
        Gets the current_placement of this DbSystem.

        :return: The current_placement of this DbSystem.
        :rtype: oci.mysql.models.DbSystemPlacement
        r=   ra   r\   r\   r]   r        zDbSystem.current_placementc                 C   rc   )z
        Sets the current_placement of this DbSystem.

        :param current_placement: The current_placement of this DbSystem.
        :type: oci.mysql.models.DbSystemPlacement
        Nrj   )rZ   r   r\   r\   r]   r        
c                 C   r_   )a(  
        Gets the is_analytics_cluster_attached of this DbSystem.
        DEPRECATED -- please use `isHeatWaveClusterAttached` instead.
        If the DB System has an Analytics Cluster attached.


        :return: The is_analytics_cluster_attached of this DbSystem.
        :rtype: bool
        r>   ra   r\   r\   r]   r        z&DbSystem.is_analytics_cluster_attachedc                 C   rc   )aD  
        Sets the is_analytics_cluster_attached of this DbSystem.
        DEPRECATED -- please use `isHeatWaveClusterAttached` instead.
        If the DB System has an Analytics Cluster attached.


        :param is_analytics_cluster_attached: The is_analytics_cluster_attached of this DbSystem.
        :type: bool
        Nrm   )rZ   r   r\   r\   r]   r        
c                 C   r_   )z
        Gets the analytics_cluster of this DbSystem.

        :return: The analytics_cluster of this DbSystem.
        :rtype: oci.mysql.models.AnalyticsClusterSummary
        r?   ra   r\   r\   r]   r     rk   zDbSystem.analytics_clusterc                 C   rc   )z
        Sets the analytics_cluster of this DbSystem.

        :param analytics_cluster: The analytics_cluster of this DbSystem.
        :type: oci.mysql.models.AnalyticsClusterSummary
        Nrp   )rZ   r   r\   r\   r]   r     rl   c                 C   r_   )z
        Gets the is_heat_wave_cluster_attached of this DbSystem.
        If the DB System has a HeatWave Cluster attached.


        :return: The is_heat_wave_cluster_attached of this DbSystem.
        :rtype: bool
        r@   ra   r\   r\   r]   r     rb   z&DbSystem.is_heat_wave_cluster_attachedc                 C   rc   )z
        Sets the is_heat_wave_cluster_attached of this DbSystem.
        If the DB System has a HeatWave Cluster attached.


        :param is_heat_wave_cluster_attached: The is_heat_wave_cluster_attached of this DbSystem.
        :type: bool
        Nrq   )rZ   r   r\   r\   r]   r     rd   c                 C   r_   )z
        Gets the heat_wave_cluster of this DbSystem.

        :return: The heat_wave_cluster of this DbSystem.
        :rtype: oci.mysql.models.HeatWaveClusterSummary
        rA   ra   r\   r\   r]   r   &  rk   zDbSystem.heat_wave_clusterc                 C   rc   )z
        Sets the heat_wave_cluster of this DbSystem.

        :param heat_wave_cluster: The heat_wave_cluster of this DbSystem.
        :type: oci.mysql.models.HeatWaveClusterSummary
        Nrr   )rZ   r   r\   r\   r]   r   0  rl   c                 C   r_   )a  
        Gets the availability_domain of this DbSystem.
        The availability domain on which to deploy the Read/Write endpoint. This defines the preferred primary instance.

        In a failover scenario, the Read/Write endpoint is redirected to one of the other availability domains
        and the MySQL instance in that domain is promoted to the primary instance.
        This redirection does not affect the IP address of the DB System in any way.

        For a standalone DB System, this defines the availability domain in which the DB System is placed.


        :return: The availability_domain of this DbSystem.
        :rtype: str
        rB   ra   r\   r\   r]   r   :     zDbSystem.availability_domainc                 C   rc   )a  
        Sets the availability_domain of this DbSystem.
        The availability domain on which to deploy the Read/Write endpoint. This defines the preferred primary instance.

        In a failover scenario, the Read/Write endpoint is redirected to one of the other availability domains
        and the MySQL instance in that domain is promoted to the primary instance.
        This redirection does not affect the IP address of the DB System in any way.

        For a standalone DB System, this defines the availability domain in which the DB System is placed.


        :param availability_domain: The availability_domain of this DbSystem.
        :type: str
        Nrs   )rZ   r   r\   r\   r]   r   L     
c                 C   r_   )ak  
        Gets the fault_domain of this DbSystem.
        The fault domain on which to deploy the Read/Write endpoint. This defines the preferred primary instance.

        In a failover scenario, the Read/Write endpoint is redirected to one of the other fault domains
        and the MySQL instance in that domain is promoted to the primary instance.
        This redirection does not affect the IP address of the DB System in any way.

        For a standalone DB System, this defines the fault domain in which the DB System is placed.


        :return: The fault_domain of this DbSystem.
        :rtype: str
        rC   ra   r\   r\   r]   r   ^  rt   zDbSystem.fault_domainc                 C   rc   )av  
        Sets the fault_domain of this DbSystem.
        The fault domain on which to deploy the Read/Write endpoint. This defines the preferred primary instance.

        In a failover scenario, the Read/Write endpoint is redirected to one of the other fault domains
        and the MySQL instance in that domain is promoted to the primary instance.
        This redirection does not affect the IP address of the DB System in any way.

        For a standalone DB System, this defines the fault domain in which the DB System is placed.


        :param fault_domain: The fault_domain of this DbSystem.
        :type: str
        Nrv   )rZ   r   r\   r\   r]   r   p  ru   c                 C   r_   )a  
        Gets the shape_name of this DbSystem.
        The shape of the primary instances of the DB System. The shape
        determines resources allocated to a DB System - CPU cores
        and memory for VM shapes; CPU cores, memory and storage for non-VM
        (or bare metal) shapes. To get a list of shapes, use (the
        :func:`list_shapes` operation.


        :return: The shape_name of this DbSystem.
        :rtype: str
        rD   ra   r\   r\   r]   r        zDbSystem.shape_namec                 C   rc   )a  
        Sets the shape_name of this DbSystem.
        The shape of the primary instances of the DB System. The shape
        determines resources allocated to a DB System - CPU cores
        and memory for VM shapes; CPU cores, memory and storage for non-VM
        (or bare metal) shapes. To get a list of shapes, use (the
        :func:`list_shapes` operation.


        :param shape_name: The shape_name of this DbSystem.
        :type: str
        Nrw   )rZ   r   r\   r\   r]   r     s   
c                 C   r_   )z
        **[Required]** Gets the mysql_version of this DbSystem.
        Name of the MySQL Version in use for the DB System.


        :return: The mysql_version of this DbSystem.
        :rtype: str
        rE   ra   r\   r\   r]   r      rb   zDbSystem.mysql_versionc                 C   rc   )z
        Sets the mysql_version of this DbSystem.
        Name of the MySQL Version in use for the DB System.


        :param mysql_version: The mysql_version of this DbSystem.
        :type: str
        Nry   )rZ   r    r\   r\   r]   r      rd   c                 C   r_   )z
        Gets the backup_policy of this DbSystem.

        :return: The backup_policy of this DbSystem.
        :rtype: oci.mysql.models.BackupPolicy
        rF   ra   r\   r\   r]   r!     rk   zDbSystem.backup_policyc                 C   rc   )z
        Sets the backup_policy of this DbSystem.

        :param backup_policy: The backup_policy of this DbSystem.
        :type: oci.mysql.models.BackupPolicy
        Nrz   )rZ   r!   r\   r\   r]   r!     rl   c                 C   r_   )z
        Gets the source of this DbSystem.

        :return: The source of this DbSystem.
        :rtype: oci.mysql.models.DbSystemSource
        rG   ra   r\   r\   r]   r"     rk   zDbSystem.sourcec                 C   rc   )z
        Sets the source of this DbSystem.

        :param source: The source of this DbSystem.
        :type: oci.mysql.models.DbSystemSource
        Nr{   )rZ   r"   r\   r\   r]   r"     rl   c                 C   r_   )z
        Gets the configuration_id of this DbSystem.
        The OCID of the Configuration to be used for Instances in this DB System.


        :return: The configuration_id of this DbSystem.
        :rtype: str
        rH   ra   r\   r\   r]   r#     rb   zDbSystem.configuration_idc                 C   rc   )z
        Sets the configuration_id of this DbSystem.
        The OCID of the Configuration to be used for Instances in this DB System.


        :param configuration_id: The configuration_id of this DbSystem.
        :type: str
        Nr|   )rZ   r#   r\   r\   r]   r#     rd   c                 C   r_   )z
        **[Required]** Gets the data_storage_size_in_gbs of this DbSystem.
        Initial size of the data volume in GiBs that will be created and attached.


        :return: The data_storage_size_in_gbs of this DbSystem.
        :rtype: int
        rI   ra   r\   r\   r]   r$     rb   z!DbSystem.data_storage_size_in_gbsc                 C   rc   )a  
        Sets the data_storage_size_in_gbs of this DbSystem.
        Initial size of the data volume in GiBs that will be created and attached.


        :param data_storage_size_in_gbs: The data_storage_size_in_gbs of this DbSystem.
        :type: int
        Nr}   )rZ   r$   r\   r\   r]   r$     rd   c                 C   r_   )a  
        Gets the hostname_label of this DbSystem.
        The hostname for the primary endpoint of the DB System. Used for DNS.
        The value is the hostname portion of the primary private IP's fully qualified domain name (FQDN)
        (for example, "dbsystem-1" in FQDN "dbsystem-1.subnet123.vcn1.oraclevcn.com").
        Must be unique across all VNICs in the subnet and comply with RFC 952 and RFC 1123.


        :return: The hostname_label of this DbSystem.
        :rtype: str
        rJ   ra   r\   r\   r]   r&        zDbSystem.hostname_labelc                 C   rc   )a  
        Sets the hostname_label of this DbSystem.
        The hostname for the primary endpoint of the DB System. Used for DNS.
        The value is the hostname portion of the primary private IP's fully qualified domain name (FQDN)
        (for example, "dbsystem-1" in FQDN "dbsystem-1.subnet123.vcn1.oraclevcn.com").
        Must be unique across all VNICs in the subnet and comply with RFC 952 and RFC 1123.


        :param hostname_label: The hostname_label of this DbSystem.
        :type: str
        Nr~   )rZ   r&   r\   r\   r]   r&   !     
c                 C   r_   )a  
        Gets the ip_address of this DbSystem.
        The IP address the DB System is configured to listen on. A private
        IP address of the primary endpoint of the DB System. Must be an
        available IP address within the subnet's CIDR. This will be a
        "dotted-quad" style IPv4 address.


        :return: The ip_address of this DbSystem.
        :rtype: str
        rK   ra   r\   r\   r]   r'   0  r   zDbSystem.ip_addressc                 C   rc   )a  
        Sets the ip_address of this DbSystem.
        The IP address the DB System is configured to listen on. A private
        IP address of the primary endpoint of the DB System. Must be an
        available IP address within the subnet's CIDR. This will be a
        "dotted-quad" style IPv4 address.


        :param ip_address: The ip_address of this DbSystem.
        :type: str
        Nr   )rZ   r'   r\   r\   r]   r'   ?  r   c                 C   r_   )z
        Gets the port of this DbSystem.
        The port for primary endpoint of the DB System to listen on.


        :return: The port of this DbSystem.
        :rtype: int
        rL   ra   r\   r\   r]   r(   N  rb   zDbSystem.portc                 C   rc   )z
        Sets the port of this DbSystem.
        The port for primary endpoint of the DB System to listen on.


        :param port: The port of this DbSystem.
        :type: int
        Nr   )rZ   r(   r\   r\   r]   r(   Z  rd   c                 C   r_   )z
        Gets the port_x of this DbSystem.
        The network port on which X Plugin listens for TCP/IP connections. This is the X Plugin equivalent of port.


        :return: The port_x of this DbSystem.
        :rtype: int
        rM   ra   r\   r\   r]   r)   f  rb   zDbSystem.port_xc                 C   rc   )z
        Sets the port_x of this DbSystem.
        The network port on which X Plugin listens for TCP/IP connections. This is the X Plugin equivalent of port.


        :param port_x: The port_x of this DbSystem.
        :type: int
        Nr   )rZ   r)   r\   r\   r]   r)   r  rd   c                 C   r_   )z
        Gets the endpoints of this DbSystem.
        The network endpoints available for this DB System.


        :return: The endpoints of this DbSystem.
        :rtype: list[oci.mysql.models.DbSystemEndpoint]
        rN   ra   r\   r\   r]   r*   ~  rb   zDbSystem.endpointsc                 C   rc   )z
        Sets the endpoints of this DbSystem.
        The network endpoints available for this DB System.


        :param endpoints: The endpoints of this DbSystem.
        :type: list[oci.mysql.models.DbSystemEndpoint]
        Nr   )rZ   r*   r\   r\   r]   r*     rd   c                 C   r_   )z
        Gets the channels of this DbSystem.
        A list with a summary of all the Channels attached to the DB System.


        :return: The channels of this DbSystem.
        :rtype: list[oci.mysql.models.ChannelSummary]
        rO   ra   r\   r\   r]   r+     rb   zDbSystem.channelsc                 C   rc   )z
        Sets the channels of this DbSystem.
        A list with a summary of all the Channels attached to the DB System.


        :param channels: The channels of this DbSystem.
        :type: list[oci.mysql.models.ChannelSummary]
        Nr   )rZ   r+   r\   r\   r]   r+     rd   c                 C   r_   )a  
        **[Required]** Gets the lifecycle_state of this DbSystem.
        The current state of the DB System.

        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 DbSystem.
        :rtype: str
        )rP   ra   r\   r\   r]   r,     r   zDbSystem.lifecycle_statec                 C   s    g d}t ||sd}|| _dS )z
        Sets the lifecycle_state of this DbSystem.
        The current state of the DB System.


        :param lifecycle_state: The lifecycle_state of this DbSystem.
        :type: str
        )r   r   r	   r
   r   r   r   UNKNOWN_ENUM_VALUEN)r   rP   )rZ   r,   allowed_valuesr\   r\   r]   r,     s   


c                 C   r_   )z
        Gets the lifecycle_details of this DbSystem.
        Additional information about the current lifecycleState.


        :return: The lifecycle_details of this DbSystem.
        :rtype: str
        rQ   ra   r\   r\   r]   r-     rb   zDbSystem.lifecycle_detailsc                 C   rc   )z
        Sets the lifecycle_details of this DbSystem.
        Additional information about the current lifecycleState.


        :param lifecycle_details: The lifecycle_details of this DbSystem.
        :type: str
        Nr   )rZ   r-   r\   r\   r]   r-     rd   c                 C   r_   )z
        **[Required]** Gets the maintenance of this DbSystem.

        :return: The maintenance of this DbSystem.
        :rtype: oci.mysql.models.MaintenanceDetails
        rR   ra   r\   r\   r]   r.     rk   zDbSystem.maintenancec                 C   rc   )z
        Sets the maintenance of this DbSystem.

        :param maintenance: The maintenance of this DbSystem.
        :type: oci.mysql.models.MaintenanceDetails
        Nr   )rZ   r.   r\   r\   r]   r.     rl   c                 C   r_   )z
        **[Required]** Gets the deletion_policy of this DbSystem.

        :return: The deletion_policy of this DbSystem.
        :rtype: oci.mysql.models.DeletionPolicyDetails
        rS   ra   r\   r\   r]   r/     rk   zDbSystem.deletion_policyc                 C   rc   )z
        Sets the deletion_policy of this DbSystem.

        :param deletion_policy: The deletion_policy of this DbSystem.
        :type: oci.mysql.models.DeletionPolicyDetails
        Nr   )rZ   r/   r\   r\   r]   r/     rl   c                 C   r_   )z
        **[Required]** Gets the time_created of this DbSystem.
        The date and time the DB System was created.


        :return: The time_created of this DbSystem.
        :rtype: datetime
        rT   ra   r\   r\   r]   r0     rb   zDbSystem.time_createdc                 C   rc   )z
        Sets the time_created of this DbSystem.
        The date and time the DB System was created.


        :param time_created: The time_created of this DbSystem.
        :type: datetime
        Nr   )rZ   r0   r\   r\   r]   r0     rd   c                 C   r_   )z
        **[Required]** Gets the time_updated of this DbSystem.
        The time the DB System was last updated.


        :return: The time_updated of this DbSystem.
        :rtype: datetime
        rU   ra   r\   r\   r]   r2   $  rb   zDbSystem.time_updatedc                 C   rc   )z
        Sets the time_updated of this DbSystem.
        The time the DB System was last updated.


        :param time_updated: The time_updated of this DbSystem.
        :type: datetime
        Nr   )rZ   r2   r\   r\   r]   r2   0  rd   c                 C   r_   )a7  
        Gets the freeform_tags of this DbSystem.
        Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
        Example: `{"bar-key": "value"}`


        :return: The freeform_tags of this DbSystem.
        :rtype: dict(str, str)
        rV   ra   r\   r\   r]   r3   <  rn   zDbSystem.freeform_tagsc                 C   rc   )aC  
        Sets the freeform_tags of this DbSystem.
        Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
        Example: `{"bar-key": "value"}`


        :param freeform_tags: The freeform_tags of this DbSystem.
        :type: dict(str, str)
        Nr   )rZ   r3   r\   r\   r]   r3   I  ro   c                 C   r_   )a1  
        Gets the defined_tags of this DbSystem.
        Defined tags for this resource. Each key is predefined and scoped to a namespace.
        Example: `{"foo-namespace": {"bar-key": "value"}}`


        :return: The defined_tags of this DbSystem.
        :rtype: dict(str, dict(str, object))
        rW   ra   r\   r\   r]   r4   V  rn   zDbSystem.defined_tagsc                 C   rc   )a<  
        Sets the defined_tags of this DbSystem.
        Defined tags for this resource. Each key is predefined and scoped to a namespace.
        Example: `{"foo-namespace": {"bar-key": "value"}}`


        :param defined_tags: The defined_tags of this DbSystem.
        :type: dict(str, dict(str, object))
        Nr   )rZ   r4   r\   r\   r]   r4   c  ro   c                 C   r_   )a  
        Gets the crash_recovery of this DbSystem.
        Whether to run the DB System with InnoDB Redo Logs and the Double Write Buffer enabled or disabled,
        and whether to enable or disable syncing of the Binary Logs.

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


        :return: The crash_recovery of this DbSystem.
        :rtype: str
        )rX   ra   r\   r\   r]   r5   p  rx   zDbSystem.crash_recoveryc                 C   s    ddg}t ||sd}|| _dS )aE  
        Sets the crash_recovery of this DbSystem.
        Whether to run the DB System with InnoDB Redo Logs and the Double Write Buffer enabled or disabled,
        and whether to enable or disable syncing of the Binary Logs.


        :param crash_recovery: The crash_recovery of this DbSystem.
        :type: str
        r   r   r   N)r   rX   )rZ   r5   r   r\   r\   r]   r5     s   

c                 C   r_   )z
        Gets the point_in_time_recovery_details of this DbSystem.

        :return: The point_in_time_recovery_details of this DbSystem.
        :rtype: oci.mysql.models.PointInTimeRecoveryDetails
        rY   ra   r\   r\   r]   r6     rk   z'DbSystem.point_in_time_recovery_detailsc                 C   rc   )z
        Sets the point_in_time_recovery_details of this DbSystem.

        :param point_in_time_recovery_details: The point_in_time_recovery_details of this DbSystem.
        :type: oci.mysql.models.PointInTimeRecoveryDetails
        Nr   )rZ   r6   r\   r\   r]   r6     rl   c                 C   s   t | S N)r   ra   r\   r\   r]   __repr__  s   zDbSystem.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__rZ   otherr\   r\   r]   __eq__  s   zDbSystem.__eq__c                 C   s
   | |k S r   r\   r   r\   r\   r]   __ne__  s   
zDbSystem.__ne__N)6__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CRASH_RECOVERY_ENABLEDZCRASH_RECOVERY_DISABLEDr^   propertyr   setterr   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r2   r3   r4   r5   r6   r   r   r   r\   r\   r\   r]   r      s:     












	
	


	
	


	
	








	
	
	
	




















	
	
	
	










	
	r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r\   r\   r\   r]   <module>   s   