oracle.oci.oci_compute_instance_actions (5.0.0) — module

Perform actions on an Instance 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 Instance resource in Oracle Cloud Infrastructure

For I(action=change_compartment), moves an instance 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).

When you move an instance to a different compartment, associated resources such as boot volumes and VNICs are not moved.

For I(action=instance_action), performs one of the following power actions on the specified instance:

- **START** - Powers on the instance.

- **STOP** - Powers off the instance.

- **RESET** - Powers off the instance and then powers it back on.

- **SOFTSTOP** - Gracefully shuts down the instance by sending a shutdown command to the operating system. After waiting 15 minutes for the OS to shut down, the instance is powered off. If the applications that run on the instance take more than 15 minutes to shut down, they could be improperly stopped, resulting in data corruption. To avoid this, manually shut down the instance using the commands available in the OS before you softstop the instance.

- **SOFTRESET** - Gracefully reboots the instance by sending a shutdown command to the operating system. After waiting 15 minutes for the OS to shut down, the instance is powered off and then powered back on.

- **SENDDIAGNOSTICINTERRUPT** - For advanced users. **Caution: Sending a diagnostic interrupt to a live system can cause data corruption or system failure.** Sends a diagnostic interrupt that causes the instance's OS to crash and then reboot. Before you send a diagnostic interrupt, you must configure the instance to generate a crash dump file when it crashes. The crash dump captures information about the state of the OS at the time of the crash. After the OS restarts, you can analyze the crash dump to diagnose the issue. For more information, see L(Sending a Diagnostic Interrupt,https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/sendingdiagnosticinterrupt.htm).

- **DIAGNOSTICREBOOT** - Powers off the instance, rebuilds it, and then powers it back on. Before you send a diagnostic reboot, restart the instance's OS, confirm that the instance and networking settings are configured correctly, and try other L(troubleshooting steps,https://docs.cloud.oracle.com/iaas/Content/Compute/References/troubleshooting-compute-instances.htm). Use diagnostic reboot as a final attempt to troubleshoot an unreachable instance. For virtual machine (VM) instances only. For more information, see L(Performing a Diagnostic Reboot,https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/diagnostic-reboot.htm).

- **REBOOTMIGRATE** - Powers off the instance, moves it to new hardware, and then powers it back on. For more information, see L(Infrastructure Maintenance,https://docs.cloud.oracle.com/iaas/Content/Compute/References/infrastructure-maintenance.htm).

For more information about managing instance lifecycle states, see L(Stopping and Starting an Instance,https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/restartinginstance.htm).


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action change_compartment on instance
  oci_compute_instance_actions:
    # required
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    instance_id: "ocid1.instance.oc1..xxxxxxEXAMPLExxxxxx"
    action: change_compartment
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action stop on instance with action_type = reset
  oci_compute_instance_actions:
    # required
    action_type: reset

    # optional
    allow_dense_reboot_migration: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action stop on instance with action_type = rebootMigrate
  oci_compute_instance_actions:
    # required
    action_type: rebootMigrate

    # optional
    delete_local_storage: true
    time_scheduled: time_scheduled_example
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action stop on instance with action_type = softreset
  oci_compute_instance_actions:
    # required
    action_type: softreset

    # optional
    allow_dense_reboot_migration: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action start on instance with action_type = reset
  oci_compute_instance_actions:
    # required
    action_type: reset

    # optional
    allow_dense_reboot_migration: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action start on instance with action_type = rebootMigrate
  oci_compute_instance_actions:
    # required
    action_type: rebootMigrate

    # optional
    delete_local_storage: true
    time_scheduled: time_scheduled_example
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action start on instance with action_type = softreset
  oci_compute_instance_actions:
    # required
    action_type: softreset

    # optional
    allow_dense_reboot_migration: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action softreset on instance with action_type = reset
  oci_compute_instance_actions:
    # required
    action_type: reset

    # optional
    allow_dense_reboot_migration: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action softreset on instance with action_type = rebootMigrate
  oci_compute_instance_actions:
    # required
    action_type: rebootMigrate

    # optional
    delete_local_storage: true
    time_scheduled: time_scheduled_example
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action softreset on instance with action_type = softreset
  oci_compute_instance_actions:
    # required
    action_type: softreset

    # optional
    allow_dense_reboot_migration: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action reset on instance with action_type = reset
  oci_compute_instance_actions:
    # required
    action_type: reset

    # optional
    allow_dense_reboot_migration: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action reset on instance with action_type = rebootMigrate
  oci_compute_instance_actions:
    # required
    action_type: rebootMigrate

    # optional
    delete_local_storage: true
    time_scheduled: time_scheduled_example
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action reset on instance with action_type = softreset
  oci_compute_instance_actions:
    # required
    action_type: softreset

    # optional
    allow_dense_reboot_migration: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action softstop on instance with action_type = reset
  oci_compute_instance_actions:
    # required
    action_type: reset

    # optional
    allow_dense_reboot_migration: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action softstop on instance with action_type = rebootMigrate
  oci_compute_instance_actions:
    # required
    action_type: rebootMigrate

    # optional
    delete_local_storage: true
    time_scheduled: time_scheduled_example
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action softstop on instance with action_type = softreset
  oci_compute_instance_actions:
    # required
    action_type: softreset

    # optional
    allow_dense_reboot_migration: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action senddiagnosticinterrupt on instance with action_type = reset
  oci_compute_instance_actions:
    # required
    action_type: reset

    # optional
    allow_dense_reboot_migration: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action senddiagnosticinterrupt on instance with action_type = rebootMigrate
  oci_compute_instance_actions:
    # required
    action_type: rebootMigrate

    # optional
    delete_local_storage: true
    time_scheduled: time_scheduled_example
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action senddiagnosticinterrupt on instance with action_type = softreset
  oci_compute_instance_actions:
    # required
    action_type: softreset

    # optional
    allow_dense_reboot_migration: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action diagnosticreboot on instance with action_type = reset
  oci_compute_instance_actions:
    # required
    action_type: reset

    # optional
    allow_dense_reboot_migration: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action diagnosticreboot on instance with action_type = rebootMigrate
  oci_compute_instance_actions:
    # required
    action_type: rebootMigrate

    # optional
    delete_local_storage: true
    time_scheduled: time_scheduled_example
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action diagnosticreboot on instance with action_type = softreset
  oci_compute_instance_actions:
    # required
    action_type: softreset

    # optional
    allow_dense_reboot_migration: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action rebootmigrate on instance with action_type = reset
  oci_compute_instance_actions:
    # required
    action_type: reset

    # optional
    allow_dense_reboot_migration: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action rebootmigrate on instance with action_type = rebootMigrate
  oci_compute_instance_actions:
    # required
    action_type: rebootMigrate

    # optional
    delete_local_storage: true
    time_scheduled: time_scheduled_example
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform action rebootmigrate on instance with action_type = softreset
  oci_compute_instance_actions:
    # required
    action_type: softreset

    # optional
    allow_dense_reboot_migration: true

Inputs

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

action:
    choices:
    - change_compartment
    - stop
    - start
    - softreset
    - reset
    - softstop
    - senddiagnosticinterrupt
    - diagnosticreboot
    - rebootmigrate
    description:
    - The action to perform on the Instance.
    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

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

action_type:
    choices:
    - reset
    - rebootMigrate
    - softreset
    description:
    - The type of power action to perform.
    - Required for I(action=instance_action).
    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:
    aliases:
    - id
    description:
    - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
      of the instance.
    required: true
    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

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

time_scheduled:
    description:
    - If present, this parameter will set (or reset) the scheduled time that the instance
      will be reboot migrated in the format defined by L(RFC3339,https://tools.ietf.org/html/rfc3339).  This
      will also change the `timeMaintenanceRebootDue` field on the instance.
    - If not present, the reboot migration will be triggered immediately.
    - Applicable only for I(action=instance_action).
    - Applicable when action_type is 'rebootMigrate'
    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

delete_local_storage:
    description:
    - For bare metal instances that have local storage, this must be set to true to verify
      that the local storage will be deleted during the migration.  For instances without,
      this parameter has no effect.
    - Applicable only for I(action=instance_action).
    - Applicable when action_type is 'rebootMigrate'
    type: bool

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

allow_dense_reboot_migration:
    description:
    - For instances that use a DenseIO shape, the flag denoting whether L(reboot migration,https://docs.cloud.oracle.com/iaas/Content/Compute/References/infrastructure-maintenance.htm#reboot)
      is performed for the instance. The default value is `false`.
    - If the instance has a date in the Maintenance reboot field and you do nothing (or
      set this flag to `false`), the instance will be rebuilt at the scheduled maintenance
      time. The instance will experience 2-6 hours of downtime during the maintenance
      process. The local NVMe-based SSD will be preserved.
    - If you want to minimize downtime and can delete the SSD, you can set this flag to
      `true` and proactively reboot the instance before the scheduled maintenance time.
      The instance will be reboot migrated to a healthy host and the SSD will be deleted.
      A short downtime occurs during the migration.
    - '**Caution:** When `true`, the SSD is permanently deleted. We recommend that you
      create a backup of the SSD before proceeding.'
    - Applicable only for I(action=instance_action).
    - Applicable when action_type is one of ['softreset', 'reset']
    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

Outputs

instance:
  contains:
    agent_config:
      contains:
        are_all_plugins_disabled:
          description:
          - Whether Oracle Cloud Agent can run all of the available plugins. This
            includes the management and monitoring plugins.
          - For more information about the available plugins, see L(Managing Plugins
            with Oracle Cloud Agent,https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/manage-plugins.htm).
          returned: on success
          sample: true
          type: bool
        is_management_disabled:
          description:
          - Whether Oracle Cloud Agent can run all the available management plugins.
          - 'These are the management plugins: OS Management Service Agent and Compute
            Instance Run Command.'
          - The management plugins are controlled by this parameter and by the per-plugin
            configuration in the `pluginsConfig` object.
          - '- If `isManagementDisabled` is true, all of the management plugins are
            disabled, regardless of the per-plugin configuration. - If `isManagementDisabled`
            is false, all of the management plugins are enabled. You can optionally
            disable individual management plugins by providing a value in the `pluginsConfig`
            object.'
          returned: on success
          sample: true
          type: bool
        is_monitoring_disabled:
          description:
          - Whether Oracle Cloud Agent can gather performance metrics and monitor
            the instance using the monitoring plugins.
          - 'These are the monitoring plugins: Compute Instance Monitoring and Custom
            Logs Monitoring.'
          - The monitoring plugins are controlled by this parameter and by the per-plugin
            configuration in the `pluginsConfig` object.
          - '- If `isMonitoringDisabled` is true, all of the monitoring plugins are
            disabled, regardless of the per-plugin configuration. - If `isMonitoringDisabled`
            is false, all of the monitoring plugins are enabled. You can optionally
            disable individual monitoring plugins by providing a value in the `pluginsConfig`
            object.'
          returned: on success
          sample: true
          type: bool
        plugins_config:
          contains:
            desired_state:
              description:
              - Whether the plugin should be enabled or disabled.
              - To enable the monitoring and management plugins, the `isMonitoringDisabled`
                and `isManagementDisabled` attributes must also be set to false.
              returned: on success
              sample: ENABLED
              type: str
            name:
              description:
              - The plugin name. To get a list of available plugins, use the L(ListInstanceagentAvailablePlugins,https://docs.cloud.oracle.com/en-
                us/iaas/api/#/en/instanceagent/20180530/Plugin/ListInstanceagentAvailablePlugins)
                operation in the Oracle Cloud Agent API. For more information about
                the available plugins, see L(Managing Plugins with Oracle Cloud Agent,https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/manage-plugins.htm).
              returned: on success
              sample: name_example
              type: str
          description:
          - The configuration of plugins associated with this instance.
          returned: on success
          type: complex
      description:
      - ''
      returned: on success
      type: complex
    availability_config:
      contains:
        is_live_migration_preferred:
          description:
          - Whether to live migrate supported VM instances to a healthy physical VM
            host without disrupting running instances during infrastructure maintenance
            events. If null, Oracle chooses the best option for migrating the VM during
            infrastructure maintenance events.
          returned: on success
          sample: true
          type: bool
        recovery_action:
          description:
          - The lifecycle state for an instance when it is recovered after infrastructure
            maintenance. * `RESTORE_INSTANCE` - The instance is restored to the lifecycle
            state it was in before the maintenance event. If the instance was running,
            it is automatically rebooted. This is the default action when a value
            is not set. * `STOP_INSTANCE` - The instance is recovered in the stopped
            state.
          returned: on success
          sample: RESTORE_INSTANCE
          type: str
      description:
      - ''
      returned: on success
      type: complex
    availability_domain:
      description:
      - The availability domain the instance is running in.
      - 'Example: `Uocm:PHX-AD-1`'
      returned: on success
      sample: Uocm:PHX-AD-1
      type: str
    capacity_reservation_id:
      description:
      - The OCID of the compute capacity reservation this instance is launched under.
        When this field contains an empty string or is null, the instance is not currently
        in a capacity reservation. For more information, see L(Capacity Reservations,https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/reserve-capacity.htm#default).
      returned: on success
      sample: ocid1.capacityreservation.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    compartment_id:
      description:
      - The OCID of the compartment that contains the instance.
      returned: on success
      sample: ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    dedicated_vm_host_id:
      description:
      - The OCID of the dedicated virtual machine host that the instance is placed
        on.
      returned: on success
      sample: ocid1.dedicatedvmhost.oc1..xxxxxxEXAMPLExxxxxx
      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"}}`'
      returned: on success
      sample:
        Operations:
          CostCenter: US
      type: dict
    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
    extended_metadata:
      description:
      - Additional metadata key/value pairs that you provide. They serve the same
        purpose and functionality as fields in the `metadata` object.
      - They are distinguished from `metadata` fields in that these can be nested
        JSON objects (whereas `metadata` fields are string/string maps only).
      returned: on success
      sample: {}
      type: dict
    fault_domain:
      description:
      - The name of the fault domain the instance is running in.
      - A fault domain is a grouping of hardware and infrastructure within an availability
        domain. Each availability domain contains three fault domains. Fault domains
        let you distribute your instances so that they are not on the same physical
        hardware within a single availability domain. A hardware failure or Compute
        hardware maintenance that affects one fault domain does not affect instances
        in other fault domains.
      - If you do not specify the fault domain, the system selects one for you.
      - 'Example: `FAULT-DOMAIN-1`'
      returned: on success
      sample: FAULT-DOMAIN-1
      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 instance.
      returned: on success
      sample: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    image_id:
      description:
      - Deprecated. Use `sourceDetails` instead.
      returned: on success
      sample: ocid1.image.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    instance_configuration_id:
      description:
      - The OCID of the Instance Configuration used to source launch details for this
        instance. Any other fields supplied in the instance launch request override
        the details stored in the Instance Configuration for this instance launch.
      returned: on success
      sample: ocid1.instanceconfiguration.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    instance_options:
      contains:
        are_legacy_imds_endpoints_disabled:
          description:
          - Whether to disable the legacy (/v1) instance metadata service endpoints.
            Customers who have migrated to /v2 should set this to true for added security.
            Default is false.
          returned: on success
          sample: true
          type: bool
      description:
      - ''
      returned: on success
      type: complex
    ipxe_script:
      description:
      - When a bare metal or virtual machine instance boots, the iPXE firmware that
        runs on the instance is configured to run an iPXE script to continue the boot
        process.
      - If you want more control over the boot process, you can provide your own custom
        iPXE script that will run when the instance boots. Be aware that the same
        iPXE script will run every time an instance boots, not only after the initial
        LaunchInstance call.
      - 'The default iPXE script connects to the instance''s local boot volume over
        iSCSI and performs a network boot. If you use a custom iPXE script and want
        to network-boot from the instance''s local boot volume over iSCSI the same
        way as the default iPXE script, use the following iSCSI IP address: 169.254.0.2,
        and boot volume IQN: iqn.2015-02.oracle.boot.'
      - If your instance boot volume attachment type is paravirtualized, the boot
        volume is attached to the instance through virtio-scsi and no iPXE script
        is used. If your instance boot volume attachment type is paravirtualized and
        you use custom iPXE to network boot into your instance, the primary boot volume
        is attached as a data volume through virtio-scsi drive.
      - For more information about the Bring Your Own Image feature of Oracle Cloud
        Infrastructure, see L(Bring Your Own Image,https://docs.cloud.oracle.com/iaas/Content/Compute/References/bringyourownimage.htm).
      - For more information about iPXE, see http://ipxe.org.
      returned: on success
      sample: ipxe_script_example
      type: str
    is_cross_numa_node:
      description:
      - Whether the instance's OCPUs and memory are distributed across multiple NUMA
        nodes.
      returned: on success
      sample: true
      type: bool
    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:
      - The current state of the instance.
      returned: on success
      sample: MOVING
      type: str
    metadata:
      description:
      - Custom metadata that you provide.
      returned: on success
      sample: {}
      type: dict
    platform_config:
      contains:
        are_virtual_instructions_enabled:
          description:
          - Whether virtualization instructions are available. For example, Secure
            Virtual Machine for AMD shapes or VT-x for Intel shapes.
          returned: on success
          sample: true
          type: bool
        is_access_control_service_enabled:
          description:
          - Whether the Access Control Service is enabled on the instance. When enabled,
            the platform can enforce PCIe device isolation, required for VFIO device
            pass-through.
          returned: on success
          sample: true
          type: bool
        is_input_output_memory_management_unit_enabled:
          description:
          - Whether the input-output memory management unit is enabled.
          returned: on success
          sample: true
          type: bool
        is_measured_boot_enabled:
          description:
          - Whether the Measured Boot feature is enabled on the instance.
          returned: on success
          sample: true
          type: bool
        is_memory_encryption_enabled:
          description:
          - Whether the instance is a confidential instance. If this value is `true`,
            the instance is a confidential instance. The default value is `false`.
          returned: on success
          sample: true
          type: bool
        is_secure_boot_enabled:
          description:
          - Whether Secure Boot is enabled on the instance.
          returned: on success
          sample: true
          type: bool
        is_symmetric_multi_threading_enabled:
          description:
          - Whether symmetric multithreading is enabled on the instance. Symmetric
            multithreading is also called simultaneous multithreading (SMT) or Intel
            Hyper-Threading.
          - Intel and AMD processors have two hardware execution threads per core
            (OCPU). SMT permits multiple independent threads of execution, to better
            use the resources and increase the efficiency of the CPU. When multithreading
            is disabled, only one thread is permitted to run on each core, which can
            provide higher or more predictable performance for some workloads.
          returned: on success
          sample: true
          type: bool
        is_trusted_platform_module_enabled:
          description:
          - Whether the Trusted Platform Module (TPM) is enabled on the instance.
          returned: on success
          sample: true
          type: bool
        numa_nodes_per_socket:
          description:
          - The number of NUMA nodes per socket (NPS).
          returned: on success
          sample: NPS0
          type: str
        percentage_of_cores_enabled:
          description:
          - The percentage of cores enabled. Value must be a multiple of 25%. If the
            requested percentage results in a fractional number of cores, the system
            rounds up the number of cores across processors and provisions an instance
            with a whole number of cores.
          - If the applications that you run on the instance use a core-based licensing
            model and need fewer cores than the full size of the shape, you can disable
            cores to reduce your licensing costs. The instance itself is billed for
            the full shape, regardless of whether all cores are enabled.
          returned: on success
          sample: 56
          type: int
        type:
          description:
          - The type of platform being configured.
          returned: on success
          sample: AMD_MILAN_BM
          type: str
      description:
      - ''
      returned: on success
      type: complex
    preemptible_instance_config:
      contains:
        preemption_action:
          contains:
            preserve_boot_volume:
              description:
              - Whether to preserve the boot volume that was used to launch the preemptible
                instance when the instance is terminated. Defaults to false if not
                specified.
              returned: on success
              sample: true
              type: bool
            type:
              description:
              - The type of action to run when the instance is interrupted for eviction.
              returned: on success
              sample: TERMINATE
              type: str
          description:
          - ''
          returned: on success
          type: complex
      description:
      - ''
      returned: on success
      type: complex
    region:
      description:
      - The region that contains the availability domain the instance is running in.
      - For the us-phoenix-1 and us-ashburn-1 regions, `phx` and `iad` are returned,
        respectively. For all other regions, the full region name is returned.
      - 'Examples: `phx`, `eu-frankfurt-1`'
      returned: on success
      sample: us-phoenix-1
      type: str
    shape:
      description:
      - The shape of the instance. The shape determines the number of CPUs and the
        amount of memory allocated to the instance. You can enumerate all available
        shapes by calling L(ListShapes,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/Shape/ListShapes).
      returned: on success
      sample: shape_example
      type: str
    shape_config:
      contains:
        baseline_ocpu_utilization:
          description:
          - The baseline OCPU utilization for a subcore burstable VM instance. Leave
            this attribute blank for a non-burstable instance, or explicitly specify
            non-burstable with `BASELINE_1_1`.
          - 'The following values are supported: - `BASELINE_1_8` - baseline usage
            is 1/8 of an OCPU. - `BASELINE_1_2` - baseline usage is 1/2 of an OCPU.
            - `BASELINE_1_1` - baseline usage is the entire OCPU. This represents
            a non-burstable instance.'
          returned: on success
          sample: BASELINE_1_8
          type: str
        gpu_description:
          description:
          - A short description of the instance's graphics processing unit (GPU).
          - If the instance does not have any GPUs, this field is `null`.
          returned: on success
          sample: gpu_description_example
          type: str
        gpus:
          description:
          - The number of GPUs available to the instance.
          returned: on success
          sample: 56
          type: int
        local_disk_description:
          description:
          - A short description of the local disks available to this instance.
          - If the instance does not have any local disks, this field is `null`.
          returned: on success
          sample: local_disk_description_example
          type: str
        local_disks:
          description:
          - The number of local disks available to the instance.
          returned: on success
          sample: 56
          type: int
        local_disks_total_size_in_gbs:
          description:
          - The aggregate size of all local disks, in gigabytes.
          - If the instance does not have any local disks, this field is `null`.
          returned: on success
          sample: 3.4
          type: float
        max_vnic_attachments:
          description:
          - The maximum number of VNIC attachments for the instance.
          returned: on success
          sample: 56
          type: int
        memory_in_gbs:
          description:
          - The total amount of memory available to the instance, in gigabytes.
          returned: on success
          sample: 3.4
          type: float
        networking_bandwidth_in_gbps:
          description:
          - The networking bandwidth available to the instance, in gigabits per second.
          returned: on success
          sample: 3.4
          type: float
        ocpus:
          description:
          - The total number of OCPUs available to the instance.
          returned: on success
          sample: 3.4
          type: float
        processor_description:
          description:
          - A short description of the instance's processor (CPU).
          returned: on success
          sample: processor_description_example
          type: str
        vcpus:
          description:
          - The total number of VCPUs available to the instance. This can be used
            instead of OCPUs, in which case the actual number of OCPUs will be calculated
            based on this value and the actual hardware. This must be a multiple of
            2.
          returned: on success
          sample: 56
          type: int
      description:
      - ''
      returned: on success
      type: complex
    source_details:
      contains:
        boot_volume_id:
          description:
          - The OCID of the boot volume used to boot the instance.
          returned: on success
          sample: ocid1.bootvolume.oc1..xxxxxxEXAMPLExxxxxx
          type: str
        boot_volume_size_in_gbs:
          description:
          - The size of the boot volume in GBs. Minimum value is 50 GB and maximum
            value is 32,768 GB (32 TB).
          returned: on success
          sample: 56
          type: int
        boot_volume_vpus_per_gb:
          description:
          - The number of volume performance units (VPUs) that will be applied to
            this volume per GB, representing the Block Volume service's elastic performance
            options. See L(Block Volume Performance Levels,https://docs.cloud.oracle.com/iaas/Content/Block/Concepts/blockvolumeperformance.htm#perf_levels)
            for more information.
          - 'Allowed values:'
          - ' * `10`: Represents Balanced option.'
          - ' * `20`: Represents Higher Performance option.'
          - ' * `30`-`120`: Represents the Ultra High Performance option.'
          - For volumes with the auto-tuned performance feature enabled, this is set
            to the default (minimum) VPUs/GB.
          returned: on success
          sample: 56
          type: int
        image_id:
          description:
          - The OCID of the image used to boot the instance.
          returned: on success
          sample: ocid1.image.oc1..xxxxxxEXAMPLExxxxxx
          type: str
        instance_source_image_filter_details:
          contains:
            compartment_id:
              description:
              - The OCID of the compartment containing images to search
              returned: on success
              sample: ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx
              type: str
            defined_tags_filter:
              description:
              - Filter based on these defined tags. 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).
              returned: on success
              sample: {}
              type: dict
            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
          description:
          - ''
          returned: on success
          type: complex
        kms_key_id:
          description:
          - The OCID of the Vault service key to assign as the master encryption key
            for the boot volume.
          returned: on success
          sample: ocid1.kmskey.oc1..xxxxxxEXAMPLExxxxxx
          type: str
        source_type:
          description:
          - The source type for the instance. Use `image` when specifying the image
            OCID. Use `bootVolume` when specifying the boot volume OCID.
          returned: on success
          sample: bootVolume
          type: str
      description:
      - ''
      returned: on success
      type: complex
    system_tags:
      description:
      - 'System tags for this resource. Each key is predefined and scoped to a namespace.
        Example: `{"foo-namespace": {"bar-key": "value"}}`'
      returned: on success
      sample: {}
      type: dict
    time_created:
      description:
      - The date and time the instance 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
    time_maintenance_reboot_due:
      description:
      - 'The date and time the instance is expected to be stopped / started,  in the
        format defined by L(RFC3339,https://tools.ietf.org/html/rfc3339). After that
        time if instance hasn''t been rebooted, Oracle will reboot the instance within
        24 hours of the due time. Regardless of how the instance was stopped, the
        flag will be reset to empty as soon as instance reaches Stopped state. Example:
        `2018-05-25T21:10:29.600Z`'
      returned: on success
      sample: '2013-10-20T19:20:30+01:00'
      type: str
  description:
  - Details of the Instance resource acted upon by the current operation
  returned: on success
  sample:
    agent_config:
      are_all_plugins_disabled: true
      is_management_disabled: true
      is_monitoring_disabled: true
      plugins_config:
      - desired_state: ENABLED
        name: name_example
    availability_config:
      is_live_migration_preferred: true
      recovery_action: RESTORE_INSTANCE
    availability_domain: Uocm:PHX-AD-1
    capacity_reservation_id: ocid1.capacityreservation.oc1..xxxxxxEXAMPLExxxxxx
    compartment_id: ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx
    dedicated_vm_host_id: ocid1.dedicatedvmhost.oc1..xxxxxxEXAMPLExxxxxx
    defined_tags:
      Operations:
        CostCenter: US
    display_name: display_name_example
    extended_metadata: {}
    fault_domain: FAULT-DOMAIN-1
    freeform_tags:
      Department: Finance
    id: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx
    image_id: ocid1.image.oc1..xxxxxxEXAMPLExxxxxx
    instance_configuration_id: ocid1.instanceconfiguration.oc1..xxxxxxEXAMPLExxxxxx
    instance_options:
      are_legacy_imds_endpoints_disabled: true
    ipxe_script: ipxe_script_example
    is_cross_numa_node: true
    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: MOVING
    metadata: {}
    platform_config:
      are_virtual_instructions_enabled: true
      is_access_control_service_enabled: true
      is_input_output_memory_management_unit_enabled: true
      is_measured_boot_enabled: true
      is_memory_encryption_enabled: true
      is_secure_boot_enabled: true
      is_symmetric_multi_threading_enabled: true
      is_trusted_platform_module_enabled: true
      numa_nodes_per_socket: NPS0
      percentage_of_cores_enabled: 56
      type: AMD_MILAN_BM
    preemptible_instance_config:
      preemption_action:
        preserve_boot_volume: true
        type: TERMINATE
    region: us-phoenix-1
    shape: shape_example
    shape_config:
      baseline_ocpu_utilization: BASELINE_1_8
      gpu_description: gpu_description_example
      gpus: 56
      local_disk_description: local_disk_description_example
      local_disks: 56
      local_disks_total_size_in_gbs: 3.4
      max_vnic_attachments: 56
      memory_in_gbs: 3.4
      networking_bandwidth_in_gbps: 3.4
      ocpus: 3.4
      processor_description: processor_description_example
      vcpus: 56
    source_details:
      boot_volume_id: ocid1.bootvolume.oc1..xxxxxxEXAMPLExxxxxx
      boot_volume_size_in_gbs: 56
      boot_volume_vpus_per_gb: 56
      image_id: ocid1.image.oc1..xxxxxxEXAMPLExxxxxx
      instance_source_image_filter_details:
        compartment_id: ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx
        defined_tags_filter: {}
        operating_system: operating_system_example
        operating_system_version: operating_system_version_example
      kms_key_id: ocid1.kmskey.oc1..xxxxxxEXAMPLExxxxxx
      source_type: bootVolume
    system_tags: {}
    time_created: '2013-10-20T19:20:30+01:00'
    time_maintenance_reboot_due: '2013-10-20T19:20:30+01:00'
  type: complex