oracle.oci.oci_compute_image_actions (5.0.0) — module

Perform actions on an Image resource in Oracle Cloud Infrastructure

| "added in version" 2.9.0 of oracle.oci"

Authors: Oracle (@oracle)

preview | supported by community

Install collection

Install with ansible-galaxy collection install oracle.oci:==5.0.0


Add to requirements.yml

  collections:
    - name: oracle.oci
      version: 5.0.0

Description

Perform actions on an Image resource in Oracle Cloud Infrastructure

For I(action=change_compartment), moves an image into a different compartment within the same tenancy. For information about moving resources between compartments, see L(Moving Resources to a Different Compartment,https://docs.cloud.oracle.com/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).

For I(action=export), exports the specified image to the Oracle Cloud Infrastructure Object Storage service. You can use the Object Storage URL, or the namespace, bucket name, and object name when specifying the location to export to. For more information about exporting images, see L(Image Import/Export,https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/imageimportexport.htm). To perform an image export, you need write access to the Object Storage bucket for the image, see L(Let Users Write Objects to Object Storage Buckets,https://docs.cloud.oracle.com/iaas/Content/Identity/Concepts/commonpolicies.htm#Let4). See L(Object Storage URLs,https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/imageimportexport.htm#URLs) and L(Using Pre-Authenticated Requests,https://docs.cloud.oracle.com/iaas/Content/Object/Tasks/usingpreauthenticatedrequests.htm) for constructing URLs for image import/export.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action change_compartment on image
  oci_compute_image_actions:
    # required
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    image_id: "ocid1.image.oc1..xxxxxxEXAMPLExxxxxx"
    action: change_compartment
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action export on image with destination_type = objectStorageUri
  oci_compute_image_actions:
    # required
    destination_uri: destination_uri_example
    destination_type: objectStorageUri

    # optional
    export_format: QCOW2
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action export on image with destination_type = objectStorageTuple
  oci_compute_image_actions:
    # required
    destination_type: objectStorageTuple
    bucket_name: bucket_name_example
    namespace_name: namespace_name_example
    object_name: object_name_example

    # optional
    export_format: QCOW2

Inputs

    
wait:
    default: true
    description: Whether to wait for create or delete operation to complete.
    type: bool

action:
    choices:
    - change_compartment
    - export
    description:
    - The action to perform on the Image.
    required: true
    type: str

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

image_id:
    aliases:
    - id
    description:
    - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
      of the image.
    required: true
    type: str

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

bucket_name:
    description:
    - The Object Storage bucket to export the image to.
    - Applicable only for I(action=export).
    - Required when destination_type is 'objectStorageTuple'
    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

object_name:
    description:
    - The Object Storage object name for the exported image.
    - Applicable only for I(action=export).
    - Required when destination_type is 'objectStorageTuple'
    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

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

export_format:
    choices:
    - QCOW2
    - VMDK
    - OCI
    - VHD
    - VDI
    description:
    - The format to export the image to. The default value is `OCI`.
    - 'The following image formats are available:'
    - '- `OCI` - Oracle Cloud Infrastructure file with a QCOW2 image and Oracle Cloud
      Infrastructure metadata (.oci). Use this format to export a custom image that you
      want to import into other tenancies or regions. - `QCOW2` - QEMU Copy On Write (.qcow2)
      - `VDI` - Virtual Disk Image (.vdi) for Oracle VM VirtualBox - `VHD` - Virtual Hard
      Disk (.vhd) for Hyper-V - `VMDK` - Virtual Machine Disk (.vmdk)'
    - Applicable only for I(action=export).
    type: str

compartment_id:
    description:
    - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
      of the compartment to move the image to.
    - Required for I(action=change_compartment).
    type: str

namespace_name:
    description:
    - The Object Storage namespace to export the image to.
    - Applicable only for I(action=export).
    - Required when destination_type is 'objectStorageTuple'
    type: str

destination_uri:
    description:
    - The Object Storage URL to export the image to. See L(Object Storage URLs,https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/imageimportexport.htm#URLs)
      and L(Using Pre-Authenticated Requests,https://docs.cloud.oracle.com/iaas/Content/Object/Tasks/usingpreauthenticatedrequests.htm)
      for constructing URLs for image import/export.
    - Applicable only for I(action=export).
    - Required when destination_type is 'objectStorageUri'
    type: str

destination_type:
    choices:
    - objectStorageUri
    - objectStorageTuple
    description:
    - The destination type. Use `objectStorageTuple` when specifying the namespace, bucket
      name, and object name. Use `objectStorageUri` when specifying the Object Storage
      URL.
    - Required for I(action=export).
    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

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

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

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

Outputs

image:
  contains:
    agent_features:
      contains:
        is_management_supported:
          description:
          - This attribute is not used.
          returned: on success
          sample: true
          type: bool
        is_monitoring_supported:
          description:
          - This attribute is not used.
          returned: on success
          sample: true
          type: bool
      description:
      - ''
      returned: on success
      type: complex
    base_image_id:
      description:
      - The OCID of the image originally used to launch the instance.
      returned: on success
      sample: ocid1.baseimage.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    billable_size_in_gbs:
      description:
      - The size of the internal storage for this image that is subject to billing
        (1 GB = 1,073,741,824 bytes).
      - 'Example: `100`'
      returned: on success
      sample: 56
      type: int
    compartment_id:
      description:
      - The OCID of the compartment containing the instance you want to use as the
        basis for the image.
      returned: on success
      sample: ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    create_image_allowed:
      description:
      - Whether instances launched with this image can be used to create new images.
        For example, you cannot create an image of an Oracle Database instance.
      - 'Example: `true`'
      returned: on success
      sample: true
      type: bool
    defined_tags:
      description:
      - Defined tags for this resource. Each key is predefined and scoped to a namespace.
        For more information, see L(Resource Tags,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
      - 'Example: `{"Operations": {"CostCenter": "42"}}`'
      returned: on success
      sample:
        Operations:
          CostCenter: US
      type: dict
    display_name:
      description:
      - A user-friendly name for the image. It does not have to be unique, and it's
        changeable. Avoid entering confidential information.
      - You cannot use a platform image name as a custom image name.
      - 'Example: `My custom Oracle Linux image`'
      returned: on success
      sample: display_name_example
      type: str
    freeform_tags:
      description:
      - 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 L(Resource
        Tags,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
      - 'Example: `{"Department": "Finance"}`'
      returned: on success
      sample:
        Department: Finance
      type: dict
    id:
      description:
      - The OCID of the image.
      returned: on success
      sample: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    launch_mode:
      description:
      - 'Specifies the configuration mode for launching virtual machine (VM) instances.
        The configuration modes are: * `NATIVE` - VM instances launch with iSCSI boot
        and VFIO devices. The default value for platform images. * `EMULATED` - VM
        instances launch with emulated devices, such as the E1000 network driver and
        emulated SCSI disk controller. * `PARAVIRTUALIZED` - VM instances launch with
        paravirtualized devices using VirtIO drivers. * `CUSTOM` - VM instances launch
        with custom configuration settings specified in the `LaunchOptions` parameter.'
      returned: on success
      sample: NATIVE
      type: str
    launch_options:
      contains:
        boot_volume_type:
          description:
          - Emulation type for the boot volume. * `ISCSI` - ISCSI attached block storage
            device. * `SCSI` - Emulated SCSI disk. * `IDE` - Emulated IDE disk. *
            `VFIO` - Direct attached Virtual Function storage. This is the default
            option for local data volumes on platform images. * `PARAVIRTUALIZED`
            - Paravirtualized disk. This is the default for boot volumes and remote
            block storage volumes on platform images.
          returned: on success
          sample: ISCSI
          type: str
        firmware:
          description:
          - Firmware used to boot VM. Select the option that matches your operating
            system. * `BIOS` - Boot VM using BIOS style firmware. This is compatible
            with both 32 bit and 64 bit operating systems that boot using MBR style
            bootloaders. * `UEFI_64` - Boot VM using UEFI style firmware compatible
            with 64 bit operating systems. This is the default for platform images.
          returned: on success
          sample: BIOS
          type: str
        is_consistent_volume_naming_enabled:
          description:
          - Whether to enable consistent volume naming feature. Defaults to false.
          returned: on success
          sample: true
          type: bool
        is_pv_encryption_in_transit_enabled:
          description:
          - Deprecated. Instead use `isPvEncryptionInTransitEnabled` in L(LaunchInstanceDetails,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/datatypes/LaunchInstanceDetails).
          returned: on success
          sample: true
          type: bool
        network_type:
          description:
          - Emulation type for the physical network interface card (NIC). * `E1000`
            - Emulated Gigabit ethernet controller. Compatible with Linux e1000 network
            driver. * `VFIO` - Direct attached Virtual Function network controller.
            This is the networking type when you launch an instance using hardware-assisted
            (SR-IOV) networking. * `PARAVIRTUALIZED` - VM instances launch with paravirtualized
            devices using VirtIO drivers.
          returned: on success
          sample: E1000
          type: str
        remote_data_volume_type:
          description:
          - Emulation type for volume. * `ISCSI` - ISCSI attached block storage device.
            * `SCSI` - Emulated SCSI disk. * `IDE` - Emulated IDE disk. * `VFIO` -
            Direct attached Virtual Function storage. This is the default option for
            local data volumes on platform images. * `PARAVIRTUALIZED` - Paravirtualized
            disk. This is the default for boot volumes and remote block storage volumes
            on platform images.
          returned: on success
          sample: ISCSI
          type: str
      description:
      - ''
      returned: on success
      type: complex
    lifecycle_state:
      description:
      - ''
      returned: on success
      sample: PROVISIONING
      type: str
    listing_type:
      description:
      - The listing type of the image. The default value is "NONE".
      returned: on success
      sample: COMMUNITY
      type: str
    operating_system:
      description:
      - The image's operating system.
      - 'Example: `Oracle Linux`'
      returned: on success
      sample: operating_system_example
      type: str
    operating_system_version:
      description:
      - The image's operating system version.
      - 'Example: `7.2`'
      returned: on success
      sample: operating_system_version_example
      type: str
    size_in_mbs:
      description:
      - The boot volume size for an instance launched from this image (1 MB = 1,048,576
        bytes). Note this is not the same as the size of the image when it was exported
        or the actual size of the image.
      - 'Example: `47694`'
      returned: on success
      sample: 56
      type: int
    time_created:
      description:
      - The date and time the image 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
  description:
  - Details of the Image resource acted upon by the current operation
  returned: on success
  sample:
    agent_features:
      is_management_supported: true
      is_monitoring_supported: true
    base_image_id: ocid1.baseimage.oc1..xxxxxxEXAMPLExxxxxx
    billable_size_in_gbs: 56
    compartment_id: ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx
    create_image_allowed: true
    defined_tags:
      Operations:
        CostCenter: US
    display_name: display_name_example
    freeform_tags:
      Department: Finance
    id: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx
    launch_mode: NATIVE
    launch_options:
      boot_volume_type: ISCSI
      firmware: BIOS
      is_consistent_volume_naming_enabled: true
      is_pv_encryption_in_transit_enabled: true
      network_type: E1000
      remote_data_volume_type: ISCSI
    lifecycle_state: PROVISIONING
    listing_type: COMMUNITY
    operating_system: operating_system_example
    operating_system_version: operating_system_version_example
    size_in_mbs: 56
    time_created: '2013-10-20T19:20:30+01:00'
  type: complex