ruạṛ
a N��f?T � @ 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 @ s� e Zd ZdZdZdZdZdZdZdZ dZ d Zd ZdZ dZd d� Zedd� �Zedd� �Zejdd� �Zedd� �Zejdd� �Zedd� �Zejdd� �Zedd� �Zejdd� �Zedd� �Zejdd� �Zed d!� �Zejd"d!� �Zed#d$� �Zejd%d$� �Zed&d'� �Zejd(d'� �Zed)d*� �Zejd+d*� �Zed,d-� �Zejd.d-� �Zed/d0� �Zejd1d0� �Zed2d3� �Zejd4d3� �Zed5d6� �Z e jd7d6� �Z ed8d9� �Z!e!jd:d9� �Z!ed;d<� �Z"e"jd=d<� �Z"d>d?� Z#d@dA� Z$dBdC� Z%dDS )E�VolumeAttachmenta� A base object for all types of attachments between a storage volume and an instance. For specific details about iSCSI attachments, see :class:`IScsiVolumeAttachment`. For general information about volume attachments, see `Overview of Block Volume Storage`__. **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API. __ https://docs.cloud.oracle.com/iaas/Content/Block/Concepts/overview.htm � ATTACHING�ATTACHED� DETACHING�DETACHED�UNKNOWN� LOGGING_IN�LOGIN_SUCCEEDED�LOGIN_FAILED�LOGGING_OUT�LOGOUT_SUCCEEDED� LOGOUT_FAILEDc K s� dddddddddddddddd�| _ ddddd d ddd ddddddd�| _d| _d| _d| _d| _d| _d| _d| _d| _ d| _ d| _d| _d| _ d| _d| _d| _dS )a5 Initializes a new VolumeAttachment 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.core.models.IScsiVolumeAttachment` * :class:`~oci.core.models.EmulatedVolumeAttachment` * :class:`~oci.core.models.ParavirtualizedVolumeAttachment` The following keyword arguments are supported (corresponding to the getters/setters of this class): :param attachment_type: The value to assign to the attachment_type property of this VolumeAttachment. :type attachment_type: str :param availability_domain: The value to assign to the availability_domain property of this VolumeAttachment. :type availability_domain: str :param compartment_id: The value to assign to the compartment_id property of this VolumeAttachment. :type compartment_id: str :param device: The value to assign to the device property of this VolumeAttachment. :type device: str :param display_name: The value to assign to the display_name property of this VolumeAttachment. :type display_name: str :param id: The value to assign to the id property of this VolumeAttachment. :type id: str :param instance_id: The value to assign to the instance_id property of this VolumeAttachment. :type instance_id: str :param is_read_only: The value to assign to the is_read_only property of this VolumeAttachment. :type is_read_only: bool :param is_shareable: The value to assign to the is_shareable property of this VolumeAttachment. :type is_shareable: bool :param lifecycle_state: The value to assign to the lifecycle_state property of this VolumeAttachment. Allowed values for this property are: "ATTACHING", "ATTACHED", "DETACHING", "DETACHED", 'UNKNOWN_ENUM_VALUE'. Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'. :type lifecycle_state: str :param time_created: The value to assign to the time_created property of this VolumeAttachment. :type time_created: datetime :param volume_id: The value to assign to the volume_id property of this VolumeAttachment. :type volume_id: str :param is_pv_encryption_in_transit_enabled: The value to assign to the is_pv_encryption_in_transit_enabled property of this VolumeAttachment. :type is_pv_encryption_in_transit_enabled: bool :param is_multipath: The value to assign to the is_multipath property of this VolumeAttachment. :type is_multipath: bool :param iscsi_login_state: The value to assign to the iscsi_login_state property of this VolumeAttachment. Allowed values for this property are: "UNKNOWN", "LOGGING_IN", "LOGIN_SUCCEEDED", "LOGIN_FAILED", "LOGGING_OUT", "LOGOUT_SUCCEEDED", "LOGOUT_FAILED", 'UNKNOWN_ENUM_VALUE'. Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'. :type iscsi_login_state: str �str�bool�datetime)�attachment_type�availability_domain�compartment_id�device�display_name�id�instance_id�is_read_only�is_shareable�lifecycle_state�time_created� volume_id�#is_pv_encryption_in_transit_enabled�is_multipath�iscsi_login_state�attachmentType�availabilityDomain� compartmentIdr �displayNamer � instanceId� isReadOnly�isShareable�lifecycleState�timeCreated�volumeId�isPvEncryptionInTransitEnabled�isMultipath�iscsiLoginStateN)� swagger_types� attribute_map�_attachment_type�_availability_domain�_compartment_id�_device� _display_name�_id�_instance_id� _is_read_only� _is_shareable�_lifecycle_state� _time_created� _volume_id�$_is_pv_encryption_in_transit_enabled� _is_multipath�_iscsi_login_state)�self�kwargs� rD ��/sparta/input/_build_configuration/image_build+validate/lib/bmcenv/lib64/python3.9/site-packages/oci/core/models/volume_attachment.py�__init__F s^ M��zVolumeAttachment.__init__c C s4 | d }|dkrdS |dkr dS |dkr,dS dS d S ) 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$ �iscsi�IScsiVolumeAttachment�emulated�EmulatedVolumeAttachment�paravirtualized�ParavirtualizedVolumeAttachmentr NrD )�object_dictionary�typerD rD rE �get_subtype� s zVolumeAttachment.get_subtypec C s | j S )z� **[Required]** Gets the attachment_type of this VolumeAttachment. The type of volume attachment. :return: The attachment_type of this VolumeAttachment. :rtype: str �r3 �rB rD rD rE r � s z VolumeAttachment.attachment_typec C s || _ dS )z� Sets the attachment_type of this VolumeAttachment. The type of volume attachment. :param attachment_type: The attachment_type of this VolumeAttachment. :type: str NrP )rB r rD rD rE r � s c C s | j S )a **[Required]** Gets the availability_domain of this VolumeAttachment. The availability domain of an instance. Example: `Uocm:PHX-AD-1` :return: The availability_domain of this VolumeAttachment. :rtype: str �r4 rQ rD rD rE r � s z$VolumeAttachment.availability_domainc C s || _ dS )a Sets the availability_domain of this VolumeAttachment. The availability domain of an instance. Example: `Uocm:PHX-AD-1` :param availability_domain: The availability_domain of this VolumeAttachment. :type: str NrR )rB r rD rD rE r � s c C s | j S )z� **[Required]** Gets the compartment_id of this VolumeAttachment. The OCID of the compartment. :return: The compartment_id of this VolumeAttachment. :rtype: str �r5 rQ rD rD rE r s zVolumeAttachment.compartment_idc C s || _ dS )z� Sets the compartment_id of this VolumeAttachment. The OCID of the compartment. :param compartment_id: The compartment_id of this VolumeAttachment. :type: str NrS )rB r rD rD rE r s c C s | j S )z� Gets the device of this VolumeAttachment. The device name. :return: The device of this VolumeAttachment. :rtype: str �r6 rQ rD rD rE r % s zVolumeAttachment.devicec C s || _ dS )z� Sets the device of this VolumeAttachment. The device name. :param device: The device of this VolumeAttachment. :type: str NrT )rB r rD rD rE r 1 s c C s | j S )a Gets the display_name of this VolumeAttachment. A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. :return: The display_name of this VolumeAttachment. :rtype: str �r7 rQ rD rD rE r = s zVolumeAttachment.display_namec C s || _ dS )a Sets the display_name of this VolumeAttachment. A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. :param display_name: The display_name of this VolumeAttachment. :type: str NrU )rB r rD rD rE r J s c C s | j S )z� **[Required]** Gets the id of this VolumeAttachment. The OCID of the volume attachment. :return: The id of this VolumeAttachment. :rtype: str �r8 rQ rD rD rE r W s zVolumeAttachment.idc C s || _ dS )z� Sets the id of this VolumeAttachment. The OCID of the volume attachment. :param id: The id of this VolumeAttachment. :type: str NrV )rB r rD rD rE r c s c C s | j S )z� **[Required]** Gets the instance_id of this VolumeAttachment. The OCID of the instance the volume is attached to. :return: The instance_id of this VolumeAttachment. :rtype: str �r9 rQ rD rD rE r o s zVolumeAttachment.instance_idc C s || _ dS )z� Sets the instance_id of this VolumeAttachment. The OCID of the instance the volume is attached to. :param instance_id: The instance_id of this VolumeAttachment. :type: str NrW )rB r rD rD rE r { s c C s | j S )z� Gets the is_read_only of this VolumeAttachment. Whether the attachment was created in read-only mode. :return: The is_read_only of this VolumeAttachment. :rtype: bool �r: rQ rD rD rE r � s zVolumeAttachment.is_read_onlyc C s || _ dS )z� Sets the is_read_only of this VolumeAttachment. Whether the attachment was created in read-only mode. :param is_read_only: The is_read_only of this VolumeAttachment. :type: bool NrX )rB r rD rD rE r � s c C s | j S )a� Gets the is_shareable of this VolumeAttachment. Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified. :return: The is_shareable of this VolumeAttachment. :rtype: bool �r; rQ rD rD rE r � s zVolumeAttachment.is_shareablec C s || _ dS )a Sets the is_shareable of this VolumeAttachment. Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified. :param is_shareable: The is_shareable of this VolumeAttachment. :type: bool NrY )rB r rD rD rE r � s c C s | j S )a� **[Required]** Gets the lifecycle_state of this VolumeAttachment. The current state of the volume attachment. Allowed values for this property are: "ATTACHING", "ATTACHED", "DETACHING", "DETACHED", 'UNKNOWN_ENUM_VALUE'. Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'. :return: The lifecycle_state of this VolumeAttachment. :rtype: str )r<