oracle / oracle.oci / 4.32.0 / module / oci_compute_volume_attachment Manage a VolumeAttachment resource in Oracle Cloud Infrastructure | "added in version" 2.9.0 of oracle.oci" Authors: Oracle (@oracle) preview | supported by communityoracle.oci.oci_compute_volume_attachment (4.32.0) — module
Install with ansible-galaxy collection install oracle.oci:==4.32.0
collections: - name: oracle.oci version: 4.32.0
This module allows the user to create, update and delete a VolumeAttachment resource in Oracle Cloud Infrastructure
For I(state=present), attaches the specified storage volume to the specified instance.
- name: Create volume_attachment with type = service_determined oci_compute_volume_attachment: # required instance_id: "ocid1.instance.oc1..xxxxxxEXAMPLExxxxxx" type: service_determined volume_id: "ocid1.volume.oc1..xxxxxxEXAMPLExxxxxx" # optional device: device_example display_name: display_name_example is_read_only: true is_shareable: true
- name: Create volume_attachment with type = emulated oci_compute_volume_attachment: # required instance_id: "ocid1.instance.oc1..xxxxxxEXAMPLExxxxxx" type: emulated volume_id: "ocid1.volume.oc1..xxxxxxEXAMPLExxxxxx" # optional device: device_example display_name: display_name_example is_read_only: true is_shareable: true
- name: Create volume_attachment with type = iscsi oci_compute_volume_attachment: # required instance_id: "ocid1.instance.oc1..xxxxxxEXAMPLExxxxxx" type: iscsi volume_id: "ocid1.volume.oc1..xxxxxxEXAMPLExxxxxx" # optional use_chap: true encryption_in_transit_type: NONE is_agent_auto_iscsi_login_enabled: true device: device_example display_name: display_name_example is_read_only: true is_shareable: true
- name: Create volume_attachment with type = paravirtualized oci_compute_volume_attachment: # required instance_id: "ocid1.instance.oc1..xxxxxxEXAMPLExxxxxx" type: paravirtualized volume_id: "ocid1.volume.oc1..xxxxxxEXAMPLExxxxxx" # optional device: device_example display_name: display_name_example is_read_only: true is_shareable: true is_pv_encryption_in_transit_enabled: true
- name: Update volume_attachment oci_compute_volume_attachment: # required volume_attachment_id: "ocid1.volumeattachment.oc1..xxxxxxEXAMPLExxxxxx" # optional iscsi_login_state: UNKNOWN
- name: Update volume_attachment using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set) oci_compute_volume_attachment: # required display_name: display_name_example compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx" # optional iscsi_login_state: UNKNOWN
- name: Delete volume_attachment oci_compute_volume_attachment: # required volume_attachment_id: "ocid1.volumeattachment.oc1..xxxxxxEXAMPLExxxxxx" state: absent
- name: Delete volume_attachment using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set) oci_compute_volume_attachment: # required display_name: display_name_example compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx" state: absent
type: choices: - service_determined - emulated - iscsi - paravirtualized description: - The type of volume. The only supported values are "iscsi" and "paravirtualized". - Required for create using I(state=present). type: str wait: default: true description: Whether to wait for create or delete operation to complete. type: bool state: choices: - present - absent default: present description: - The state of the VolumeAttachment. - Use I(state=present) to create or update a VolumeAttachment. - Use I(state=absent) to delete a VolumeAttachment. required: false type: str device: description: - The device name. To retrieve a list of devices for a given instance, see L(ListInstanceDevices,https://docs.cloud.oracle.com/en- us/iaas/api/#/en/iaas/latest/Device/ListInstanceDevices). type: str key_by: description: The list of attributes of this resource which should be used to uniquely identify an instance of the resource. By default, all the attributes of a resource are used to uniquely identify a resource. elements: str type: list region: description: - The Oracle Cloud Infrastructure region to use for all OCI API requests. If not set, then the value of the OCI_REGION variable, if any, is used. This option is required if the region is not specified through a configuration file (See C(config_file_location)). Please refer to U(https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm) for more information on OCI regions. type: str tenancy: description: - OCID of your tenancy. If not set, then the value of the OCI_TENANCY variable, if any, is used. This option is required if the tenancy OCID is not specified through a configuration file (See C(config_file_location)). To get the tenancy OCID, please refer U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm) type: str api_user: description: - The OCID of the user, on whose behalf, OCI APIs are invoked. If not set, then the value of the OCI_USER_ID environment variable, if any, is used. This option is required if the user is not specified through a configuration file (See C(config_file_location)). To get the user's OCID, please refer U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm). type: str use_chap: description: - Whether to use CHAP authentication for the volume attachment. Defaults to false. - Applicable when type is 'iscsi' type: bool auth_type: choices: - api_key - instance_principal - instance_obo_user - resource_principal - security_token default: api_key description: - The type of authentication to use for making API requests. By default C(auth_type="api_key") based authentication is performed and the API key (see I(api_user_key_file)) in your config file will be used. If this 'auth_type' module option is not specified, the value of the OCI_ANSIBLE_AUTH_TYPE, if any, is used. Use C(auth_type="instance_principal") to use instance principal based authentication when running ansible playbooks within an OCI compute instance. type: str volume_id: description: - The OCID of the volume. - Required for create using I(state=present). type: str cert_bundle: description: - The full path to a CA certificate bundle to be used for SSL verification. This will override the default CA certificate bundle. If not set, then the value of the OCI_ANSIBLE_CERT_BUNDLE variable, if any, is used. type: str instance_id: description: - The OCID of the instance. - Required for create using I(state=present). type: str auth_purpose: choices: - service_principal description: - The auth purpose which can be used in conjunction with 'auth_type=instance_principal'. The default auth_purpose for instance_principal is None. type: str display_name: aliases: - name description: - A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. - Required for create, update, delete when environment variable C(OCI_USE_NAME_AS_IDENTIFIER) is set. type: str force_create: default: false description: Whether to attempt non-idempotent creation of a resource. By default, create resource is an idempotent operation, and doesn't create the resource if it already exists. Setting this option to true, forcefully creates a copy of the resource, even if it already exists.This option is mutually exclusive with I(key_by). type: bool is_read_only: description: - Whether the attachment was created in read-only mode. type: bool is_shareable: description: - 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. type: bool wait_timeout: description: Time, in seconds, to wait when I(wait=yes). Defaults to 1200 for most of the services but some services might have a longer wait timeout. type: int compartment_id: description: - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. - Required for create using I(state=present). - Required for update when environment variable C(OCI_USE_NAME_AS_IDENTIFIER) is set. - Required for delete when environment variable C(OCI_USE_NAME_AS_IDENTIFIER) is set. type: str api_user_key_file: description: - Full path and filename of the private key (in PEM format). If not set, then the value of the OCI_USER_KEY_FILE variable, if any, is used. This option is required if the private key is not specified through a configuration file (See C(config_file_location)). If the key is encrypted with a pass-phrase, the C(api_user_key_pass_phrase) option must also be provided. type: str iscsi_login_state: choices: - UNKNOWN - LOGGING_IN - LOGIN_SUCCEEDED - LOGIN_FAILED - LOGGING_OUT - LOGOUT_SUCCEEDED - LOGOUT_FAILED description: - The iscsi login state of the volume attachment. For a multipath volume attachment, all iscsi sessions need to be all logged-in or logged-out to be in logged-in or logged-out state. - This parameter is updatable. type: str config_profile_name: description: - The profile to load from the config file referenced by C(config_file_location). If not set, then the value of the OCI_CONFIG_PROFILE environment variable, if any, is used. Otherwise, defaults to the "DEFAULT" profile in C(config_file_location). type: str api_user_fingerprint: description: - Fingerprint for the key pair being used. If not set, then the value of the OCI_USER_FINGERPRINT environment variable, if any, is used. This option is required if the key fingerprint is not specified through a configuration file (See C(config_file_location)). To get the key pair's fingerprint value please refer U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm). type: str config_file_location: description: - Path to configuration file. If not set then the value of the OCI_CONFIG_FILE environment variable, if any, is used. Otherwise, defaults to ~/.oci/config. type: str volume_attachment_id: aliases: - id description: - The OCID of the volume attachment. - Required for update using I(state=present) when environment variable C(OCI_USE_NAME_AS_IDENTIFIER) is not set. - Required for delete using I(state=absent) when environment variable C(OCI_USE_NAME_AS_IDENTIFIER) is not set. type: str api_user_key_pass_phrase: description: - Passphrase used by the key referenced in C(api_user_key_file), if it is encrypted. If not set, then the value of the OCI_USER_KEY_PASS_PHRASE variable, if any, is used. This option is required if the key passphrase is not specified through a configuration file (See C(config_file_location)). type: str encryption_in_transit_type: choices: - NONE - BM_ENCRYPTION_IN_TRANSIT description: - Refer the top-level definition of encryptionInTransitType. The default value is NONE. - Applicable when type is 'iscsi' type: str is_agent_auto_iscsi_login_enabled: description: - Whether to enable Oracle Cloud Agent to perform the iSCSI login and logout commands after the volume attach or detach operations for non multipath-enabled iSCSI attachments. - Applicable when type is 'iscsi' type: bool is_pv_encryption_in_transit_enabled: description: - Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false. - Applicable when type is 'paravirtualized' type: bool realm_specific_endpoint_template_enabled: description: - Enable/Disable realm specific endpoint template for service client. By Default, realm specific endpoint template is disabled. If not set, then the value of the OCI_REALM_SPECIFIC_SERVICE_ENDPOINT_TEMPLATE_ENABLED variable, if any, is used. type: bool
volume_attachment: contains: attachment_type: description: - The type of volume attachment. returned: on success sample: emulated type: str availability_domain: description: - The availability domain of an instance. - 'Example: `Uocm:PHX-AD-1`' returned: on success sample: Uocm:PHX-AD-1 type: str chap_secret: description: - The Challenge-Handshake-Authentication-Protocol (CHAP) secret valid for the associated CHAP user name. (Also called the "CHAP password".) returned: on success sample: chap_secret_example type: str chap_username: description: - The volume's system-generated Challenge-Handshake-Authentication-Protocol (CHAP) user name. See L(RFC 1994,https://tools.ietf.org/html/rfc1994) for more on CHAP. - 'Example: `ocid1.volume.oc1.phx.<unique_ID>`' returned: on success sample: chap_username_example type: str compartment_id: description: - The OCID of the compartment. returned: on success sample: ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx type: str device: description: - The device name. returned: on success sample: device_example type: str display_name: description: - A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. returned: on success sample: display_name_example type: str encryption_in_transit_type: description: - Refer the top-level definition of encryptionInTransitType. The default value is NONE. returned: on success sample: NONE type: str id: description: - The OCID of the volume attachment. returned: on success sample: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx type: str instance_id: description: - The OCID of the instance the volume is attached to. returned: on success sample: ocid1.instance.oc1..xxxxxxEXAMPLExxxxxx type: str ipv4: description: - The volume's iSCSI IP address. - 'Example: `169.254.0.2`' returned: on success sample: ipv4_example type: str iqn: description: - The target volume's iSCSI Qualified Name in the format defined by L(RFC 3720,https://tools.ietf.org/html/rfc3720#page-32). - 'Example: `iqn.2015-12.us.oracle.com:<CHAP_username>`' returned: on success sample: iqn_example type: str is_agent_auto_iscsi_login_enabled: description: - Whether Oracle Cloud Agent is enabled perform the iSCSI login and logout commands after the volume attach or detach operations for non multipath-enabled iSCSI attachments. returned: on success sample: true type: bool is_multipath: description: - Whether the Iscsi or Paravirtualized attachment is multipath or not, it is not applicable to NVMe attachment. returned: on success sample: true type: bool is_pv_encryption_in_transit_enabled: description: - Whether in-transit encryption for the data volume's paravirtualized attachment is enabled or not. returned: on success sample: true type: bool is_read_only: description: - Whether the attachment was created in read-only mode. returned: on success sample: true type: bool is_shareable: description: - 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. returned: on success sample: true type: bool iscsi_attach_commands: description: - Commands to attach the iSCSI block volume. Empty if attachment_type is not iscsi. returned: on success sample: - sudo iscsiadm -m node -o new -T IQN -p IP:PORT - sudo iscsiadm -m node -o update ... type: list iscsi_detach_commands: description: - Commands to detach the iSCSI block volume. Empty if attachment_type is not iscsi. returned: on success sample: - sudo iscsiadm -m node -T IQN -p IP:PORT -u - sudo iscsiadm -m node -o delete -T IQN type: list iscsi_login_state: description: - The iscsi login state of the volume attachment. For a Iscsi volume attachment, all iscsi sessions need to be all logged-in or logged-out to be in logged-in or logged-out state. returned: on success sample: UNKNOWN type: str lifecycle_state: description: - The current state of the volume attachment. returned: on success sample: ATTACHING type: str multipath_devices: contains: ipv4: description: - The volume's iSCSI IP address. - 'Example: `169.254.2.2`' returned: on success sample: ipv4_example type: str iqn: description: - The target volume's iSCSI Qualified Name in the format defined by L(RFC 3720,https://tools.ietf.org/html/rfc3720#page-32). - 'Example: `iqn.2015-12.com.oracleiaas:40b7ee03-883f-46c6-a951-63d2841d2195`' returned: on success sample: iqn_example type: str port: description: - The volume's iSCSI port, usually port 860 or 3260. - 'Example: `3260`' returned: on success sample: 56 type: int description: - A list of secondary multipath devices returned: on success type: complex port: description: - The volume's iSCSI port, usually port 860 or 3260. - 'Example: `3260`' returned: on success sample: 56 type: int time_created: description: - The date and time the volume was created, in the format defined by L(RFC3339,https://tools.ietf.org/html/rfc3339). - 'Example: `2016-08-25T21:10:29.600Z`' returned: on success sample: '2013-10-20T19:20:30+01:00' type: str volume_id: description: - The OCID of the volume. returned: on success sample: ocid1.volume.oc1..xxxxxxEXAMPLExxxxxx type: str description: - Details of the VolumeAttachment resource acted upon by the current operation returned: on success sample: attachment_type: emulated availability_domain: Uocm:PHX-AD-1 chap_secret: chap_secret_example chap_username: chap_username_example compartment_id: ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx device: device_example display_name: display_name_example encryption_in_transit_type: NONE id: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx instance_id: ocid1.instance.oc1..xxxxxxEXAMPLExxxxxx ipv4: ipv4_example iqn: iqn_example is_agent_auto_iscsi_login_enabled: true is_multipath: true is_pv_encryption_in_transit_enabled: true is_read_only: true is_shareable: true iscsi_attach_commands: - sudo iscsiadm -m node -o new -T IQN -p IP:PORT - sudo iscsiadm -m node -o update ... iscsi_detach_commands: - sudo iscsiadm -m node -T IQN -p IP:PORT -u - sudo iscsiadm -m node -o delete -T IQN iscsi_login_state: UNKNOWN lifecycle_state: ATTACHING multipath_devices: - ipv4: ipv4_example iqn: iqn_example port: 56 port: 56 time_created: '2013-10-20T19:20:30+01:00' volume_id: ocid1.volume.oc1..xxxxxxEXAMPLExxxxxx type: complex