oracle / oracle.oci / 2.38.0 / module / oci_compute_image Manage an Image resource in Oracle Cloud Infrastructure | "added in version" 2.9.0 of oracle.oci" Authors: Oracle (@oracle) preview | supported by communityoracle.oci.oci_compute_image (2.38.0) — module
Install with ansible-galaxy collection install oracle.oci:==2.38.0
collections: - name: oracle.oci version: 2.38.0
This module allows the user to create, update and delete an Image resource in Oracle Cloud Infrastructure
For I(state=present), creates a boot disk image for the specified instance or imports an exported image from the Oracle Cloud Infrastructure Object Storage service.
When creating a new image, you must provide the OCID of the instance you want to use as the basis for the image, and the OCID of the compartment containing that instance. For more information about images, see L(Managing Custom Images,https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/managingcustomimages.htm).
When importing an exported image from Object Storage, you specify the source information in L(ImageSourceDetails,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/requests/ImageSourceDetails).
When importing an image based on the namespace, bucket name, and object name, use L(ImageSourceViaObjectStorageTupleDetails,https://docs.cloud.oracle.com/en- us/iaas/api/#/en/iaas/latest/requests/ImageSourceViaObjectStorageTupleDetails).
When importing an image based on the Object Storage URL, use L(ImageSourceViaObjectStorageUriDetails,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/requests/ImageSourceViaObjectStorageUriDetails). 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.
For more information about importing exported images, see L(Image Import/Export,https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/imageimportexport.htm).
You may optionally specify a *display name* for the image, which is simply a friendly name or description. It does not have to be unique, and you can change it. See L(UpdateImage,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/Image/UpdateImage). Avoid entering confidential information.
This resource has the following action operations in the M(oracle.oci.oci_compute_image_actions) module: change_compartment, export.
- name: Create image oci_compute_image: # required compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx" # optional defined_tags: {'Operations': {'CostCenter': 'US'}} display_name: display_name_example freeform_tags: {'Department': 'Finance'} image_source_details: # required source_type: objectStorageTuple bucket_name: bucket_name_example namespace_name: namespace_name_example object_name: object_name_example # optional operating_system: operating_system_example operating_system_version: operating_system_version_example source_image_type: QCOW2 instance_id: "ocid1.instance.oc1..xxxxxxEXAMPLExxxxxx" launch_mode: NATIVE
- name: Update image oci_compute_image: # required image_id: "ocid1.image.oc1..xxxxxxEXAMPLExxxxxx" # optional defined_tags: {'Operations': {'CostCenter': 'US'}} display_name: display_name_example freeform_tags: {'Department': 'Finance'} operating_system: operating_system_example operating_system_version: operating_system_version_example
- name: Update image using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set) oci_compute_image: # required compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx" display_name: display_name_example # optional defined_tags: {'Operations': {'CostCenter': 'US'}} freeform_tags: {'Department': 'Finance'} operating_system: operating_system_example operating_system_version: operating_system_version_example
- name: Delete image oci_compute_image: # required image_id: "ocid1.image.oc1..xxxxxxEXAMPLExxxxxx" state: absent
- name: Delete image using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set) oci_compute_image: # required compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx" display_name: display_name_example state: absent
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 Image. - Use I(state=present) to create or update an Image. - Use I(state=absent) to delete an Image. required: false 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 image_id: aliases: - id description: - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the image. - 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 auth_type: choices: - api_key - instance_principal - instance_obo_user - resource_principal 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 instance_id: description: - The OCID of the instance you want to use as the basis for the image. type: str launch_mode: choices: - NATIVE - EMULATED - PARAVIRTUALIZED - CUSTOM description: - 'Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are: * `NATIVE` - VM instances launch with paravirtualized 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.' type: str 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"}}`' - This parameter is updatable. type: dict display_name: aliases: - 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 Oracle Linux image`' - Required for create, update, delete when environment variable C(OCI_USE_NAME_AS_IDENTIFIER) is set. - This parameter is updatable when C(OCI_USE_NAME_AS_IDENTIFIER) is not 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 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 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"}`' - This parameter is updatable. type: dict compartment_id: description: - The OCID of the compartment you want the image to be created in. - 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 operating_system: description: - Operating system - 'Example: `Oracle Linux`' - This parameter is updatable. 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 image_source_details: description: - '' suboptions: bucket_name: description: - The Object Storage bucket for the image. - Required when source_type is 'objectStorageTuple' type: str namespace_name: description: - The Object Storage namespace for the image. - Required when source_type is 'objectStorageTuple' type: str object_name: description: - The Object Storage name for the image. - Required when source_type is 'objectStorageTuple' type: str operating_system: description: - '' type: str operating_system_version: description: - '' type: str source_image_type: choices: - QCOW2 - VMDK description: - The format of the image to be imported. Only monolithic images are supported. This attribute is not used for exported Oracle images with the OCI image format. type: str source_type: choices: - objectStorageTuple - objectStorageUri description: - The source type for the image. Use `objectStorageTuple` when specifying the namespace, bucket name, and object name. Use `objectStorageUri` when specifying the Object Storage URL. required: true type: str source_uri: description: - The Object Storage URL for the image. - Required when source_type is 'objectStorageUri' type: str type: dict 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 operating_system_version: description: - Operating system version - 'Example: `7.4`' - This parameter is updatable. type: str
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