# Oracle Cloud Infrastructure Ansible Collection Migration Guide

This guide explains how to transition from the legacy modules to the new collection modules. The new modules have some breaking changes as listed in the table below. They are also renamed to use the service name as a prefix. This naming convention makes it easier to organize and discover modules.

The new modules follow the pattern of our other OCI developer tools in that they are primarily generated based on OCI service API specifications. This results in breaking changes from our legacy modules in places where we previously added significant customizations on top of what is in the API specification. The trade-off for this cost of breaking changes is that we will be able to significantly increase our cadence of releasing new modules and features to stay up to date with OCI services. We are very open to feedback from our users, if there are features from the legacy modules that were very important to your workload please file a feature enhancement request as a Github issue and we will consider porting old features forward on a case by case basis.

## Using the new collection modules and legacy modules
Users can transition slowly to the new modules if there are some breaking changes. 
It is possible to use both (new and legacy) modules in your playbooks as explained below.  

#### Installation
Both can be installed at the same time. The collection will be installed at different path.

You can install the new collection:
  ``` bash
  $ ansible-galaxy collection install oracle.oci
  ```


#### Using collection modules and legacy modules in a Playbook
If the collection is imported at the top of the file, Ansible will first search for the module in collection path if it is not found it will search in the legacy modules path. If both modules have the same name, the module from the collection will take precedence.


```
- hosts: all
  collections:
   - oracle.oci
  tasks:
    # Module in collection
    - oci_identity_policy:
        option1: value
    # Module in legacy modules
    - oci_policy_facts:
        option1: value
```

You can also reference a collection content by its fully qualified collection name (FQCN):

```
- hosts: all
  tasks:
    - oracle.oci.oci_identity_policy:
        option1: value
```


## Differences in general behavior between legacy and new modules
* All experimental features (enabled using OCI_ANSIBLE_EXPERIMENTAL env var) have been deprecated and are not included in this new set of modules.
  * Most of these features were a matter of convenience and are still achievable with the new modules. For example, the `lookup_all_attached_instances` parameter on oci_volume is removed, but users can still use the `oci_compute_volume_attachment_facts` and `oci_compute_instance_facts` modules to retrieve the same information.
* Options to `purge` or `delete` items from lists on resources are no longer supported in majority of modules (examples: oci_identity_group, oci_load_balancer_backend_set, etc).
  * The default behavior for these fields has always been `purge_{resource_name}` = True, which remains true for the new modules. But there is no longer an option to specify `purge_{resource_name}` = False and only append new entries to the list. Thus, if you want to update a list you will need to supply the entire list, if you supply a subset of items they will completely replace the existing list.
  * This module, as an exception, supports purge and delete: oci_network_security_list.
*  New modules consider `freeform_tags` (if specified) for idempotence unlike legacy modules which excludes them
* The `wait_until` parameter has been removed in favor of keeping all specific state waiting logic internal to the modules.
  * The default behavior remains the same as in the legacy modules, it is just no longer possible to override the specific state you want to wait on.  Users can still turn waiting logic off completely for a play using `wait: false`.
* Default values have been removed in some cases which makes idempotency matching less strict.  See the section "Avoiding reliance on server side default values" in the User Guide for more information.
* Parameter validation has been enhanced for complex parameters
  * For complex parameters with suboptions, previously we ignored suboptions which were unrecognized. In the new modules, we validate all suboptions are known parameters so an error will be thrown for any extraneoous suboptions.
* `state` parameter values other than `present` and `absent` have now been moved to separate `_actions` modules
  * See individual module documentation below for full details. For example, `state: stop` for `oci_compute_instance` is now supported through using `action: stop` on the `oci_compute_instance_actions` module.

## Module Backward Compatibility Reference

#### Account Management (Budget)

No breaking changes

#### Audit

|   old name                             |    new name                              |  migration notes
|----------------------------------------|------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|oci_audit_configuration                 |  oci_audit_configuration                 |  Breaking changes: <ul><li>`retention_period_days` option is now required</li></ul>
|oci_audit_configuration_facts           |  oci_audit_configuration_facts           |  Breaking changes: <ul><li>Return field in new module is a dictionary representing a configuration resource instead of list of configuration resources.</li></ul>
|oci_audit_event_facts                   |  oci_audit_event_facts                   |  Breaking changes: <ul><li>Updated to version 20190901 of the Audit API which involves signifcant changes to the schema of the `event` type returned by this module. See Audit API [release notes](https://docs.cloud.oracle.com/en-us/iaas/releasenotes/changes/56a2e183-96e8-4780-bff7-01cec0fc824f/) and [reference](https://docs.cloud.oracle.com/en-us/iaas/Content/Audit/Reference/logeventreference.htm) for more information.</li></ul>

#### Autoscaling

No breaking changes

##### Blockstorage

|old name                                   |  new name                                                |  migration notes                                                                                                                                                                          |
|-------------------------------------------|----------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|oci_boot_volume                            |  oci_blockstorage_boot_volume                            |  Breaking changes: <ul><li>Experimental mode features not available anymore i.e. new module does not have the `lookup_attached_instance` module parameter and also does not return `attached_instance_information`</li> <li>New module does not have `wait_for_copy` and `copy_timeout` suboptions for `source_details` module parameter. Waiting until the copy is done is the default behaviour in the new module.</li></ul>                                                                                                                                                                        |
|oci_boot_volume_facts                      |  oci_blockstorage_boot_volume_facts                      |  Breaking changes: <ul><li>Experimental mode features not available anymore i.e. new module does not have the `lookup_attached_instance` module parameter and also does not return `attached_instance_information`</li></ul>                                                                                                                                                                        |
|oci_volume                                 |  oci_blockstorage_volume                                 |  Breaking changes: <ul><li>Experimental mode features not available anymore i.e. new module does not have the `lookup_all_attached_instances` module parameter and also does not return `attached_instance_information`</li><li>New module does not have `wait_for_copy` and `copy_timeout` suboptions for `source_details` module parameter. Waiting until the copy is done is the default behaviour in the new module.</li></ul>                                                                                                                                                                        |
|oci_volume_backup                          |  oci_blockstorage_volume_backup                          |  Breaking changes: <ul><li>New module adds a new module parameter `compartment_id` and it is required for creating the volume attachment</li></ul>                                                                              |                                                                                                                                                                       |
|oci_volume_backup_actions                  |  oci_blockstorage_volume_backup_actions                  |  Module name is the only breaking change                                                                                                                                                                      |
|oci_volume_backup_facts                    |  oci_blockstorage_volume_backup_facts                    |  Module name is the only breaking change                                                                                                                                                                      |
|oci_volume_backup_policy_assignment        |  oci_blockstorage_volume_backup_policy_assignment        |  Module name is the only breaking change                                                                                                                                                                      |
|oci_volume_backup_policy_assignment_facts  |  oci_blockstorage_volume_backup_policy_assignment_facts  |  Module name is the only breaking change                                                                                                                                                                      |
|oci_volume_backup_policy_facts             |  oci_blockstorage_volume_backup_policy_facts             |  Module name is the only breaking change                                                                                                                                                                      |
|oci_volume_facts                           |  oci_blockstorage_volume_facts                           |  Breaking changes:  <ul><li>Experimental mode features not available anymore i.e new module does not have the `lookup_all_attached_instances` module parameter and also does not return `attached_instance_information`</li></ul>  |                                                                                                                                                                      |
|oci_volume_group                           |  oci_blockstorage_volume_group                           |  Breaking changes:  <ul><li>New module adds the parameter `source_details.type` and it is required for create.</li></ul>                                                                                                         |                                                                                                                                                                      |
|oci_volume_group_backup                    |  oci_blockstorage_volume_group_backup                    |  Breaking changes:  <ul><li>`compartment_id` parameter is required for create in the new module</li></ul>                                                                                                                        |                                                                                                                                                                      |
|oci_volume_group_facts                     |  oci_blockstorage_volume_group_facts                     |  Module name is the only breaking change                                                                                                                                                                      |
|oci_volume_group_facts                     |  oci_blockstorage_volume_group_backup_facts              |  Module name is the only breaking change                                                                                                                                                                      |

#### Compute

|old name                                        |  new name                                                          |  migration notes                                                                                                                                                                                              |
|------------------------------------------------|--------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|oci_app_catalog_listing_agreement               |  oci_compute_app_catalog_listing_resource_version_agreement_facts  |  Breaking changes: <ul><li>New module is a facts module</li> <li>New module does not have state parameter</li><li>`resource_version` parameter in the new module does not have the alias `version`</li><li>Return field in the new module is `app_catalog_listing_resource_version_agreement` instead of `app_catalog_listing_agreement`</li></ul>                                                                                                                                                                                           |
|oci_app_catalog_listing_facts                   |  oci_compute_app_catalog_listing_facts                             |  Module name is the only breaking change                                                                                                                                                                                          |
|oci_app_catalog_listing_resource_version_facts  |  oci_compute_app_catalog_listing_resource_version_facts            |  Module name is the only breaking change                                                                                                                                                                                            |
|oci_app_catalog_subscription                    |  oci_compute_app_catalog_subscription                              |  Module name is the only breaking change                                                                                                                                                                                          |
|oci_app_catalog_subscription_facts              |  oci_compute_app_catalog_subscription_facts                        |  Module name is the only breaking change                                                                                                                                                                                          |
|oci_boot_volume_attachment                      |  oci_compute_boot_volume_attachment                                |  Breaking changes: <ul><li>New module adds a new module parameter `availability_domain` and it is required for creating the boot volume attachment</li></ul>                                                                                                                                                                                            |
|oci_boot_volume_attachment_facts                |  oci_compute_boot_volume_attachment_facts                          |  Module name is the only breaking change                                                                                                                                                                                          |
|oci_console_history                             |  oci_compute_instance_console_history                              |  Breaking changes: <ul><li>New module adds a new module parameter `compartment_id` and it is required for creating the console history</li></ul>                                                                                                                                                                                            |
|oci_console_history_content_facts               |  oci_compute_instance_console_history_content_facts                |  Breaking changes: <ul><li>New module does not have `dest` parameter. Instead of writing output to a file, the module returns the data directly in the result</li><li>Return field name in the new module is `instance_console_history_content` instead of `console_history_content`</li></ul>                                                                                                                                                                                              |
|oci_console_history_facts                       |  oci_compute_instance_console_history_facts                        |  Module name is the only breaking change                                                                                                                                                                                          |
|oci_image                                       |  oci_compute_image                                                 |  Breaking changes: <ul><li>`image_source_details.source_type` parameter no longer has alias `destination_type` </li> <li>`image_source_details.bucket_name` parameter no longer has alias `bucket` </li> <li>`image_source_details.namespace_name` parameter no longer has alias `namespace` </li>  <li>`image_source_details.object_name` parameter no longer has alias `object`</li></ul>                                                                                                                                                                                             |
|oci_image_actions                               |  oci_compute_image_actions                                         |  Module name is the only breaking change                                                                                                                                                                                          |
|oci_image_facts                                 |  oci_compute_image_facts                                           |  Module name is the only breaking change                                                                                                                                                                                          |
|oci_instance                                    |  oci_compute_instance                                              |  Breaking changes: <ul><li>Experimental mode features are not available anymore. New module does not have `boot_volume_details` and `volume_details` parameters. The new module does not return `boot_volume_attachment` and `volume_attachments`.</li><li>`state` parameter does not support the following values: `running`, `stopped`, `reset` and `softreset`. These operations moved to the actions module `oci_compute_instance_actions`. </li><li>`vnic` parameter is renmaed to `create_vnic_details`</li></ul>                                                                                                                                                                                              |
|oci_instance_console_connection                 |  oci_compute_instance_console_connection                           |  Breaking changes: <ul><li>New module adds a new module parameter `compartment_id` and it is required for creating the console connection</li> <li>In the new module, the `public_key` parameter takes the actual key content as input instead of the file containing it.  Use the built-in ansible file utility to read key content from a key file.</li></ul>                                                                                                                                                                                             |
|oci_instance_console_connection_facts           |  oci_compute_instance_console_connection_facts                     |  Module name is the only breaking change                                                                                                                                                                                          |
|oci_instance_credentials_facts                  |  oci_compute_instance_credentials_facts                            |  Module name is the only breaking change                                                                                                                                                                                          |
|oci_instance_facts                              |  oci_compute_instance_facts                                        |  Breaking changes: <ul><li>Experimental mode features not available anymore i.e `boot_volume_attachment` and `volume_attachments` are not returned by the new module.</li></ul>                                                                                                                                                                                            |
|oci_shape_facts                                 |  oci_compute_shape_facts                                           |  Module name is the only breaking change                                                                                                                                                                                          |
|oci_vnic_attachment                             |  oci_compute_vnic_attachment                                       |  Breaking changes: <ul><li>`create_vnic_details` parameter no longer has alias `vnic`</li></ul>                                                                                                                                                                                            |
|oci_vnic_attachment_facts                       |  oci_compute_vnic_attachment_facts                                 |  Module name is the only breaking change                                                                                                                                                                                          |
|oci_volume_attachment                           |  oci_compute_volume_attachment                                     |  Breaking changes: <ul><li>New module adds a new module parameter `compartment_id` and it is required for creating the volume attachment</li></ul>                                                                                                                                                                                            |
|oci_volume_attachment_facts                     |  oci_compute_volume_attachment_facts                               |  Module name is the only breaking change                                                                                                                                                                                          |                                                                                                                                                                                               |

#### Compute Management

|old name                           |  new name                                             |  migration notes
|-----------------------------------|-------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|oci_instance_configuration         |  oci_compute_management_instance_configuration        |  Module name is the only breaking change
|oci_instance_configuration_facts   |  oci_compute_management_instance_configuration_facts  |  Module name is the only breaking change
|oci_instance_pool                  |  oci_compute_management_instance_pool                 |  Breaking changes: <ul><li>New module does not support the following state parameter values: `stopped`, `running`, `reset` and `softreset`. Use the actions module `oci_compute_management_instance_pool_actions` instead.</li></ul>
|oci_instance_pool_actions          |  oci_compute_management_instance_pool_actions         |  Module name is the only breaking change
|oci_instance_pool_facts            |  oci_compute_management_instance_pool_facts           |  Breaking changes: <ul><li>New module does not return the attributes `placement_configurations` and `load_balancers` when listing instance pools using `compartment_id`. To get this information call this module using `instance_pool_id`.</li></ul>
|oci_instance_pool_instances_facts  |  oci_compute_management_instance_pool_instance_facts  |  Breaking changes: <ul><li>Returns fields mentioned [InstanceSummary](https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/20160918/InstanceSummary/) instead of [Instance](https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/20160918/Instance/). You can use `oci_compute_instance_facts` to get the complete instance information.</li></ul>

#### Container Engine

|old name                     |  new name                                       |  migration notes
|-----------------------------|-------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|oci_cluster                  |  oci_container_engine_cluster                   |  Breaking changes: <ul><li>Return field `work_request` is no longer supported.</li><li>Return field `work_request` is no longer supported.</li></ul>
|oci_cluster_facts            |  oci_container_engine_cluster_facts             |  Module name is the only breaking change
|oci_cluster_options_facts    |  oci_container_engine_cluster_options_facts     |  Module name is the only breaking change
|oci_kubeconfig               |  oci_container_engine_kubeconfig                |  Breaking changes: <ul><li>`force` option is no longer supported, this option was used to overwrite existing kubeconfigs in the old module</li> <li>`dest` option is no longer supported, this option was used to specify the file path to which the kubeconfig content would be written, now the content is returned in `result.kubeconfig`</li> <li>`create_cluster_kubeconfig_content_details` is removed, and child parameters `expiration` and `token_version` are now at the root level.</li> <li>New module no longer waits for the cluster to become `AVAILABLE` before attempting to create the kubeconfig.</li>
|oci_node_pool                |  oci_container_engine_node_pool                 |  Breaking changes: <ul><li> `count_of_nodes_to_wait` option is no longer supported. The module will return as soon as the create node pool work request completes, at which point not all nodes are guaranteed to be active.  If you need to wait until all nodes are active you can write a basic play to iterate over the nodes and check the `lifecycle_state`.</li> <li>`work_request` is no longer returned in the new module</li></ul>
|oci_node_pool_facts          |  oci_container_engine_node_pool_facts           |  Module name is the only breaking change
|oci_node_pool_options_facts  |  oci_container_engine_node_pool_options_facts   |  Module name is the only breaking change

#### Database

|old name                                 |  new name                                         |  migration notes
|-----------------------------------------|---------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|oci_database                             | oci_database_database                             | Breaking changes: <ul><li>`state: update` has been replaced by `state: present`</li><li>`state: restore` has been removed.  Restoring a database can now be done through the `oci_database_database_actions` module.<ul><li>All `restore` related parameters are therefore removed: `database_scn`, `latest`, `timestamp`</li></ul></li></ul>
|oci_database_facts                       | oci_database_database_facts                       | Module name is the only breaking change
|oci_backup                               | oci_database_backup                               | Breaking changes: <ul><li>`id` alias has been removed from the `database_id` parameter, and added to the `backup_id` parameter</li></ul>
|oci_backup_facts                         | oci_database_backup_facts                         | Breaking changes: <ul><li>`id` alias has been removed from the `database_id` parameter, and added to the `backup_id` parameter</li></ul>
|oci_data_guard_association               | oci_database_data_guard_association               | Breaking changes: <ul><li>The following values for `state` have been removed: `failover`, `swichover`, `reinstate`. <ul><li>These actions should be performed using the `oci_database_data_guard_association_actions` module.</li><li>The `data_guard_association_id` parameter is also moved to the corresponding actions module.</li></ul></li></ul>
|oci_data_guard_association_facts         | oci_database_data_guard_association_facts         | Module name is the only breaking change
|oci_db_home                              | oci_database_db_home                              | Breaking changes: <ul><li>`compartment_id` parameter has been added and is required for creating a db_home</li></ul>
|oci_db_home_facts                        | oci_database_db_home_facts                        | Module name is the only breaking change
|oci_db_home_patch_facts                  | oci_database_db_home_patch_facts                  | Module name is the only breaking change
|oci_db_home_patch_history_entry_facts    | oci_database_db_home_patch_history_facts          | Module name is the only breaking change
|oci_db_node                              | oci_database_db_node_actions                      | Breaking changes: <ul><li>`state` parameter has been replaced by `action`</li></ul>
|oci_db_node_facts                        | oci_database_db_node_facts                        | Module name is the only breaking change
|oci_db_system                            | oci_database_db_system                            | Breaking changes: <ul><li>`purge_ssh_public_keys<` parameter is deprecated</li><li>`initial_data_storage_size_in_gb` is now an alias for `data_storage_size_in_gbs` instead of a standalone parameter<ul><li>`initial_data_storage_size_in_gb` is maintained as an alias for backwards compatibility and will continue to work for specifying the size of db system to create</li><li>We recommend that users use `data_storage_size_in_gbs` now that is supported for creating and updating db systems (previously it was only supported for updates)</li><li>The only practical effect of this change is that now `data_storage_size_in_gbs` / `initial_data_storage_size_in_gb` will be considered in the idempotency check when deciding to match an existing DB system or create a new one. Previously `initial_data_storage_size_in_gb` was ignored in this check.</li></ul></li></ul>
|oci_db_system_facts                      | oci_database_db_system_facts                      | Module name is the only breaking change
|oci_db_system_patch_facts                | oci_database_db_system_patch_facts                | Module name is the only breaking change
|oci_db_system_patch_history_entry_facts  | oci_database_db_system_patch_history_entry_facts  | Module name is the only breaking change
|oci_db_system_shape_facts                | oci_database_db_system_shape_facts                | Module name is the only breaking change
|oci_db_version_facts                     | oci_database_db_version_facts                     | Module name is the only breaking change

#### Autonomous Database

|old name                                           |  new name                                                         |  migration notes
|---------------------------------------------------|-------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|oci_autonomous_data_warehouse                      |  deprecated                                                       |  This module is deprecated. You should use `oci_database_autonomous_database` with the warehouse workload type.(`db_workload`: `DW`)
|oci_autonomous_data_warehouse_backup               |  deprecated                                                       |  This module is deprecated. You should use `oci_database_autonomous_database_backup` instead.
|oci_autonomous_data_warehouse_backup_facts         |  deprecated                                                       |  This module is deprecated. You should use `oci_database_autonomous_database_backup_facts` instead.
|oci_autonomous_data_warehouse_facts                |  deprecated                                                       |  This module is deprecated. You should use `oci_database_autonomous_database_facts` with DW as the workload type.(`db_workload`: `DW`)
|oci_autonomous_database                            |  oci_database_autonomous_database                                 |  breaking changes: <ul><li> Autonomous database actions (start, stop, restart, generate wallet, etc) are moved to the new module - `oci_database_autonomous_database_actions`.</li><li> Parameter `state` will be no longer used to take actions.</li></ul>
|oci_autonomous_database_backup                     |  oci_database_autonomous_database_backup                          |  Module name is the only breaking change
|oci_autonomous_database_backup_facts               |  oci_database_autonomous_database_backup_facts                    |  Module name is the only breaking change
|oci_autonomous_database_facts                      |  oci_database_autonomous_database_facts                           |  Module name is the only breaking change
|oci_autonomous_exadata_infrastructure              |  oci_database_autonomous_exadata_infrastructure                   |  Breaking changes due to service API change: <ul><li>`hostname` option is not present as an input option</li> <li>`maintenance_window_details` option is not a required option. This option has additional suboptions available which are `preference`, `months` and `weeks_of_month` in input and returned values</li> <li>return values include the ocids `last_maintenance_run_id` and `next_maintenance_run_id` instead of `last_maintenance_run` and `next_maintenance_run`</li></ul>
|oci_autonomous_exadata_infrastructure_facts        |  oci_database_autonomous_exadata_infrastructure_facts             |  Breaking changes due to service API change: <ul><li>`maintenance_window_details` option has additional suboptions available which are `preference`, `months` and `weeks_of_month` in returned values</li> <li>return values include the ocids `last_maintenance_run_id` and `next_maintenance_run_id` instead of `last_maintenance_run` and `next_maintenance_run`</li></ul>
|oci_autonomous_exadata_infrastructure_shape_facts  |  oci_database_autonomous_exadata_infrastructure_shape_facts       |  Module name is the only breaking change

#### Email

|old name               |  new name                     |  migration notes
|-----------------------|-------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|oci_sender             |  oci_email_sender             |  Module name is the only breaking change
|oci_sender_facts       |  oci_email_sender_facts       |  Module name is the only breaking change
|oci_suppression        |  oci_email_suppression        |  Module name is the only breaking change
|oci_suppression_facts  |  oci_email_suppression_facts  |  Module name is the only breaking change

#### File Storage

|old name                |  new name                             |  migration notes
|------------------------|---------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|oci_export              |  oci_file_storage_export              |  Breaking changes: <ul><li>New module no longer supports the following parameters: `purge_export_options`, `delete_export_options`. As a result one can not append/delete specific export option to/from the available list of export options. Please refer the old module documentation for details.</li></ul>
|oci_export_facts        |  oci_file_storage_export_facts        |  Module name is the only breaking change
|oci_export_set          |  oci_file_storage_export_set          |  Module name is the only breaking change
|oci_export_set_facts    |  oci_file_storage_export_set_facts    |  Module name is the only breaking change
|oci_file_system         |  oci_file_storage_file_system         |  Module name is the only breaking change
|oci_file_system_facts   |  oci_file_storage_file_system_facts   |  Module name is the only breaking change
|oci_mount_target        |  oci_file_storage_mount_target        |  Module name is the only breaking change
|oci_mount_target_facts  |  oci_file_storage_mount_target_facts  |  Module name is the only breaking change
|oci_snapshot            |  oci_file_storage_snapshot            |  Module name is the only breaking change
|oci_snapshot_facts      |  oci_file_storage_snapshot_facts      |  Module name is the only breaking change

#### Identity

|   old name                             |    new name                              |  migration notes
|----------------------------------------|------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|oci_ad_facts                            |  oci_identity_availability_domain_facts  |  Breaking changes: <ul><li>`compartment_id` parameter no longer has alias `id`</li></ul>
|oci_api_key                             |  oci_identity_api_key                    |  Breaking changes: <ul><li>`api_signing_key` parameter is replaced by `key` parameter</li> <li> `api_key_id` parameter has been removed<ul><li>Users should use the new `fingerprint` parameter instead to uniquely identify an api key when attempting to perform a delete</li></ul></li></ul>
|oci_api_key_facts                       |  oci_identity_api_key_facts              |  Breaking changes: <ul><li>`api_key_id` parameter is removed <ul><li>Users should manually filter in their playbook if they want to isolate a single `api_key`</li></ul></li></ul>
|oci_auth_token                          |  oci_identity_auth_token                 |  Module name is the only breaking change
|oci_auth_token_facts                    |  oci_identity_auth_token_facts           |  Module name is the only breaking change
|oci_compartment                         |  oci_identity_compartment                |  Breaking changes: <ul><li>`compartment_id` parameter can no longer be used to specify the parent compartment id when creating a compartment <ul><li>Users must use `parent_compartment_id` for this purpose</li></ul></li> <li>If you specify `compartment_id` == `tenancy_id` the request will be treated just like any other update compartment request and will attempt to update the root compartment.  Previously this was not the case, the module would interpret this as a create under the root compartment. Note that you can update the description of the root compartment, but not the name.</li>  <li> `work_request` field on response is no longer returned, the module still waits internally on the work request it just does not return it</li> </ul>
|oci_compartment_facts                   |  oci_identity_compartment_facts          |  Breaking changes: <ul><li>`fetch_subcompartments` and `depth` parameters no longer exist<ul><li>If you want to fetch information about a single level of subcompartments, you must specify the input parameter `parent_compartment_id`</li><li>If you want to fetch information about a specific compartment, you must specify the input parameter `compartment_id`</li><li>There is a a new parameter `compartment_id_in_subtree` for listing full component hierarchies <ul><li> When this parameter is set to true, the entire compartment hierarchy under `parent_compartment_id` will be returned (note this does not return the parent compartment itself)</li></ul></li></ul></li></ul>
|oci_cost_tracking_tag_facts             |  oci_identity_cost_tracking_tag_facts    |  Breaking changes: <ul><li>Response field is now `cost_tracking_tags` instead of `tags`</li></ul>
|oci_customer_secret_key                 |  oci_identity_customer_secret_key        |  Module name is the only breaking change
|oci_customer_secret_key                 |  oci_identity_customer_secret_key_facts  |  Breaking changes: <ul><li>There is no longer a `customer_secret_key_id` parameter to filter to a specific key id</li></ul> 
|oci_dynamic_group                       |  oci_identity_dynamic_group              |  Module name is the only breaking change
|oci_dynamic_group_facts                 |  oci_identity_dynamic_group_facts        |  Module name is the only breaking change
|oci_fault_domain_facts                  |  oci_identity_fault_domain_facts         |  Module name is the only breaking change
|oci_group                               |  oci_identity_group                      |  Breaking changes: <ul><li>The following parameters no longer exist: `users`, `purge_user_memberships`, `delete_user_memberships`, `force` <ul><li>Users must use `oci_identity_user_group_membership` to manage group memberships</li></ul></li> <li>There is now a `compartment_id` parameter which is required for several operations. Previously this defaulted to the tenancy ID, but now you must supply it explicitly</li><li>Check the [identity samples section](https://github.com/oracle/oci-ansible-collection/tree/master/samples/identity) for examples. </li></ul>
|oci_group_facts                         |  oci_identity_group_facts                |  Breaking changes: <ul><li>No longer returns the `members` property containing the users in a group<ul><li> Users in a group can be determined using the `oci_identity_user_group_membership_facts` module</li></ul></li></ul>
|oci_identity_identity_provider_actions  |  oci_identity_provider_actions           |  Module name is the only breaking change
|oci_identity_provider                   |  oci_identity_provider                   |  Breaking changes: <ul><li>`protocol` parameter no longer has a default value, so it must be explicitly provided</li></ul>
|oci_identity_provider_facts             |  oci_identity_provider_facts             |  Breaking changes: <ul><li>`protocol` parameter no longer has a default value, so it must be explicitly provided when listing Identity Providers</li></ul>
|oci_identity_tag_default                |  oci_identity_tag_default                |  Module name is the only breaking change
|oci_identity_tag_default_facts          |  oci_identity_tag_default_facts          |  Module name is the only breaking change
|oci_idp_group_mapping                   |  oci_identity_idp_group_mapping          |  Module name is the only breaking change
|oci_idp_group_mapping_facts             |  oci_identity_idp_group_mapping_facts    |  Module name is the only breaking change
|oci_policy                              |  oci_identity_policy                     |  Breaking changes: <ul><li>`policy_document` field no longer exists.<ul><li>An easy replacement for this field is to use built-in ansible functionality to read a `policy_document` file into the `statements` parameter: `statements: "{{ lookup('file', policyfile.path).splitlines() }}"`</li></ul></li></ul>
|oci_policy_facts                        |  oci_identity_policy_facts               |  Module name is the only breaking change
|oci_region_facts                        |  oci_identity_region_facts               |  Module name is the only breaking change
|oci_region_subscription_facts           |  oci_identity_region_subscription_facts  |  Breaking changes: <ul><li>`tenancy_id` parameter no longer has alias `id`</li></ul>
|oci_smtp_credential                     |  oci_identity_smtp_credential            |  Module name is the only breaking change
|oci_smtp_credential_facts               |  oci_identity_smtp_credential_facts      |  Module name is the only breaking change
|oci_tag                                 |  oci_identity_tag                        |  Breaking changes: <ul><li>Existing `tag_name` parameter is now `name`</li><li>`state: absent` now deletes a tag instead of retiring it<ul><li>To retire a tag you must use `is_retired: 'yes'`</li> <li>A tag must be retired before it is deleted</li></ul></li> <li>`reactivate` parameter is no longer supported<ul><li>Instead, to reactivate a tag you must use `is_retired: 'no'`</li></ul></li></ul>
|oci_tag_facts                           |  oci_identity_tag_facts                  |  Breaking changes: <ul><li>`tag_name` no longer has `name` alias</li></ul>
|oci_tag_namespace                       |  oci_identity_tag_namespace              |  Breaking changes: <ul><li>`state: 'absent'` now deletes a tag namespace instead of retiring it<ul><li>Instead, to retire a namespace you must use `is_retired: 'yes'`</li></ul></li><li>`reactivate` parameter is no longer supported<ul><li>instead, to reactivate a namespace you must use `is_retired: 'no'`</li></ul></li></ul>
|oci_tag_namespace_facts                 |  oci_identity_tag_namespace_facts        |  Module name is the only breaking change
|oci_tenancy_facts                       |  oci_identity_tenancy_facts              |  Module name is the only breaking change
|oci_user                                |  oci_identity_user                       |  Breaking changes: <ul><li>The following parameters no longer exist: `create_or_reset_ui_password`, `purge_group_memberships`, `delete_group_memberships`, `blocked`, `user_groups`<ul><li> You must use module `oci_identity_user_group_membership` to manage group memberships</li> <li>You must use module `oci_identity_ui_password` to perform the `create_or_reset_ui_password` operation</li></ul></li> <li>There is now a `compartment_id` parameter which is required for several operations. Previously this defaulted to the tenancy ID, but now you must supply it explicitly</li><li>The functionality of the `create_or_reset_ui_password` parameter is moved to the new module `oci_identity_ui_password`</li><li>Check the [identity samples section](https://github.com/oracle/oci-ansible-collection/tree/master/samples/identity) for examples. </li></ul>

#### Load Balancer

| old name                                                  | new name                                                      | migration notes
|-----------------------------------------------------------|---------------------------------------------------------------|-------------------------------------------------------------
|oci_load_balancer                                          | oci_loadbalancer_load_balancer                                | Breaking changes: <ul><li>The following parameters have been removed from the module:<ul><li>`backend_sets`</li><li>`certificates`</li><li>`listeners`</li><li>`path_route_sets`</li><li>`hostnames`</li></ul></li><li> These options are now replaced by using the individual resource modules to create and manage these sub-resources (e.g. `oci_loadbalancer_certificate`, `oci_loadbalancer_backend_set`, etc). In the existing modules users had the option of creating load balancers with all of these sub resources specified in the initial creation call OR managing them with the specific resource modules. However, none of these fields were updatable so if you tried to update your load balancer definition in your playbook and re-run to update, none of the changes to these subresources would take effect. In contrast, if the resources are defined using the specific resource modules then they can be easily updated with the same module. Thus we want to move all new module users to the preferred path of using the specific resource modules.</li></ul>
|oci_load_balancer_health_facts                             | oci_loadbalancer_health_facts                                 | Breaking changes: <ul><li>Return field has changed from `load_balancer_health` to `load_balancer_healths` and is now a list</li></ul>
|oci_load_balancer_backend                                  | oci_loadbalancer_backend                                      | Module name is the only breaking change
|oci_load_balancer_backend_facts                            | oci_loadbalancer_backend_facts                                | Breaking changes: <ul><li>`ip_address` and `port` parameters are removed and replaced by the parameters `backend_name` which should be provided in the form: "`backend_ip_address`:`backend_port`"</li></ul>
|oci_load_balancer_backend_health_facts                     | oci_loadbalancer_backend_health_facts                         | Breaking changes: <ul><li>`ip_address` and `port` parameters are removed and replaced by the parameters `backend_name` which should be provided in the form: "`backend_ip_address`:`backend_port`"</li></ul>
|oci_load_balancer_backend_set                              | oci_loadbalancer_backend_set                                  | Breaking changes: <ul><li>`purge_backends` and `delete_backends` parameters are removed <ul><li>The default behavior is now equivalent to `purge_backends = True`, whatever list of `backends` you specify in the backends argument will be assigned to the backend_set.</li></ul></li></ul>
|oci_load_balancer_backend_set_facts                        | oci_loadbalancer_backend_set_facts                            | Module name is the only breaking change
|oci_load_balancer_backend_set_health_facts                 | oci_loadbalancer_backend_set_health_facts                     | Breaking changes: <ul><li>Response field changes from `backend_health` to `backend_set_health`</li>
|oci_load_balancer_certificate                              | oci_loadbalancer_certificate                                  | Breaking changes: <ul><li>`ca_certificate`, `private_key`, and `public_certificate` parameters now require passing content instead of a file path. So for example, for `private_key`, you should now use the ansible built-in lookup function to read your private key file and pass the content into the `private_key` parameter. </li></ul>
|oci_load_balancer_certificate_facts                        | oci_loadbalancer_certificate_facts                            | Module name is the only breaking change
|oci_load_balancer_health_checker                           | oci_loadbalancer_health_checker                               | Module name is the only breaking change
|oci_load_balancer_health_checker_facts                     | oci_loadbalancer_health_checker_facts                         | Breaking changes: <ul><li>Response field changes to `health_checker` (singular) and is no longer a list, it returns the health checker directly</li><li>`backend_set_name` parameter is now required (this was always true in the documentation string but the code handled it as optional). Therefore this module no longer supports listing all health checkers for all backend sets in a load balancer. To accomplish this you can fetch the load balancer using `oci_loadbalancer_load_balancer_facts` and iterate through the health checkers for each backend set.</li></ul>
|oci_load_balancer_health_facts                             | oci_loadbalancer_health_facts                                 | Breaking changes: <ul><li>Return field has changed from `load_balancer_health` to `load_balancer_healths` and is now a list</li></ul>
|oci_load_balancer_health_summary_facts                     | oci_loadbalancer_health_facts                                 | Breaking changes: <ul><li>Return field has changed from `load_balancer_health_summary` to `load_balancer_healths` and is now a list</li></ul>
|oci_load_balancer_hostname                                 | oci_loadbalancer_hostname                                     | Module name is the only breaking change
|oci_load_balancer_hostname_facts                           | oci_loadbalancer_hostname_facts                               | Module name is the only breaking change
|oci_load_balancer_listener                                 | oci_loadbalancer_listener                                     | Breaking changes: <ul><li>`purge_hostnames_names` and `delete_hostnames_names` parameters are removed <ul><li>The default behavior is now equivalent to `purge_hostnames = True`, whatever list of `hostname_names` you specify in the `hostname_names` argument will be assigned to the listener </li></ul> </li></ul> 
|oci_load_balancer_listener_facts                           | deprecated                                                    | This module is deprecated, you should use `oci_load_balancer_facts.result.listeners` to access listener information
|oci_load_balancer_path_route_set                           | oci_loadbalancer_path_route_set                               | Breaking changes: <ul><li> `purge_path_routes` and `delete_path_routes` parameters are removed <ul><li>The default behavior is now equivalent to `purge_path_routes = True`, whatever list of backends you specify in the `path_routes` argument will be assigned to the path_route_set.</li></ul></li></ul>
|oci_load_balancer_path_route_set_facts                     | oci_loadbalancer_path_route_set_facts                         | Module name is the only breaking change
|oci_load_balancer_policy_facts                             | oci_loadbalancer_policy_facts                                 | Module name is the only breaking change
|oci_load_balancer_protocol_facts                           | oci_loadbalancer_protocol_facts                               | Module name is the only breaking change
|oci_load_balancer_shape_facts                              | oci_loadbalancer_shape_facts                                  | Module name is the only breaking change
|oci_load_balancer_work_request_facts                       | deprecated                                                    |

#### Network

|  old name                                                       |  new name                                                                         |  migration notes                                                                                                                                                     |
|-----------------------------------------------------------------|-----------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|oci_cpe                                                          |  oci_network_cpe                                                                  |  Module name is the only breaking change       
|oci_cpe_facts                                                    |  oci_network_cpe_facts                                                            |  Module name is the only breaking change  
|oci_cross_connect                                                |  oci_network_cross_connect                                                        |  Module name is the only breaking change      
|oci_cross_connect_facts                                          |  oci_network_cross_connect_facts                                                  |  Module name is the only breaking change <ul><li>The generated module fixes the bug in the old module where list is called for getting a specific resource. The generated module fixes the bug. </li></ul>                                                                                                                                                |
|oci_cross_connect_group                                          |  oci_network_cross_connect_group                                                  |  Module name is the only breaking change                                                                                                                                                 |
|oci_cross_connect_group_facts                                    |  oci_network_cross_connect_group_facts                                            |  Module name is the only breaking change <ul><li>The generated module fixes the bug in the old module where list is called for getting a specific resource. The generated module fixes the bug.</li></ul>                                                                                                                                                |
|oci_cross_connect_location_facts                                 |  oci_network_cross_connect_location_facts                                         |  Module name is the only breaking change                                                                                                                                                 |
|oci_cross_connect_port_speed_shape_facts                         |  oci_network_cross_connect_port_speed_shape_facts                                 |  Module name is the only breaking change                                                                                                                                                 |
|oci_cross_connect_status_facts                                   |  oci_network_cross_connect_status_facts                                           |  Breaking changes: <ul><li>Return field in new module is `cross_connect_status` instead of `cross_connect_statuses` and is now a dictionary instead of a list of dictionaries</li></ul>                                                                                                                                                  |
|oci_dhcp_options                                                 |  oci_network_dhcp_options                                                         |  Breaking changes: <ul><li>The following parameters no longer exist: `purge_dhcp_options`, `delete_dhcp_options`</li></ul>                                                                                                                                                    |
|oci_dhcp_options_facts                                           |  oci_network_dhcp_options_facts                                                   |  Breaking changes: <ul><li>Return field in new module is `dhcp_options` instead of `dhcp_options_list`</li></ul>                                                                                                                                                 |
|oci_drg                                                          |  oci_network_drg                                                                  |  Module name is the only breaking change                                                                                                                                                 |
|oci_drg_attachment                                               |  oci_network_drg_attachment                                                       |  Module name is the only breaking change                                                                                                                                                 |
|oci_drg_attachment_facts                                         |  oci_network_drg_attachment_facts                                                 |  Module name is the only breaking change                                                                                                                                                 |
|oci_drg_facts                                                    |  oci_network_drg_facts                                                            |  Module name is the only breaking change                                                                                                                                                 |
|oci_fast_connect_provider_service_facts                          |  oci_network_fast_connect_provider_service_facts                                  |  Module name is the only breaking change                                                                                                                                                 |
|oci_fast_connect_provider_virtual_circuit_bandwidth_shape_facts  |  oci_network_fast_connect_provider_service_virtual_circuit_bandwidth_shape_facts  |  Breaking changes: <ul><li>Return field in new module is `fast_connect_provider_service_virtual_circuit_bandwidth_shapes` instead of `fast_connect_provider_virtual_circuit_bandwidth_shapes`</li></ul>                                                                                                                                                   |
|oci_internet_gateway                                             |  oci_network_internet_gateway                                                     |  Breaking changes: <ul><li>`is_enabled` parameter in the new module does not have the alias `enabled`</li></ul>                                                                                                                                                   |
|oci_internet_gateway_facts                                       |  oci_network_internet_gateway_facts                                               |  Module name is the only breaking change                                                                                                                                                 |
|oci_ip_sec_connection                                            |  oci_network_ip_sec_connection                                                    |  Module name is the only breaking change                                                                                                                                                 |
|oci_ip_sec_connection_device_config_facts                        |  oci_network_ip_sec_connection_device_config_facts                                |  Module name is the only breaking change                                                                                                                                                 |
|oci_ip_sec_connection_device_status_facts                        |  oci_network_ip_sec_connection_device_status_facts                                |  Module name is the only breaking change                                                                                                                                                 |
|oci_ip_sec_connection_facts                                      |  oci_network_ip_sec_connection_facts                                              |  Module name is the only breaking change                                                                                                                                                 |
|oci_letter_of_authority_facts                                    |  oci_network_letter_of_authority_facts                                            |  Breaking changes:  <ul><li>Return field in new module is `letter_of_authority` instead of `letter_of_authorities` and is now a dictionary instead of a list of dictionaries </li></ul>                                                                                                                                                  |
|oci_local_peering_gateway                                        |  oci_network_local_peering_gateway                                                |  Breaking changes:  <ul><li>The following parameters no longer exist: `skip_exhaustive_search_for_lpg_peerings`, `peer_id`. Users must use the `oci_network_local_peering_gateway_actions` to connect LPGs.  </li></ul>|                                                                                                                                                 |
|oci_local_peering_gateway_facts                                  |  oci_network_local_peering_gateway_facts                                          |  Module name is the only breaking change                                                                                                                                                 |
|oci_nat_gateway                                                  |  oci_network_nat_gateway                                                          |  Module name is the only breaking change                                                                                                                                                 |
|oci_nat_gateway_facts                                            |  oci_network_nat_gateway_facts                                                    |  Module name is the only breaking change                                                                                                                                                 |
|oci_network_security_group                                       |  oci_network_security_group                                                       |  Module name is the only breaking change                                                                                                                                                 |
|oci_network_security_group_facts                                 |  oci_network_security_group_facts                                                 |  Module name is the only breaking change                                                                                                                                                 |
|oci_peer_region_for_remote_peering_facts                         |  oci_network_peer_region_for_remote_peering_facts                                 |  Breaking changes: <ul><li>Return field in new module is `peer_region_for_remote_peerings` instead of `peer_region_for_remote_peering` </li></ul>                                                                                                                                                  |
|oci_private_ip                                                   |  oci_network_private_ip                                                           |  Module name is the only breaking change                                                                                                                                                 |
|oci_private_ip_facts                                             |  oci_network_private_ip_facts                                                     |  Module name is the only breaking change                                                                                                                                                 |
|oci_public_ip                                                    |  oci_network_public_ip                                                            |  Breaking changes: <ul><li>New module adds a new parameter `scope` and it is required for creating the public ip </li></ul>                                                                                                                                                  |
|oci_public_ip_facts                                              |  oci_network_public_ip_facts                                                      |  Module name is the only breaking change                                                                                                                                                 |
|oci_remote_peering_connection                                    |  oci_network_remote_peering_connection                                            |  Breaking changes:  <ul><li>The following parameters no longer exist: `peer_id`, `peer_region_name`. Users need to use the `oci_network_remote_peering_connection_actions` module for connecting RPCs. </li></ul>                                                                                                                                                  |
|oci_remote_peering_connection_facts                              |  oci_network_remote_peering_connection_facts                                      |  Module name is the only breaking change                                                                                                                                                 |
|oci_route_table                                                  |  oci_network_route_table                                                          |  Breaking changes: <ul><li>The following parameters no longer exist: `purge_route_rules`, `delete_route_rules`</li></ul>                                                                                                                                                 |
|oci_route_table_facts                                            |  oci_network_route_table_facts                                                    |  Module name is the only breaking change                                                                                                                                                 |
|oci_security_list                                                |  oci_network_security_list                                                        |  Module name is the only breaking change                                                                                                                                                 |
|oci_security_list_facts                                          |  oci_network_security_list_facts                                                  |  Module name is the only breaking change                                                                                                                                                 |
|oci_security_rule_actions                                        |  oci_network_security_rule_actions                                                |  Module name is the only breaking change                                                                                                                                                 |
|oci_security_rule_facts                                          |  oci_network_security_rule_facts                                                  |  Module name is the only breaking change                                                                                                                                                 |
|oci_service_facts                                                |  oci_network_service_facts                                                        |  Module name is the only breaking change                                                                                                                                                 |
|oci_service_gateway                                              |  oci_network_service_gateway                                                      |  Module name is the only breaking change                                                                                                                                                 |
|oci_service_gateway_facts                                        |  oci_network_service_gateway_facts                                                |  Module name is the only breaking change                                                                                                                                                 |
|oci_subnet                                                       |  oci_network_subnet                                                               |  Module name is the only breaking change                                                                                                                                                 |
|oci_subnet_facts                                                 |  oci_network_subnet_facts                                                         |  Module name is the only breaking change                                                                                                                                                 |
|oci_vcn                                                          |  oci_network_vcn                                                                  |  Module name is the only breaking change                                                                                                                                                 |
|oci_vcn_facts                                                    |  oci_network_vcn_facts                                                            |  Module name is the only breaking change                                                                                                                                                 |
|oci_virtual_circuit                                              |  oci_network_virtual_circuit                                                      |  Breaking changes: <ul><li>The following parameters no longer exist: `purge_cross_connect_mappings`, `delete_cross_connect_mappings`, `delete_public_prefixes` <ul><li>To add/delete public prefixes, use the `oci_network_virtual_circuit_actions` module</li></ul></li></ul>                                                                                                                                                   |
|oci_virtual_circuit_bandwidth_shape_facts                        |  oci_network_virtual_circuit_bandwidth_shape_facts                                |  Module name is the only breaking change                                                                                                                                                 |
|oci_virtual_circuit_facts                                        |  oci_network_virtual_circuit_facts                                                |  Module name is the only breaking change                                                                                                                                                 |
|oci_virtual_circuit_public_prefix_facts                          |  oci_network_virtual_circuit_public_prefix_facts                                  |  Module name is the only breaking change                                                                                                                                                   |
|oci_vnic                                                         |  oci_network_vnic                                                                 |  Module name is the only breaking change                                                                                                                                                 |
|oci_vnic_facts                                                   |  oci_network_vnic_facts                                                           |  Module name is the only breaking change                                                                                                                                                 |

#### Object Storage

|old name                                         |  new name                                           |  migration notes
|-------------------------------------------------|-----------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------
|oci_bucket                                       |  oci_object_storage_bucket                          |  Breaking changes: <ul><li>`force` parameter is not present anymore, the Objects and Preauthenticated Requests have to be deleted before deleting the bucket</li> <li>`update_bucket` method is not supported. It is used to move a bucket to a different compartment within the same tenancy</li></ul>
|oci_bucket_facts                                 |  oci_object_storage_bucket_facts                    |  Breaking changes: <ul><li>New module has `bucket_name` parameter instead of `name` or `bucket` parameters</li></ul>
|oci_namespace_facts                              |  oci_object_storage_namespace_facts                 |  Breaking changes: <ul><li>Return field in new module is `namespace` instead of `namespace`s. Also return field type is string instead of list.</li></ul>
|oci_namespace_metadata_facts                     |  oci_object_storage_namespace_metadata_facts        |  Breaking changes: <ul><li>Return field in new module is `namespace_metadata` instead of `namespace_metadatas` and now returns a single object instead of a list of objects</li></ul>
|oci_object                                       |  oci_object_storage_object                          |  Breaking changes: <ul><li> The new module does not support the following module parameters: `upload_id`, `multipart_upload`, `parallel_uploads`. The new module internally does multipart uploads based on the size of the object.</li> <li>`force` parameter does not have the alias `overwrite` in the new module </li> <li>All the return properties from the old module are discontinued. The new module returns `name`, `size`, `md5`, `time_created`, `etag`, and `time_modified`. </li><li>`namespace_name` parameter no longer has the alias `namespace`</li><li>`bucket_name` parameter no longer has the alias `bucket`</li><li>`object_name` parameter no longer has the aliases `object`, `name`</li><li>`opc_meta` parameter no longer has the alias `metadata`</li></ul>
|oci_object_facts                                 |  oci_object_storage_object_facts                    |  Breaking changes: <ul><li> The new module does not support the module parameters `list_multipart_uploads` and `upload_id`. </li> <li> The new module does not return the the following attributes: `part_size`, `namespace`, `bucket`, `object`, `upload_id` </li><li>`namespace_name` parameter no longer has the alias `namespace`</li><li>`bucket_name` parameter no longer has the alias `bucket`</li><li>`object_name` parameter no longer has the aliases `object`, `name`</li></ul>
|oci_object_storage_bucket_actions                |  oci_object_storage_bucket_actions                  |  Breaking changes: <ul><li> The old module had object related action operations (`copy_object`, `rename_object`, `restore_objects`) which are now moved to the module `oci_object_storage_object_actions`. New module supports only the bucket related actions (`make_bucket_writable`, `reencrypt`) which were not supported in the old module. </li></ul>
|oci_object_storage_object_lifecycle_policy       |  oci_object_storage_object_lifecycle_policy         |  Module name is the only breaking change
|oci_object_storage_object_lifecycle_policy_facts |  oci_object_storage_object_lifecycle_policy_facts   |  Module name is the only breaking change
|oci_preauthenticated_request                     |  oci_object_storage_preauthenticated_request        |  Breaking changes: <ul><li>Creating a preauthetincated request in the new module is not idempotent.</li><li>`name` parameter no longer has the alias `display_name`</li></ul>
|oci_preauthenticated_request_facts               |  oci_object_storage_preauthenticated_request_facts  |  Module name is the only breaking change

#### DNS

|old name                                         |  new name                                           |  migration notes
|-------------------------------------------------|-----------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------
|oci_zone                                         |  oci_dns_zone                                       |  Breaking changes: <ul><li>Deleting a zone using `name` parameter is not supported in the new module when environment variable `OCI_USE_NAME_AS_IDENTIFIER` is not set. You can delete a zone using `zone_name_or_id` parameter or `name` parameter when `OCI_USE_NAME_AS_IDENTIFIER` is set in the new module.</li></ul>
|oci_zone_facts                                   |  oci_dns_zone_facts                                 |  Module name is the only breaking change
|oci_zone_records                                 |  oci_dns_zone_records                               |  Module name is the only breaking change
|oci_zone_records_facts                           |  oci_dns_zone_records_facts                         |  Module name is the only breaking change
|oci_domain_records                               |  oci_dns_domain_records                             |  Module name is the only breaking change
|oci_domain_records_facts                         |  oci_dns_domain_records_facts                       |  Module name is the only breaking change
|oci_rrset                                        |  oci_dns_rrset                                      |  Module name is the only breaking change
|oci_rrset_facts                                  |  oci_dns_rrset_facts                                |  Module name is the only breaking change

#### WAAS

|old name                                         |  new name                                           |  migration notes
|-------------------------------------------------|-----------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------
|oci_waas_policy                                  |  oci_waas_policy                                    |  No breaking changes
|oci_waas_policy_facts                            |  oci_waas_policy_facts                              |  No breaking changes
|oci_waas_certificate                             |  oci_waas_certificate                               |  No breaking changes
|oci_waas_certificate_facts                       |  oci_waas_certificate_facts                         |  No breaking changes
|oci_waas_recommendation_facts                    |  oci_waas_recommendation_facts                      |  No breaking changes
|oci_waas_edge_subnet_facts                       |  oci_waas_edge_subnet_facts                         |  No breaking changes
|oci_waas_work_request                            |  deprecated                                         |  
|oci_waas_work_request_facts                      |  deprecated                                         |  

#### Search
|old name                                         |  new name                                           |  migration notes
|-------------------------------------------------|-----------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------
|oci_resource_type_facts                          |  oci_resource_search_resource_type_facts            |  Module name is the only breaking change
|oci_search_resources_facts                       |  oci_resource_search_resource_facts                 |  Breaking changes: <ul><li>Return field has changed from `search_resources` to `resources`</li></ul>
