oracle.oci.oci_database_cloud_exadata_infrastructure – Manage a CloudExadataInfrastructure resource in Oracle Cloud Infrastructure

Note

This plugin is part of the oracle.oci collection (version 4.11.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install oracle.oci.

To use it in a playbook, specify: oracle.oci.oci_database_cloud_exadata_infrastructure.

New in version 2.9.0: of oracle.oci

Synopsis

  • This module allows the user to create, update and delete a CloudExadataInfrastructure resource in Oracle Cloud Infrastructure

  • For state=present, creates a cloud Exadata infrastructure resource. This resource is used to create either an Exadata Cloud Service instance or an Autonomous Database on dedicated Exadata infrastructure.

  • This resource has the following action operations in the oracle.oci.oci_database_cloud_exadata_infrastructure_actions module: add_storage_capacity, change_compartment.

Requirements

The below requirements are needed on the host that executes this module.

Parameters

Parameter Choices/Defaults Comments
api_user
string
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 config_file_location). To get the user's OCID, please refer https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm.
api_user_fingerprint
string
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 config_file_location). To get the key pair's fingerprint value please refer https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm.
api_user_key_file
string
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 config_file_location). If the key is encrypted with a pass-phrase, the api_user_key_pass_phrase option must also be provided.
api_user_key_pass_phrase
string
Passphrase used by the key referenced in 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 config_file_location).
auth_purpose
string
    Choices:
  • service_principal
The auth purpose which can be used in conjunction with 'auth_type=instance_principal'. The default auth_purpose for instance_principal is None.
auth_type
string
    Choices:
  • api_key ←
  • instance_principal
  • instance_obo_user
  • resource_principal
The type of authentication to use for making API requests. By default auth_type="api_key" based authentication is performed and the API key (see 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 auth_type="instance_principal" to use instance principal based authentication when running ansible playbooks within an OCI compute instance.
availability_domain
string
The availability domain where the cloud Exadata infrastructure is located.
Required for create using state=present.
cert_bundle
string
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.
cloud_exadata_infrastructure_id
string
The cloud Exadata infrastructure OCID.
Required for update using state=present when environment variable OCI_USE_NAME_AS_IDENTIFIER is not set.
Required for delete using state=absent when environment variable OCI_USE_NAME_AS_IDENTIFIER is not set.

aliases: id
compartment_id
string
The OCID of the compartment.
Required for create using state=present.
Required for update when environment variable OCI_USE_NAME_AS_IDENTIFIER is set.
Required for delete when environment variable OCI_USE_NAME_AS_IDENTIFIER is set.
compute_count
integer
The number of compute servers for the cloud Exadata infrastructure.
This parameter is updatable.
config_file_location
string
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.
config_profile_name
string
The profile to load from the config file referenced by 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 config_file_location.
customer_contacts
list / elements=dictionary
Customer contacts.
This parameter is updatable.
email
string
The email address used by Oracle to send notifications regarding databases and infrastructure.
defined_tags
dictionary
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
This parameter is updatable.
display_name
string
The user-friendly name for the cloud Exadata infrastructure resource. The name does not need to be unique.
Required for create using state=present.
Required for update, delete when environment variable OCI_USE_NAME_AS_IDENTIFIER is set.
This parameter is updatable when OCI_USE_NAME_AS_IDENTIFIER is not set.

aliases: name
force_create
boolean
    Choices:
  • no ←
  • yes
Whether to attempt non-idempotent creation of a resource. By default, create resource is an idempotent operation, and doesn't create the resource if it already exists. Setting this option to true, forcefully creates a copy of the resource, even if it already exists.This option is mutually exclusive with key_by.
freeform_tags
dictionary
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 Resource Tags.
Example: `{"Department": "Finance"}`
This parameter is updatable.
is_delete_vm_clusters
boolean
    Choices:
  • no
  • yes
If `true`, forces the deletion the specified cloud Exadata infrastructure resource as well as all associated VM clusters. If `false`, the cloud Exadata infrastructure resource can be deleted only if it has no associated VM clusters. Default value is `false`.
key_by
list / elements=string
The list of attributes of this resource which should be used to uniquely identify an instance of the resource. By default, all the attributes of a resource are used to uniquely identify a resource.
maintenance_window
dictionary
This parameter is updatable.
custom_action_timeout_in_mins
integer
Determines the amount of time the system will wait before the start of each database server patching operation. Custom action timeout is in minutes and valid value is between 15 to 120 (inclusive).
days_of_week
list / elements=dictionary
Days during the week when maintenance should be performed.
name
string / required
    Choices:
  • MONDAY
  • TUESDAY
  • WEDNESDAY
  • THURSDAY
  • FRIDAY
  • SATURDAY
  • SUNDAY
Name of the day of the week.
hours_of_day
list / elements=integer
The window of hours during the day when maintenance should be performed. The window is a 4 hour slot. Valid values are - 0 - represents time slot 0:00 - 3:59 UTC - 4 - represents time slot 4:00 - 7:59 UTC - 8 - represents time slot 8:00 - 11:59 UTC - 12 - represents time slot 12:00 - 15:59 UTC - 16 - represents time slot 16:00 - 19:59 UTC - 20 - represents time slot 20:00 - 23:59 UTC
is_custom_action_timeout_enabled
boolean
    Choices:
  • no
  • yes
If true, enables the configuration of a custom action timeout (waiting period) between database server patching operations.
is_monthly_patching_enabled
boolean
    Choices:
  • no
  • yes
If true, enables the monthly patching option.
lead_time_in_weeks
integer
Lead time window allows user to set a lead time to prepare for a down time. The lead time is in weeks and valid value is between 1 to 4.
months
list / elements=dictionary
Months during the year when maintenance should be performed.
name
string / required
    Choices:
  • JANUARY
  • FEBRUARY
  • MARCH
  • APRIL
  • MAY
  • JUNE
  • JULY
  • AUGUST
  • SEPTEMBER
  • OCTOBER
  • NOVEMBER
  • DECEMBER
Name of the month of the year.
patching_mode
string
    Choices:
  • ROLLING
  • NONROLLING
Cloud Exadata infrastructure node patching method, either "ROLLING" or "NONROLLING". Default value is ROLLING.
*IMPORTANT*: Non-rolling infrastructure patching involves system down time. See Oracle-Managed Infrastructure Maintenance Updates for more information.
preference
string
    Choices:
  • NO_PREFERENCE
  • CUSTOM_PREFERENCE
The maintenance window scheduling preference.
weeks_of_month
list / elements=integer
Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed.
region
string
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 config_file_location). Please refer to https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm for more information on OCI regions.
shape
string
The shape of the cloud Exadata infrastructure resource.
Required for create using state=present.
state
string
    Choices:
  • present ←
  • absent
The state of the CloudExadataInfrastructure.
Use state=present to create or update a CloudExadataInfrastructure.
Use state=absent to delete a CloudExadataInfrastructure.
storage_count
integer
The number of storage servers for the cloud Exadata infrastructure.
This parameter is updatable.
tenancy
string
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 config_file_location). To get the tenancy OCID, please refer https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm
wait
boolean
    Choices:
  • no
  • yes ←
Whether to wait for create or delete operation to complete.
wait_timeout
integer
Time, in seconds, to wait when wait=yes. Defaults to 1200 for most of the services but some services might have a longer wait timeout.

Examples

- name: Create cloud_exadata_infrastructure
  oci_database_cloud_exadata_infrastructure:
    # required
    availability_domain: Uocm:PHX-AD-1
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    shape: shape_example
    display_name: display_name_example

    # optional
    maintenance_window:
      # optional
      preference: NO_PREFERENCE
      patching_mode: ROLLING
      is_custom_action_timeout_enabled: true
      custom_action_timeout_in_mins: 56
      is_monthly_patching_enabled: true
      months:
      - # required
        name: JANUARY
      weeks_of_month: [ "weeks_of_month_example" ]
      days_of_week:
      - # required
        name: MONDAY
      hours_of_day: [ "hours_of_day_example" ]
      lead_time_in_weeks: 56
    compute_count: 56
    storage_count: 56
    freeform_tags: {'Department': 'Finance'}
    defined_tags: {'Operations': {'CostCenter': 'US'}}
    customer_contacts:
    - # optional
      email: email_example

- name: Update cloud_exadata_infrastructure
  oci_database_cloud_exadata_infrastructure:
    # required
    cloud_exadata_infrastructure_id: "ocid1.cloudexadatainfrastructure.oc1..xxxxxxEXAMPLExxxxxx"

    # optional
    display_name: display_name_example
    maintenance_window:
      # optional
      preference: NO_PREFERENCE
      patching_mode: ROLLING
      is_custom_action_timeout_enabled: true
      custom_action_timeout_in_mins: 56
      is_monthly_patching_enabled: true
      months:
      - # required
        name: JANUARY
      weeks_of_month: [ "weeks_of_month_example" ]
      days_of_week:
      - # required
        name: MONDAY
      hours_of_day: [ "hours_of_day_example" ]
      lead_time_in_weeks: 56
    compute_count: 56
    storage_count: 56
    freeform_tags: {'Department': 'Finance'}
    defined_tags: {'Operations': {'CostCenter': 'US'}}
    customer_contacts:
    - # optional
      email: email_example

- name: Update cloud_exadata_infrastructure using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set)
  oci_database_cloud_exadata_infrastructure:
    # required
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    display_name: display_name_example

    # optional
    maintenance_window:
      # optional
      preference: NO_PREFERENCE
      patching_mode: ROLLING
      is_custom_action_timeout_enabled: true
      custom_action_timeout_in_mins: 56
      is_monthly_patching_enabled: true
      months:
      - # required
        name: JANUARY
      weeks_of_month: [ "weeks_of_month_example" ]
      days_of_week:
      - # required
        name: MONDAY
      hours_of_day: [ "hours_of_day_example" ]
      lead_time_in_weeks: 56
    compute_count: 56
    storage_count: 56
    freeform_tags: {'Department': 'Finance'}
    defined_tags: {'Operations': {'CostCenter': 'US'}}
    customer_contacts:
    - # optional
      email: email_example

- name: Delete cloud_exadata_infrastructure
  oci_database_cloud_exadata_infrastructure:
    # required
    cloud_exadata_infrastructure_id: "ocid1.cloudexadatainfrastructure.oc1..xxxxxxEXAMPLExxxxxx"
    state: absent

    # optional
    is_delete_vm_clusters: true

- name: Delete cloud_exadata_infrastructure using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set)
  oci_database_cloud_exadata_infrastructure:
    # required
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    display_name: display_name_example
    state: absent

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
cloud_exadata_infrastructure
complex
on success
Details of the CloudExadataInfrastructure resource acted upon by the current operation

Sample:
{'activated_storage_count': 56, 'additional_storage_count': 56, 'availability_domain': 'Uocm:PHX-AD-1', 'available_storage_size_in_gbs': 56, 'compartment_id': 'ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx', 'compute_count': 56, 'cpu_count': 56, 'customer_contacts': [{'email': 'email_example'}], 'data_storage_size_in_tbs': 1.2, 'db_node_storage_size_in_gbs': 56, 'db_server_version': 'db_server_version_example', 'defined_tags': {'Operations': {'CostCenter': 'US'}}, 'display_name': 'display_name_example', 'freeform_tags': {'Department': 'Finance'}, 'id': 'ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx', 'last_maintenance_run_id': 'ocid1.lastmaintenancerun.oc1..xxxxxxEXAMPLExxxxxx', 'lifecycle_details': 'lifecycle_details_example', 'lifecycle_state': 'PROVISIONING', 'maintenance_window': {'custom_action_timeout_in_mins': 56, 'days_of_week': [{'name': 'MONDAY'}], 'hours_of_day': [], 'is_custom_action_timeout_enabled': True, 'is_monthly_patching_enabled': True, 'lead_time_in_weeks': 56, 'months': [{'name': 'JANUARY'}], 'patching_mode': 'ROLLING', 'preference': 'NO_PREFERENCE', 'weeks_of_month': []}, 'max_cpu_count': 56, 'max_data_storage_in_tbs': 1.2, 'max_db_node_storage_in_gbs': 56, 'max_memory_in_gbs': 56, 'memory_size_in_gbs': 56, 'monthly_db_server_version': 'monthly_db_server_version_example', 'monthly_storage_server_version': 'monthly_storage_server_version_example', 'next_maintenance_run_id': 'ocid1.nextmaintenancerun.oc1..xxxxxxEXAMPLExxxxxx', 'shape': 'shape_example', 'storage_count': 56, 'storage_server_version': 'storage_server_version_example', 'time_created': '2013-10-20T19:20:30+01:00', 'total_storage_size_in_gbs': 56}
 
activated_storage_count
integer
on success
The requested number of additional storage servers activated for the Exadata infrastructure.

Sample:
56
 
additional_storage_count
integer
on success
The requested number of additional storage servers for the Exadata infrastructure.

Sample:
56
 
availability_domain
string
on success
The name of the availability domain that the cloud Exadata infrastructure resource is located in.

Sample:
Uocm:PHX-AD-1
 
available_storage_size_in_gbs
integer
on success
The available storage can be allocated to the cloud Exadata infrastructure resource, in gigabytes (GB).

Sample:
56
 
compartment_id
string
on success
The OCID of the compartment.

Sample:
ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx
 
compute_count
integer
on success
The number of compute servers for the cloud Exadata infrastructure.

Sample:
56
 
cpu_count
integer
on success
The total number of CPU cores allocated.

Sample:
56
 
customer_contacts
complex
on success
The list of customer email addresses that receive information from Oracle about the specified OCI Database service resource. Oracle uses these email addresses to send notifications about planned and unplanned software maintenance updates, information about system hardware, and other information needed by administrators. Up to 10 email addresses can be added to the customer contacts for a cloud Exadata infrastructure instance.

   
email
string
on success
The email address used by Oracle to send notifications regarding databases and infrastructure.

Sample:
email_example
 
data_storage_size_in_tbs
float
on success
Size, in terabytes, of the DATA disk group.

Sample:
1.2
 
db_node_storage_size_in_gbs
integer
on success
The local node storage allocated in GBs.

Sample:
56
 
db_server_version
string
on success
The software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15

Sample:
db_server_version_example
 
defined_tags
dictionary
on success
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.

Sample:
{'Operations': {'CostCenter': 'US'}}
 
display_name
string
on success
The user-friendly name for the cloud Exadata infrastructure resource. The name does not need to be unique.

Sample:
display_name_example
 
freeform_tags
dictionary
on success
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 Resource Tags.
Example: `{"Department": "Finance"}`

Sample:
{'Department': 'Finance'}
 
id
string
on success
The OCID of the cloud Exadata infrastructure resource.

Sample:
ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx
 
last_maintenance_run_id
string
on success
The OCID of the last maintenance run.

Sample:
ocid1.lastmaintenancerun.oc1..xxxxxxEXAMPLExxxxxx
 
lifecycle_details
string
on success
Additional information about the current lifecycle state.

Sample:
lifecycle_details_example
 
lifecycle_state
string
on success
The current lifecycle state of the cloud Exadata infrastructure resource.

Sample:
PROVISIONING
 
maintenance_window
complex
on success

   
custom_action_timeout_in_mins
integer
on success
Determines the amount of time the system will wait before the start of each database server patching operation. Custom action timeout is in minutes and valid value is between 15 to 120 (inclusive).

Sample:
56
   
days_of_week
complex
on success
Days during the week when maintenance should be performed.

     
name
string
on success
Name of the day of the week.

Sample:
MONDAY
   
hours_of_day
list / elements=string
on success
The window of hours during the day when maintenance should be performed. The window is a 4 hour slot. Valid values are - 0 - represents time slot 0:00 - 3:59 UTC - 4 - represents time slot 4:00 - 7:59 UTC - 8 - represents time slot 8:00 - 11:59 UTC - 12 - represents time slot 12:00 - 15:59 UTC - 16 - represents time slot 16:00 - 19:59 UTC - 20 - represents time slot 20:00 - 23:59 UTC

   
is_custom_action_timeout_enabled
boolean
on success
If true, enables the configuration of a custom action timeout (waiting period) between database server patching operations.

Sample:
True
   
is_monthly_patching_enabled
boolean
on success
If true, enables the monthly patching option.

Sample:
True
   
lead_time_in_weeks
integer
on success
Lead time window allows user to set a lead time to prepare for a down time. The lead time is in weeks and valid value is between 1 to 4.

Sample:
56
   
months
complex
on success
Months during the year when maintenance should be performed.

     
name
string
on success
Name of the month of the year.

Sample:
JANUARY
   
patching_mode
string
on success
Cloud Exadata infrastructure node patching method, either "ROLLING" or "NONROLLING". Default value is ROLLING.
*IMPORTANT*: Non-rolling infrastructure patching involves system down time. See Oracle-Managed Infrastructure Maintenance Updates for more information.

Sample:
ROLLING
   
preference
string
on success
The maintenance window scheduling preference.

Sample:
NO_PREFERENCE
   
weeks_of_month
list / elements=string
on success
Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed.

 
max_cpu_count
integer
on success
The total number of CPU cores available.

Sample:
56
 
max_data_storage_in_tbs
float
on success
The total available DATA disk group size.

Sample:
1.2
 
max_db_node_storage_in_gbs
integer
on success
The total local node storage available in GBs.

Sample:
56
 
max_memory_in_gbs
integer
on success
The total memory available in GBs.

Sample:
56
 
memory_size_in_gbs
integer
on success
The memory allocated in GBs.

Sample:
56
 
monthly_db_server_version
string
on success
The monthly software version of the database servers (dom0) in the cloud Exadata infrastructure. Example: 20.1.15

Sample:
monthly_db_server_version_example
 
monthly_storage_server_version
string
on success
The monthly software version of the storage servers (cells) in the cloud Exadata infrastructure. Example: 20.1.15

Sample:
monthly_storage_server_version_example
 
next_maintenance_run_id
string
on success
The OCID of the next maintenance run.

Sample:
ocid1.nextmaintenancerun.oc1..xxxxxxEXAMPLExxxxxx
 
shape
string
on success
The model name of the cloud Exadata infrastructure resource.

Sample:
shape_example
 
storage_count
integer
on success
The number of storage servers for the cloud Exadata infrastructure.

Sample:
56
 
storage_server_version
string
on success
The software version of the storage servers (cells) in the cloud Exadata infrastructure. Example: 20.1.15

Sample:
storage_server_version_example
 
time_created
string
on success
The date and time the cloud Exadata infrastructure resource was created.

Sample:
2013-10-20T19:20:30+01:00
 
total_storage_size_in_gbs
integer
on success
The total storage allocated to the cloud Exadata infrastructure resource, in gigabytes (GB).

Sample:
56


Authors

  • Oracle (@oracle)