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 5.2.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.
python >= 3.6
Python SDK for Oracle Cloud Infrastructure https://oracle-cloud-infrastructure-python-sdk.readthedocs.io
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
If true, enables the configuration of a custom action timeout (waiting period) between database server patching operations.
|
||
is_monthly_patching_enabled
boolean
|
|
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
|
|
Name of the month of the year.
|
||
patching_mode
string
|
|
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
|
|
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.
|
|||
realm_specific_endpoint_template_enabled
boolean
|
|
Enable/Disable realm specific endpoint template for service client. By Default, realm specific endpoint template is disabled. If not set, then the value of the OCI_REALM_SPECIFIC_SERVICE_ENDPOINT_TEMPLATE_ENABLED variable, if any, is used.
|
||
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
|
|
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
|
|
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.
|
Notes¶
Note
For OCI python sdk configuration, please refer to https://oracle-cloud-infrastructure-python-sdk.readthedocs.io/en/latest/configuration.html
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)